aboutsummaryrefslogtreecommitdiffstats
path: root/test/MC/ELF/relocation.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/MC/ELF/relocation.s')
-rw-r--r--test/MC/ELF/relocation.s46
1 files changed, 41 insertions, 5 deletions
diff --git a/test/MC/ELF/relocation.s b/test/MC/ELF/relocation.s
index b9b87dd..a8f4e5f 100644
--- a/test/MC/ELF/relocation.s
+++ b/test/MC/ELF/relocation.s
@@ -1,12 +1,48 @@
// RUN: llvm-mc -filetype=obj -triple x86_64-pc-linux-gnu %s -o - | elf-dump --dump-section-data | FileCheck %s
-// Test that we produce a R_X86_64_32.
+// Test that we produce a R_X86_64_32S or R_X86_64_32.
- .long Lset1
+bar:
+ movl $bar, %edx // R_X86_64_32
+ movq $bar, %rdx // R_X86_64_32S
+ movq $bar, bar(%rip) // R_X86_64_32S
+ movl bar, %edx // R_X86_64_32S
+ movq bar, %rdx // R_X86_64_32S
+.long bar // R_X86_64_32
// CHECK: # Relocation 0
-// CHECK-NEXT: (('r_offset', 0)
-// CHECK-NEXT: ('r_sym', 4)
+// CHECK-NEXT: (('r_offset', 1)
+// CHECK-NEXT: ('r_sym',
// CHECK-NEXT: ('r_type', 10)
-// CHECK-NEXT: ('r_addend', 0)
+// CHECK-NEXT: ('r_addend',
+
+// CHECK: # Relocation 1
+// CHECK-NEXT: (('r_offset', 8)
+// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_type', 11)
+// CHECK-NEXT: ('r_addend',
+
+// CHECK: # Relocation 2
+// CHECK-NEXT: (('r_offset', 19)
+// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_type', 11)
+// CHECK-NEXT: ('r_addend',
+
+// CHECK: # Relocation 3
+// CHECK-NEXT: (('r_offset', 26)
+// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_type', 11)
+// CHECK-NEXT: ('r_addend',
+
+// CHECK: # Relocation 4
+// CHECK-NEXT: (('r_offset', 34)
+// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_type', 11)
+// CHECK-NEXT: ('r_addend',
+
+// CHECK: # Relocation 5
+// CHECK-NEXT: (('r_offset', 38)
+// CHECK-NEXT: ('r_sym',
+// CHECK-NEXT: ('r_type', 10)
+// CHECK-NEXT: ('r_addend',