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

Andrew Cagney
2003-01-28T13:14:47Z

> 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.

Yep. Study it more when most of the mainstream targets have been
overhauled. The PPC (which uses an unusual frame arangement) is
especially troubling.

>> - Modify mips_init_extra_frame_info() to return immediatly when a dummy
>> frame.
>
>
> I'm more confident in this solution. See below. Okay?

Yes.

Andrew

> * 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);
>
>