.globl foo .ent foo foo: lui $gp,%hi(%neg(%gp_rel(foo))) addiu $gp,$gp,%lo(%neg(%gp_rel(foo))) daddu $gp,$gp,$25 .end foo .ent bar bar: lui $gp,%hi(%neg(%gp_rel(bar))) addiu $gp,$gp,%lo(%neg(%gp_rel(bar))) daddu $gp,$gp,$25 .end bar .ent frob frob: lw $4,%got_page(foo)($gp) addiu $4,$4,%got_ofst(foo) lw $4,%got_page(foo + 0x1234)($gp) addiu $4,$4,%got_ofst(foo + 0x1234) lw $4,%got_page(bar)($gp) addiu $4,$4,%got_ofst(bar) lw $4,%got_page(bar + 0x332211)($gp) addiu $4,$4,%got_ofst(bar + 0x332211) lw $4,%got_page(frob)($gp) addiu $4,$4,%got_ofst(frob) .end frob