mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-22 15:39:28 +00:00
Fix printing of common symbols.
Printing the symbol size matches the behavior or both gnu nm and freebsd nm. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241480 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
edfa571cbd
commit
e473de21aa
@ -3,6 +3,7 @@
|
||||
|
||||
// CHECK: 0000000000000000 ffffffffffffffff n a
|
||||
// CHECK: 0000000000000000 0000000000000000 N b
|
||||
// CHECK: 0000000000000004 0000000000000004 C c
|
||||
|
||||
.section foo
|
||||
a:
|
||||
@ -10,3 +11,5 @@ a:
|
||||
|
||||
.global b
|
||||
b:
|
||||
|
||||
.comm c,4,8
|
||||
|
@ -901,10 +901,15 @@ static void dumpSymbolNamesFromObject(SymbolicFile &Obj, bool printName,
|
||||
S.Size = ELFSymbolRef(Sym).getSize();
|
||||
}
|
||||
if (PrintAddress && isa<ObjectFile>(Obj)) {
|
||||
ErrorOr<uint64_t> AddressOrErr = SymbolRef(Sym).getAddress();
|
||||
if (error(AddressOrErr.getError()))
|
||||
break;
|
||||
S.Address = *AddressOrErr;
|
||||
SymbolRef SymRef(Sym);
|
||||
if (SymFlags & SymbolRef::SF_Common) {
|
||||
S.Address = SymRef.getCommonSize();
|
||||
} else {
|
||||
ErrorOr<uint64_t> AddressOrErr = SymRef.getAddress();
|
||||
if (error(AddressOrErr.getError()))
|
||||
break;
|
||||
S.Address = *AddressOrErr;
|
||||
}
|
||||
}
|
||||
S.TypeChar = getNMTypeChar(Obj, Sym);
|
||||
if (error(Sym.printName(OS)))
|
||||
|
Loading…
x
Reference in New Issue
Block a user