[PATCH 02/11] s390: Fix prologues and epilogues in linker TLS tests

Jens Remus jremus@linux.ibm.com
Thu Nov 13 13:21:35 GMT 2025


In function prologues save the stack pointer (SP) register r15, use the
"preferred" frame pointer (FP) register r11, and correct writing of the
back chain (located at SP+0).  In function epilogues restore SP register
r15.  While at it use the terms "prologue" and "epilogue" in comments.
In 64-bit tests use 64-bit register load/store instructions (i.e. stmg
instead of stm).

ld/testsuite/
	* ld-s390/tlsbin.s: In prologue save SP register r15, use
	"preferred" FP register r11, and fix writing of back chain.  In
	epilogue restore SP register r15.  Use "prologue/epilogue"
	terminology.
	* ld-s390/tlsbin_64.s: Likewise.  Use stmg instead of stm.
	* ld-s390/tlsbinpic.s: Likewise.
	* ld-s390/tlsbinpic_64.s: Likewise.
	* ld-s390/tlspic1.s: Likewise.
	* ld-s390/tlspic1_64.s: Likewise.
	* ld-s390/tlsbin.dd: Adapt expected test output patterns to test
	changes.  Use "prologue/epilogue" terminology.
	* ld-s390/tlsbin_64.dd: Likewise.
	* ld-s390/tlspic.dd: Likewise.
	* ld-s390/tlspic_64.dd: Likewise.

Signed-off-by: Jens Remus <jremus@linux.ibm.com>
---
 ld/testsuite/ld-s390/tlsbin.dd      | 28 +++++++++++++-------------
 ld/testsuite/ld-s390/tlsbin.s       | 14 ++++++-------
 ld/testsuite/ld-s390/tlsbin_64.dd   | 31 ++++++++++++++---------------
 ld/testsuite/ld-s390/tlsbin_64.s    | 14 ++++++-------
 ld/testsuite/ld-s390/tlsbinpic.s    | 14 ++++++-------
 ld/testsuite/ld-s390/tlsbinpic_64.s | 16 +++++++--------
 ld/testsuite/ld-s390/tlspic.dd      | 14 ++++++-------
 ld/testsuite/ld-s390/tlspic1.s      | 16 +++++++--------
 ld/testsuite/ld-s390/tlspic1_64.s   | 16 +++++++--------
 ld/testsuite/ld-s390/tlspic_64.dd   | 14 ++++++-------
 10 files changed, 88 insertions(+), 89 deletions(-)

diff --git a/ld/testsuite/ld-s390/tlsbin.dd b/ld/testsuite/ld-s390/tlsbin.dd
index bfa4a17c7f36..810e9fb572f8 100644
--- a/ld/testsuite/ld-s390/tlsbin.dd
+++ b/ld/testsuite/ld-s390/tlsbin.dd
@@ -19,8 +19,8 @@
 Disassembly of section .text:
 
 0+[0-9a-f]+ <fn2>:
-# function prolog
-  +[0-9a-f]+:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
+# function prologue
+  +[0-9a-f]+:	90 6f f0 18       	stm	%r6,%r15,24\(%r15\)
   +[0-9a-f]+:	a7 d5 00 24       	bras	%r13,[0-9a-f]+ <fn2\+0x4c>
 # _GLOBAL_OFFSET_TABLE_
   +[0-9a-f]+:	[0-9a-f ]+       	.long	0x[0-9a-f]+
@@ -56,12 +56,12 @@ Disassembly of section .text:
   +[0-9a-f]+:	ff ff ff 80       	.long	0xffffff80
 # sh1@gotntpoff
   +[0-9a-f]+:	ff ff ff a0       	.long	0xffffffa0
-# function prolog
-  +[0-9a-f]+:	18 ef             	lr	%r14,%r15
+# function prologue (cont.)
+  +[0-9a-f]+:	18 bf             	lr	%r11,%r15
   +[0-9a-f]+:	58 c0 d0 00       	l	%r12,0\(%r13\)
   +[0-9a-f]+:	a7 fa ff a0       	ahi	%r15,-96
   +[0-9a-f]+:	41 cc d0 00       	la	%r12,0\(%r12,%r13\)
-  +[0-9a-f]+:	50 e0 e0 00       	st	%r14,0\(%r14\)
+  +[0-9a-f]+:	50 b0 f0 00       	st	%r11,0\(%r15\)
 # extract TCB and load branch offset
   +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
   +[0-9a-f]+:	58 70 d0 04       	l	%r7,4\(%r13\)
