Commit | Line | Data |
---|---|---|
c865e45b RS |
1 | .macro loadtoc,sym |
2 | .if size == 32 | |
3 | lwz 1,\sym(2) | |
4 | .else | |
5 | ld 1,\sym(2) | |
6 | .endif | |
7 | .endm | |
8 | ||
9 | .toc | |
10 | LC01: .tc stuff[TC],stuff[RW] | |
11 | ||
12 | .globl foo1 | |
13 | .csect foo1[pr] | |
14 | foo1: | |
15 | .align 8 | |
16 | nop | |
17 | loadtoc LC01 | |
18 | ||
19 | .globl foo2 | |
20 | .csect foo2[pr] | |
21 | foo2: | |
22 | nop | |
23 | loadtoc LC01 | |
24 | .ref foo4 , foo6 | |
25 | ||
26 | .globl foo3 | |
27 | .csect foo3[pr] | |
28 | foo3: | |
29 | nop | |
30 | loadtoc LC01 | |
31 | ||
32 | .globl foo4 | |
33 | .csect foo4[pr] | |
34 | foo4: | |
35 | nop | |
36 | loadtoc LC01 | |
37 | ||
38 | .globl foo5 | |
39 | .csect foo5[pr] | |
40 | foo5: | |
41 | nop | |
42 | loadtoc LC01 | |
43 | .ref foo3 | |
44 | ||
45 | .globl foo6 | |
46 | .csect foo6[pr] | |
47 | foo6: | |
48 | nop | |
49 | loadtoc LC01 | |
50 | ||
51 | .csect foo1[pr] | |
52 | blr | |
53 | .ref foo2 | |
54 | ||
55 | .csect stuff[rw] | |
56 | stuff: | |
57 | .long 1 |