[ELF][test] Enhance relative dynamic relocation tests

Add checking of the value of the relocation with an addend. Also check
all relocation offsets.

Differential Revision: https://reviews.llvm.org/D111071
This commit is contained in:
Andrew Ng 2021-10-04 17:09:18 +01:00
parent 8ed0e6b2cf
commit 3334b9d70b
2 changed files with 11 additions and 9 deletions

View File

@ -6,9 +6,10 @@
## Test that we create R_X86_64_RELATIVE relocations with -pie.
# CHECK: Relocations [
# CHECK-NEXT: Section ({{.*}}) .rela.dyn {
# CHECK-NEXT: 0x3368 R_X86_64_RELATIVE - 0x3368
# CHECK-NEXT: 0x3370 R_X86_64_RELATIVE - 0x3370
# CHECK-NEXT: 0x3378 R_X86_64_RELATIVE - 0x3371
# CHECK-NEXT: 0x[[FOO_ADDR:.*]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]]
# CHECK-NEXT: 0x[[#%X,BAR_ADDR:]] R_X86_64_RELATIVE
# CHECK-SAME: - 0x[[#BAR_ADDR]]
# CHECK-NEXT: 0x[[#BAR_ADDR + 8]] R_X86_64_RELATIVE - 0x[[#BAR_ADDR + 1]]
# CHECK-NEXT: }
# CHECK-NEXT: ]

View File

@ -9,11 +9,12 @@
// CHECK: Relocations [
// CHECK-NEXT: Section ({{.*}}) .rela.dyn {
// CHECK-NEXT: 0x[[FOO_ADDR:.*]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]]
// CHECK-NEXT: 0x[[BAR_ADDR:.*]] R_X86_64_RELATIVE - 0x[[BAR_ADDR]]
// CHECK-NEXT: 0x{{[0-9A-F]+}} R_X86_64_RELATIVE - 0x{{[0-9A-F]+}}
// CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x[[ZED_ADDR:.*]]
// CHECK-NEXT: 0x{{.*}} R_X86_64_RELATIVE - 0x[[FOO_ADDR]]
// CHECK-NEXT: 0x{{[0-9A-F]+}} R_X86_64_64 external 0x0
// CHECK-NEXT: 0x[[#%X,BAR_ADDR:]] R_X86_64_RELATIVE
// CHECK-SAME: - 0x[[#BAR_ADDR]]
// CHECK-NEXT: 0x[[#BAR_ADDR + 8]] R_X86_64_RELATIVE - 0x[[#BAR_ADDR + 1]]
// CHECK-NEXT: 0x[[#BAR_ADDR + 16]] R_X86_64_RELATIVE - 0x[[ZED_ADDR:.*]]
// CHECK-NEXT: 0x[[#BAR_ADDR + 24]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]]
// CHECK-NEXT: 0x[[#BAR_ADDR + 32]] R_X86_64_64 external 0x0
// CHECK-NEXT: }
// CHECK-NEXT: ]
@ -21,7 +22,7 @@
// CHECK: Name: foo
// CHECK-NEXT: Value: 0x[[FOO_ADDR]]
// CHECK: Name: bar
// CHECK-NEXT: Value: 0x[[BAR_ADDR]]
// CHECK-NEXT: Value: 0x[[#BAR_ADDR]]
// CHECK: Name: zed
// CHECK-NEXT: Value: 0x[[ZED_ADDR]]
// CHECK: ]