1 .section ".tbss","awT",@nobits 2 .global _start,gd0,ld0,ld1,ld2,ie0,le0,le1 3 .align 3 4gd0: .space 8 5ld0: .space 8 6ld1: .space 8 7ld2: .space 8 8ie0: .space 8 9le0: .space 8 10le1: .space 8 11 12 .section ".tdata","awT",@progbits 13 .align 3 14gd4: .quad 0x123456789abcdef0 15ld4: .quad 0x23456789abcdef01 16ld5: .quad 0x3456789abcdef012 17ld6: .quad 0x456789abcdef0123 18ie4: .quad 0x56789abcdef01234 19le4: .quad 0x6789abcdef012345 20le5: .quad 0x789abcdef0123456 21 22 .text 23_start: 24#extern syms 25#GD 26 addi 3,2,.Lgd@toc 27 bl .__tls_get_addr 28 nop 29 .section .toc,"aw",@progbits 30.Lgd: 31 .quad gd@dtpmod 32 .quad gd@dtprel 33 .text 34#LD 35 addi 3,2,.Lld@toc 36 bl .__tls_get_addr 37 nop 38 .section .toc,"aw",@progbits 39.Lld: 40 .quad ld@dtpmod 41 .quad 0 42 .text 43 44#global syms 45#GD 46 addi 3,2,.Lgd0@toc 47 bl .__tls_get_addr 48 nop 49 .section .toc,"aw",@progbits 50.Lgd0: 51 .quad gd0@dtpmod 52 .quad gd0@dtprel 53 .text 54#LD 55 addi 3,2,.Lld0@toc 56 bl .__tls_get_addr 57 nop 58 .section .toc,"aw",@progbits 59.Lld0: 60 .quad ld0@dtpmod 61 .quad 0 62 .text 63 64 addi 9,3,ld0@dtprel 65 66 addis 9,3,ld1@dtprel@ha 67 lwz 10,ld1@dtprel@l(9) 68 69 ld 9,.Lld2@toc(2) 70 ldx 10,9,3 71 .section .toc,"aw",@progbits 72.Lld2: 73 .quad ld2@dtprel 74 .text 75 76#IE 77 ld 9,.Lie0@toc(2) 78 lhzx 10,9,.Lie0@tls 79 .section .toc,"aw",@progbits 80.Lie0: 81 .quad ie0@tprel 82 .text 83 84#LE 85 lbz 10,le0@tprel(13) #R_PPC64_TPREL16 le0 86 87 addis 9,13,le1@tprel@ha #R_PPC64_TPREL16_HA le1 88 stb 10,le1@tprel@l(9) #R_PPC64_TPREL16_LO le1 89