Commit | Line | Data |
---|---|---|
6c597796 MS |
1 | .section ".tbss", "awT", @nobits |
2 | .globl bg1, bg2, bg3, bg4, bg5, bg6, bg7, bg8 | |
3 | bg1: .space 4 | |
4 | bg2: .space 4 | |
5 | bg3: .space 4 | |
6 | bg4: .space 4 | |
7 | bg5: .space 4 | |
8 | bg6: .space 4 | |
9 | bg7: .space 4 | |
10 | bg8: .space 4 | |
11 | bl1: .space 4 | |
12 | bl2: .space 4 | |
13 | bl3: .space 4 | |
14 | bl4: .space 4 | |
15 | bl5: .space 4 | |
16 | bl6: .space 4 | |
17 | bl7: .space 4 | |
18 | bl8: .space 4 | |
19 | .text | |
20 | .globl _start | |
21 | .type _start,@function | |
22 | _start: | |
23 | /* Function prolog */ | |
24 | stm %r6,%r14,24(%r15) | |
25 | bras %r13,.LTN1 | |
26 | /* Literal pool */ | |
27 | .LT1: | |
28 | .LC0: | |
29 | .quad sG6@indntpoff | |
30 | .LC1: | |
31 | .quad bg6@indntpoff | |
32 | .LC2: | |
33 | .quad bl6@indntpoff | |
34 | .LC3: | |
35 | .quad sh6@indntpoff | |
36 | .LC4: | |
37 | .quad sg3@indntpoff | |
38 | .LTN1: | |
39 | /* Function prolog */ | |
40 | lgr %r14,%r15 | |
41 | aghi %r15,-160 | |
42 | stg %r14,0(%r14) | |
43 | ||
44 | /* Extract TCB */ | |
45 | ear %r9,%a0 | |
46 | sllg %r9,%r4,32 | |
47 | ear %r9,%a1 | |
48 | ||
49 | /* IE against global var */ | |
50 | lg %r3,.LC0-.LT1(%r13) | |
51 | lg %r3,0(%r3,%r12):tls_load:sG6 | |
52 | la %r3,0(%r3,%r9) | |
53 | ||
54 | /* IE -> LE against global var defined in exec */ | |
55 | lg %r3,.LC1-.LT1(%r13) | |
56 | lg %r4,0(%r3,%r12):tls_load:bg6 | |
57 | la %r5,0(%r4,%r9) | |
58 | ||
59 | /* IE -> LE against local var */ | |
60 | lg %r3,.LC2-.LT1(%r13) | |
61 | lg %r4,0(%r3,%r12):tls_load:bl6 | |
62 | la %r5,0(%r4,%r9) | |
63 | ||
64 | /* IE -> LE against hidden but not local var */ | |
65 | lg %r3,.LC3-.LT1(%r13) | |
66 | lg %r4,0(%r3,%r12):tls_load:sh6 | |
67 | la %r5,0(%r4,%r9) | |
68 | ||
69 | /* LE, global var defined in exec */ | |
70 | lg %r4,.LC4-.LT1(%r13) | |
71 | la %r5,0(%r4,%r9) | |
72 | ||
73 | /* Function epilog */ | |
74 | lmg %r6,%r14,208(%r15) | |
75 | br %r14 |