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

Andrew Cagney ac131313@redhat.com
Thu Jan 23 21:00:00 GMT 2003


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




More information about the Gdb-patches mailing list