1@ RUN: llvm-mc -triple armv7-linux-eabi -filetype obj -o - %s \ 2@ RUN: | llvm-readobj -s -sd -sr > %t 3@ RUN: FileCheck %s < %t 4@ RUN: FileCheck --check-prefix=RELOC %s < %t 5 6 .syntax unified 7 .thumb 8 9 10 .section .pr0 11 12 .global pr0 13 .type pr0,%function 14 .thumb_func 15pr0: 16 .fnstart 17 .personalityindex 0 18 bx lr 19 .fnend 20 21@ CHECK: Section { 22@ CHECK: Name: .ARM.exidx.pr0 23@ CHECK: SectionData ( 24@ CHECK: 0000: 00000000 B0B0B080 25@ CHECK: ) 26@ CHECK: } 27 28@ RELOC: Section { 29@ RELOC: Name: .rel.ARM.exidx.pr0 30@ RELOC: Relocations [ 31@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0 32@ RELOC: 0x0 R_ARM_PREL31 .pr0 0x0 33@ RELOC: ] 34@ RELOC: } 35 36 .section .pr0.nontrivial 37 38 .global pr0_nontrivial 39 .type pr0_nontrivial,%function 40 .thumb_func 41pr0_nontrivial: 42 .fnstart 43 .personalityindex 0 44 .pad #0x10 45 sub sp, sp, #0x10 46 add sp, sp, #0x10 47 bx lr 48 .fnend 49 50@ CHECK: Section { 51@ CHECK: Name: .ARM.exidx.pr0.nontrivial 52@ CHECK: SectionData ( 53@ CHECK: 0000: 00000000 B0B00380 54@ CHECK: ) 55@ CHECK: } 56 57@ RELOC: Section { 58@ RELOC: Name: .rel.ARM.exidx.pr0.nontrivial 59@ RELOC: Relocations [ 60@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr0 0x0 61@ RELOC: 0x0 R_ARM_PREL31 .pr0.nontrivial 0x0 62@ RELOC: ] 63@ RELOC: } 64 65 .section .pr1 66 67 .global pr1 68 .type pr1,%function 69 .thumb_func 70pr1: 71 .fnstart 72 .personalityindex 1 73 bx lr 74 .fnend 75 76@ CHECK: Section { 77@ CHECK: Name: .ARM.extab.pr1 78@ CHECK: SectionData ( 79@ CHECK: 0000: B0B00081 00000000 80@ CHECK: ) 81@ CHECK: } 82 83@ CHECK: Section { 84@ CHECK: Name: .ARM.exidx.pr1 85@ CHECK: SectionData ( 86@ CHECK: 0000: 00000000 00000000 87@ CHECK: ) 88@ CHECK: } 89 90@ RELOC: Section { 91@ RELOC: Name: .rel.ARM.exidx.pr1 92@ RELOC: Relocations [ 93@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0 94@ RELOC: 0x0 R_ARM_PREL31 .pr1 0x0 95@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr1 0x0 96@ RELOC: ] 97@ RELOC: } 98 99 .section .pr1.nontrivial 100 101 .global pr1_nontrivial 102 .type pr1_nontrivial,%function 103 .thumb_func 104pr1_nontrivial: 105 .fnstart 106 .personalityindex 1 107 .pad #0x10 108 sub sp, sp, #0x10 109 add sp, sp, #0x10 110 bx lr 111 .fnend 112 113@ CHECK: Section { 114@ CHECK: Name: .ARM.extab.pr1.nontrivial 115@ CHECK: SectionData ( 116@ CHECK: 0000: B0030081 00000000 117@ CHECK: ) 118@ CHECK: } 119 120@ CHECK: Section { 121@ CHECK: Name: .ARM.exidx.pr1.nontrivial 122@ CHECK: SectionData ( 123@ CHECK: 0000: 00000000 00000000 124@ CHECK: ) 125@ CHECK: } 126 127@ RELOC: Section { 128@ RELOC: Name: .rel.ARM.exidx.pr1.nontrivial 129@ RELOC: Relocations [ 130@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr1 0x0 131@ RELOC: 0x0 R_ARM_PREL31 .pr1.nontrivial 0x0 132@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr1.nontrivial 0x0 133@ RELOC: ] 134@ RELOC: } 135 136 .section .pr2 137 138 .global pr2 139 .type pr2,%function 140 .thumb_func 141pr2: 142 .fnstart 143 .personalityindex 2 144 bx lr 145 .fnend 146 147@ CHECK: Section { 148@ CHECK: Name: .ARM.extab.pr2 149@ CHECK: SectionData ( 150@ CHECK: 0000: B0B00082 00000000 151@ CHECK: ) 152@ CHECK: } 153 154@ CHECK: Section { 155@ CHECK: Name: .ARM.exidx.pr2 156@ CHECK: SectionData ( 157@ CHECK: 0000: 00000000 00000000 158@ CHECK: ) 159@ CHECK: } 160 161@ RELOC: Section { 162@ RELOC: Name: .rel.ARM.exidx.pr2 163@ RELOC: Relocations [ 164@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr2 0x0 165@ RELOC: 0x0 R_ARM_PREL31 .pr2 0x0 166@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr2 0x0 167@ RELOC: ] 168@ RELOC: } 169 170 .section .pr2.nontrivial 171 .type pr2_nontrivial,%function 172 .thumb_func 173pr2_nontrivial: 174 .fnstart 175 .personalityindex 2 176 .pad #0x10 177 sub sp, sp, #0x10 178 add sp, sp, #0x10 179 bx lr 180 .fnend 181 182@ CHECK: Section { 183@ CHECK: Name: .ARM.extab.pr2.nontrivial 184@ CHECK: SectionData ( 185@ CHECK: 0000: B0030082 00000000 186@ CHECK: ) 187@ CHECK: } 188 189@ CHECK: Section { 190@ CHECK: Name: .ARM.exidx.pr2.nontrivial 191@ CHECK: SectionData ( 192@ CHECK: 0000: 00000000 00000000 193@ CHECK: ) 194@ CHECK: } 195 196@ RELOC: Section { 197@ RELOC: Name: .rel.ARM.exidx.pr2.nontrivial 198@ RELOC: Relocations [ 199@ RELOC: 0x0 R_ARM_NONE __aeabi_unwind_cpp_pr2 0x0 200@ RELOC: 0x0 R_ARM_PREL31 .pr2.nontrivial 0x0 201@ RELOC: 0x4 R_ARM_PREL31 .ARM.extab.pr2.nontrivial 0x0 202@ RELOC: ] 203@ RELOC: } 204