.section ".tbss","awT",@nobits .p2align 3 pad: .space 8 .global a a: .space 8 .global b b: .space 8 .global c c: .space 8 .global d d: .space 8 z2: .space 8 z3: .space 8 .text .globl _start _start: #Small model OpenPower addi 3,2,.La@toc bl __tls_get_addr(.La@tlsld) nop .section .toc,"aw",@progbits .p2align 3 .La: .quad a@dtpmod .quad 0 .text #Medium mode ELF addis 3,2,b@got@tlsld@ha addi 3,3,b@got@tlsld@l bl __tls_get_addr(b@tlsld) nop #PCrel, with dtprel access to vars pla 3,c@got@tlsld@pcrel bl __tls_get_addr@notoc(c@tlsld) paddi 9,3,z2@dtprel pld 10,z3@got@dtprel@pcrel add 10,10,3 #All of the above using the same symbol addis 3,2,.Ld@toc@ha addi 3,3,.Ld@toc@l bl __tls_get_addr(.Ld@tlsld) nop .section .toc,"aw",@progbits .p2align 3 .Ld: .quad d@dtpmod .quad 0 .text addis 3,2,d@got@tlsld@ha addi 3,3,d@got@tlsld@l bl __tls_get_addr(d@tlsld) nop pla 3,d@got@tlsld@pcrel bl __tls_get_addr@notoc(d@tlsld)