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

Andrew Cagney
2003-01-23T21:00:34Z

> Without the following patch in place, I've found that inferior function
> calls are badly broken for the mips linux targets that I've been testing.
> (The warning in heuristic_proc_start() is tripped and things degrade quickly
> from there...)
>
> Okay?
>
> * mips-tdep.c (find_proc_desc): Return early if in a dummy frame.

Hmm, explicit tests for PC in call-dummy set of alarm bells.

Kevin, can you post a backtrace showing how the program came to be
there? Two alternative possabilities (in addition to this patch) are:

- the code should not have been called (and the dummy-frame flow should
have gone elsewhere)

- the code needs to be made per-frame

Andrew

> 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 23 Jan 2003 07:20:26 -0000
> @@ -2350,6 +2350,9 @@ find_proc_desc (CORE_ADDR pc, struct fra
> mips_extra_func_info_t proc_desc;
> CORE_ADDR startaddr = 0;
>
> + if (pc_in_dummy_frame (pc))
> + return NULL;
> +
> proc_desc = non_heuristic_proc_desc (pc, &startaddr);
>
> if (proc_desc)
>