summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xllvm/test/Object/Inputs/elf-reloc-no-sym.x86_64bin1768 -> 0 bytes
-rw-r--r--llvm/test/Object/elf-reloc-no-sym.test7
-rw-r--r--llvm/test/Object/objdump-reloc-shared.test5
-rw-r--r--llvm/test/tools/llvm-objdump/relocations-in-nonreloc.test58
-rw-r--r--llvm/test/tools/llvm-readobj/elf-reloc-no-sym.test26
5 files changed, 84 insertions, 12 deletions
diff --git a/llvm/test/Object/Inputs/elf-reloc-no-sym.x86_64 b/llvm/test/Object/Inputs/elf-reloc-no-sym.x86_64
deleted file mode 100755
index a41b4e0d78d..00000000000
--- a/llvm/test/Object/Inputs/elf-reloc-no-sym.x86_64
+++ /dev/null
Binary files differ
diff --git a/llvm/test/Object/elf-reloc-no-sym.test b/llvm/test/Object/elf-reloc-no-sym.test
deleted file mode 100644
index eabde0cc734..00000000000
--- a/llvm/test/Object/elf-reloc-no-sym.test
+++ /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/llvm/test/Object/objdump-reloc-shared.test b/llvm/test/Object/objdump-reloc-shared.test
deleted file mode 100644
index d899ffb6087..00000000000
--- a/llvm/test/Object/objdump-reloc-shared.test
+++ /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/llvm/test/tools/llvm-objdump/relocations-in-nonreloc.test b/llvm/test/tools/llvm-objdump/relocations-in-nonreloc.test
new file mode 100644
index 00000000000..701770f7324
--- /dev/null
+++ b/llvm/test/tools/llvm-objdump/relocations-in-nonreloc.test
@@ -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/llvm/test/tools/llvm-readobj/elf-reloc-no-sym.test b/llvm/test/tools/llvm-readobj/elf-reloc-no-sym.test
new file mode 100644
index 00000000000..7c4aa593f24
--- /dev/null
+++ b/llvm/test/tools/llvm-readobj/elf-reloc-no-sym.test
@@ -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
OpenPOWER on IntegriCloud