112 lines · plain
1## Check that llvm-bolt is able to read a file with DWARF Exception CFI2## information and annotate this into a disassembled function.3 4# RUN: llvm-mc -filetype=obj -triple x86_64-unknown-unknown %s -o %t.o5# RUN: %clang %cflags %t.o -o %t.exe6# RUN: llvm-bolt %t.exe -o %t.null --print-cfg 2>&1 | FileCheck %s7#8# CHECK: Binary Function "_Z7catchitv" after building cfg {9# CHECK: CFI Instrs : 610# CHECK: }11# CHECK: DWARF CFI Instructions:12# CHECK: 0: OpDefCfaOffset13# CHECK: 1: OpOffset14# CHECK: 2: OpDefCfaRegister15# CHECK: 3: OpOffset16# CHECK: 4: OpOffset17# CHECK: 5: OpDefCfa18# CHECK: End of Function "_Z7catchitv"19 20 .text21 .globl main22 .type main, %function23main:24# FDATA: 0 [unknown] 0 1 main 0 0 025 .cfi_startproc26.LBB000:27 pushq %rbp28 .cfi_def_cfa_offset 1629 .cfi_offset %rbp, -1630 movq %rsp, %rbp31 .cfi_def_cfa_register %rbp32 movl $0x400c4c, %esi33 movl $0x6012e0, %edi34 callq _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT35 movl $0x400908, %esi36 movq %rax, %rdi37 callq _ZNSolsEPFRSoS_E@PLT38 callq _Z7catchitv39 movl $0x0, %eax40 leave41 .cfi_def_cfa %rsp, 842 retq43 44 .cfi_endproc45.size main, .-main46 47 .globl _Z7catchitv48 .type _Z7catchitv, %function49_Z7catchitv:50# FDATA: 0 [unknown] 0 1 _Z7catchitv 0 0 051 .cfi_startproc52.LBB00:53 pushq %rbp54 .cfi_def_cfa_offset 1655 .cfi_offset %rbp, -1656 movq %rsp, %rbp57 .cfi_def_cfa_register %rbp58 pushq %r1259 pushq %rbx60 subq $0x10, %rsp61 .cfi_offset %rbx, -3262 .cfi_offset %r12, -2463 callq _Z5raisev64.LBB00_br: jmp .Ltmp065# FDATA: 1 _Z7catchitv #.LBB00_br# 1 _Z7catchitv #.Ltmp0# 0 066 67.LLP0:68 cmpq $0x1, %rdx69.LLP0_br: je .Ltmp170# FDATA: 1 _Z7catchitv #.LLP0_br# 1 _Z7catchitv #.Ltmp1# 0 071# FDATA: 1 _Z7catchitv #.LLP0_br# 1 _Z7catchitv #.LFT0# 0 072 73.LFT0:74 movq %rax, %rdi75.LFT0_br: callq _Unwind_Resume@PLT76# FDATA: 1 _Z7catchitv #.LFT0_br# 1 _Z7catchitv #.Ltmp1# 0 077 78.Ltmp1:79 movq %rax, %rdi80 callq __cxa_begin_catch@PLT81 movq %rax, -0x18(%rbp)82 movl $0x400c40, %esi83 movl $0x6012e0, %edi84 callq _ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc@PLT85.Ltmp1_br: jmp .Ltmp286# FDATA: 1 _Z7catchitv #.Ltmp1_br# 1 _Z7catchitv #.Ltmp2# 0 087 88.LLP1:89 movl %edx, %ebx90 movq %rax, %r1291 callq __cxa_end_catch@PLT92 movq %r12, %rax93 movslq %ebx, %rdx94 movq %rax, %rdi95.LLP1_br: callq _Unwind_Resume@PLT96# FDATA: 1 _Z7catchitv #.LLP1_br# 1 _Z7catchitv #.Ltmp2# 0 097 98.Ltmp2:99.Ltmp2_br: callq __cxa_end_catch@PLT100# FDATA: 1 _Z7catchitv #.Ltmp2_br# 1 _Z7catchitv #.Ltmp0# 0 0101 102.Ltmp0:103 addq $0x10, %rsp104 popq %rbx105 popq %r12106 leave107 .cfi_def_cfa %rsp, 8108 retq109 110 .cfi_endproc111.size _Z7catchitv, .-_Z7catchitv112