[PATCH] D61718: [llvm-objdump] Print st_other
Fangrui Song via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed May 8 23:24:12 PDT 2019
MaskRay created this revision.
MaskRay added reviewers: adalava, Bigcheese, emaste, sfertile, ruiu.
Herald added subscribers: llvm-commits, rupprecht, dexonsmith, atanasyan, jrtc27, arichardson.
Herald added a reviewer: espindola.
Herald added a project: LLVM.
Add support for ".hidden" ".internal" ".protected" and " 0x%02x" for
other st_other bits on some architectures.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D61718
Files:
lld/test/ELF/gc-sections-metadata-startstop.s
lld/test/ELF/mips-micro-relocs.s
lld/test/ELF/mips-micror6-relocs.s
llvm/tools/llvm-objdump/llvm-objdump.cpp
Index: llvm/tools/llvm-objdump/llvm-objdump.cpp
===================================================================
--- llvm/tools/llvm-objdump/llvm-objdump.cpp
+++ llvm/tools/llvm-objdump/llvm-objdump.cpp
@@ -1686,20 +1686,38 @@
outs() << SectionName;
}
- outs() << '\t';
if (Common || isa<ELFObjectFileBase>(O)) {
uint64_t Val =
Common ? Symbol.getAlignment() : ELFSymbolRef(Symbol).getSize();
- outs() << format("\t %08" PRIx64 " ", Val);
+ outs() << format("\t%08" PRIx64, Val);
}
- if (Hidden)
- outs() << ".hidden ";
+ if (isa<ELFObjectFileBase>(O)) {
+ uint8_t Other = ELFSymbolRef(Symbol).getOther();
+ switch (Other) {
+ case ELF::STV_DEFAULT:
+ break;
+ case ELF::STV_INTERNAL:
+ outs() << " .internal";
+ break;
+ case ELF::STV_HIDDEN:
+ outs() << " .hidden";
+ break;
+ case ELF::STV_PROTECTED:
+ outs() << " .protected";
+ break;
+ default:
+ outs() << format(" 0x%02x", Other);
+ break;
+ }
+ } else if (Hidden) {
+ outs() << " .hidden";
+ }
if (Demangle)
- outs() << demangle(Name) << '\n';
+ outs() << ' ' << demangle(Name) << '\n';
else
- outs() << Name << '\n';
+ outs() << ' ' << Name << '\n';
}
}
Index: lld/test/ELF/mips-micror6-relocs.s
===================================================================
--- lld/test/ELF/mips-micror6-relocs.s
+++ lld/test/ELF/mips-micror6-relocs.s
@@ -26,8 +26,8 @@
# EL-NEXT: 20014: 7f 80 f6 ff beqzc $3, -36
# EL-NEXT: 20018: ff b7 f4 ff balc -24 <foo>
-# SYM: 00020000 g F .text 00000000 foo
-# SYM: 00020010 .text 00000000 __start
+# SYM: 00020000 g F .text 00000000 0x80 foo
+# SYM: 00020010 .text 00000000 0x80 __start
.text
.set micromips
Index: lld/test/ELF/mips-micro-relocs.s
===================================================================
--- lld/test/ELF/mips-micro-relocs.s
+++ lld/test/ELF/mips-micro-relocs.s
@@ -53,9 +53,9 @@
# EL: Contents of section .debug_info
# EL-NEXT: 0000 11000200
-# SYM: 00038000 .got 00000000 .hidden _gp
-# SYM: 00020000 g F .text 00000000 foo
-# SYM: 00020010 .text 00000000 __start
+# SYM: 00038000 .got 00000000 .hidden _gp
+# SYM: 00020000 g F .text 00000000 0x80 foo
+# SYM: 00020010 .text 00000000 0x80 __start
# ELF: ElfHeader {
# ELF: Entry: 0x20011
Index: lld/test/ELF/gc-sections-metadata-startstop.s
===================================================================
--- lld/test/ELF/gc-sections-metadata-startstop.s
+++ lld/test/ELF/gc-sections-metadata-startstop.s
@@ -11,7 +11,7 @@
# CHECK-NOT: yy
# CHECK: SYMBOL TABLE:
-# CHECK: xx 00000000 __start_xx
+# CHECK: xx 00000000 .protected __start_xx
# CHECK: w *UND* 00000000 __start_yy
.weak __start_xx
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D61718.198763.patch
Type: text/x-patch
Size: 2967 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190509/20ada256/attachment.bin>
More information about the llvm-commits
mailing list