aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC/ELF
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2010-09-30 20:18:35 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2010-09-30 20:18:35 +0000
commit7eae36b38b874f417fa191fc1cfec22c100f164d (patch)
tree8c16949ea213be52128add5ff41b4598b34f2132 /test/MC/ELF
parenta3fbadfcd882f9f15bda7c1213b5ff52d6582a10 (diff)
downloadexternal_llvm-7eae36b38b874f417fa191fc1cfec22c100f164d.zip
external_llvm-7eae36b38b874f417fa191fc1cfec22c100f164d.tar.gz
external_llvm-7eae36b38b874f417fa191fc1cfec22c100f164d.tar.bz2
Factor some logic into ShouldRelocOnSymbol. This simplifies the code and
fixes some cases where we were producing relocations with at symbol that should use a section instead. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@115194 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/MC/ELF')
-rw-r--r--test/MC/ELF/basic-elf.ll2
-rw-r--r--test/MC/ELF/relocation.s21
2 files changed, 16 insertions, 7 deletions
diff --git a/test/MC/ELF/basic-elf.ll b/test/MC/ELF/basic-elf.ll
index b9be067..f130ced 100644
--- a/test/MC/ELF/basic-elf.ll
+++ b/test/MC/ELF/basic-elf.ll
@@ -101,7 +101,7 @@ declare i32 @puts(i8* nocapture) nounwind
; 64: # Relocation 2
; 64: (('r_offset', 15)
; 64: ('r_type', 10)
-; 64: ('r_addend', 0)
+; 64: ('r_addend', 6)
; 64: ),
; 64: # Relocation 3
; 64: (('r_offset', 20)
diff --git a/test/MC/ELF/relocation.s b/test/MC/ELF/relocation.s
index a8f4e5f..45c863e 100644
--- a/test/MC/ELF/relocation.s
+++ b/test/MC/ELF/relocation.s
@@ -10,39 +10,48 @@ bar:
movq bar, %rdx // R_X86_64_32S
.long bar // R_X86_64_32
+// CHECK: # Section 1
+// CHECK: (('sh_name', 1) # '.text'
+
+// CHECK: # Symbol 2
+// CHECK: (('st_name', 0) # ''
+// CHECK: ('st_bind', 0)
+// CHECK ('st_type', 3)
+// CHECK: ('st_other', 0)
+// CHECK: ('st_shndx', 1)
// CHECK: # Relocation 0
// CHECK-NEXT: (('r_offset', 1)
-// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_sym', 2)
// CHECK-NEXT: ('r_type', 10)
// CHECK-NEXT: ('r_addend',
// CHECK: # Relocation 1
// CHECK-NEXT: (('r_offset', 8)
-// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_sym', 2)
// CHECK-NEXT: ('r_type', 11)
// CHECK-NEXT: ('r_addend',
// CHECK: # Relocation 2
// CHECK-NEXT: (('r_offset', 19)
-// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_sym', 2)
// CHECK-NEXT: ('r_type', 11)
// CHECK-NEXT: ('r_addend',
// CHECK: # Relocation 3
// CHECK-NEXT: (('r_offset', 26)
-// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_sym', 2)
// CHECK-NEXT: ('r_type', 11)
// CHECK-NEXT: ('r_addend',
// CHECK: # Relocation 4
// CHECK-NEXT: (('r_offset', 34)
-// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_sym', 2)
// CHECK-NEXT: ('r_type', 11)
// CHECK-NEXT: ('r_addend',
// CHECK: # Relocation 5
// CHECK-NEXT: (('r_offset', 38)
-// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_sym', 2)
// CHECK-NEXT: ('r_type', 10)
// CHECK-NEXT: ('r_addend',