Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit e024b7c

Browse filesBrowse files
committed
Modify loongarch-relax-tlsdesc.s.
1 parent 1877595 commit e024b7c
Copy full SHA for e024b7c

File tree

1 file changed

+16
-29
lines changed
Filter options

1 file changed

+16
-29
lines changed

‎lld/test/ELF/loongarch-relax-tlsdesc.s

Copy file name to clipboardExpand all lines: lld/test/ELF/loongarch-relax-tlsdesc.s
+16-29Lines changed: 16 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
# RUN: llvm-readobj -r -x .got a.64.so | FileCheck --check-prefix=GD64-RELA %s
1010
# RUN: llvm-objdump --no-show-raw-insn -dr -h a.64.so | FileCheck %s --check-prefix=GD64
1111

12-
## FIXME: IE/LE relaxation have not yet been implemented, --relax/--no-relax obtain the same results.
1312
## Transition from TLSDESC to IE/LE. Also check --emit-relocs.
1413
# RUN: ld.lld --relax -e 0 -z now --emit-relocs a.64.o c.64.o -o a.64.le
1514
# RUN: llvm-readobj -r -x .got a.64.le 2>&1 | FileCheck --check-prefix=LE64-RELA %s
@@ -73,25 +72,21 @@
7372
# LE64-RELA: could not find section '.got'
7473

7574
## a@tprel = 0x8
76-
# LE64: 20158: nop
75+
# LE64: 20158: ori $a0, $zero, 8
7776
# LE64-NEXT: R_LARCH_TLS_DESC_PC_HI20 a
7877
# LE64-NEXT: R_LARCH_RELAX *ABS*
79-
# LE64-NEXT: nop
8078
# LE64-NEXT: R_LARCH_TLS_DESC_PC_LO12 a
8179
# LE64-NEXT: R_LARCH_RELAX *ABS*
82-
# LE64-NEXT: nop
8380
# LE64-NEXT: R_LARCH_TLS_DESC_LD a
8481
# LE64-NEXT: R_LARCH_RELAX *ABS*
85-
# LE64-NEXT: ori $a0, $zero, 8
8682
# LE64-NEXT: R_LARCH_TLS_DESC_CALL a
8783
# LE64-NEXT: R_LARCH_RELAX *ABS*
8884
# LE64-NEXT: add.d $a1, $a0, $tp
8985

9086
## b@tprel = 0x7ff
91-
# LE64: 2016c: nop
87+
# LE64: 20160: nop
9288
# LE64-NEXT: R_LARCH_TLS_DESC_PC_HI20 b
9389
# LE64-NEXT: R_LARCH_RELAX *ABS*
94-
# LE64-NEXT: nop
9590
# LE64-NEXT: R_LARCH_TLS_DESC_PC_LO12 b
9691
# LE64-NEXT: nop
9792
# LE64-NEXT: R_LARCH_TLS_DESC_LD b
@@ -101,7 +96,7 @@
10196

10297
## c@tprel = 0x800
10398
## Without R_LARCH_RELAX relocation. No relaxation.
104-
# LE64: 20180: nop
99+
# LE64: 20170: nop
105100
# LE64-NEXT: R_LARCH_TLS_DESC_PC_HI20 c
106101
# LE64-NEXT: addi.d $t0, $zero, 0
107102
# LE64-NEXT: nop
@@ -115,13 +110,11 @@
115110
# LE64-NEXT: add.d $a3, $a0, $tp
116111

117112
## d@tprel = 0x1000
118-
# LE64: 201a0: nop
113+
# LE64: 20190: lu12i.w $a0, 1
119114
# LE64-NEXT: R_LARCH_TLS_DESC_PC_HI20 d
120115
# LE64-NEXT: R_LARCH_RELAX *ABS*
121-
# LE64-NEXT: nop
122116
# LE64-NEXT: R_LARCH_TLS_DESC_PC_LO12 d
123117
# LE64-NEXT: R_LARCH_RELAX *ABS*
124-
# LE64-NEXT: lu12i.w $a0, 1
125118
# LE64-NEXT: R_LARCH_TLS_DESC_LD d
126119
# LE64-NEXT: ori $a0, $a0, 0
127120
# LE64-NEXT: R_LARCH_TLS_DESC_CALL d
@@ -160,45 +153,41 @@
160153
# LE64-NORELAX-NEXT: add.d $a4, $a0, $tp
161154

