]> granicus.if.org Git - llvm/commitdiff
[test/Object] - Move/rewrite 2 more test cases.
authorGeorge Rimar <grimar@accesssoftek.com>
Tue, 20 Aug 2019 08:23:57 +0000 (08:23 +0000)
committerGeorge Rimar <grimar@accesssoftek.com>
Tue, 20 Aug 2019 08:23:57 +0000 (08:23 +0000)
This patch makes a change for test/Object tests responsible
for relocations.

* 2 tests were moved to llvm-readobj/llvm-objdump folders:
Object/elf-reloc-no-sym.test -> tools/llvm-readobj/elf-reloc-no-sym.test
Object/objdump-reloc-shared.test -> tools/llvm-objdump/relocations-in-nonreloc.test

* A prerecompiled binary was removed and these tests were refactored.

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

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

test/Object/Inputs/elf-reloc-no-sym.x86_64 [deleted file]
test/Object/elf-reloc-no-sym.test [deleted file]
test/Object/objdump-reloc-shared.test [deleted file]
test/tools/llvm-objdump/relocations-in-nonreloc.test [new file with mode: 0644]
test/tools/llvm-readobj/elf-reloc-no-sym.test [new file with mode: 0644]

diff --git a/test/Object/Inputs/elf-reloc-no-sym.x86_64 b/test/Object/Inputs/elf-reloc-no-sym.x86_64
deleted file mode 100755 (executable)
index a41b4e0..0000000
Binary files a/test/Object/Inputs/elf-reloc-no-sym.x86_64 and /dev/null differ
diff --git a/test/Object/elf-reloc-no-sym.test b/test/Object/elf-reloc-no-sym.test
deleted file mode 100644 (file)
index eabde0c..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-RUN: llvm-readobj -r %p/Inputs/elf-reloc-no-sym.x86_64 | FileCheck %s
-
-CHECK:      Relocations [
-CHECK-NEXT:   Section (1) .rela.plt {
-CHECK-NEXT:     0x4011D8 R_X86_64_IRELATIVE - 0x400120
-CHECK-NEXT:   }
-CHECK-NEXT: ]
diff --git a/test/Object/objdump-reloc-shared.test b/test/Object/objdump-reloc-shared.test
deleted file mode 100644 (file)
index d899ffb..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-RUN: llvm-objdump -r %p/Inputs/elf-reloc-no-sym.x86_64 \
-RUN:              | FileCheck %s
-
-; CHECK: elf-reloc-no-sym.x86_64:       file format ELF64-x86-64
-; CHECK-NOT: {{.}}
diff --git a/test/tools/llvm-objdump/relocations-in-nonreloc.test b/test/tools/llvm-objdump/relocations-in-nonreloc.test
new file mode 100644 (file)
index 0000000..701770f
--- /dev/null
@@ -0,0 +1,58 @@
+## Check that objdump doesn't print relocations in non-relocatable object files.
+
+# RUN: yaml2obj --docnum=1 %s -o %t1
+# RUN: llvm-objdump -r %t1 | FileCheck %s -DFILE=%t1 --check-prefix=FMT --implicit-check-not={{.}}
+# RUN: yaml2obj --docnum=2 %s -o %t2
+# RUN: llvm-objdump -r %t2 | FileCheck %s -DFILE=%t2 --check-prefix=FMT --implicit-check-not={{.}}
+# RUN: yaml2obj --docnum=3 %s -o %t3
+# RUN: llvm-objdump -r %t3 | FileCheck %s -DFILE=%t3 --check-prefixes=FMT,REL --implicit-check-not={{.}}
+
+# FMT: [[FILE]]: file format ELF64-x86-64
+
+# REL:      RELOCATION RECORDS FOR []:
+# REL-NEXT: 0000000000000123 R_X86_64_NONE *ABS*+321
+
+## Executable.
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_EXEC
+  Machine: EM_X86_64
+Sections:
+  - Name: .rela.plt
+    Type: SHT_RELA
+    Relocations:
+      - Offset: 0x123
+        Type:   R_X86_64_NONE
+        Addend: 321
+
+## DSO.
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_DYN
+  Machine: EM_X86_64
+Sections:
+  - Name: .rela.plt
+    Type: SHT_RELA
+    Relocations:
+      - Offset: 0x123
+        Type:   R_X86_64_NONE
+        Addend: 321
+
+## Relocatable.
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_REL
+  Machine: EM_X86_64
+Sections:
+  - Name: .rela.plt
+    Type: SHT_RELA
+    Relocations:
+      - Offset: 0x123
+        Type:   R_X86_64_NONE
+        Addend: 321
diff --git a/test/tools/llvm-readobj/elf-reloc-no-sym.test b/test/tools/llvm-readobj/elf-reloc-no-sym.test
new file mode 100644 (file)
index 0000000..7c4aa59
--- /dev/null
@@ -0,0 +1,26 @@
+## Check llvm-readobj is able to dump relocations that
+## do not use symbols. 
+
+# RUN: yaml2obj %s -o %t
+# RUN: llvm-readobj -r %t | FileCheck %s
+
+# CHECK:      Relocations [
+# CHECK-NEXT:   Section (1) .rela.plt {
+# CHECK-NEXT:     0x12345678 R_X86_64_IRELATIVE - 0x87654321
+# CHECK-NEXT:   }
+# CHECK-NEXT: ]
+
+--- !ELF
+FileHeader:
+  Class:   ELFCLASS64
+  Data:    ELFDATA2LSB
+  Type:    ET_EXEC
+  Machine: EM_X86_64
+Sections:
+  - Name:  .rela.plt
+    Type:  SHT_RELA
+    Flags: [ SHF_ALLOC ]
+    Relocations:
+      - Offset: 0x12345678
+        Type:   R_X86_64_IRELATIVE
+        Addend: 0x87654321