Last change
on this file was 607, checked in by bird, 22 years ago |
Initial revision
|
-
Property cvs2svn:cvs-rev
set to
1.1
-
Property svn:eol-style
set to
native
-
Property svn:executable
set to
*
|
File size:
1.4 KB
|
Line | |
---|
1 | .section ".tbss", "awT", @nobits
|
---|
2 | .globl bg1, bg2
|
---|
3 | bg1: .space 4
|
---|
4 | bg2: .space 4
|
---|
5 | bl1: .space 4
|
---|
6 | bl2: .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
|
---|
27 | 1: .long sG3@GOTTPOFF
|
---|
28 | 2:
|
---|
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
|
---|
38 | 1: .long bg1@GOTTPOFF
|
---|
39 | 2:
|
---|
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
|
---|
49 | 1: .long bl2@GOTTPOFF
|
---|
50 | 2:
|
---|
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
|
---|
60 | 1: .long sh2@GOTTPOFF
|
---|
61 | 2:
|
---|
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
|
---|
Note:
See
TracBrowser
for help on using the repository browser.