@@ -134,8 +134,8 @@ Disassembly of section .text:
 # IE against hidden var with small got access (no optimization)
   +[0-9a-f]+:	58 30 c0 1c       	l	%r3,28\(%r12\)
   +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
-# function epilog
-  +[0-9a-f]+:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
+# function epilogue
+  +[0-9a-f]+:	98 6f f0 78       	lm	%r6,%r15,120\(%r15\)
   +[0-9a-f]+:	07 fe             	br	%r14
   +[0-9a-f]+:	07 07             	nopr	%r7
   +[0-9a-f]+:	07 07             	nopr	%r7
@@ -147,8 +147,8 @@ Disassembly of section .text:
   +[0-9a-f]+:	07 07             	nopr	%r7
 
 0+[0-9a-f]+ <_start>:
-# function prolog
-  +[0-9a-f]+:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
+# function prologue
+  +[0-9a-f]+:	90 6f f0 18       	stm	%r6,%r15,24\(%r15\)
   +[0-9a-f]+:	a7 d5 00 0c       	bras	%r13,[0-9a-f]+ <_start\+0x1c>
 # sG6@indntpoff
   +[0-9a-f]+:	00 40 15 64       	.long	0x00401564
@@ -160,10 +160,10 @@ Disassembly of section .text:
   +[0-9a-f]+:	ff ff ff b4       	.long	0xffffffb4
 # sg3@indntpoff
   +[0-9a-f]+:	ff ff ff 68       	.long	0xffffff68
-# function prolog
-  +[0-9a-f]+:	18 ef             	lr	%r14,%r15
+# function prologue (cont.)
+  +[0-9a-f]+:	18 bf             	lr	%r11,%r15
   +[0-9a-f]+:	a7 fa ff a0       	ahi	%r15,-96
-  +[0-9a-f]+:	50 e0 e0 00       	st	%r14,0\(%r14\)
+  +[0-9a-f]+:	50 b0 f0 00       	st	%r11,0\(%r15\)
 # extract TCB
   +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
 # IE against global var
@@ -188,6 +188,6 @@ Disassembly of section .text:
 # LE, global var defined in exec
   +[0-9a-f]+:	58 40 d0 10       	l	%r4,16\(%r13\)
   +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
-# function epilog
-  +[0-9a-f]+:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
+# function epilogue
+  +[0-9a-f]+:	98 6f f0 78       	lm	%r6,%r15,120\(%r15\)
   +[0-9a-f]+:	07 fe             	br	%r14
diff --git a/ld/testsuite/ld-s390/tlsbin.s b/ld/testsuite/ld-s390/tlsbin.s
index 4da50e79cd87..f6fc9af90e52 100644
--- a/ld/testsuite/ld-s390/tlsbin.s
+++ b/ld/testsuite/ld-s390/tlsbin.s
@@ -20,8 +20,8 @@ bl8:	.space 4
 	.globl	_start
 	.type	_start,@function
 _start:
-	/* Function prolog */
-	stm	%r6,%r14,24(%r15)
+	/* Function prologue */
+	stm	%r6,%r15,24(%r15)
 	bras	%r13,.LTN1
 	/* Literal pool */
 .LT1:
@@ -36,10 +36,10 @@ _start:
 .LC4:
 	.long	sg3@indntpoff
 .LTN1:
-	/* Function prolog */
-	lr	%r14,%r15
+	/* Function prologue (cont.) */
+	lr	%r11,%r15
 	ahi	%r15,-96
-	st	%r14,0(%r14)
+	st	%r11,0(%r15)
 
 	/* Extract TCB */
 	ear	%r9,%a0
@@ -68,6 +68,6 @@ _start:
 	l	%r4,.LC4-.LT1(%r13)
 	la	%r5,0(%r4,%r9)
 
-	/* Function epilog */
-	lm	%r6,%r14,120(%r15)
+	/* Function epilogue */
+	lm	%r6,%r15,120(%r15)
 	br	%r14
diff --git a/ld/testsuite/ld-s390/tlsbin_64.dd b/ld/testsuite/ld-s390/tlsbin_64.dd
index 7f820e587e0b..3a45a53d68e6 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.dd
+++ b/ld/testsuite/ld-s390/tlsbin_64.dd
@@ -19,8 +19,8 @@
 Disassembly of section .text:
 
 0+[0-9a-f]+ <fn2>:
