From: Jim Kingdon Date: Mon, 31 Jan 1994 21:22:44 +0000 (+0000) Subject: * mips-tdep.c: Remove code which sets saved_regs from X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=14d7956255fe67972d0cfb088803811be7074bbf;p=binutils-gdb.git * mips-tdep.c: Remove code which sets saved_regs from init_extra_frame_info and put it in new function mips_find_saved_regs. (READ_FRAME_REG): Remove macro and replace uses with the expansion. * mips-tdep.c, config/mips/tm-mips.h: When examining ->saved_regs, check if it is NULL and call mips_find_saved_regs if so. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 6fb1a199c36..c62593b5396 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ Mon Jan 31 12:12:34 1994 Jim Kingdon (kingdon@lioth.cygnus.com) + * mips-tdep.c: Remove code which sets saved_regs from + init_extra_frame_info and put it in new function mips_find_saved_regs. + (READ_FRAME_REG): Remove macro and replace uses with the expansion. + * mips-tdep.c, config/mips/tm-mips.h: When examining ->saved_regs, + check if it is NULL and call mips_find_saved_regs if so. + * remote-mips.c: Use unfiltered, not filtered, output most places. * blockframe.c (get_prev_frame_info): Detect and stop an infinite diff --git a/gdb/config/mips/tm-mips.h b/gdb/config/mips/tm-mips.h index 5a56666318f..74517178495 100644 --- a/gdb/config/mips/tm-mips.h +++ b/gdb/config/mips/tm-mips.h @@ -272,9 +272,13 @@ extern int in_sigtramp PARAMS ((CORE_ADDR, char *)); ways in the stack frame. sp is even more special: the address we return for it IS the sp for the next frame. */ -#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) ( \ - (frame_saved_regs) = *(frame_info)->saved_regs, \ - (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame) +#define FRAME_FIND_SAVED_REGS(frame_info, frame_saved_regs) \ + do { \ + if ((frame_info)->saved_regs == NULL) \ + mips_find_saved_regs (frame_info); \ + (frame_saved_regs) = *(frame_info)->saved_regs; \ + (frame_saved_regs).regs[SP_REGNUM] = (frame_info)->frame; \ + } while (0) /* Things needed for making the inferior call functions. */