From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4125 invoked by alias); 24 Apr 2004 00:03:12 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 3974 invoked from network); 24 Apr 2004 00:03:09 -0000 Received: from unknown (HELO mx1.redhat.com) (66.187.233.31) by sources.redhat.com with SMTP; 24 Apr 2004 00:03:09 -0000 Received: from int-mx1.corp.redhat.com (int-mx1.corp.redhat.com [172.16.52.254]) by mx1.redhat.com (8.12.10/8.12.10) with ESMTP id i3O038KG001573 for ; Fri, 23 Apr 2004 20:03:08 -0400 Received: from localhost.redhat.com (to-dhcp51.toronto.redhat.com [172.16.14.151]) by int-mx1.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i3O038p30995 for ; Fri, 23 Apr 2004 20:03:08 -0400 Received: from gnu.org (localhost [127.0.0.1]) by localhost.redhat.com (Postfix) with ESMTP id D3AF22BA0; Fri, 23 Apr 2004 10:25:09 -0400 (EDT) Message-ID: <40892745.8010807@gnu.org> Date: Sat, 24 Apr 2004 00:03:00 -0000 From: Andrew Cagney User-Agent: Mozilla/5.0 (X11; U; NetBSD macppc; en-GB; rv:1.4.1) Gecko/20040217 MIME-Version: 1.0 To: Randolph Chung Cc: gdb-patches@sources.redhat.com Subject: Re: [patch/rfa] hppa stub unwinder References: <20040423040108.GD17279@tausq.org> In-Reply-To: <20040423040108.GD17279@tausq.org> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-SW-Source: 2004-04/txt/msg00593.txt.bz2 > 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 > > * 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