]> granicus.if.org Git - llvm/commitdiff
[llvm-readobj/llvm-readelf] - Eliminate the elf-groups.x86_64 precompiled binary...
authorGeorge Rimar <grimar@accesssoftek.com>
Mon, 24 Jun 2019 08:29:54 +0000 (08:29 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Mon, 24 Jun 2019 08:29:54 +0000 (08:29 +0000)
We do not need the elf-groups.x86_64. In one of the tests, it was
used for no solid reason, and for the second test case we can use
YAML input with SHT_GROUP sections.

The patch performs a cleanup of one of the test cases, removes another
one completely (since during the review was found out it actually
duplicates one of the existent tests) and removes the precompiled binary.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364167 91177308-0d34-0410-b5e6-96231b3b80d8

test/tools/llvm-readobj/Inputs/elf-groups.x86_64 [deleted file]
test/tools/llvm-readobj/elf-groups.test
test/tools/llvm-readobj/print-section.test [deleted file]

diff --git a/test/tools/llvm-readobj/Inputs/elf-groups.x86_64 b/test/tools/llvm-readobj/Inputs/elf-groups.x86_64
deleted file mode 100644 (file)
index 29628ca..0000000
Binary files a/test/tools/llvm-readobj/Inputs/elf-groups.x86_64 and /dev/null differ
index a698eb7337e133e301cff30b201d3eb490cba364..4e165311ecfb1880375e34b03ec5b9d39be1f385 100644 (file)
@@ -1,56 +1,82 @@
-# Source file compiled:
-##include <iostream>
-# #include <typeinfo>
-#template <class A>
-#void foo(A variable) {
-#  std::cout << "foo is " << typeid(A).name() << "\n";
-#}
-#int main () {
-#  char x = 'x';
-#  int y = 1;
-#  foo(x);
-#  foo(y);
-#  return 0;
-#}
+## Check that llvm-readelf and llvm-readobj can
+## dump SHT_GROUP sections properly.
 
-RUN: llvm-readobj -g %p/Inputs/elf-groups.x86_64 \
-RUN:   | FileCheck %s
-RUN: llvm-readelf -g %p/Inputs/elf-groups.x86_64 \
-RUN:   | FileCheck --check-prefix="GNU" %s
-CHECK:         Groups {
-CHECK-NEXT:      Group {
-CHECK-NEXT:        Name: .group (92)
-CHECK-NEXT:        Index: 1
-CHECK-NEXT:        Link: 23
-CHECK-NEXT:        Info: 17
-CHECK-NEXT:        Type: COMDAT (0x1)
-CHECK-NEXT:        Signature: _Z3fooIcEvT_
-CHECK-NEXT:        Section(s) in group [
-CHECK-NEXT:          .text._Z3fooIcEvT_ (10)
-CHECK-NEXT:          .rela.text._Z3fooIcEvT_ (11)
-CHECK-NEXT:        ]
-CHECK-NEXT:      }
-CHECK-NEXT:      Group {
-CHECK-NEXT:        Name: .group (92)
-CHECK-NEXT:        Index: 2
-CHECK-NEXT:        Link: 23
-CHECK-NEXT:        Info: 18
-CHECK-NEXT:        Type: COMDAT (0x1)
-CHECK-NEXT:        Signature: _Z3fooIiEvT_
-CHECK-NEXT:        Section(s) in group [
-CHECK-NEXT:          .text._Z3fooIiEvT_ (12)
-CHECK-NEXT:          .rela.text._Z3fooIiEvT_ (13)
-CHECK-NEXT:        ]
-CHECK-NEXT:      }
+# RUN: yaml2obj %s -o %t.o
+# RUN: llvm-readobj -g %t.o | FileCheck %s
+# RUN: llvm-readelf -g %t.o | FileCheck --check-prefix=GNU %s
 
-GNU:COMDAT group section [    1] `.group' [_Z3fooIcEvT_] contains 2 sections:
-GNU-NEXT:   [Index]    Name
-GNU-NEXT:   [   10]   .text._Z3fooIcEvT_
-GNU-NEXT:   [   11]   .rela.text._Z3fooIcEvT_
-GNU:COMDAT group section [    2] `.group' [_Z3fooIiEvT_] contains 2 sections:
-GNU-NEXT:   [Index]    Name
-GNU-NEXT:   [   12]   .text._Z3fooIiEvT_
-GNU-NEXT:   [   13]   .rela.text._Z3fooIiEvT_
-GNU:COMDAT group section [    3] `.group' [_ZNKSt9type_info4nameEv] contains 1 sections:
-GNU-NEXT:   [Index]    Name
-GNU-NEXT:   [   14]   .text._ZNKSt9type_info4nameEv
+# CHECK:      Groups {
+# CHECK-NEXT:   Group {
+# CHECK-NEXT:     Name: .group
+# CHECK-NEXT:     Index: 1
+# CHECK-NEXT:     Link: 7
+# CHECK-NEXT:     Info: 1
+# CHECK-NEXT:     Type: COMDAT
+# CHECK-NEXT:     Signature: foo
+# CHECK-NEXT:     Section(s) in group [
+# CHECK-NEXT:       .text.foo
+# CHECK-NEXT:       .rela.text.foo
+# CHECK-NEXT:     ]
+# CHECK-NEXT:   }
+# CHECK-NEXT:   Group {
+# CHECK-NEXT:     Name: .group1
+# CHECK-NEXT:     Index: 2
+# CHECK-NEXT:     Link: 7
+# CHECK-NEXT:     Info: 2
+# CHECK-NEXT:     Type: COMDAT
+# CHECK-NEXT:     Signature: bar
+# CHECK-NEXT:     Section(s) in group [
+# CHECK-NEXT:       .text.bar
+# CHECK-NEXT:       .rela.text.bar
+# CHECK-NEXT:     ]
+# CHECK-NEXT:   }
+
+# GNU:      COMDAT group section [    1] `.group' [foo] contains 2 sections:
+# GNU-NEXT:  [Index]  Name
+# GNU-NEXT:  [    3] .text.foo
+# GNU-NEXT:  [    4] .rela.text.foo
+# GNU:      COMDAT group section [    2] `.group1' [bar] contains 2 sections:
+# GNU-NEXT:  [Index]  Name
+# GNU-NEXT:  [    5] .text.bar
+# GNU-NEXT:  [    6] .rela.text.bar
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_REL
+  Machine: EM_X86_64
+Sections:
+  - Name: .group
+    Type: SHT_GROUP
+    Link: .symtab
+    Info: foo
+    Members:
+      - SectionOrType: GRP_COMDAT
+      - SectionOrType: .text.foo
+      - SectionOrType: .rela.text.foo
+  - Name: .group1
+    Type: SHT_GROUP
+    Link: .symtab
+    Info: bar
+    Members:
+      - SectionOrType: GRP_COMDAT
+      - SectionOrType: .text.bar
+      - SectionOrType: .rela.text.bar
+  - Name:  .text.foo
+    Type:  SHT_PROGBITS
+  - Name: .rela.text.foo
+    Type: SHT_RELA
+    Link: .symtab
+    Info: .text.foo
+  - Name: .text.bar
+    Type: SHT_PROGBITS
+  - Name: .rela.text.bar
+    Type: SHT_RELA
+    Link: .symtab
+    Info: .text.bar
+Symbols:
+  - Name:    foo
+    Section: .text.foo
+  - Name:    bar
+    Section: .text.bar
diff --git a/test/tools/llvm-readobj/print-section.test b/test/tools/llvm-readobj/print-section.test
deleted file mode 100644 (file)
index 9f2601b..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-RUN: llvm-readobj -p .text %p/Inputs/elf-groups.x86_64 \
-RUN:     | FileCheck %s
-
-CHECK: [     0]  UH..H....E.
-CHECK: [     f]  .E.x.E..
-CHECK: [    1a]  ..}..
-CHECK: [    23]  .}..
-CHECK: [    2b]  1.H...].