162155
# IE64-RELA: .rela.dyn {
163-
# IE64-RELA-NEXT: 0x30408 R_LARCH_TLS_TPREL64 c 0x0
164-
# IE64-RELA-NEXT: 0x30410 R_LARCH_TLS_TPREL64 d 0x0
156+
# IE64-RELA-NEXT: 0x303F0 R_LARCH_TLS_TPREL64 c 0x0
157+
# IE64-RELA-NEXT: 0x303F8 R_LARCH_TLS_TPREL64 d 0x0
165158
# IE64-RELA-NEXT: }
166159
# IE64-RELA: Hex dump of section '.got':
167-
# IE64-RELA-NEXT: 0x00030408 00000000 00000000 00000000 00000000 .
160+
# IE64-RELA-NEXT: 0x000303f0 00000000 00000000 00000000 00000000 .
168161

169-
# IE64: .got 00000010 0000000000030408
162+
# IE64: .got 00000010 00000000000303f0
170163

171164
## a and b are optimized to use LE. c and d are optimized to IE.
172165
## a@tprel = 0x8
173-
# IE64: 202c8: nop
166+
# IE64: 202c8: ori $a0, $zero, 8
174167
# IE64-NEXT: R_LARCH_TLS_DESC_PC_HI20 a
175168
# IE64-NEXT: R_LARCH_RELAX *ABS*
176-
# IE64-NEXT: nop
177169
# IE64-NEXT: R_LARCH_TLS_DESC_PC_LO12 a
178170
# IE64-NEXT: R_LARCH_RELAX *ABS*
179-
# IE64-NEXT: nop
180171
# IE64-NEXT: R_LARCH_TLS_DESC_LD a
181172
# IE64-NEXT: R_LARCH_RELAX *ABS*
182-
# IE64-NEXT: ori $a0, $zero, 8
183173
# IE64-NEXT: R_LARCH_TLS_DESC_CALL a
184174
# IE64-NEXT: R_LARCH_RELAX *ABS*
185175
# IE64-NEXT: add.d $a1, $a0, $tp
186176

187177
## b@tprel = 0x7ff
188-
# IE64: 202dc: nop
178+
# IE64: 202d0: nop
189179
# IE64-NEXT: R_LARCH_TLS_DESC_PC_HI20 b
190180
# IE64-NEXT: R_LARCH_RELAX *ABS*
191-
# IE64-NEXT: nop
192181
# IE64-NEXT: R_LARCH_TLS_DESC_PC_LO12 b
193182
# IE64-NEXT: nop
194183
# IE64-NEXT: R_LARCH_TLS_DESC_LD b
195184
# IE64-NEXT: ori $a0, $zero, 2047
196185
# IE64-NEXT: R_LARCH_TLS_DESC_CALL b
197186
# IE64-NEXT: add.d $a2, $a0, $tp
198187

199-
## &.got[c]-. = 0x30408 - 0x20300: 0x10 pages, page offset 0x408
188+
## &.got[c]-. = 0x303f0 - 0x202f0: 0x10 pages, page offset 0x3f0
200189
## Without R_LARCH_RELAX relocation. No relaxation.
201-
# IE64: 202f0: nop
190+
# IE64: 202e0: nop
202191
# IE64-NEXT: R_LARCH_TLS_DESC_PC_HI20 c
203192
# IE64-NEXT: addi.d $t0, $zero, 0
204193
# IE64-NEXT: nop
@@ -207,20 +196,18 @@
207196
# IE64-NEXT: pcalau12i $a0, 16
208197
# IE64-NEXT: R_LARCH_TLS_DESC_LD c
209198
# IE64-NEXT: addi.d $t0, $t0, 1
210-
# IE64-NEXT: ld.d $a0, $a0, 1032
199+
# IE64-NEXT: ld.d $a0, $a0, 1008
211200
# IE64-NEXT: R_LARCH_TLS_DESC_CALL c
212201
# IE64-NEXT: add.d $a3, $a0, $tp
213202

214-
## &.got[d]-. = 0x30408+8 - 0x20318: 0x10 pages, page offset 0x410
215-
# IE64: 20310: nop
203+
## &.got[d]-. = 0x303f0+8 - 0x20300: 0x10 pages, page offset 0x3f8
204+
# IE64: 20300: pcalau12i $a0, 16
216205
# IE64-NEXT: R_LARCH_TLS_DESC_PC_HI20 d
217206
# IE64-NEXT: R_LARCH_RELAX *ABS*
218-
# IE64-NEXT: nop
219207
# IE64-NEXT: R_LARCH_TLS_DESC_PC_LO12 d
220208
# IE64-NEXT: R_LARCH_RELAX *ABS*
221-
# IE64-NEXT: pcalau12i $a0, 16
222209
# IE64-NEXT: R_LARCH_TLS_DESC_LD d
223-
# IE64-NEXT: ld.d $a0, $a0, 1040
210+
# IE64-NEXT: ld.d $a0, $a0, 1016
224211
# IE64-NEXT: R_LARCH_TLS_DESC_CALL d
225212
# IE64-NEXT: add.d $a4, $a0, $tp
226213

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.