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