-# function prolog
- +[0-9a-f]+:	eb 6e f0 30 00 24 	stmg	%r6,%r14,48\(%r15\)
+# function prologue
+ +[0-9a-f]+:	eb 6f f0 30 00 24 	stmg	%r6,%r15,48\(%r15\)
  +[0-9a-f]+:	a7 d5 00 3e       	bras	%r13,[0-9a-f]+ <fn2\+0x82>
 # sG1@tlsgd
  +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
@@ -67,11 +67,11 @@ Disassembly of section .text:
 # sh1@gotntpoff
  +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
  +[0-9a-f]+:	ff ff ff a0       	.long	0xffffffa0
-# function prolog
- +[0-9a-f]+:	b9 04 00 ef       	lgr	%r14,%r15
+# function prologue (cont.)
+ +[0-9a-f]+:	b9 04 00 bf       	lgr	%r11,%r15
  +[0-9a-f]+:	a7 fb ff 60       	aghi	%r15,-160
  +[0-9a-f]+:	c0 c0 [0-9a-f ]+ 	larl	%r12,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_>
- +[0-9a-f]+:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
+ +[0-9a-f]+:	e3 b0 f0 00 00 24 	stg	%r11,0\(%r15\)
 # extract TCB
  +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
  +[0-9a-f]+:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
@@ -158,8 +158,8 @@ Disassembly of section .text:
 # IE against hidden var with small got access (no optimization)
  +[0-9a-f]+:	e3 30 c0 38 00 04 	lg	%r3,56\(%r12\)
  +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
-# function epilog
- +[0-9a-f]+:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
+# function epilogue
+ +[0-9a-f]+:	eb 6f f0 d0 00 04 	lmg	%r6,%r15,208\(%r15\)
  +[0-9a-f]+:	07 fe             	br	%r14
  +[0-9a-f]+:	07 07             	nopr	%r7
  +[0-9a-f]+:	07 07             	nopr	%r7
@@ -173,9 +173,9 @@ Disassembly of section .text:
  +[0-9a-f]+:	07 07             	nopr	%r7
 
 0+[0-9a-f]+ <_start>:
-# function prolog
- +[0-9a-f]+:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
- +[0-9a-f]+:	a7 d5 00 16       	bras	%r13,[0-9a-f]+ <_start\+0x30>
+# function prologue
+ +[0-9a-f]+:	eb 6f f0 30 00 24 	stmg	%r6,%r15,48\(%r15\)
+ +[0-9a-f]+:	a7 d5 00 16       	bras	%r13,[0-9a-f]+ <_start\+0x32>
 # sG6@indntpoff
  +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
  +[0-9a-f]+:	01 00 18 08       	.long	0x01001808
@@ -191,10 +191,10 @@ Disassembly of section .text:
 # sg3@indntpoff
  +[0-9a-f]+:	ff ff ff ff       	.long	0xffffffff
  +[0-9a-f]+:	ff ff ff 68       	.long	0xffffff68
-# function prolog
- +[0-9a-f]+:	b9 04 00 ef       	lgr	%r14,%r15
+# function prologue (cont.)
+ +[0-9a-f]+:	b9 04 00 bf       	lgr	%r11,%r15
  +[0-9a-f]+:	a7 fb ff 60       	aghi	%r15,-160
- +[0-9a-f]+:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
+ +[0-9a-f]+:	e3 b0 f0 00 00 24 	stg	%r11,0\(%r15\)
 # extract TCB
  +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
  +[0-9a-f]+:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
@@ -218,7 +218,6 @@ Disassembly of section .text:
 # LE, global var defined in exec
  +[0-9a-f]+:	e3 40 d0 20 00 04 	lg	%r4,32\(%r13\)
  +[0-9a-f]+:	41 54 90 00       	la	%r5,0\(%r4,%r9\)
-# function epilog
- +[0-9a-f]+:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
+# function epilogue
+ +[0-9a-f]+:	eb 6f f0 d0 00 04 	lmg	%r6,%r15,208\(%r15\)
  +[0-9a-f]+:	07 fe             	br	%r14
- +[0-9a-f]+:	07 07             	nopr	%r7
diff --git a/ld/testsuite/ld-s390/tlsbin_64.s b/ld/testsuite/ld-s390/tlsbin_64.s
index c40fcfc21029..ff6a46b87ba0 100644
--- a/ld/testsuite/ld-s390/tlsbin_64.s
+++ b/ld/testsuite/ld-s390/tlsbin_64.s
@@ -20,8 +20,8 @@ bl8:	.space 4
 	.globl	_start
 	.type	_start,@function
 _start:
