From 7d5a005997109212849de49e79c52267b36c06ff Mon Sep 17 00:00:00 2001 From: Tom de Vries Date: Thu, 9 Jan 2025 14:32:19 +0100 Subject: [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 --- gdb/s390-tdep.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'gdb') 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]); -- cgit v1.1