[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