summaryrefslogtreecommitdiff
path: root/test/Object
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-04-25 12:28:45 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-04-25 12:28:45 +0000
commit956ca7265c697107708468b7e1b2fd21f4185bae (patch)
tree67a93afc4801ff580b60b075c6a84698fdb9b488 /test/Object
parent02066838b5cdf17277267e79ffbc9459a58cdd59 (diff)
downloadllvm-956ca7265c697107708468b7e1b2fd21f4185bae.tar.gz
llvm-956ca7265c697107708468b7e1b2fd21f4185bae.tar.bz2
llvm-956ca7265c697107708468b7e1b2fd21f4185bae.tar.xz
Clarify getRelocationAddress x getRelocationOffset a bit.
getRelocationAddress is for dynamic libraries and executables, getRelocationOffset for relocatable objects. Mark the getRelocationAddress of COFF and MachO as not implemented yet. Add a test of ELF's. llvm-readobj -r now prints the same values as readelf -r. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180259 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Object')
-rwxr-xr-xtest/Object/Inputs/hello-world.elf-x86-64bin0 -> 4544 bytes
-rw-r--r--test/Object/relocation-executable.test18
2 files changed, 18 insertions, 0 deletions
diff --git a/test/Object/Inputs/hello-world.elf-x86-64 b/test/Object/Inputs/hello-world.elf-x86-64
new file mode 100755
index 0000000000..16092b8947
--- /dev/null
+++ b/test/Object/Inputs/hello-world.elf-x86-64
Binary files differ
diff --git a/test/Object/relocation-executable.test b/test/Object/relocation-executable.test
new file mode 100644
index 0000000000..98f5b4ee2f
--- /dev/null
+++ b/test/Object/relocation-executable.test
@@ -0,0 +1,18 @@
+RUN: llvm-readobj -r -expand-relocs %p/Inputs/hello-world.elf-x86-64 \
+RUN: | FileCheck %s
+
+// CHECK: Relocations [
+// CHECK: Section (11) .plt {
+// CHECK-NEXT: Relocation {
+// CHECK-NEXT: Offset: 0x4018F8
+// CHECK-NEXT: Type: R_X86_64_JUMP_SLOT (7)
+// CHECK-NEXT: Symbol: __libc_start_main
+// CHECK-NEXT: Info: 0x0
+// CHECK-NEXT: }
+// CHECK-NEXT: Relocation {
+// CHECK-NEXT: Offset: 0x401900
+// CHECK-NEXT: Type: R_X86_64_JUMP_SLOT (7)
+// CHECK-NEXT: Symbol: puts
+// CHECK-NEXT: Info: 0x0
+// CHECK-NEXT: }
+// CHECK-NEXT: }