1 dnl divert(-1) 2 ifdef(`XCOFF64', 3 ` define(`WORD',`.llong') 4 define(`LDW',`ld')') 5 ifdef(`XCOFF32', 6 ` define(`WORD',`.long') 7 define(`LDW',`lwz')') 8 dnl divert(0) dnl 9 10 define(`nl',` 11 ') nl nl nl nl nl nl 12 13 .csect [RW] 14 dsym0: WORD 0xdeadbeef 15 dsym1: 16 17 .toc 18 .L_tsym0: 19 .tc ignored0[TC],dsym0 20 .L_tsym1: 21 .tc ignored1[TC],dsym1 22 .L_tsym2: 23 .tc ignored2[TC],usym0 24 .L_tsym3: 25 .tc ignored3[TC],usym1 26 .L_tsym4: 27 .tc ignored4[TC],esym0 28 .L_tsym5: 29 .tc ignored5[TC],esym1 30 .L_tsym6: 31 .tc ignored6[TC],.text 32 33 .csect .crazy_table[RO] 34 xdsym0: WORD 0xbeefed 35 xdsym1: 36 .csect [PR] 37 .lglobl reference_csect_relative_symbols 38 reference_csect_relative_symbols: 39 LDW 3,xdsym0(3) 40 LDW 3,xdsym1(3) 41 LDW 3,xusym0(3) 42 LDW 3,xusym1(3) 43 44 .lglobl dubious_references_to_default_RW_csect 45 dubious_references_to_default_RW_csect: 46 LDW 3,dsym0(3) 47 LDW 3,dsym1(3) 48 LDW 3,usym0(3) 49 LDW 3,usym1(3) 50 51 .lglobl reference_via_toc 52 reference_via_toc: 53 LDW 3,.L_tsym0(2) 54 LDW 3,.L_tsym1(2) 55 LDW 3,.L_tsym2(2) 56 LDW 3,.L_tsym3(2) 57 LDW 3,.L_tsym4(2) 58 LDW 3,.L_tsym5(2) 59 60 .lglobl subtract_symbols 61 subtract_symbols: 62 li 3,dsym1-dsym0 63 li 3,dsym0-dsym1 64 li 3,usym1-usym0 65 li 3,usym0-usym1 66 li 3,dsym0-usym0 67 li 3,usym0-dsym0 68 LDW 3,dsym1-dsym0(4) 69 70 .lglobl load_addresses 71 load_addresses: 72 la 3,xdsym0(0) 73 la 3,xusym0(0) 74 75 la 3,.L_tsym6(2) 76 77 .csect [RW] 78 usym0: WORD 0xcafebabe 79 usym1: WORD 0xbaad 80 .csect .crazy_table[RO] 81 xusym0: WORD 0xbeefed 82 xusym1: 83