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