# REQUIRES: system-linux # RUN: llvm-mc -filetype=obj -triple x86_64-unknown-linux %s -o %t.o # RUN: llvm-strip --strip-unneeded %t.o # RUN: ld.lld %t.o -o %t.exe -q --unresolved-symbols=ignore-all # RUN: llvm-readelf -Wr %t.exe | FileCheck %s # RUN: llvm-bolt --strict %t.exe --relocs -o %t.null .text .globl _start .type _start,@function _start: .cfi_startproc retq # For relocations against .text call exit .size _start, .-_start .cfi_endproc .data var: .quad 0 .rodata var_offset64: .quad var-. var_offset32: .long var-. var_offset16: .word var-. ## Check that BOLT succeeds in strict mode in the presence of unaccounted ## data-to-data PC-relative relocations. # CHECK: Relocation section '.rela.rodata' # CHECK-NEXT: Offset # CHECK-NEXT: R_X86_64_PC64 # CHECK-NEXT: R_X86_64_PC32 # CHECK-NEXT: R_X86_64_PC16