32 lines · plain
1# REQUIRES: system-linux2 3# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-linux %s -o %t.o4# RUN: ld.lld %t.o -o %t.exe -q5# RUN: llvm-bolt %t.exe --relocs -o %t.out --check-encoding 2>&1 | FileCheck %s6 7 .text8 .globl _start9 .type _start, %function10_start:11 .cfi_startproc12 13## Check that llvm-bolt uses non-symbolizing disassembler while validating14## instruction encodings. If symbol "foo" below is symbolized, the encoded15## instruction would have a different sequence of bytes from the input16## sequence, as "foo" will not have any address assigned at that point.17 18 movq foo(%rip), %rax19# CHECK-NOT: mismatching LLVM encoding detected20 21 ret22 .cfi_endproc23 .size _start, .-_start24 25 .globl foo26 .type foo, %function27foo:28 .cfi_startproc29 ret30 .cfi_endproc31 .size foo, .-foo32