OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-stable/] [binutils-2.20.1/] [ld/] [testsuite/] [ld-powerpc/] [tls32.s] - Blame information for rev 862

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 205 julius
        .section ".tbss","awT",@nobits
2
        .global _start,gd0,ld0,ld1,ld2,ie0,le0,le1
3
        .align 2
4
gd0:    .space 4
5
ld0:    .space 4
6
ld1:    .space 4
7
ld2:    .space 4
8
ie0:    .space 4
9
le0:    .space 4
10
le1:    .space 4
11
 
12
        .section ".tdata","awT",@progbits
13
        .align 2
14
gd4:    .long 0x12345678
15
ld4:    .long 0x23456789
16
ld5:    .long 0x3456789a
17
ld6:    .long 0x456789ab
18
ie4:    .long 0x56789abc
19
le4:    .long 0x6789abcd
20
le5:    .long 0x789abcde
21
 
22
        .text
23
_start:
24
#extern syms
25
#GD
26
 addi 3,31,gd@got@tlsgd         #R_PPC_GOT_TLSGD16      gd
27
 bl __tls_get_addr              #R_PPC_REL24            __tls_get_addr
28
 
29
#LD
30
 addi 3,31,ld@got@tlsld         #R_PPC_GOT_TLSLD16      ld
31
 bl __tls_get_addr              #R_PPC_REL24            __tls_get_addr
32
 
33
#global syms
34
#GD
35
 addi 3,31,gd0@got@tlsgd        #R_PPC_GOT_TLSGD16      gd0
36
 bl __tls_get_addr+0x8000@plt   #R_PPC_PLTREL24         __tls_get_addr
37
 
38
#LD
39
 addi 3,31,ld0@got@tlsld        #R_PPC_GOT_TLSLD16      ld0
40
 bl __tls_get_addr+0x8000@plt   #R_PPC_PLTREL24         __tls_get_addr
41
 
42
 addi 9,3,ld0@dtprel            #R_PPC_DTPREL16         ld0
43
 
44
 addis 9,3,ld1@dtprel@ha        #R_PPC_DTPREL16_HA      ld1
45
 lwz 10,ld1@dtprel@l(9)         #R_PPC_DTPREL16_LO      ld1
46
 
47
#IE
48
 lwz 9,ie0@got@tprel(31)        #R_PPC_GOT_TPREL16      ie0
49
 lhzx 10,9,ie0@tls              #R_PPC_TLS              ie0
50
 
51
#LE
52
 lbz 10,le0@tprel(2)            #R_PPC_TPREL16          le0
53
 
54
 addis 9,2,le1@tprel@ha         #R_PPC_TPREL16_HA       le1
55
 stb 10,le1@tprel@l(9)          #R_PPC_TPREL16_LO       le1
56
 
57
#local syms, use a different got reg too.
58
#GD
59
 addi 3,30,gd4@got@tlsgd        #R_PPC_GOT_TLSGD16      gd4
60
 bl __tls_get_addr              #R_PPC_REL24            __tls_get_addr
61
 
62
#LD
63
 addi 3,30,ld4@got@tlsld        #R_PPC_GOT_TLSLD16      ld4
64
 bl __tls_get_addr              #R_PPC_REL24            __tls_get_addr
65
 
66
 stw 10,ld4@dtprel(3)           #R_PPC_DTPREL16 ld4
67
 
68
 addis 9,3,ld5@dtprel@ha        #R_PPC_DTPREL16_HA      ld5
69
 stw 10,ld5@dtprel@l(9)         #R_PPC_DTPREL16_LO      ld5
70
 
71
#IE
72
 lwz 9,ie0@got@tprel(30)        #R_PPC_GOT_TPREL16      ie4
73
 sthx 10,9,ie0@tls              #R_PPC_TLS              ie4
74
 
75
#LE
76
 lhz 10,le4@tprel(2)            #R_PPC_TPREL16  le4
77
 
78
 addis 9,2,le5@tprel@ha         #R_PPC_TPREL16_HA       le5
79
 lha 10,le5@tprel@l(9)          #R_PPC_TPREL16_LO       le5
80
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.