1 .section ".tbss", "awT", @nobits 2 .globl bg1, bg2 3bg1: .space 4 4bg2: .space 4 5bl1: .space 4 6bl2: .space 4 7 .text 8 .globl _start 9 .type _start,@function 10_start: 11 mov.l r12,@-r15 12 mov.l r14,@-r15 13 mov r15,r14 14 ! Set up .GOT pointer for non-pic @gottpoff sequences 15 mova .L3,r0 16 mov.l .L3,r12 17 add r0,r12 18 nop;nop;nop;nop 19 20 ! @GOTTPOFF IE against global var 21 mov.l 1f,r0 22 stc gbr,r1 23 mov.l @(r0,r12),r0 24 bra 2f 25 add r0,r1 26 .align 2 271: .long sG3@GOTTPOFF 282: 29 nop;nop;nop;nop 30 31 ! @GOTTPOFF IE -> LE against global var defined in exec 32 mov.l 1f,r0 33 stc gbr,r1 34 mov.l @(r0,r12),r0 35 bra 2f 36 add r0,r1 37 .align 2 381: .long bg1@GOTTPOFF 392: 40 nop;nop;nop;nop 41 42 ! @GOTTPOFF IE -> LE against local var 43 mov.l 1f,r0 44 stc gbr,r1 45 mov.l @(r0,r12),r0 46 bra 2f 47 add r0,r1 48 .align 2 491: .long bl2@GOTTPOFF 502: 51 nop;nop;nop;nop 52 53 ! @GOTTPOFF IE -> LE against hidden but not local var 54 mov.l 1f,r0 55 stc gbr,r1 56 mov.l @(r0,r12),r0 57 bra 2f 58 add r0,r1 59 .align 2 601: .long sh2@GOTTPOFF 612: 62 nop;nop;nop;nop 63 64 ! LE @TPOFF, global var defined in exec 65 stc gbr,r1 66 mov.l .L4,r0 67 add r1,r0 68 nop;nop;nop;nop 69 70 ! LE @TPOFF, local var 71 stc gbr,r1 72 mov.l .L5,r0 73 add r1,r0 74 nop;nop;nop;nop 75 76 ! LE @TPOFF, hidden var defined in exec 77 stc gbr,r1 78 mov.l .L6,r0 79 add r1,r0 80 nop;nop;nop;nop 81 82 mov r14,r15 83 rts 84 mov.l @r15+,r14 85 86 .align 2 87.L3: .long _GLOBAL_OFFSET_TABLE_ 88.L4: .long sg1@TPOFF 89.L5: .long bl1@TPOFF 90.L6: .long sh1@TPOFF 91