1 .macro makeref,sym 2 lw $5,%got(\sym\@)($gp) 3 .endm 4 5 .globl f1 6 .ent f1 7 f1: 8 # See below. 9 lw $4,%got(foo+0x120000)($gp) 10 addiu $4,$4,%lo(foo+0x120000) 11 12 # 2 pages 13 lw $4,%got(foo-0x8000)($gp) 14 addiu $4,$4,%lo(foo-0x8000) 15 lw $4,%got(foo+0x800)($gp) 16 addiu $4,$4,%lo(foo+0x8000) 17 18 # 2 pages 19 lw $4,%got(foo-0x1000000)($gp) 20 addiu $4,$4,%lo(foo-0x1000000) 21 lw $4,%got(foo-0xffffff)($gp) 22 addiu $4,$4,%lo(foo-0xffffff) 23 24 # 1 page 25 lw $4,%got(foo+0x120000)($gp) 26 addiu $4,$4,%lo(foo+0x120000) 27 28 # 5 pages 29 lw $4,%got(bar)($gp) 30 addiu $4,$4,%lo(bar) 31 lw $4,%got(bar+0x20000)($gp) 32 addiu $4,$4,%lo(bar+0x20000) 33 lw $4,%got(bar+0x40000)($gp) 34 addiu $4,$4,%lo(bar+0x40000) 35 lw $4,%got(bar+0x30000)($gp) 36 addiu $4,$4,%lo(bar+0x30000) 37 lw $4,%got(bar+0x10000)($gp) 38 addiu $4,$4,%lo(bar+0x10000) 39 lw $4,%got(bar+0x38000)($gp) 40 addiu $4,$4,%lo(bar+0x38000) 41 lw $4,%got(bar+0x14000)($gp) 42 addiu $4,$4,%lo(bar+0x14000) 43 lw $4,%got(bar+0x2c000)($gp) 44 addiu $4,$4,%lo(bar+0x2c000) 45 lw $4,%got(bar+0x02000)($gp) 46 addiu $4,$4,%lo(bar+0x02000) 47 .end f1 48 49 .rept 8000 50 makeref foo 51 .endr 52 53 .section .bss.foo,"aw",@nobits 54 .fill 0x800000 55 foo: .fill 0x800000 56 57 .section .bss.bar,"aw",@nobits 58 bar: .fill 0xc00000 59