diff options
author | Tom de Vries <tdevries@suse.de> | 2025-01-09 14:32:19 +0100 |
---|---|---|
committer | Tom de Vries <tdevries@suse.de> | 2025-01-09 14:32:19 +0100 |
commit | 7d5a005997109212849de49e79c52267b36c06ff (patch) | |
tree | 249f7922901d33e19ddbbfa68b9191b72439a089 | |
parent | 2063681a381c2b582f811d47658f7383b85ac21a (diff) | |
download | binutils-7d5a005997109212849de49e79c52267b36c06ff.zip binutils-7d5a005997109212849de49e79c52267b36c06ff.tar.gz binutils-7d5a005997109212849de49e79c52267b36c06ff.tar.bz2 |
[gdb/tdep] Use symbolic constants in s390_prologue_frame_unwind_cache
In s390_prologue_frame_unwind_cache there are two loops using a hardcoded
constant 16:
...
for (i = 0; i < 16; i++)
if (s390_register_call_saved (gdbarch, S390_R0_REGNUM + i)
...
for (i = 0; i < 16; i++)
if (s390_register_call_saved (gdbarch, S390_F0_REGNUM + i)
...
Fix this by using symbolic constants S390_NUM_GPRS and S390_NUM_FPRS instead.
Tested on s390x-linux, by rebuilding.
Approved-By: Andreas Arnez <arnez@linux.ibm.com>
-rw-r--r-- | gdb/s390-tdep.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 3a672b3..70affc9 100644 --- a/gdb/s390-tdep.c +++ b/gdb/s390-tdep.c @@ -2532,12 +2532,12 @@ s390_prologue_frame_unwind_cache (const frame_info_ptr &this_frame, ABI; for call-clobbered registers the parser may have recognized spurious stores. */ - for (i = 0; i < 16; i++) + for (i = 0; i < S390_NUM_GPRS; i++) if (s390_register_call_saved (gdbarch, S390_R0_REGNUM + i) && data.gpr_slot[i] != 0) info->saved_regs[S390_R0_REGNUM + i].set_addr (cfa - data.gpr_slot[i]); - for (i = 0; i < 16; i++) + for (i = 0; i < S390_NUM_FPRS; i++) if (s390_register_call_saved (gdbarch, S390_F0_REGNUM + i) && data.fpr_slot[i] != 0) info->saved_regs[S390_F0_REGNUM + i].set_addr (cfa - data.fpr_slot[i]); |