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