-	/* Function prolog */
-	stm	%r6,%r14,24(%r15)
+	/* Function prologue */
+	stmg	%r6,%r15,48(%r15)
 	bras	%r13,.LTN1
 	/* Literal pool */
 .LT1:
@@ -36,10 +36,10 @@ _start:
 .LC4:
 	.quad	sg3@indntpoff
 .LTN1:
-	/* Function prolog */
-	lgr	%r14,%r15
+	/* Function prologue (cont.) */
+	lgr	%r11,%r15
 	aghi	%r15,-160
-	stg	%r14,0(%r14)
+	stg	%r11,0(%r15)
 
 	/* Extract TCB */
 	ear	%r9,%a0
@@ -70,6 +70,6 @@ _start:
 	lg	%r4,.LC4-.LT1(%r13)
 	la	%r5,0(%r4,%r9)
 
-	/* Function epilog */
-	lmg	%r6,%r14,208(%r15)
+	/* Function epilogue */
+	lmg	%r6,%r15,208(%r15)
 	br	%r14
diff --git a/ld/testsuite/ld-s390/tlsbinpic.s b/ld/testsuite/ld-s390/tlsbinpic.s
index 8600fa6ad958..ad6492cf140a 100644
--- a/ld/testsuite/ld-s390/tlsbinpic.s
+++ b/ld/testsuite/ld-s390/tlsbinpic.s
@@ -32,8 +32,8 @@ sh8:	.long 264
 	.type	fn2,@function
 	.balign	64
 fn2:
-	/* Function prolog */
-	stm	%r6,%r14,24(%r15)
+	/* Function prologue */
+	stm	%r6,%r15,24(%r15)
 	bras	%r13,.LTN1
 	/* Literal pool */
 .LT1:
@@ -72,12 +72,12 @@ fn2:
 .LC16:
 	.long	sh1@gotntpoff
 .LTN1:
-	/* Function prolog */
-	lr	%r14,%r15
+	/* Function prologue (cont.) */
+	lr	%r11,%r15
 	l	%r12,.LC0-.LT1(%r13)
 	ahi	%r15,-96
 	la	%r12,0(%r12,%r13)
-	st	%r14,0(%r14)
+	st	%r11,0(%r15)
 
 	/* Extract TCB and load branch offset */
 	ear	%r9,%a0
@@ -164,6 +164,6 @@ fn2:
 	l	%r3,sh3@gotntpoff(%r12)
 	la	%r3,0(%r3,%r9)
 
-	/* Function epilog */
-	lm	%r6,%r14,120(%r15)
+	/* Function epilogue */
+	lm	%r6,%r15,120(%r15)
 	br	%r14
diff --git a/ld/testsuite/ld-s390/tlsbinpic_64.s b/ld/testsuite/ld-s390/tlsbinpic_64.s
index 99bca2437276..5cc8d6e9351e 100644
--- a/ld/testsuite/ld-s390/tlsbinpic_64.s
+++ b/ld/testsuite/ld-s390/tlsbinpic_64.s
@@ -32,8 +32,8 @@ sh8:	.long 264
 	.type	fn2,@function
 	.balign	64
 fn2:
-	/* Function prolog */
-	stmg	%r6,%r14,48(%r15)
+	/* Function prologue */
+	stmg	%r6,%r15,48(%r15)
 	bras	%r13,.LTN1
 	/* Literal pool */
 .LT1:
@@ -68,11 +68,11 @@ fn2:
 .LC16:
 	.quad	sh1@gotntpoff
 .LTN1:
-	/* Function prolog */
-	lgr	%r14,%r15
+	/* Function prologue (cont.) */
+	lgr	%r11,%r15
 	aghi	%r15,-160
 	larl	%r12,_GLOBAL_OFFSET_TABLE_
-	stg	%r14,0(%r14)
+	stg	%r11,0(%r15)
 
 	/* Extract TCB */
 	ear	%r9,%a0
@@ -179,7 +179,7 @@ fn2:
 	/* IE against hidden var with small got access (no optimization) */
 	lg	%r3,sh3@gotntpoff(%r12)
 	la	%r3,0(%r3,%r9)
-	
-	/* Function epilog */
-	lmg	%r6,%r14,208(%r15)
+
+	/* Function epilogue */
+	lmg	%r6,%r15,208(%r15)
 	br	%r14
