mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2024-12-27 04:52:05 +08:00
86038de0d8
These all were odd in that they used r13 as the GOT pointer. That didn't matter for the purpose of testing, but would never occur in practice. Also, the tlsopt5 tests could have their global dynamic sequences optimized to initial exec, so link with -shared. * testsuite/ld-powerpc/powerpc.exp: Add -shared to tlsop5 tests. * testsuite/ld-powerpc/tlsopt5.d: Adjust. * testsuite/ld-powerpc/tlsopt1_32.s: Use r30 as GOT pointer. * testsuite/ld-powerpc/tlsopt2_32.s: Likewise. * testsuite/ld-powerpc/tlsopt3_32.s: Likewise. * testsuite/ld-powerpc/tlsopt4_32.s: Likewise. * testsuite/ld-powerpc/tlsopt5_32.s: Rewrite. * testsuite/ld-powerpc/tlsopt1_32.d: Adjust. * testsuite/ld-powerpc/tlsopt2_32.d: Adjust. * testsuite/ld-powerpc/tlsopt3_32.d: Adjust. * testsuite/ld-powerpc/tlsopt5_32.d: Adjust.
35 lines
524 B
ArmAsm
35 lines
524 B
ArmAsm
.section ".tbss","awT",@nobits
|
|
.global gd0
|
|
.align 3
|
|
gd0: .space 8
|
|
|
|
.section ".opt1", "ax", %progbits
|
|
addi 3,30,gd@got@tlsgd
|
|
cmpwi 4,0
|
|
beq 0f
|
|
bl __tls_get_addr(gd@tlsgd)
|
|
b 1f
|
|
0:
|
|
bl __tls_get_addr(gd@tlsgd)
|
|
1:
|
|
|
|
.section ".opt2", "ax", %progbits
|
|
addi 3,30,gd@got@tlsgd
|
|
cmpwi 4,0
|
|
beq 0f
|
|
addi 3,30,gd@got@tlsgd
|
|
0:
|
|
bl __tls_get_addr(gd@tlsgd)
|
|
|
|
.section ".opt3", "ax", %progbits
|
|
addi 3,30,gd@got@tlsgd
|
|
b 0f
|
|
addi 3,30,gd0@got@tlsgd
|
|
b 1f
|
|
0:
|
|
bl __tls_get_addr(gd@tlsgd)
|
|
b 2f
|
|
1:
|
|
bl __tls_get_addr(gd0@tlsgd)
|
|
2:
|