From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22059 invoked by alias); 12 Nov 2005 04:22:29 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Received: (qmail 22050 invoked by uid 22791); 12 Nov 2005 04:22:26 -0000 Received: from zproxy.gmail.com (HELO zproxy.gmail.com) (64.233.162.200) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Sat, 12 Nov 2005 04:22:26 +0000 Received: by zproxy.gmail.com with SMTP id l1so851929nzf for ; Fri, 11 Nov 2005 20:22:25 -0800 (PST) Received: by 10.36.79.19 with SMTP id c19mr1987497nzb; Fri, 11 Nov 2005 20:22:25 -0800 (PST) Received: by 10.37.2.35 with HTTP; Fri, 11 Nov 2005 20:22:24 -0800 (PST) Message-ID: <8f2776cb0511112022k746e7909r24be2e964dd45a13@mail.gmail.com> Date: Sat, 12 Nov 2005 05:07:00 -0000 From: Jim Blandy To: Randolph Chung Subject: Re: [hppa] FYI: confusion in unwind descriptor field meaning Cc: Joel Brobecker , gdb-patches@sources.redhat.com In-Reply-To: <4375624D.1070202@tausq.org> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <20051109203108.GX1635@adacore.com> <43735815.3070805@tausq.org> <20051111001017.GJ1635@adacore.com> <437548AF.5090107@tausq.org> <8f2776cb0511111838m64d478d9s2e04db338fbf7fc8@mail.gmail.com> <4375624D.1070202@tausq.org> X-SW-Source: 2005-11/txt/msg00156.txt.bz2 On 11/11/05, Randolph Chung wrote: > >>For that matter, how do you find the beginning of the function without > >>unwind data? > > > > Linker symbols. If you don't have them, then prologue analysis isn't u= seful. > > This is what I meant - on hppa, even without linker symbols, we can > still do prologue analysis because the ABI mandates unwind records. So > we can actually do unwinding more robustly based on the unwind records. > This is especially useful when you have mixed code compiled with > different flags and/or have been stripped. Hmm. Is it possible to find a function's entry point from a PC within that function's code given only the unwind records? If the detailed contents of the unwind records are difficult to interpret accurately, but we can accurately recover entry points from them, and prologue analysis works, then we could use the unwind records *only* to discover entry points, and then use prologue analysis to actually get the unwind information. I'm sounding like some kind of prologue analysis fanatic here, but really I'm not. We should make the best use of the techniques and information available, and it sounds to me like prologue analysis is comparable with the alternatives here, if we can find the information it needs.