29 lines · plain
1# REQUIRES: x862# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t.o3# RUN: ld.lld -pie %t.o -o %t.pie4# RUN: llvm-readobj -r --dyn-syms %t.pie | FileCheck %s5 6## Test that we create R_X86_64_RELATIVE relocations with -pie.7# CHECK: Relocations [8# CHECK-NEXT: Section ({{.*}}) .rela.dyn {9# CHECK-NEXT: 0x[[FOO_ADDR:.*]] R_X86_64_RELATIVE - 0x[[FOO_ADDR]]10# CHECK-NEXT: 0x[[#%X,BAR_ADDR:]] R_X86_64_RELATIVE11# CHECK-SAME: - 0x[[#BAR_ADDR]]12# CHECK-NEXT: 0x[[#BAR_ADDR + 8]] R_X86_64_RELATIVE - 0x[[#BAR_ADDR + 1]]13# CHECK-NEXT: }14# CHECK-NEXT: ]15 16.globl _start17_start:18nop19 20 .data21foo:22 .quad foo23 24.hidden bar25.global bar26bar:27 .quad bar28 .quad bar + 129