1@ we can relax local and non-weak globals for non-shared links 2 3 .text 4 .arm 5 6 .p2align 2 7foo: 8@tlscall global, manually relaxed to IE 9 ldr r0, 1f 102: ldr r0, [pc, r0] 11 nop 12 .p2align 2 131: .word gd1(gottpoff) + (. - 2b - 8) 14 15 .p2align 2 16@tlscall global, should relax to IE 17 ldr r0, 1f 182: blx gd1(tlscall) 19 nop 20 .p2align 2 211: .word gd1(tlsdesc) + (. - 2b) 22 23 .p2align 2 24@tlscall local, manually relaxed to LE 25 ldr r0, 1f 26 nop 27 nop 28 .p2align 2 291: .word ld1(tpoff) 30 31 .p2align 2 32@tlscall local, should relax to LE 33 ldr r0, 1f 342: blx ld1(tlscall) 35 nop 36 .p2align 2 371: .word ld1(tlsdesc) + (. - 2b) 38 39 .p2align 2 40@open coded global, manually relaxed to IE 41 ldr r0, 1f 422: 43 add r0, pc, r0 44 ldr r1, [r0] 45 mov r0, r1 46 nop 47 .p2align 2 481: .word gd1(gottpoff) + (. - 2b - 8) 49 50 .p2align 2 51@open coded global, should relax to IE 52 ldr r0, 1f 532: 54.tlsdescseq gd1 55 add r0, pc, r0 56.tlsdescseq gd1 57 ldr r1, [r0,#4] 58.tlsdescseq gd1 59 blx r1 60 nop 61 .p2align 2 621: .word gd1(tlsdesc) + (. - 2b) 63 64 .p2align 2 65@open coded local, manually relaxed to LE 66 ldr r0, 1f 672: 68 nop 69 nop 70 nop 71 nop 72 .p2align 2 731: .word ld1(tpoff) 74 75 .p2align 2 76@open coded local, should relax to LE 77 ldr r0, 1f 782: 79.tlsdescseq ld1 80 add r0, pc, r0 81.tlsdescseq ld1 82 ldr r1, [r0,#4] 83.tlsdescseq ld1 84 blx r1 85 nop 86 .p2align 2 871: .word ld1(tlsdesc) + (. - 2b) 88 89 90 .thumb 91 .p2align 1 92bar: 93@tlscall global, manually relaxed to IE 94 ldr r0, 1f 952: add r0, pc, r0 96 ldr r0, [r0] 97 nop 98 .p2align 2 991: .word gd1(gottpoff) + (. - 2b - 4) 100 101 .p2align 1 102@tlscall global, should relax to IE 103 ldr r0, 1f 1042: blx gd1(tlscall) 105 nop 106 .p2align 2 1071: .word gd1(tlsdesc) + (. - 2b + 1) 108 109 .p2align 1 110@tlscall global, should relax to IE 111 ldr r0, 1f 1122: blx r1(tlscall) 113 nop 114 .p2align 2 1151: .word r1(tlsdesc) + (. - 2b + 1) 116 117 .p2align 1 118@tlscall local, manually relaxed to LE 119 ldr r0, 1f 120 nop 121 nop 122 .p2align 2 1231: .word ld1(tpoff) 124 125 .p2align 1 126@tlscall local, should relax to LE 127 ldr r0, 1f 1282: blx ld1(tlscall) 129 nop 130 .p2align 2 1311: .word ld1(tlsdesc) + (. - 2b + 1) 132 133 .p2align 1 134@tlscall local, should relax to LE 135 ldr r0, 1f 1362: blx r0(tlscall) 137 nop 138 .p2align 2 1391: .word r0(tlsdesc) + (. - 2b + 1) 140 141 .p2align 1 142@open coded global, manually relaxed to IE 143 ldr r0, 1f 1442: 145 add r0, pc 146 ldr r1, [r0] 147 mov r0, r1 148 nop 149 .p2align 2 1501: .word gd1(gottpoff) + (. - 2b - 4) 151 152 .p2align 1 153@open coded global, should relax to IE 154 ldr r0, 1f 1552: 156.tlsdescseq gd1 157 add r0, pc 158.tlsdescseq gd1 159 ldr r1, [r0,#4] 160.tlsdescseq gd1 161 blx r1 162 nop 163 .p2align 2 1641: .word gd1(tlsdesc) + (. - 2b + 1) 165 166 .p2align 1 167@open coded local, manually relaxed to LE 168 ldr r0, 1f 1692: 170 nop 171 nop 172 nop 173 nop 174 .p2align 2 1751: .word ld1(tpoff) 176 177 .p2align 1 178@open coded local, should relax to LE 179 ldr r0, 1f 1802: 181.tlsdescseq ld1 182 add r0, pc 183.tlsdescseq ld1 184 ldr r1, [r0,#4] 185.tlsdescseq ld1 186 blx r1 187 nop 188 .p2align 2 1891: .word ld1(tlsdesc) + (. - 2b + 1) 190 191 .section .tdata,"awT" 192 .global gd1 193gd1: .space 4 194ld1: .space 4 195 .globl r1 196r1: .space 4 197r0: .space 4 198