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