From: Tom de Vries Date: Thu, 9 Jan 2025 13:32:19 +0000 (+0100) Subject: [gdb/tdep] Use symbolic constants in s390_prologue_frame_unwind_cache X-Git-Tag: binutils-2_44~218 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d5a005997109212849de49e79c52267b36c06ff;p=thirdparty%2Fbinutils-gdb.git [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 --- diff --git a/gdb/s390-tdep.c b/gdb/s390-tdep.c index 3a672b3869d..70affc914c2 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]);