]>
Commit | Line | Data |
---|---|---|
7d504122 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 indirect1[TC],indirect1[RW] | |
11 | LC02: .tc block[TC],block[RW] | |
12 | ||
13 | .csect .unused_local[PR] | |
14 | .unused_local: | |
15 | bl .unused_global | |
16 | ||
17 | .globl .init_function | |
18 | .csect .init_function[PR] | |
19 | .init_function: | |
20 | loadtoc LC01 | |
21 | ||
22 | .globl .fini_function | |
23 | .csect .fini_function[PR] | |
24 | .fini_function: | |
25 | loadtoc LC02 | |
26 | ||
27 | .globl .unused_global | |
28 | .csect .unused_global[PR] | |
29 | .unused_global: | |
30 | bl .unused_local | |
31 | ||
32 | .globl .exported_global | |
33 | .csect .exported_global[PR] | |
34 | .exported_global: | |
35 | bl .indirect2 | |
36 | ||
37 | .globl .indirect1 | |
38 | .csect .indirect1[PR] | |
39 | .indirect1: | |
40 | lwz 8,4(8) | |
41 | ||
42 | .csect .indirect2[PR] | |
43 | .indirect2: | |
44 | lwz 8,8(8) | |
45 | ||
46 | .globl .indirect3 | |
47 | .csect .indirect3[PR] | |
48 | .indirect3: | |
49 | lwz 8,12(8) | |
50 | ||
51 | .globl block | |
52 | .csect block[RW] | |
53 | block: | |
54 | .long indirect3 | |
55 | .long 0x11223344 |