1 .globl foo 2 .ent foo 3 foo: 4 lui $gp,%hi(%neg(%gp_rel(foo))) 5 addiu $gp,$gp,%lo(%neg(%gp_rel(foo))) 6 daddu $gp,$gp,$25 7 .end foo 8 9 .ent bar 10 bar: 11 lui $gp,%hi(%neg(%gp_rel(bar))) 12 addiu $gp,$gp,%lo(%neg(%gp_rel(bar))) 13 daddu $gp,$gp,$25 14 .end bar 15 16 .ent frob 17 frob: 18 lw $4,%got_page(foo)($gp) 19 addiu $4,$4,%got_ofst(foo) 20 21 lw $4,%got_page(foo + 0x1234)($gp) 22 addiu $4,$4,%got_ofst(foo + 0x1234) 23 24 lw $4,%got_page(bar)($gp) 25 addiu $4,$4,%got_ofst(bar) 26 27 lw $4,%got_page(bar + 0x332211)($gp) 28 addiu $4,$4,%got_ofst(bar + 0x332211) 29 30 lw $4,%got_page(frob)($gp) 31 addiu $4,$4,%got_ofst(frob) 32 .end frob 33