Re: [RFA] mips-tdep.c: Fix inferior function call breakage

Kevin Buettner
2003-01-27T23:57:29Z

On Jan 27, 5:58pm, Andrew Cagney wrote:

> I can see two options:
>
> - Modify get_prev_frame() to not call init extra info when in a dummy
> frame. Not to sure about this.

This might be okay, but it needs to be studied.

> - Modify mips_init_extra_frame_info() to return immediatly when a dummy
> frame.

I'm more confident in this solution. See below. Okay?

* mips-tdep.c (mips_init_extra_frame_info): Return early for
dummy frames.

Index: mips-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/mips-tdep.c,v
retrieving revision 1.160
diff -u -p -r1.160 mips-tdep.c
--- mips-tdep.c 19 Jan 2003 04:06:46 -0000 1.160
+++ mips-tdep.c 27 Jan 2003 23:51:21 -0000
@@ -2468,9 +2468,13 @@ static void
mips_init_extra_frame_info (int fromleaf, struct frame_info *fci)
{
int regnum;
+ mips_extra_func_info_t proc_desc;
+
+ if (get_frame_type (fci) == DUMMY_FRAME)
+ return;

/* Use proc_desc calculated in frame_chain */
- mips_extra_func_info_t proc_desc =
+ proc_desc =
get_next_frame (fci)
? cached_proc_desc
: find_proc_desc (get_frame_pc (fci), get_next_frame (fci), 1);