summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--llvm/test/Object/objdump-symbol-table.test6
-rw-r--r--llvm/test/tools/llvm-objdump/X86/macho-symbol-table.test10
-rw-r--r--llvm/tools/llvm-objdump/llvm-objdump.cpp20
3 files changed, 18 insertions, 18 deletions
diff --git a/llvm/test/Object/objdump-symbol-table.test b/llvm/test/Object/objdump-symbol-table.test
index 3d09e1a45f3..e66faecf4cc 100644
--- a/llvm/test/Object/objdump-symbol-table.test
+++ b/llvm/test/Object/objdump-symbol-table.test
@@ -30,9 +30,9 @@ ELF-i386: 00000000 *UND* 00000000 puts
macho-i386: trivial-object-test.macho-i386: file format Mach-O 32-bit i386
macho-i386: SYMBOL TABLE:
-macho-i386: 00000000 g F __TEXT,__text 00000000 _main
-macho-i386: 00000000 *UND* 00000000 _SomeOtherFunction
-macho-i386: 00000000 *UND* 00000000 _puts
+macho-i386: 00000000 g F __TEXT,__text _main
+macho-i386: 00000000 *UND* _SomeOtherFunction
+macho-i386: 00000000 *UND* _puts
ELF-shared: shared-object-test.elf-i386: file format
ELF-shared: SYMBOL TABLE:
diff --git a/llvm/test/tools/llvm-objdump/X86/macho-symbol-table.test b/llvm/test/tools/llvm-objdump/X86/macho-symbol-table.test
index 3fe5aea6c37..826d78af68b 100644
--- a/llvm/test/tools/llvm-objdump/X86/macho-symbol-table.test
+++ b/llvm/test/tools/llvm-objdump/X86/macho-symbol-table.test
@@ -1,8 +1,8 @@
RUN: llvm-objdump -macho -t %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
CHECK: SYMBOL TABLE:
-CHECK: 000000000000003b l F __TEXT,__cstring 00000000 L_.str
-CHECK: 0000000000000068 l F __TEXT,__eh_frame 00000000 EH_frame0
-CHECK: 0000000000000000 g F __TEXT,__text 00000000 _main
-CHECK: 0000000000000080 g F __TEXT,__eh_frame 00000000 _main.eh
-CHECK: 0000000000000000 *UND* 00000000 _printf
+CHECK: 000000000000003b l F __TEXT,__cstring L_.str
+CHECK: 0000000000000068 l F __TEXT,__eh_frame EH_frame0
+CHECK: 0000000000000000 g F __TEXT,__text _main
+CHECK: 0000000000000080 g F __TEXT,__eh_frame _main.eh
+CHECK: 0000000000000000 *UND* _printf
diff --git a/llvm/tools/llvm-objdump/llvm-objdump.cpp b/llvm/tools/llvm-objdump/llvm-objdump.cpp
index dd484f23ffe..77e95f688dc 100644
--- a/llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ b/llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -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 ";
}
OpenPOWER on IntegriCloud