1# REQUIRES: asserts 2# RUN: llvm-mc -triple=arm64-apple-darwin11 -filetype=obj -o %t %s 3# RUN: llvm-jitlink -num-threads=0 -debug-only=jitlink -noexec \ 4# RUN: -phony-externals %t 2>&1 | FileCheck %s 5# 6# Check that splitting of eh-frame sections works. 7# 8# CHECK: DWARFRecordSectionSplitter: Processing __TEXT,__eh_frame... 9# CHECK: Processing block at 10# CHECK: Processing CFI record at 11# CHECK: Processing CFI record at 12# CHECK: EHFrameEdgeFixer: Processing __TEXT,__eh_frame in "{{.*}}"... 13# CHECK: Processing block at 14# CHECK: Record is CIE 15# CHECK: Processing block at 16# CHECK: Record is FDE 17# CHECK: Adding edge at {{.*}} to CIE at: {{.*}} 18# CHECK: Existing edge at {{.*}} to PC begin at {{.*}} 19# CHECK: Adding keep-alive edge from target at {{.*}} to FDE at {{.*}} 20# CHECK: Existing edge at {{.*}} to LSDA at {{.*}} 21 22 .section __TEXT,__text,regular,pure_instructions 23 .globl _main 24 .p2align 2 25_main: 26Lfunc_begin0: 27 .cfi_startproc 28 .cfi_personality 155, ___gxx_personality_v0 29 .cfi_lsda 16, Lexception0 30 31 stp x20, x19, [sp, #-32]! 32 stp x29, x30, [sp, #16] 33 .cfi_def_cfa_offset 32 34 .cfi_offset w30, -8 35 .cfi_offset w29, -16 36 .cfi_offset w19, -24 37 .cfi_offset w20, -32 38 mov w0, #4 39 bl ___cxa_allocate_exception 40 mov w8, #42 41 str w8, [x0] 42Ltmp0: 43Lloh0: 44 adrp x1, __ZTIi@GOTPAGE 45Lloh1: 46 ldr x1, [x1, __ZTIi@GOTPAGEOFF] 47 mov x2, #0 48 bl ___cxa_throw 49Ltmp1: 50 51 brk #0x1 52LBB0_2: 53Ltmp2: 54 bl ___cxa_begin_catch 55 ldr w19, [x0] 56 bl ___cxa_end_catch 57 mov x0, x19 58 ldp x29, x30, [sp, #16] 59 ldp x20, x19, [sp], #32 60 ret 61 .loh AdrpLdrGot Lloh0, Lloh1 62Lfunc_end0: 63 .cfi_endproc 64 .section __TEXT,__gcc_except_tab 65 .p2align 2 66GCC_except_table0: 67Lexception0: 68 .byte 255 69 .byte 155 70 .uleb128 Lttbase0-Lttbaseref0 71Lttbaseref0: 72 .byte 1 73 .uleb128 Lcst_end0-Lcst_begin0 74Lcst_begin0: 75 .uleb128 Lfunc_begin0-Lfunc_begin0 76 .uleb128 Ltmp0-Lfunc_begin0 77 .byte 0 78 .byte 0 79 .uleb128 Ltmp0-Lfunc_begin0 80 .uleb128 Ltmp1-Ltmp0 81 .uleb128 Ltmp2-Lfunc_begin0 82 .byte 1 83 .uleb128 Ltmp1-Lfunc_begin0 84 .uleb128 Lfunc_end0-Ltmp1 85 .byte 0 86 .byte 0 87Lcst_end0: 88 .byte 1 89 90 .byte 0 91 .p2align 2 92 93Ltmp3: 94 .long __ZTIi@GOT-Ltmp3 95Lttbase0: 96 .p2align 2 97 98.subsections_via_symbols 99