2 // RUN
: rm
-rf
%t && split-file
%s
%t && cd
%t
4 // RUN
: llvm-mc
-filetype
=obj
-triple
=arm
a.s
-o
a.o
5 // RUN
: ld.lld
a.o
-T eh-frame-non-zero-offset.
t -o non-zero
6 // RUN
: llvm-readelf
--program-headers
--unwind
--symbols
-x
.eh_frame non-zero | FileCheck --check-prefix=NONZERO %s
7 // RUN
: ld.lld
a.o
-T eh-frame-zero-offset.
t -o zero
8 // RUN
: llvm-readelf
--program-headers
--unwind
--symbols
-x
.eh_frame zero | FileCheck --check-prefix=ZERO %s
10 // NONZERO
: {{[0-9]+}}: 00000084 {{.*}} __eh_frame_start
11 // NONZERO-NEXT
: {{[0-9]+}}: 000000b0
{{.*}} __eh_frame_end
13 // NONZERO
: 0x00000084 10000000 00000000 017a5200
017c0e01
14 // NONZERO-NEXT
: 0x00000094 1b0c0d00
10000000 18000000 60ffffff
15 // NONZERO-NEXT
: 0x000000a4 04000000 00000000 00000000
17 // ZERO
: {{[0-9]+}}: 00000004 {{.*}} __eh_frame_start
18 // ZERO-NEXT
: {{[0-9]+}}: 00000030 {{.*}} __eh_frame_end
20 // ZERO
: 0x00000004 10000000 00000000 017a5200
017c0e01
21 // ZERO-NEXT
: 0x00000014 1b0c0d00
10000000 18000000 e0ffffff
22 // ZERO-NEXT
: 0x00000024 04000000 00000000 00000000
24 //--- eh-frame-non-zero-offset.
t
26 .text : { *(.text .text.*) }
28 /* Padding within .eh_frame */
36 //--- eh-frame-zero-offset.
t
38 .text : { *(.text .text.*) }
47 .section .text.01, "ax",%progbits
52 .cfi_sections .eh_frame