This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC] Improve amd64 prologue analysis


> From: "Pierre Muller" <pierre.muller@ics-cnrs.unistra.fr>
> Date: Fri, 19 Nov 2010 09:14:56 +0100
> 
> > -----Message d'origine-----
> > De?: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> > owner@sourceware.org] De la part de Joel Brobecker
> > Envoyé?: jeudi 18 novembre 2010 18:22
> > À?: Pierre Muller
> > Cc?: gdb-patches@sourceware.org
> > Objet?: Re: [RFC] Improve amd64 prologue analysis
> > 
> > > Free Pascal for x86_64 (amd64) CPU generates losts of functions
> > > that do not use RBP as a frame pointer.
> > > I tried to improve amd64-tdep.c to better cope
> > > with this case.
> > 
> > I thought that on amd64, we weren't going to have prologue parsers
> > and rely on frame unwinding info instead?   At AdaCore, we have the
> > same sort of things because of Windows where the system code (mostly
> > system DLLs) does not have the unwinding info in DWARF format. But
> > for code generated by us, we have all the debugging information needed
> > to unwind without parsing the prologue, even on Windows64.
> 
>   Does this means that we should only use that code
> if no dwarf debug info is available?

The official amd64 ABI that's used by most, if not all, Unix-like
operating systems, pretty much mandates DWARF-like debug info.  It
really should always be available on platforms that follow that ABI.

Now I suspect that 64-bit Windows, given its utterly retarded IL32P64
model, doesn't follow that ABI.  Therefore my suggestion would be to
only use this code on Windows.

>   The problem currently on Windows-64bit generated code
> is that dwarf debug information is more 
> deeply broken than stabs, so that I am still mainly using stabs
> (especially to debug dwarf problems...).

Hmm, stabs on 64-bit platforms has never really worked.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]