1 .file 1 "tlslib-o32.s" 2 .abicalls 3 .text 4 .align 2 5 .globl fn 6 .ent fn 7 .type fn,@function 8 fn: 9 .frame $fp,16,$31 10 .mask 0x40000000,-8 11 .fmask 0x00000000,0 12 .set noreorder 13 .cpload $25 14 .set reorder 15 addiu $sp,$sp,-16 16 sw $fp,8($sp) 17 move $fp,$sp 18 .cprestore 0 19 20 # General Dynamic 21 lw $25,%call16(__tls_get_addr)($28) 22 addiu $4,$28,%tlsgd(tlsvar_gd) 23 jal $25 24 25 # Local Dynamic 26 lw $25,%call16(__tls_get_addr)($28) 27 addiu $4,$28,%tlsldm(tlsvar_ld) 28 jal $25 29 30 move $2,$2 # Arbitrary instructions 31 32 lui $3,%dtprel_hi(tlsvar_ld) 33 addiu $3,$3,%dtprel_lo(tlsvar_ld) 34 addu $3,$3,$2 35 36 # Initial Exec 37 .set push 38 .set mips32r2 39 rdhwr $2, $5 40 .set pop 41 lw $3,%gottprel(tlsvar_ie)($28) 42 addu $3,$3,$2 43 44 move $sp,$fp 45 lw $fp,8($sp) 46 addiu $sp,$sp,16 47 j $31 48 .end fn 49 50 .section .tbss,"awT",@nobits 51 .align 2 52 .global tlsvar_gd 53 .type tlsvar_gd,@object 54 .size tlsvar_gd,4 55 tlsvar_gd: 56 .space 4 57 .global tlsvar_ie 58 .type tlsvar_ie,@object 59 .size tlsvar_ie,4 60 tlsvar_ie: 61 .space 4 62 63 .section .tdata,"awT" 64 .align 2 65 .global tlsvar_ld 66 .hidden tlsvar_ld 67 .type tlsvar_ld,@object 68 .size tlsvar_ld,4 69 tlsvar_ld: 70 .word 1 71