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 li $2, %hi(_gp_disp) 29 addiu $3, $pc, %lo(_gp_disp) 30 sll $2, 16 31 addu $2, $3 32 lw $4, %got(obj)($2) 33 lw $2, %call16(fun)($2) 34 jr $2 35 move $25,$2 36 .end foo 37 38# Force some (non-delay-slot) zero bytes, to make 'objdump' print ... 39 .align 4, 0 40 .space 16 41 42 .section .text.bar, "ax", @progbits 43 .ent bar 44bar: 45 .frame $sp, 0, $31 46 .mask 0x00000000, 0 47 .fmask 0x00000000, 0 48 li $2, %hi(_gp_disp) 49 addiu $3, $pc, %lo(_gp_disp) 50 sll $2, 16 51 addu $2, $3 52 move $4, $2 53 addiu $4, %got(obj) 54 addiu $2, %call16(fun) 55 lw $2, 0($2) 56 lw $4, 0($4) 57 jr $2 58 move $25,$2 59 .end bar 60 61# Force some (non-delay-slot) zero bytes, to make 'objdump' print ... 62 .align 4, 0 63 .space 16 64