diff --git a/ld/testsuite/ld-s390/tlspic.dd b/ld/testsuite/ld-s390/tlspic.dd
index d5caeaf253de..d759875e568c 100644
--- a/ld/testsuite/ld-s390/tlspic.dd
+++ b/ld/testsuite/ld-s390/tlspic.dd
@@ -10,8 +10,8 @@
 Disassembly of section .text:
 
 0+[0-9a-f]+ <fn1>:
-# function prolog
- +[0-9a-f]+:	90 6e f0 18       	stm	%r6,%r14,24\(%r15\)
+# function prologue
+ +[0-9a-f]+:	90 6f f0 18       	stm	%r6,%r15,24\(%r15\)
  +[0-9a-f]+:	a7 d5 00 30       	bras	%r13,[0-9a-f]+ <fn1\+0x64>
 # _GLOBAL_OFFSET_TABLE_-.LT1
  +[0-9a-f]+:	[0-9a-f ]+       	.long	0x[0-9a-f]+
@@ -59,12 +59,12 @@ Disassembly of section .text:
  +[0-9a-f]+:	00 00 00 54       	.long	0x00000054
 # sH2@gotntpoff
  +[0-9a-f]+:	00 00 00 30       	.long	0x00000030
-# function prolog
- +[0-9a-f]+:	18 ef             	lr	%r14,%r15
+# function prologue (cont.)
+ +[0-9a-f]+:	18 bf             	lr	%r11,%r15
  +[0-9a-f]+:	58 c0 d0 00       	l	%r12,0\(%r13\)
  +[0-9a-f]+:	a7 fa ff a0       	ahi	%r15,-96
  +[0-9a-f]+:	41 cc d0 00       	la	%r12,0\(%r12,%r13\)
- +[0-9a-f]+:	50 e0 e0 00       	st	%r14,0\(%r14\)
+ +[0-9a-f]+:	50 b0 f0 00       	st	%r11,0\(%r15\)
 # Extract TCB and load branch offset
  +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
  +[0-9a-f]+:	58 70 d0 04       	l	%r7,4\(%r13\)
@@ -156,8 +156,8 @@ Disassembly of section .text:
 # (no optimization)
  +[0-9a-f]+:	58 30 c0 44       	l	%r3,68\(%r12\)
  +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
-# function prolog
- +[0-9a-f]+:	98 6e f0 78       	lm	%r6,%r14,120\(%r15\)
+# function epilogue
+ +[0-9a-f]+:	98 6f f0 78       	lm	%r6,%r15,120\(%r15\)
  +[0-9a-f]+:	07 fe             	br	%r14
  +[0-9a-f]+:	07 07             	nopr	%r7
  +[0-9a-f]+:	07 07             	nopr	%r7
diff --git a/ld/testsuite/ld-s390/tlspic1.s b/ld/testsuite/ld-s390/tlspic1.s
index ba64e99ea907..34a91285539f 100644
--- a/ld/testsuite/ld-s390/tlspic1.s
+++ b/ld/testsuite/ld-s390/tlspic1.s
@@ -32,8 +32,8 @@ sh8:	.long 264
 	.type	fn1,@function
 	.balign 64
 fn1:
-	/* Function prolog */
-	stm	%r6,%r14,24(%r15)
+	/* Function prologue */
+	stm	%r6,%r15,24(%r15)
 	bras	%r13,.LTN1
 	/* Literal pool */
 .LT1:
@@ -83,13 +83,13 @@ fn1:
 	.long	sh2@gotntpoff
 .LC22:
 	.long	sH2@gotntpoff
-.LTN1:	
-	/* Function prolog */
-	lr	%r14,%r15
+.LTN1:
+	/* Function prologue (cont.) */
+	lr	%r11,%r15
 	l	%r12,.LC0-.LT1(%r13)
 	ahi	%r15,-96
 	la	%r12,0(%r12,%r13)
-	st	%r14,0(%r14)
+	st	%r11,0(%r15)
 
 	/* Extract TCB and load branch offset */
 	ear	%r9,%a0
@@ -202,6 +202,6 @@ fn1:
 	l	%r3,sH5@gotntpoff(%r12)
 	la	%r3,0(%r3,%r9)
 
-	/* Function epilog */
-	lm	%r6,%r14,120(%r15)
+	/* Function epilogue */
+	lm	%r6,%r15,120(%r15)
 	br	%r14
