mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 20:51:52 +01:00
[llvm-objdump] Add symbol 'O' for object data
Improve compatibility with GNU objdump by showing `O` next to global symbol names, instead of a blank space. Patch by Higuoxing (Xing). Reviewers: MaskRay Differential Revision: https://reviews.llvm.org/D54380 llvm-svn: 346610
This commit is contained in:
parent
f7589c801e
commit
d4928ee68f
@ -2,8 +2,8 @@ RUN: llvm-objdump -t %p/../Inputs/trivial.obj.wasm | FileCheck %s
|
||||
|
||||
CHECK: SYMBOL TABLE:
|
||||
CHECK-NEXT: 00000002 g F CODE main
|
||||
CHECK-NEXT: 00000000 l DATA .L.str
|
||||
CHECK-NEXT: 00000000 l O DATA .L.str
|
||||
CHECK-NEXT: 00000000 g F *UND* puts
|
||||
CHECK-NEXT: 00000003 l F CODE .LSomeOtherFunction_bitcast
|
||||
CHECK-NEXT: 00000000 g F *UND* SomeOtherFunction
|
||||
CHECK-NEXT: 00000010 g DATA var
|
||||
CHECK-NEXT: 00000010 g O DATA var
|
||||
|
@ -1,8 +1,8 @@
|
||||
RUN: llvm-objdump -macho -t %p/Inputs/hello.obj.macho-x86_64 | FileCheck %s
|
||||
|
||||
CHECK: SYMBOL TABLE:
|
||||
CHECK: 000000000000003b l __TEXT,__cstring L_.str
|
||||
CHECK: 0000000000000068 l __TEXT,__eh_frame EH_frame0
|
||||
CHECK: 0000000000000000 g F __TEXT,__text _main
|
||||
CHECK: 0000000000000080 g __TEXT,__eh_frame _main.eh
|
||||
CHECK: 0000000000000000 *UND* _printf
|
||||
CHECK: SYMBOL TABLE:
|
||||
CHECK-NEXT: 000000000000003b l O __TEXT,__cstring L_.str
|
||||
CHECK-NEXT: 0000000000000068 l O __TEXT,__eh_frame EH_frame0
|
||||
CHECK-NEXT: 0000000000000000 g F __TEXT,__text _main
|
||||
CHECK-NEXT: 0000000000000080 g O __TEXT,__eh_frame _main.eh
|
||||
CHECK-NEXT: 0000000000000000 *UND* _printf
|
||||
|
@ -1,3 +1,3 @@
|
||||
// RUN: llvm-objdump -t %p/Inputs/common-symbol-elf | FileCheck %s
|
||||
|
||||
CHECK: 00000400 g *COM* 00000008 common_symbol
|
||||
CHECK: 00000400 g O *COM* 00000008 common_symbol
|
||||
|
@ -5,9 +5,9 @@
|
||||
# CHECK: SYMBOL TABLE:
|
||||
# CHECK-NEXT: 0000000000000000 *UND* 00000000
|
||||
# CHECK-NEXT: 0000000000001004 l F .text 00000000 lfoo
|
||||
# CHECK-NEXT: 0000000000001008 l .text 00000000 lbar
|
||||
# CHECK-NEXT: 0000000000001008 l O .text 00000000 lbar
|
||||
# CHECK-NEXT: 0000000000001004 g F .text 00000000 foo
|
||||
# CHECK-NEXT: 0000000000001008 g .text 00000000 bar
|
||||
# CHECK-NEXT: 0000000000001008 g O .text 00000000 bar
|
||||
|
||||
!ELF
|
||||
FileHeader:
|
||||
|
@ -2014,6 +2014,8 @@ void llvm::PrintSymbolTable(const ObjectFile *o, StringRef ArchiveName,
|
||||
FileFunc = 'f';
|
||||
else if (Type == SymbolRef::ST_Function)
|
||||
FileFunc = 'F';
|
||||
else if (Type == SymbolRef::ST_Data)
|
||||
FileFunc = 'O';
|
||||
|
||||
const char *Fmt = o->getBytesInAddress() > 4 ? "%016" PRIx64 :
|
||||
"%08" PRIx64;
|
||||
|
Loading…
x
Reference in New Issue
Block a user