[binutils-gdb/jremus/sframe-v3-s390x] TEST: s390: sframe: Represent .cfi_register FP/RA using SFrame V2 encoding
Jens Remus
jremus@sourceware.org
Mon Dec 15 16:25:31 GMT 2025
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=1e07492e6d12ecdeb33d9195cb2d0d09872d0e5b
commit 1e07492e6d12ecdeb33d9195cb2d0d09872d0e5b
Author: Jens Remus <jremus@linux.ibm.com>
Date: Mon Dec 15 15:13:46 2025 +0100
TEST: s390: sframe: Represent .cfi_register FP/RA using SFrame V2 encoding
Use the SFrame V2 encoding of DWARF register numbers as FP/RA offset,
where the register number is shifted to the left by one.
This is for testing and .sframe section size comparison purposes only.
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
Diff:
---
gas/gen-sframe.c | 4 ++--
libsframe/sframe-dump.c | 4 ++--
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/gas/gen-sframe.c b/gas/gen-sframe.c
index d794f2a79ec..1166ce68aff 100644
--- a/gas/gen-sframe.c
+++ b/gas/gen-sframe.c
@@ -1476,11 +1476,11 @@ s390_sframe_xlate_do_register (struct sframe_xlate_ctx *xlate_ctx,
numbers, as offsets from CFA are always a multiple of -8 on s390x. */
if (cfi_insn->u.rr.reg1 == SFRAME_CFA_FP_REG)
sframe_fre_set_fp_track (cur_fre,
- SFRAME_V3_S390X_OFFSET_ENCODE_REGNUM (cfi_insn->u.rr.reg2));
+ SFRAME_V2_S390X_OFFSET_ENCODE_REGNUM (cfi_insn->u.rr.reg2));
else if (sframe_ra_tracking_p ()
&& cfi_insn->u.rr.reg1 == SFRAME_CFA_RA_REG)
sframe_fre_set_ra_track (cur_fre,
- SFRAME_V3_S390X_OFFSET_ENCODE_REGNUM (cfi_insn->u.rr.reg2));
+ SFRAME_V2_S390X_OFFSET_ENCODE_REGNUM (cfi_insn->u.rr.reg2));
return SFRAME_XLATE_OK;
}
diff --git a/libsframe/sframe-dump.c b/libsframe/sframe-dump.c
index 9cbb52254dc..d357b8b486c 100644
--- a/libsframe/sframe-dump.c
+++ b/libsframe/sframe-dump.c
@@ -123,7 +123,7 @@ sframe_s390x_offset_regnum_p (int32_t offset, uint8_t ver)
if (ver == SFRAME_VERSION_2)
return SFRAME_V2_S390X_OFFSET_IS_REGNUM (offset);
else if (ver == SFRAME_VERSION_3)
- return SFRAME_V3_S390X_OFFSET_IS_REGNUM (offset);
+ return SFRAME_V2_S390X_OFFSET_IS_REGNUM (offset);
else
/* No other version is supported yet. */
sframe_assert (false);
@@ -135,7 +135,7 @@ sframe_s390x_offset_decode_regnum (int32_t offset, uint8_t ver)
if (ver == SFRAME_VERSION_2)
return SFRAME_V2_S390X_OFFSET_DECODE_REGNUM (offset);
else if (ver == SFRAME_VERSION_3)
- return SFRAME_V3_S390X_OFFSET_DECODE_REGNUM (offset);
+ return SFRAME_V2_S390X_OFFSET_DECODE_REGNUM (offset);
else
/* No other version is supported yet. */
sframe_assert (false);
More information about the Binutils-cvs
mailing list