Re: [patch/rfa] hppa stub unwinder

Andrew Cagney
2004-04-24T00:03:12Z

> 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