diff options
Diffstat (limited to 'test/ELF/pre_init_fini_array_missing.s')
-rw-r--r-- | test/ELF/pre_init_fini_array_missing.s | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/test/ELF/pre_init_fini_array_missing.s b/test/ELF/pre_init_fini_array_missing.s index de976805d76cc..7dabfa7a69660 100644 --- a/test/ELF/pre_init_fini_array_missing.s +++ b/test/ELF/pre_init_fini_array_missing.s @@ -1,6 +1,8 @@ // RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t // RUN: ld.lld %t -o %t2 // RUN: llvm-objdump -d %t2 | FileCheck %s +// RUN: ld.lld -pie %t -o %t3 +// RUN: llvm-objdump -d %t3 | FileCheck --check-prefix=PIE %s // REQUIRES: x86 .globl _start @@ -28,3 +30,14 @@ _start: // CHECK-NEXT: 20100f: e8 ec ef df ff callq -2101268 // CHECK-NEXT: 201014: e8 e7 ef df ff callq -2101273 // CHECK-NEXT: 201019: e8 e2 ef df ff callq -2101278 + +// In position-independent binaries, they resolve to the image base. + +// PIE: Disassembly of section .text: +// PIE-NEXT: _start: +// PIE-NEXT: 1000: e8 fb ef ff ff callq -4101 +// PIE-NEXT: 1005: e8 f6 ef ff ff callq -4106 +// PIE-NEXT: 100a: e8 f1 ef ff ff callq -4111 +// PIE-NEXT: 100f: e8 ec ef ff ff callq -4116 +// PIE-NEXT: 1014: e8 e7 ef ff ff callq -4121 +// PIE-NEXT: 1019: e8 e2 ef ff ff callq -4126 |