mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-26 23:24:34 +00:00
objdump: Don't print a (always 0) size for MachO symbols.
Only common symbol on MachO and COFF have a size. For COFF we already had a custom format. For MachO, there is no native objdump and we were printing it as ELF. Now we only print the sizes for symbols that actually have them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@240422 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -1085,7 +1085,6 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
|
||||
continue;
|
||||
if (error(Symbol.getType(Type)))
|
||||
continue;
|
||||
uint64_t Size = Symbol.getSize();
|
||||
if (error(Symbol.getSection(Section)))
|
||||
continue;
|
||||
StringRef Name;
|
||||
@ -1101,15 +1100,11 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
|
||||
bool Common = Flags & SymbolRef::SF_Common;
|
||||
bool Hidden = Flags & SymbolRef::SF_Hidden;
|
||||
|
||||
if (Common) {
|
||||
uint32_t Alignment = Symbol.getAlignment();
|
||||
Address = Size;
|
||||
Size = Alignment;
|
||||
}
|
||||
if (Common)
|
||||
Address = Symbol.getSize();
|
||||
|
||||
if (Address == UnknownAddressOrSize)
|
||||
Address = 0;
|
||||
if (Size == UnknownAddressOrSize)
|
||||
Size = 0;
|
||||
char GlobLoc = ' ';
|
||||
if (Type != SymbolRef::ST_Unknown)
|
||||
GlobLoc = Global ? 'g' : 'l';
|
||||
@ -1151,8 +1146,13 @@ void llvm::PrintSymbolTable(const ObjectFile *o) {
|
||||
SectionName = "";
|
||||
outs() << SectionName;
|
||||
}
|
||||
outs() << '\t'
|
||||
<< format("%08" PRIx64 " ", Size);
|
||||
|
||||
outs() << '\t';
|
||||
if (Common)
|
||||
outs() << format("%08" PRIx64 " ", Symbol.getAlignment());
|
||||
else if (isa<ELFObjectFileBase>(o))
|
||||
outs() << format("%08" PRIx64 " ", Symbol.getSize());
|
||||
|
||||
if (Hidden) {
|
||||
outs() << ".hidden ";
|
||||
}
|
||||
|
Reference in New Issue
Block a user