1*56bb7041Schristos .abicalls 2*56bb7041Schristos .set noreorder 3*56bb7041Schristos 4*56bb7041Schristos .type obj, @object 5*56bb7041Schristos .weak obj 6*56bb7041Schristos .ifdef prot 7*56bb7041Schristos .protected obj 8*56bb7041Schristos .endif 9*56bb7041Schristos .ifdef hidn 10*56bb7041Schristos .hidden obj 11*56bb7041Schristos .endif 12*56bb7041Schristos .ifdef intr 13*56bb7041Schristos .internal obj 14*56bb7041Schristos .endif 15*56bb7041Schristos 16*56bb7041Schristos .section .text.foo, "ax", @progbits 17*56bb7041Schristos .globl foo 18*56bb7041Schristos .ent foo 19*56bb7041Schristosfoo: 20*56bb7041Schristos .frame $sp, 0, $31 21*56bb7041Schristos .mask 0x00000000, 0 22*56bb7041Schristos .fmask 0x00000000, 0 23*56bb7041Schristos .cplocal $4 24*56bb7041Schristos .cpsetup $25, $0, foo 25*56bb7041Schristos lw $2, %got_page(obj + 4)($4) 26*56bb7041Schristos lw $3, %got_disp(obj)($4) 27*56bb7041Schristos addiu $2, %got_ofst(obj + 4) 28*56bb7041Schristos jr $31 29*56bb7041Schristos addiu $3, 4 30*56bb7041Schristos .end foo 31*56bb7041Schristos 32*56bb7041Schristos# Pad a little so that the microMIPS version aligns the same. 33*56bb7041Schristos .space 4 34*56bb7041Schristos 35*56bb7041Schristos# Force some (non-delay-slot) zero bytes, to make 'objdump' print ... 36*56bb7041Schristos .align 4, 0 37*56bb7041Schristos .space 16 38*56bb7041Schristos 39*56bb7041Schristos .section .text.bar, "ax", @progbits 40*56bb7041Schristos .ent bar 41*56bb7041Schristosbar: 42*56bb7041Schristos .frame $sp, 0, $31 43*56bb7041Schristos .mask 0x00000000, 0 44*56bb7041Schristos .fmask 0x00000000, 0 45*56bb7041Schristos .cplocal $4 46*56bb7041Schristos .cpsetup $25, $0, bar 47*56bb7041Schristos lwl $2, %got_page(obj + 4)($4) 48*56bb7041Schristos lwr $3, %got_disp(obj)($4) 49*56bb7041Schristos addiu $2, %got_ofst(obj + 4) 50*56bb7041Schristos jr $31 51*56bb7041Schristos addiu $3, 4 52*56bb7041Schristos .end bar 53*56bb7041Schristos 54*56bb7041Schristos# Pad a little so that the microMIPS version aligns the same. 55*56bb7041Schristos .space 4 56*56bb7041Schristos 57*56bb7041Schristos# Force some (non-delay-slot) zero bytes, to make 'objdump' print ... 58*56bb7041Schristos .align 4, 0 59*56bb7041Schristos .space 16 60