diff --git a/ld/testsuite/ld-s390/tlspic1_64.s b/ld/testsuite/ld-s390/tlspic1_64.s
index ad0e691ac334..bc67b12515a6 100644
--- a/ld/testsuite/ld-s390/tlspic1_64.s
+++ b/ld/testsuite/ld-s390/tlspic1_64.s
@@ -32,8 +32,8 @@ sh8:	.long 264
 	.type	fn1,@function
 	.balign	64
 fn1:
-	/* Function prolog */
-	stmg	%r6,%r14,48(%r15)
+	/* Function prologue */
+	stmg	%r6,%r15,48(%r15)
 	bras	%r13,.LTN1
 	/* Literal pool */
 .LT1:
@@ -79,12 +79,12 @@ fn1:
 	.quad	sh2@gotntpoff
 .LC22:
 	.quad	sH2@gotntpoff
-.LTN1:	
-	/* Function prolog */
-	lgr	%r14,%r15
+.LTN1:
+	/* Function prologue (cont.) */
+	lgr	%r11,%r15
 	larl	%r12,_GLOBAL_OFFSET_TABLE_
 	aghi	%r15,-160
-	stg	%r14,0(%r14)
+	stg	%r11,0(%r15)
 
 	/* Extract TCB */
 	ear	%r9,%a0
@@ -218,6 +218,6 @@ fn1:
 	lg	%r3,sH5@gotntpoff(%r12)
 	la	%r3,0(%r3,%r9)
 
-	/* Function epilog */
-	lmg	%r6,%r14,208(%r15)
+	/* Function epilogue */
+	lmg	%r6,%r15,208(%r15)
 	br	%r14
diff --git a/ld/testsuite/ld-s390/tlspic_64.dd b/ld/testsuite/ld-s390/tlspic_64.dd
index 86fdbbd6fdbf..3b1f03e73666 100644
--- a/ld/testsuite/ld-s390/tlspic_64.dd
+++ b/ld/testsuite/ld-s390/tlspic_64.dd
@@ -10,8 +10,8 @@
 Disassembly of section .text:
 
 0+[0-9a-f]+ <fn1>:
-# function prolog
- +[0-9a-f]+:	eb 6e f0 30 00 24 	stmg	%r6,%r14,48\(%r15\)
+# function prologue
+ +[0-9a-f]+:	eb 6f f0 30 00 24 	stmg	%r6,%r15,48\(%r15\)
  +[0-9a-f]+:	a7 d5 00 56       	bras	%r13,[0-9a-f]+ <fn1\+0xb2>
 # sg1@tlsgd
  +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
@@ -76,11 +76,11 @@ Disassembly of section .text:
 # sH2@gotntpoff
  +[0-9a-f]+:	00 00 00 00       	.long	0x00000000
  +[0-9a-f]+:	00 00 00 60       	.long	0x00000060
-# function prolog
- +[0-9a-f]+:	b9 04 00 ef       	lgr	%r14,%r15
+# function prologue (cont.)
+ +[0-9a-f]+:	b9 04 00 bf       	lgr	%r11,%r15
  +[0-9a-f]+:	c0 c0 [0-9a-f ]+ 	larl	%r12,[0-9a-f]+ <_GLOBAL_OFFSET_TABLE_>
  +[0-9a-f]+:	a7 fb ff 60       	aghi	%r15,-160
- +[0-9a-f]+:	e3 e0 e0 00 00 24 	stg	%r14,0\(%r14\)
+ +[0-9a-f]+:	e3 b0 f0 00 00 24 	stg	%r11,0\(%r15\)
 # extract TCB
  +[0-9a-f]+:	b2 4f 00 90       	ear	%r9,%a0
  +[0-9a-f]+:	eb 94 00 20 00 0d 	sllg	%r9,%r4,32
@@ -189,8 +189,8 @@ Disassembly of section .text:
 # (no optimization)
  +[0-9a-f]+:	e3 30 c0 88 00 04 	lg	%r3,136\(%r12\)
  +[0-9a-f]+:	41 33 90 00       	la	%r3,0\(%r3,%r9\)
-# function epilog
- +[0-9a-f]+:	eb 6e f0 d0 00 04 	lmg	%r6,%r14,208\(%r15\)
+# function epilogue
+ +[0-9a-f]+:	eb 6f f0 d0 00 04 	lmg	%r6,%r15,208\(%r15\)
  +[0-9a-f]+:	07 fe             	br	%r14
  +[0-9a-f]+:	07 07             	nopr	%r7
  +[0-9a-f]+:	07 07             	nopr	%r7
-- 
2.48.1



More information about the Binutils mailing list