This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Are mixed debug formats in one exe supported?
On Tue, 23 Mar 2004, Brian Ford wrote:
> BTW, please CC me as I'm not subscribed to the list. Thanks.
>
> On Tue, 23 Mar 2004, Daniel Jacobowitz wrote:
>
> > On Tue, Mar 23, 2004 at 02:41:01PM -0600, Brian Ford wrote:
> > > I am trying to add DWARF2 support to PE/COFF for Cygwin/Mingw. They
> > > currently use stabs.
> > >
> > > While testing, executables end up having mixed stabs/DWARF2 debugging
> > > info if any system/gcc/previously compiled static libs are linked in.
> > > The result causes gdb to SEGV while traversing the partial symbol tables
> > > looking for symbol main.
> > >
> > > The problem is that init_psymbol_list is called for the executable twice
> > > due to mainline being set at dbxread.c:562, and again at
> > > dwarf2read.c:1076.
> > >
> > > So, the question. Is this meant to work? I assume the reason mainline is
> > > used here is:
> > >
> > > /* If we are reinitializing, or if we have never loaded syms yet, init */
> > >
> > > Why does reinitializing not clean up after itself (ie. reset the
> > > [global|static]_psymbols.size to 0)? Is that a leak?
> > >
> > > I'm going to keep digging, but since I have zero knowledge of gdb
> > > internals, I thought I'd ask and save some time. Thanks.
> >
> > I can't answer any of the more detailed questions, but yes, this is
> > supposed to work. It's easy to produce binaries with both stabs and
> > DWARF-2 on GNU/Linux, and it generally works OK.
> >
> I almost see why. Can someone please tell me why this comment above
> elfstab_build_psymtabs is true for the DWARF part?
>
> This ELF file has already been processed to get its minimal symbols,
> and any DWARF symbols that were in it.
>
> ie. What gaurantees that DWARF is processed before stabs? I can't see
> that yet. If I can understand that, I think I can easily fix my problem.
>
> Thanks again.
>
Sorry to follow up my own post, but I'm now even more confused.
>From what I can see, the order (for elf) is gauranteed to be ECOFF, stabs,
DWARF2, DWARF, DWARF2 frame info. So, that comment just looks wrong. And, I
still don't understand why it works on Linux.
--
Brian Ford
Senior Realtime Software Engineer
VITAL - Visual Simulation Systems
FlightSafety International
Phone: 314-551-8460
Fax: 314-551-8444