.macro loadtoc,sym .if size == 32 lwz 1,\sym(2) .else ld 1,\sym(2) .endif .endm .toc LC01: .tc indirect1[TC],indirect1[RW] LC02: .tc block[TC],block[RW] .csect .unused_local[PR] .unused_local: bl .unused_global .globl .init_function .csect .init_function[PR] .init_function: loadtoc LC01 .globl .fini_function .csect .fini_function[PR] .fini_function: loadtoc LC02 .globl .unused_global .csect .unused_global[PR] .unused_global: bl .unused_local .globl .exported_global .csect .exported_global[PR] .exported_global: bl .indirect2 .globl .indirect1 .csect .indirect1[PR] .indirect1: lwz 8,4(8) .csect .indirect2[PR] .indirect2: lwz 8,8(8) .globl .indirect3 .csect .indirect3[PR] .indirect3: lwz 8,12(8) .globl block .csect block[RW] block: .long indirect3 .long 0x11223344