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 15 pr0: 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 41 pr0_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 70 pr1: 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 104 pr1_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 141 pr2: 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 173 pr2_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