* ld-powerpc/tls.s (gd, ld): Set tls type for undefined syms.
[binutils-gdb.git] / ld / testsuite / ld-powerpc / tlstoc.s
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 .type gd,@tls_object
23 .type ld,@tls_object
24
25 .text
26 _start:
27 #extern syms
28 #GD
29 addi 3,2,.Lgd@toc
30 bl .__tls_get_addr
31 nop
32 .section .toc,"aw",@progbits
33 .Lgd:
34 .quad gd@dtpmod
35 .quad gd@dtprel
36 .text
37 #LD
38 addi 3,2,.Lld@toc
39 bl .__tls_get_addr
40 nop
41 .section .toc,"aw",@progbits
42 .Lld:
43 .quad ld@dtpmod
44 .quad 0
45 .text
46
47 #global syms
48 #GD
49 addi 3,2,.Lgd0@toc
50 bl .__tls_get_addr
51 nop
52 .section .toc,"aw",@progbits
53 .Lgd0:
54 .quad gd0@dtpmod
55 .quad gd0@dtprel
56 .text
57 #LD
58 addi 3,2,.Lld0@toc
59 bl .__tls_get_addr
60 nop
61 .section .toc,"aw",@progbits
62 .Lld0:
63 .quad ld0@dtpmod
64 .quad 0
65 .text
66
67 addi 9,3,ld0@dtprel
68
69 addis 9,3,ld1@dtprel@ha
70 lwz 10,ld1@dtprel@l(9)
71
72 ld 9,.Lld2@toc(2)
73 ldx 10,9,3
74 .section .toc,"aw",@progbits
75 .Lld2:
76 .quad ld2@dtprel
77 .text
78
79 #IE
80 ld 9,.Lie0@toc(2)
81 lhzx 10,9,.Lie0@tls
82 .section .toc,"aw",@progbits
83 .Lie0:
84 .quad ie0@tprel
85 .text
86
87 #LE
88 lbz 10,le0@tprel(13) #R_PPC64_TPREL16 le0
89
90 addis 9,13,le1@tprel@ha #R_PPC64_TPREL16_HA le1
91 stb 10,le1@tprel@l(9) #R_PPC64_TPREL16_LO le1