[PATCH] D85832: [llvm-readobj/elf][test] - Refine --headers testing and the related code comment.

George Rimar via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Aug 13 03:53:23 PDT 2020


This revision was automatically updated to reflect the committed changes.
Closed by commit rG936ba7eec3f0: [llvm-readobj/elf][test] - Refine --headers testing and the related codeā€¦ (authored by grimar).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D85832/new/

https://reviews.llvm.org/D85832

Files:
  llvm/test/tools/llvm-readobj/ELF/headers.test
  llvm/tools/llvm-readobj/llvm-readobj.cpp


Index: llvm/tools/llvm-readobj/llvm-readobj.cpp
===================================================================
--- llvm/tools/llvm-readobj/llvm-readobj.cpp
+++ llvm/tools/llvm-readobj/llvm-readobj.cpp
@@ -63,7 +63,7 @@
       DependentLibraries("dependent-libraries",
                          cl::desc("Display the dependent libraries section"));
 
-  // --headers -e
+  // --headers, -e
   cl::opt<bool>
       Headers("headers",
           cl::desc("Equivalent to setting: --file-headers, --program-headers, "
Index: llvm/test/tools/llvm-readobj/ELF/headers.test
===================================================================
--- llvm/test/tools/llvm-readobj/ELF/headers.test
+++ llvm/test/tools/llvm-readobj/ELF/headers.test
@@ -1,5 +1,48 @@
-RUN: llvm-readelf -e %p/Inputs/trivial.obj.elf-i386 > %t.e
-RUN: llvm-readelf --headers %p/Inputs/trivial.obj.elf-i386 > %t.headers
-RUN: llvm-readelf -h -l -S %p/Inputs/trivial.obj.elf-i386 > %t.hlS
-RUN: cmp %t.e %t.headers
-RUN: cmp %t.e %t.hlS
+## This is a test for --headers and its alias -e.
+## Specifying --headers is equivalent to setting --file-headers,
+## --program-headers and --section-headers at the same time.
+## We test these options independently, so here we just check
+## that --headers triggers them.
+
+# RUN: yaml2obj %s -o %t
+
+## Case A: test llvm-readelf output.
+# RUN: llvm-readelf --headers %t > %t.headers.gnu.txt
+# RUN: FileCheck %s --input-file=%t.headers.gnu.txt --check-prefix=GNU
+
+# GNU: ELF Header:
+# GNU: Section Headers:
+# GNU: Program Headers:
+# GNU: Section to Segment mapping:
+
+# RUN: llvm-readelf -e %t > %t.e.gnu.txt
+# RUN: cmp %t.headers.gnu.txt %t.e.gnu.txt
+
+# RUN: llvm-readelf --file-headers --program-headers --section-headers %t > %t.all.gnu.txt
+# RUN: cmp %t.headers.gnu.txt %t.all.gnu.txt
+
+## Case B: test llvm-readobj output.
+# RUN: llvm-readobj --headers %t > %t.headers.llvm.txt
+# RUN: FileCheck %s --input-file=%t.headers.llvm.txt --check-prefix=LLVM
+
+# LLVM: ElfHeader {
+# LLVM: Sections [
+# LLVM: ProgramHeaders [
+
+# RUN: llvm-readobj -e %t > %t.e.llvm.txt
+# RUN: cmp %t.headers.llvm.txt %t.e.llvm.txt
+
+# RUN: llvm-readobj --file-headers --program-headers --section-headers %t > %t.all.llvm.txt
+# RUN: cmp %t.headers.llvm.txt %t.all.llvm.txt
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_REL
+  Machine: EM_NONE
+Sections:
+  - Name: .foo
+    Type: SHT_PROGBITS
+ProgramHeaders:
+  - Type: PT_LOAD


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85832.285320.patch
Type: text/x-patch
Size: 2483 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200813/c530cd90/attachment.bin>


More information about the llvm-commits mailing list