Home | History | Annotate | Download | only in ARM
      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