.macro makeref,sym lw $5,%got(\sym\@)($gp) .endm .globl f1 .ent f1 f1: # See below. lw $4,%got(foo+0x120000)($gp) addiu $4,$4,%lo(foo+0x120000) # 2 pages lw $4,%got(foo-0x8000)($gp) addiu $4,$4,%lo(foo-0x8000) lw $4,%got(foo+0x800)($gp) addiu $4,$4,%lo(foo+0x8000) # 2 pages lw $4,%got(foo-0x1000000)($gp) addiu $4,$4,%lo(foo-0x1000000) lw $4,%got(foo-0xffffff)($gp) addiu $4,$4,%lo(foo-0xffffff) # 1 page lw $4,%got(foo+0x120000)($gp) addiu $4,$4,%lo(foo+0x120000) # 5 pages lw $4,%got(bar)($gp) addiu $4,$4,%lo(bar) lw $4,%got(bar+0x20000)($gp) addiu $4,$4,%lo(bar+0x20000) lw $4,%got(bar+0x40000)($gp) addiu $4,$4,%lo(bar+0x40000) lw $4,%got(bar+0x30000)($gp) addiu $4,$4,%lo(bar+0x30000) lw $4,%got(bar+0x10000)($gp) addiu $4,$4,%lo(bar+0x10000) lw $4,%got(bar+0x38000)($gp) addiu $4,$4,%lo(bar+0x38000) lw $4,%got(bar+0x14000)($gp) addiu $4,$4,%lo(bar+0x14000) lw $4,%got(bar+0x2c000)($gp) addiu $4,$4,%lo(bar+0x2c000) lw $4,%got(bar+0x02000)($gp) addiu $4,$4,%lo(bar+0x02000) .end f1 .rept 8000 makeref foo .endr .section .bss.foo,"aw",@nobits .fill 0x800000 foo: .fill 0x800000 .section .bss.bar,"aw",@nobits bar: .fill 0xc00000 |