64 lines · plain
1## This reproduces a bug with instrumentation crashes on internal call2 3# REQUIRES: x86_64-linux,bolt-runtime,target=x86_64{{.*}}4 5# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o6# Delete our BB symbols so BOLT doesn't mark them as entry points7# RUN: llvm-strip --strip-unneeded %t.o8# RUN: %clang %cflags %t.o -o %t.exe -Wl,-q9 10# RUN: llvm-bolt --instrument %t.exe --relocs -o %t.out11 12 .text13 .globl _start14 .type _start, %function15 .p2align 416_start:17 call main18 ret19 .size _start, .-_start20 21 .globl main22 .type main, %function23 .p2align 424main:25 push %rbp26 mov %rsp,%rbp27 push %r1228 push %rbx29 sub $0x120,%rsp30 mov $0x3,%rbx31 movq rel(%rip), %rdi32.J1:33 cmp $0x0,%rbx34 je .J235 callq .J336 nopl (%rax,%rax,1)37 movabs $0xdeadbeef,%rax38 retq39.J2:40 add $0x120,%rsp41 pop %rbx42 pop %r1243 jmp .J444.J3:45 pop %rax46 add $0x4,%rax47 dec %rbx48 jmp .J149.J4:50 pop %rbp51 retq52end:53 .size main, .-main54 55 .globl _fini56 .type _fini, %function57 .p2align 458_fini:59 hlt60 .size _fini, .-_fini61 62 .data63rel: .quad end64