[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / ExecutionEngine / JITLink / X86 / ELF_ehframe_basic.s
blob170843b88299ef010d628d43691a40cda0bca7f3
1 # REQUIRES: asserts
2 # UNSUPPORTED: system-windows
3 # RUN: llvm-mc -triple=x86_64-unknown-linux -position-independent \
4 # RUN: -filetype=obj -o %t %s
5 # RUN: llvm-jitlink -debug-only=jitlink -define-abs bar=0x01 \
6 # RUN: -define-abs _ZTIi=0x02 -noexec %t 2>&1 | FileCheck %s
8 # FIXME: This test should run on windows. Investigate spurious
9 # 'note: command had no output on stdout or stderr' errors, then re-enable.
11 # Check that a basic .eh-frame section is recognized and parsed. We
12 # Expect to see two FDEs with corresponding keep-alive edges.
14 # CHECK: Adding keep-alive edge from target at {{.*}} to FDE at
15 # CHECK: Adding keep-alive edge from target at {{.*}} to FDE at
17 .text
18 .file "exceptions.cpp"
19 .globl foo
20 .p2align 4, 0x90
21 .type foo,@function
22 foo:
23 .cfi_startproc
25 pushq %rax
26 .cfi_def_cfa_offset 16
27 movl $4, %edi
28 callq __cxa_allocate_exception@PLT
29 movl $1, (%rax)
30 movq _ZTIi@GOTPCREL(%rip), %rsi
31 movq %rax, %rdi
32 xorl %edx, %edx
33 callq __cxa_throw@PLT
34 .Lfunc_end0:
35 .size foo, .Lfunc_end0-foo
36 .cfi_endproc
38 .globl main
39 .p2align 4, 0x90
40 .type main,@function
41 main:
42 .Lfunc_begin0:
43 .cfi_startproc
44 .cfi_personality 155, DW.ref.__gxx_personality_v0
45 .cfi_lsda 27, .Lexception0
47 pushq %rbx
48 .cfi_def_cfa_offset 16
49 .cfi_offset %rbx, -16
50 xorl %ebx, %ebx
51 .Ltmp0:
52 callq bar@PLT
53 .Ltmp1:
55 movl %ebx, %eax
56 popq %rbx
57 .cfi_def_cfa_offset 8
58 retq
59 .LBB1_1:
60 .cfi_def_cfa_offset 16
61 .Ltmp2:
62 movq %rax, %rdi
63 callq __cxa_begin_catch@PLT
64 callq __cxa_end_catch@PLT
65 movl $1, %ebx
66 movl %ebx, %eax
67 popq %rbx
68 .cfi_def_cfa_offset 8
69 retq
70 .Lfunc_end1:
71 .size main, .Lfunc_end1-main
72 .cfi_endproc
73 .section .gcc_except_table,"a",@progbits
74 .p2align 2
75 GCC_except_table1:
76 .Lexception0:
77 .byte 255
78 .byte 156
79 .uleb128 .Lttbase0-.Lttbaseref0
80 .Lttbaseref0:
81 .byte 1
82 .uleb128 .Lcst_end0-.Lcst_begin0
83 .Lcst_begin0:
84 .uleb128 .Ltmp0-.Lfunc_begin0
85 .uleb128 .Ltmp1-.Ltmp0
86 .uleb128 .Ltmp2-.Lfunc_begin0
87 .byte 1
88 .uleb128 .Ltmp1-.Lfunc_begin0
89 .uleb128 .Lfunc_end1-.Ltmp1
90 .byte 0
91 .byte 0
92 .Lcst_end0:
93 .byte 1
95 .byte 0
96 .p2align 2
98 .Ltmp3:
99 .quad .L_ZTIi.DW.stub-.Ltmp3
100 .Lttbase0:
101 .p2align 2
103 .data
104 .p2align 3
105 .L_ZTIi.DW.stub:
106 .quad _ZTIi
107 .hidden DW.ref.__gxx_personality_v0
108 .weak DW.ref.__gxx_personality_v0
109 .section .data.DW.ref.__gxx_personality_v0,"aGw",@progbits,DW.ref.__gxx_personality_v0,comdat
110 .p2align 3
111 .type DW.ref.__gxx_personality_v0,@object
112 .size DW.ref.__gxx_personality_v0, 8
113 DW.ref.__gxx_personality_v0:
114 .quad __gxx_personality_v0
115 .ident "clang version 12.0.0 (git@github.com:llvm/llvm-project.git afd483e57d166418e94a65bd9716e7dc4c114eed)"
116 .section ".note.GNU-stack","",@progbits
117 .addrsig
118 .addrsig_sym __gxx_personality_v0
119 .addrsig_sym _ZTIi