From f4e584bd00f115a370c1975cf512285337022624 Mon Sep 17 00:00:00 2001 From: Daniel Jacobowitz Date: Wed, 2 Mar 2005 21:22:57 +0000 Subject: * ld-mips-elf/tlsbin-o32.s, ld-mips-elf/mips-dyn.ld, ld-mips-elf/tlslib-o32.got, ld-mips-elf/tlslib-o32.d, ld-mips-elf/tlslib-o32.s, ld-mips-elf/mips-lib.ld, ld-mips-elf/tlsbin-o32.got, ld-mips-elf/tlsdyn-o32.d, ld-mips-elf/tlsdyn-o32.got, ld-mips-elf/tlsbin-o32.d, ld-mips-elf/tlsdyn-o32.s, ld-mips-elf/tls-multi-got-1.got, ld-mips-elf/tls-multi-got-1-1.s, ld-mips-elf/tls-multi-got-1.d, ld-mips-elf/tls-multi-got-1.r, ld-mips-elf/tls-multi-got-1-2.s, ld-mips-elf/tlslib-o32-ver.got, ld-mips-elf/tlslib.ver, ld-mips-elf/tlslib-o32-hidden.got, ld-mips-elf/tlslib-hidden.ver, ld-mips-elf/tlsdyn-o32-1.d, ld-mips-elf/tlsdyn-o32-3.got, ld-mips-elf/tlsdyn-o32-2.d, ld-mips-elf/tlsdyn-o32-2.s, ld-mips-elf/tlsdyn-o32-3.d, ld-mips-elf/tlsdyn-o32-1.got, ld-mips-elf/tlsdyn-o32-2.got: New files. * ld-mips-elf/mips-elf.exp: Run the new tests. --- ld/testsuite/ld-mips-elf/tlsbin-o32.s | 89 +++++++++++++++++++++++++++++++++++ 1 file changed, 89 insertions(+) create mode 100644 ld/testsuite/ld-mips-elf/tlsbin-o32.s (limited to 'ld/testsuite/ld-mips-elf/tlsbin-o32.s') diff --git a/ld/testsuite/ld-mips-elf/tlsbin-o32.s b/ld/testsuite/ld-mips-elf/tlsbin-o32.s new file mode 100644 index 00000000000..8ff9831cf58 --- /dev/null +++ b/ld/testsuite/ld-mips-elf/tlsbin-o32.s @@ -0,0 +1,89 @@ + .file 1 "tlsbin-o32.s" + .abicalls + .text + .align 2 + .globl __start + .ent __start + .type __start,@function +__start: + .frame $fp,16,$31 + .mask 0x40000000,-8 + .fmask 0x00000000,0 + .set noreorder + .cpload $25 + .set reorder + addiu $sp,$sp,-16 + sw $fp,8($sp) + move $fp,$sp + .cprestore 0 + + # General Dynamic + lw $25,%call16(__tls_get_addr)($28) + addiu $4,$28,%tlsgd(tlsvar_gd) + jal $25 + + # Local Dynamic + lw $25,%call16(__tls_get_addr)($28) + addiu $4,$28,%tlsldm(tlsvar_ld) + jal $25 + + move $2,$2 # Arbitrary instructions + + lui $3,%dtprel_hi(tlsvar_ld) + addiu $3,$3,%dtprel_lo(tlsvar_ld) + addu $3,$3,$2 + + # Initial Exec + .set push + .set mips32r2 + rdhwr $2, $5 + .set pop + lw $3,%gottprel(tlsvar_ie)($28) + addu $3,$3,$2 + + # Local Exec + .set push + .set mips32r2 + rdhwr $2, $5 + .set pop + lui $3,%tprel_hi(tlsvar_le) + addiu $3,$3,%tprel_lo(tlsvar_le) + addu $3,$3,$2 + + move $sp,$fp + lw $fp,8($sp) + addiu $sp,$sp,16 + j $31 + .end __start + + .globl __tls_get_addr +__tls_get_addr: + j $31 + + .section .tbss,"awT",@nobits + .align 2 + .global tlsvar_gd + .type tlsvar_gd,@object + .size tlsvar_gd,4 +tlsvar_gd: + .space 4 + .global tlsvar_ie + .type tlsvar_ie,@object + .size tlsvar_ie,4 +tlsvar_ie: + .space 4 + + .section .tdata,"awT" + .align 2 + .global tlsvar_ld + .hidden tlsvar_ld + .type tlsvar_ld,@object + .size tlsvar_ld,4 +tlsvar_ld: + .word 1 + .global tlsvar_le + .hidden tlsvar_le + .type tlsvar_le,@object + .size tlsvar_le,4 +tlsvar_le: + .word 1 -- cgit v1.2.1