[llvm] r351547 - [llvm-objdump] - Dump the archive headers when -all-headers is specified.

George Rimar via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 18 04:02:00 PST 2019


Author: grimar
Date: Fri Jan 18 04:01:59 2019
New Revision: 351547

URL: http://llvm.org/viewvc/llvm-project?rev=351547&view=rev
Log:
[llvm-objdump] - Dump the archive headers when -all-headers is specified.

When -all-headers is given it is supposed to dump all headers,
but now it skips the archive headers for no reason.

The patch fixes that.

Differential revision: https://reviews.llvm.org/D56780

Modified:
    llvm/trunk/test/tools/llvm-objdump/all-headers.test
    llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp

Modified: llvm/trunk/test/tools/llvm-objdump/all-headers.test
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/tools/llvm-objdump/all-headers.test?rev=351547&r1=351546&r2=351547&view=diff
==============================================================================
--- llvm/trunk/test/tools/llvm-objdump/all-headers.test (original)
+++ llvm/trunk/test/tools/llvm-objdump/all-headers.test Fri Jan 18 04:01:59 2019
@@ -11,6 +11,31 @@
 # CHECK-EMPTY:
 # CHECK-NEXT:  Sections:
 
+## Check how we dump the archives.
+## Check we dump the appropriate headers for each file in the archive.
+
+# RUN: cp %t %t2
+# RUN: rm -f %t.a
+# RUN: llvm-ar rcs %t.a %t %t2
+# RUN: llvm-objdump --all-headers %t.a | FileCheck %s --check-prefix=ARCHIVE
+
+# ARCHIVE: {{.*}}.a({{.*}}):   file format ELF64-x86-64
+# ARCHIVE: architecture: x86_64
+# ARCHIVE: start address: 0x0000000000000000
+# ARCHIVE: rw-r--r--
+# ARCHIVE: Sections:
+# ARCHIVE: SYMBOL TABLE:
+# ARCHIVE: Program Header:
+# ARCHIVE: Dynamic Section:
+# ARCHIVE: {{.*}}.a({{.*}}2):   file format ELF64-x86-64
+# ARCHIVE: architecture: x86_64
+# ARCHIVE: start address: 0x0000000000000000
+# ARCHIVE: rw-r--r--
+# ARCHIVE: Sections:
+# ARCHIVE: SYMBOL TABLE:
+# ARCHIVE: Program Header:
+# ARCHIVE: Dynamic Section:
+
 !ELF
 FileHeader:
   Class:           ELFCLASS64

Modified: llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp?rev=351547&r1=351546&r2=351547&view=diff
==============================================================================
--- llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp (original)
+++ llvm/trunk/tools/llvm-objdump/llvm-objdump.cpp Fri Jan 18 04:01:59 2019
@@ -2036,8 +2036,8 @@ int main(int argc, char **argv) {
     InputFilenames.push_back("a.out");
 
   if (AllHeaders)
-    FileHeaders = PrivateHeaders = Relocations = SectionHeaders = SymbolTable =
-        true;
+    ArchiveHeaders = FileHeaders = PrivateHeaders = Relocations =
+        SectionHeaders = SymbolTable = true;
 
   if (DisassembleAll || PrintSource || PrintLines)
     Disassemble = true;




More information about the llvm-commits mailing list