mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-26 05:46:06 +00:00
[lld-macho] Preserve the size of common symbols
We never noticed this before because the only time the size gets emitted is via the linker map... Reviewed By: #lld-macho, thakis Differential Revision: https://reviews.llvm.org/D135884
This commit is contained in:
parent
bdd0cec569
commit
922346ef05
@ -577,7 +577,7 @@ static void replaceCommonSymbols() {
|
||||
// FIXME: CommonSymbol should store isReferencedDynamically, noDeadStrip
|
||||
// and pass them on here.
|
||||
replaceSymbol<Defined>(
|
||||
sym, sym->getName(), common->getFile(), isec, /*value=*/0, /*size=*/0,
|
||||
sym, sym->getName(), common->getFile(), isec, /*value=*/0, common->size,
|
||||
/*isWeakDef=*/false, /*isExternal=*/true, common->privateExtern,
|
||||
/*includeInSymtab=*/true, /*isThumb=*/false,
|
||||
/*isReferencedDynamically=*/false, /*noDeadStrip=*/false);
|
||||
|
@ -48,7 +48,7 @@
|
||||
|
||||
# MAP: _main
|
||||
# MAP-LABEL: Dead Stripped Symbols
|
||||
# MAP: <<dead>> 0x00000000 [ 1] _unref_com
|
||||
# MAP: <<dead>> 0x00000001 [ 1] _unref_com
|
||||
# MAP: <<dead>> 0x00000008 [ 1] _unref_data
|
||||
# MAP: <<dead>> 0x00000006 [ 1] _unref_extern
|
||||
# MAP: <<dead>> 0x00000001 [ 1] _unref_local
|
||||
|
@ -40,7 +40,7 @@
|
||||
# CHECK-NEXT: # Address Size File Name
|
||||
# CHECK-NEXT: 0x[[#%X,MAIN]] 0x00000001 [ 1] _main
|
||||
# CHECK-NEXT: 0x[[#%X,FOO]] 0x00000000 [ 2] _foo
|
||||
# CHECK-NEXT: 0x[[#%X,NUMBER]] 0x00000000 [ 1] _number
|
||||
# CHECK-NEXT: 0x[[#%X,NUMBER]] 0x00000001 [ 1] _number
|
||||
|
||||
# RUN: %lld -map %t/c-string-literal-map %t/c-string-literal.o -o %t/c-string-literal-out
|
||||
# RUN: FileCheck --check-prefix=CSTRING %s < %t/c-string-literal-map
|
||||
|
Loading…
x
Reference in New Issue
Block a user