[llvm-objdump] support '--syms' as an alias of -t
authorKristina Brooks <kristina@nym.hush.com>
Wed, 31 Oct 2018 05:45:01 +0000 (05:45 +0000)
committerKristina Brooks <kristina@nym.hush.com>
Wed, 31 Oct 2018 05:45:01 +0000 (05:45 +0000)
This adds support for '--syms' as an alias of '-t' for llvm-objdump,
fixing PR39406 (https://bugs.llvm.org/show_bug.cgi?id=39406).

Patch by Higuoxing (Xing).

Differential Revision: https://reviews.llvm.org/D53803

llvm-svn: 345697

llvm/test/tools/llvm-objdump/symbol-table-elf.test [new file with mode: 0644]
llvm/tools/llvm-objdump/llvm-objdump.cpp

diff --git a/llvm/test/tools/llvm-objdump/symbol-table-elf.test b/llvm/test/tools/llvm-objdump/symbol-table-elf.test
new file mode 100644 (file)
index 0000000..fc1eccd
--- /dev/null
@@ -0,0 +1,47 @@
+# RUN: yaml2obj %s > %t
+# RUN: llvm-objdump --syms %t | FileCheck %s
+# RUN: llvm-objdump -t     %t | FileCheck %s
+
+# 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: 0000000000001004 g     F .text     00000000 foo
+# CHECK-NEXT: 0000000000001008 g       .text     00000000 bar
+
+!ELF
+FileHeader:
+  Class:           ELFCLASS64
+  Data:            ELFDATA2LSB
+  Type:            ET_EXEC
+  Machine:         EM_X86_64
+Sections:
+  - Name:            .bss
+    Type:            SHT_NOBITS
+    Flags:           [ SHF_ALLOC ]
+    AddressAlign:    0x0000000000000010
+    Size:            64
+  - Name:            .text
+    Type:            SHT_PROGBITS
+    Flags:           [ SHF_ALLOC, SHF_EXECINSTR ]
+    AddressAlign:    0x0000000000000010
+    Content:         "00000000"
+Symbols:
+   Global:
+     - Name:     foo
+       Type:     STT_FUNC
+       Section:  .text
+       Value:    0x1004
+     - Name:     bar
+       Type:     STT_OBJECT
+       Section:  .text
+       Value:    0x1008
+   Local:
+     - Name:     lfoo
+       Type:     STT_FUNC
+       Section:  .text
+       Value:    0x1004
+     - Name:     lbar
+       Type:     STT_OBJECT
+       Section:  .text
+       Value:    0x1008
index 463408b..4ad29d2 100644 (file)
@@ -122,8 +122,9 @@ static cl::alias SectionContentsShort("s",
                                       cl::desc("Alias for --full-contents"),
                                       cl::aliasopt(SectionContents));
 
-cl::opt<bool>
-llvm::SymbolTable("t", cl::desc("Display the symbol table"));
+cl::opt<bool> llvm::SymbolTable("syms", cl::desc("Display the symbol table"));
+static cl::alias SymbolTableShort("t", cl::desc("Alias for --syms"),
+                                  cl::aliasopt(llvm::SymbolTable));
 
 cl::opt<bool>
 llvm::ExportsTrie("exports-trie", cl::desc("Display mach-o exported symbols"));