1 .section .toc,"aw" 2x4t: 3 .quad x4 4x5t: 5 .quad x5 6x6t: 7 .quad x6 8 9 .section .sdata,"aw" 10x1: 11 .byte 1 12x2: 13 .byte 2 14x3: 15 .byte 3 16x4: 17 .byte 4 18x5: 19 .byte 5 20x6: 21 .byte 6 22 23 .globl _start 24 .text 25_start: 26# no need for got entry, optimise to nop,addi 27# note: ld doesn't yet do got optimisation, so we get nop,ld 28 addis 9,2,x1@got@ha 29 ld 9,x1@got@l(9) 30# must keep got entry, optimise to nop,addi,ld 31 addis 4,2,x2@got@ha 32 addi 5,4,x2@got@l 33 ld 6,0(5) 34# must keep got entry, optimise to nop,li,ldx 35 lis 29,x3@got@ha 36 addi 29,29,x3@got@l 37 ldx 3,2,29 38 39# no need for toc entry, optimise to nop,addi 40 addis 9,2,x4t@toc@ha 41 ld 9,x4t@toc@l(9) 42# must keep toc entry, optimise to nop,addi,ld 43# if we had a reloc tying the ld to x5/x5t then we could throw away 44# the toc entry and optimise to nop,nop,addi 45 addis 4,2,x5t@toc@ha 46 addi 5,4,x5t@toc@l 47 ld 6,0(5) 48# must keep toc entry, optimise to nop,li,ldx 49 lis 29,x6t@toc@ha 50 addi 29,29,x6t@toc@l 51 ldx 3,2,29 52