123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- .section ".tbss", "awT", @nobits
- .globl bg1, bg2
- bg1: .space 4
- bg2: .space 4
- bl1: .space 4
- bl2: .space 4
- .text
- .globl _start
- .type _start,@function
- _start:
- mov.l r12,@-r15
- mov.l r14,@-r15
- mov r15,r14
- ! Set up .GOT pointer for non-pic @gottpoff sequences
- mova .L3,r0
- mov.l .L3,r12
- add r0,r12
- nop;nop;nop;nop
- ! @GOTTPOFF IE against global var
- mov.l 1f,r0
- stc gbr,r1
- mov.l @(r0,r12),r0
- bra 2f
- add r0,r1
- .align 2
- 1: .long sG3@GOTTPOFF
- 2:
- nop;nop;nop;nop
- ! @GOTTPOFF IE -> LE against global var defined in exec
- mov.l 1f,r0
- stc gbr,r1
- mov.l @(r0,r12),r0
- bra 2f
- add r0,r1
- .align 2
- 1: .long bg1@GOTTPOFF
- 2:
- nop;nop;nop;nop
- ! @GOTTPOFF IE -> LE against local var
- mov.l 1f,r0
- stc gbr,r1
- mov.l @(r0,r12),r0
- bra 2f
- add r0,r1
- .align 2
- 1: .long bl2@GOTTPOFF
- 2:
- nop;nop;nop;nop
- ! @GOTTPOFF IE -> LE against hidden but not local var
- mov.l 1f,r0
- stc gbr,r1
- mov.l @(r0,r12),r0
- bra 2f
- add r0,r1
- .align 2
- 1: .long sh2@GOTTPOFF
- 2:
- nop;nop;nop;nop
- ! LE @TPOFF, global var defined in exec
- stc gbr,r1
- mov.l .L4,r0
- add r1,r0
- nop;nop;nop;nop
- ! LE @TPOFF, local var
- stc gbr,r1
- mov.l .L5,r0
- add r1,r0
- nop;nop;nop;nop
- ! LE @TPOFF, hidden var defined in exec
- stc gbr,r1
- mov.l .L6,r0
- add r1,r0
- nop;nop;nop;nop
- mov r14,r15
- rts
- mov.l @r15+,r14
- .align 2
- .L3: .long _GLOBAL_OFFSET_TABLE_
- .L4: .long sg1@TPOFF
- .L5: .long bl1@TPOFF
- .L6: .long sh1@TPOFF
|