[PATCH] D37347: [llvm-nm] Fix output formatting of -f sysv for 64bit targets

Sam Clegg via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 31 12:40:17 PDT 2017


sbc100 updated this revision to Diff 113455.
sbc100 edited the summary of this revision.
sbc100 added a comment.

- fixes from code review


https://reviews.llvm.org/D37347

Files:
  test/tools/llvm-nm/X86/Inputs/hello.obj.elf-i386
  test/tools/llvm-nm/X86/sysv-i386.test
  test/tools/llvm-nm/X86/sysv-x86_64.test
  tools/llvm-nm/llvm-nm.cpp


Index: tools/llvm-nm/llvm-nm.cpp
===================================================================
--- tools/llvm-nm/llvm-nm.cpp
+++ tools/llvm-nm/llvm-nm.cpp
@@ -709,9 +709,13 @@
     } else if (OutputFormat == bsd && MultipleFiles && printName) {
       outs() << "\n" << CurrentFilename << ":\n";
     } else if (OutputFormat == sysv) {
-      outs() << "\n\nSymbols from " << CurrentFilename << ":\n\n"
-             << "Name                  Value   Class        Type"
-             << "         Size   Line  Section\n";
+      outs() << "\n\nSymbols from " << CurrentFilename << ":\n\n";
+      if (isSymbolList64Bit(Obj))
+        outs() << "Name                  Value           Class        Type"
+               << "         Size             Line  Section\n";
+      else
+        outs() << "Name                  Value   Class        Type"
+               << "         Size     Line  Section\n";
     }
   }
 
Index: test/tools/llvm-nm/X86/sysv-x86_64.test
===================================================================
--- /dev/null
+++ test/tools/llvm-nm/X86/sysv-x86_64.test
@@ -0,0 +1,13 @@
+RUN: llvm-nm -f sysv %p/Inputs/hello.obj.elf-x86_64 | FileCheck %s --check-prefix=ELF --strict-whitespace
+RUN: llvm-nm -f sysv %p/Inputs/hello.obj.macho-x86_64 2>&1 | FileCheck %s --check-prefix=MACHO --strict-whitespace
+
+ELF: Name                  Value           Class        Type         Size             Line  Section
+ELF: main                |0000000000000000|   T  |                  |0000000000000015|     |
+ELF: puts                |                |   U  |                  |                |     |
+
+MACHO: Name                  Value           Class        Type         Size             Line  Section
+MACHO: EH_frame0           |0000000000000068|   s  |                  |0000000000000000|     |
+MACHO: L_.str              |000000000000003b|   s  |                  |0000000000000000|     |
+MACHO: _main               |0000000000000000|   T  |                  |0000000000000000|     |
+MACHO: _main.eh            |0000000000000080|   S  |                  |0000000000000000|     |
+MACHO: _printf             |                |   U  |                  |                |     |
Index: test/tools/llvm-nm/X86/sysv-i386.test
===================================================================
--- /dev/null
+++ test/tools/llvm-nm/X86/sysv-i386.test
@@ -0,0 +1,6 @@
+RUN: llvm-nm -f sysv %p/Inputs/hello.obj.elf-i386 | FileCheck %s --strict-whitespace
+
+CHECK: Name                  Value   Class        Type         Size     Line  Section
+CHECK: .L.str              |00000000|   r  |                  |0000000f|     |
+CHECK: main                |00000000|   T  |                  |00000015|     |
+CHECK: puts                |        |   U  |                  |        |     |


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D37347.113455.patch
Type: text/x-patch
Size: 2812 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170831/96b2c0b2/attachment.bin>


More information about the llvm-commits mailing list