[patch/rfa] hppa stub unwinder

Andrew Cagney cagney@gnu.org
Sat Apr 24 00:03:00 GMT 2004


> Thanks for Andrew's hint, here's a stub unwinder for hppa. Helps us out
> in the testsuites quite a bit. okay to checkin?

(FYI, Ulrich came up with the theory.  Yes it works well -> keeps each 
unwinder focused and simple (far cry from the old way :-)).

It's ok as is (with coding tweaks).  One option, though is to instead of:

> -  frame_unwind_append_sniffer (gdbarch, hppa_frame_unwind_sniffer);
> -  frame_base_append_sniffer (gdbarch, hppa_frame_base_sniffer);
> -
> -  set_gdbarch_pseudo_register_read (gdbarch, hppa_pseudo_register_read);
>  
>    /* Hook in ABI-specific overrides, if they have been registered.  */
>    gdbarch_init_osabi (info, gdbarch);
> +
> +  /* Hook in the default unwinders.  Do this last in case the osabi
> +     wants to add additional unwinders.  */
> +  frame_unwind_append_sniffer (gdbarch, hppa_stub_unwind_sniffer);
> +  frame_unwind_append_sniffer (gdbarch, hppa_frame_unwind_sniffer);
> +  frame_base_append_sniffer (gdbarch, hppa_frame_base_sniffer);
> +  frame_base_set_default (gdbarch, &hppa_frame_base);

use frame_unwind_prepend_unwinder() which addresses the ordering 
problem.  If you want to convert things, it's pre-approved.

> randolph
> 
> 
> 2004-04-22  Randolph Chung  <tausq@debian.org>
> 
> 	* hppa-tdep.c (hppa_stub_unwind_cache, hppa_stub_frame_unwind_cache)
> 	(hppa_stub_frame_this_id, hppa_stub_frame_prev_register)
> 	(hppa_stub_frame_unwind, hppa_stub_unwind_sniffer): New stub unwinder
> 	for handling stackless frames.
> 	(hppa_gdbarch_init): Link in hppa_stub_unwind_sniffer. Rearrange the
> 	order of unwinder registration vs init_osabi so that additional
> 	osabi-specific unwinders can be hooked in.

Andrew




More information about the Gdb-patches mailing list