diff options
author | Jing Yu <jingyu@google.com> | 2011-12-20 10:27:58 -0800 |
---|---|---|
committer | Jing Yu <jingyu@google.com> | 2011-12-20 10:27:58 -0800 |
commit | cf3cdbf8b3cda61a619299e7966a83df66244036 (patch) | |
tree | 201e2bcfc955f16802d3257112d29736cb3a3ce8 /binutils-2.21/ld/testsuite/ld-mips-elf/tlslib-o32.s | |
parent | e4df3e0a5bb640ccfa2f30ee67fe9b3146b152d6 (diff) | |
download | toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.zip toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.tar.gz toolchain_binutils-cf3cdbf8b3cda61a619299e7966a83df66244036.tar.bz2 |
Add binutils-2.21.
Use --enable-gold=default for dual linker support.
Change-Id: Id1a744c7db58a0b5e7a3be174cdfa875f2f86e49
Diffstat (limited to 'binutils-2.21/ld/testsuite/ld-mips-elf/tlslib-o32.s')
-rw-r--r-- | binutils-2.21/ld/testsuite/ld-mips-elf/tlslib-o32.s | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/binutils-2.21/ld/testsuite/ld-mips-elf/tlslib-o32.s b/binutils-2.21/ld/testsuite/ld-mips-elf/tlslib-o32.s new file mode 100644 index 0000000..c15829f --- /dev/null +++ b/binutils-2.21/ld/testsuite/ld-mips-elf/tlslib-o32.s @@ -0,0 +1,70 @@ + .file 1 "tlslib-o32.s" + .abicalls + .text + .align 2 + .globl fn + .ent fn + .type fn,@function +fn: + .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 + + move $sp,$fp + lw $fp,8($sp) + addiu $sp,$sp,16 + j $31 + .end fn + + .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 |