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 stabs debugging for mingw64 executables loaded at high addresses



> -----Message d'origine-----
> De?: gdb-patches-owner@sourceware.org [mailto:gdb-patches-
> owner@sourceware.org] De la part de Tristan Gingold
> Envoyé?: Wednesday, September 15, 2010 9:29 AM
> À?: Pierre Muller
> Cc?: gdb-patches@sourceware.org
> Objet?: Re: [RFC] Improve stabs debugging for mingw64 executables
> loaded at high addresses
> 
> 
> On Sep 14, 2010, at 5:24 PM, Pierre Muller wrote:
> 
> >>> Comments welcome,
> >>
> >> I think that some 64 bits targets have 8 bytes for the address.
> >
> >
> >  Of course, dwarf debugging doesn't suffer from this limitation,
> > and uses 8-byte for addresses.
> >  This is the default format for most 64-bit targets,
> > and it is the preferred debugging format for 64-bit
> > because of this 4-byte limitation of stabs...
> >  So this is really a marginal case that I presented here.
> 
> To clarify, I meant that some 64 bits targets have 8 bytes for the
> address in *stabs*.
> (eg: darwin64 - but the use of stabs is deprecated for this target).

  Sorry for misunderstanding you.
  I didn't know about a 64-bit version of stabs.
  This is not in GNU binutils then, because
bfd/stabs.c still has a macro called STABSIZE equal to 12
which only allows for a 4-byte address at offset 8 for stab value field.
  There is a FIXME at line 39:
"FIXME: This will have to change for a 64-bit object format."

But nothing changed in code apparently.
  Where is the source of the support for 64-bit stabs for darwin64?

 
> OTOH, dbxread.c seems to be bound to 32-bits stabs address.

  Which seems logical as also bfd only supports 32-bit,
I would be interested in extending support for 64-bit
stabs (which I would then implement inside Free Pascal too).
 
> I am not sure it is right to set objfile->section_offsets->offsets.

  I am not either, that why this is really only a
Request For Comments!
  
> >  The thing is that, for Free Pascal, we have lots of
> > troubles with DWARF (and some 64-bit specific),
> > thus I would like to be able to use STABS format (which
> > is less troublesome) but that also didn't work
> > because of this high address default base used by this compiler.
> 
> So, it might be worth fixing Free Pascal too !
  I could change the default load address inside Free Pascal Source
if stabs is used, but I wanted to try this out,
and as it seemed to help, I wanted to share it as a RFC.
  
  But this addition would allow to handle dynamic libraries
(whose load address might be above the 0x100000000 threshold).
But I remember that for windows at least, there is an
incompatibility between relocation and stabs.

Pierre



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