1 @ RUN: llvm-mc %s -triple=armv7-unknown-linux-gnueabi -filetype=obj -o - \
2 @ RUN: | llvm-readobj -s -sd -sr > %t
3 @ RUN: FileCheck %s < %t
4 @ RUN: FileCheck --check-prefix=RELOC %s < %t
6 @ Check the .handlerdata directive (without .personality directive)
10 @-------------------------------------------------------------------------------
12 @-------------------------------------------------------------------------------
26 @ CHECK: SectionData (
27 @ CHECK: 0000: 1EFF2FE1 |../.|
32 @ CHECK: Name: .ARM.extab.TEST1
33 @ CHECK: SectionData (
34 @ CHECK: 0000: B0B0B080 |....|
39 @ CHECK: Name: .ARM.exidx.TEST1
40 @ CHECK: SectionData (
41 @ CHECK: 0000: 00000000 00000000 |........|
44 @-------------------------------------------------------------------------------
45 @ We should see a relocation entry to __aeabi_unwind_cpp_pr0, so that the
46 @ linker can keep __aeabi_unwind_cpp_pr0.
47 @-------------------------------------------------------------------------------
49 @ RELOC: Name: .rel.ARM.exidx.TEST1
50 @ RELOC: Relocations [
51 @ RELOC: 0x0 R_ARM_PREL31 .TEST1 0x0
52 @ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0
53 @ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST1 0x0
59 @-------------------------------------------------------------------------------
61 @-------------------------------------------------------------------------------
68 @-------------------------------------------------------------------------------
69 @ Use a lot of unwind opcdes to get __aeabi_unwind_cpp_pr1.
70 @-------------------------------------------------------------------------------
71 .save {r4, r5, r6, r7, r8, r9, r10, r11, r12}
72 push {r4, r5, r6, r7, r8, r9, r10, r11, r12}
73 pop {r4, r5, r6, r7, r8, r9, r10, r11, r12}
85 @ CHECK: SectionData (
86 @ CHECK: 0000: F01F2DE9 F01FBDE8 09DD4DE2 09DD8DE2 |..-.......M.....|
87 @ CHECK: 0010: 1EFF2FE1 |../.|
92 @ CHECK: Name: .ARM.extab.TEST2
93 @ CHECK: SectionData (
94 @ CHECK: 0000: 0FB20181 B0B0FF81 |........|
99 @ CHECK: Name: .ARM.exidx.TEST2
100 @ CHECK: SectionData (
101 @ CHECK: 0000: 00000000 00000000 |........|
104 @-------------------------------------------------------------------------------
105 @ We should see a relocation entry to __aeabi_unwind_cpp_pr0, so that the
106 @ linker can keep __aeabi_unwind_cpp_pr0.
107 @-------------------------------------------------------------------------------
109 @ RELOC: Name: .rel.ARM.exidx.TEST2
110 @ RELOC: Relocations [
111 @ RELOC: 0x0 R_ARM_PREL31 .TEST2 0x0
112 @ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0
113 @ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.TEST2 0x0