1@ we can relax local and non-weak globals for non-shared links 2 3 .arch armv5te 4 .text 5 .arm 6 7 .p2align 2 8foo: 9@tlscall global, manually relaxed to IE 10 ldr r0, 1f 112: ldr r0, [pc, r0] 12 nop 13 .p2align 2 141: .word gd1(gottpoff) + (. - 2b - 8) 15 16 .p2align 2 17@tlscall global, should relax to IE 18 ldr r0, 1f 192: blx gd1(tlscall) 20 nop 21 .p2align 2 221: .word gd1(tlsdesc) + (. - 2b) 23 24 .p2align 2 25@tlscall local, manually relaxed to LE 26 ldr r0, 1f 27 nop 28 nop 29 .p2align 2 301: .word ld1(tpoff) 31 32 .p2align 2 33@tlscall local, should relax to LE 34 ldr r0, 1f 352: blx ld1(tlscall) 36 nop 37 .p2align 2 381: .word ld1(tlsdesc) + (. - 2b) 39 40 .p2align 2 41@open coded global, manually relaxed to IE 42 ldr r0, 1f 432: 44 add r0, pc, r0 45 ldr r1, [r0] 46 mov r0, r1 47 nop 48 .p2align 2 491: .word gd1(gottpoff) + (. - 2b - 8) 50 51 .p2align 2 52@open coded global, should relax to IE 53 ldr r0, 1f 542: 55.tlsdescseq gd1 56 add r0, pc, r0 57.tlsdescseq gd1 58 ldr r1, [r0,#4] 59.tlsdescseq gd1 60 blx r1 61 nop 62 .p2align 2 631: .word gd1(tlsdesc) + (. - 2b) 64 65 .p2align 2 66@open coded local, manually relaxed to LE 67 ldr r0, 1f 682: 69 nop 70 nop 71 nop 72 nop 73 .p2align 2 741: .word ld1(tpoff) 75 76 .p2align 2 77@open coded local, should relax to LE 78 ldr r0, 1f 792: 80.tlsdescseq ld1 81 add r0, pc, r0 82.tlsdescseq ld1 83 ldr r1, [r0,#4] 84.tlsdescseq ld1 85 blx r1 86 nop 87 .p2align 2 881: .word ld1(tlsdesc) + (. - 2b) 89 90 91 .thumb 92 .p2align 1 93bar: 94@tlscall global, manually relaxed to IE 95 ldr r0, 1f 962: add r0, pc, r0 97 ldr r0, [r0] 98 nop 99 .p2align 2 1001: .word gd1(gottpoff) + (. - 2b - 4) 101 102 .p2align 1 103@tlscall global, should relax to IE 104 ldr r0, 1f 1052: blx gd1(tlscall) 106 nop 107 .p2align 2 1081: .word gd1(tlsdesc) + (. - 2b + 1) 109 110 .p2align 1 111@tlscall global, should relax to IE 112 ldr r0, 1f 1132: blx r1(tlscall) 114 nop 115 .p2align 2 1161: .word r1(tlsdesc) + (. - 2b + 1) 117 118 .p2align 1 119@tlscall local, manually relaxed to LE 120 ldr r0, 1f 121 nop 122 nop 123 .p2align 2 1241: .word ld1(tpoff) 125 126 .p2align 1 127@tlscall local, should relax to LE 128 ldr r0, 1f 1292: blx ld1(tlscall) 130 nop 131 .p2align 2 1321: .word ld1(tlsdesc) + (. - 2b + 1) 133 134 .p2align 1 135@tlscall local, should relax to LE 136 ldr r0, 1f 1372: blx r0(tlscall) 138 nop 139 .p2align 2 1401: .word r0(tlsdesc) + (. - 2b + 1) 141 142 .p2align 1 143@open coded global, manually relaxed to IE 144 ldr r0, 1f 1452: 146 add r0, pc 147 ldr r1, [r0] 148 mov r0, r1 149 nop 150 .p2align 2 1511: .word gd1(gottpoff) + (. - 2b - 4) 152 153 .p2align 1 154@open coded global, should relax to IE 155 ldr r0, 1f 1562: 157.tlsdescseq gd1 158 add r0, pc 159.tlsdescseq gd1 160 ldr r1, [r0,#4] 161.tlsdescseq gd1 162 blx r1 163 nop 164 .p2align 2 1651: .word gd1(tlsdesc) + (. - 2b + 1) 166 167 .p2align 1 168@open coded local, manually relaxed to LE 169 ldr r0, 1f 1702: 171 nop 172 nop 173 nop 174 nop 175 .p2align 2 1761: .word ld1(tpoff) 177 178 .p2align 1 179@open coded local, should relax to LE 180 ldr r0, 1f 1812: 182.tlsdescseq ld1 183 add r0, pc 184.tlsdescseq ld1 185 ldr r1, [r0,#4] 186.tlsdescseq ld1 187 blx r1 188 nop 189 .p2align 2 1901: .word ld1(tlsdesc) + (. - 2b + 1) 191 192 .section .tdata,"awT" 193 .global gd1 194gd1: .space 4 195ld1: .space 4 196 .globl r1 197r1: .space 4 198r0: .space 4 199