Mirror of the gdb mailing list
 help / color / mirror / Atom feed
* Re: Namespaces with gcc v3 stabs+?
@ 2002-12-06 19:48 Michael Elizabeth Chastain
  0 siblings, 0 replies; 10+ messages in thread
From: Michael Elizabeth Chastain @ 2002-12-06 19:48 UTC (permalink / raw)
  To: drow; +Cc: carlton, gdb

Daniel Jacobowitz writes:
> Give me a couple of days?  I want to spend a little time hacking on the
> debug info stuff - I'll try to get to it Monday.

Sure, no hurry on my part.

Michael C


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: Namespaces with gcc v3 stabs+?
@ 2002-12-06 13:06 Michael Elizabeth Chastain
  2002-12-06 17:27 ` David Carlton
  2002-12-06 17:58 ` Daniel Jacobowitz
  0 siblings, 2 replies; 10+ messages in thread
From: Michael Elizabeth Chastain @ 2002-12-06 13:06 UTC (permalink / raw)
  To: carlton, drow; +Cc: gdb

David Carlton writes:
> So for now I'd lean towards getting GCC to emit stabs+ info as it did
> in 2.95.3: that should be cheap on everybody's part, and profitable
> enough.

Sounds good to me.  If that's okay with drow, then that's what I'll
request in the bug report.

If gcc doesn't fix the bug at all, then I can point to the bug report
and mark the test case as "xfail".  My view is that, since "xfail" is
caused by a bug in an external program, we'd better have a bug report
to go with it.

> What systems are there that GCC supports for which stabs+ can be used
> but DWARF 2 can't?  How important are they?  Who's supporting them?
> Are there other more modern debug formats that really should be used
> on those systems in place of stabs?

If the user builds gcc with "--with-stabs", gcc prefers dbx
(the gcc name for stabs).  Besides that, there are about 90 configurations
which default to dbx, most of them without dwarf2 support.  Darwin and
Cygwin are the big ones, with some arm configurations in there.

Michael C

  % cd /berman/migchain/source/gcc-3.2.1/gcc/config
  % grep -r -i dbx_debug *

I found these configurations which prefer dbx:

  darwin.h             dbx, dwarf2
  interix.h            dbx, sdb
  lynx-ng.h            dbx, sdb
  lynx.h               dbx, sdb
  netware.h            dbx
  nextstep.h           dbx
  psos.h               dbx

  alpha/linux-ecoff.h  dbx
  alpha/openbsd.h      dbx
  arc/arc.h            dbx, dwarf-2
  arm/aout.h           dbx
  arm/coff.h           dbx, sdb
  arm/netbsd.h         dbx
  arm/rix-gas.h        dbx
  avr/avr.h            dbx
  convex/convex.h      dbx
  cris/aout.h          dbx
  d30v/d30v.h          dbx
  i386/cygwin.h        dbx, sdb
  i386/i386elf.h       dbx
  i386/gstabs.h        dbx
  i386/i386-interix.h  dbx, sdb
  i386/osf1elfgdb.h    dbx
  i386/osfrose.h       dbx
  i386/sco5.h          dbx, sdb, dwarf, dwarf-2
  i386/sequent.h       dbx
  i386/sol2.h          dbx
  i386/sun.h           dbx
  i386/svr3dbx.h       dbx
  i386/win32.h         dbx, sdb
  i860/bsd.h           dbx
  i860/fx2800.h        dbx
  i960/i960.h          dbx, sdb
  m32r/m32r.h          dbx, dwarf, dwarf-2
  m68k/3b1g.h          dbx
  m68k/altos3068.h     dbx
  m68k/ccur-GAS.h      dbx
  m68k/hp2bsd.h        dbx
  m68k/hp310g.h        dbx
  m68k/hp320g.h        dbx
  m68k/hp3bsd.h        dbx
  m68k/hp3bsd44.h      dbx
  m68k/isi.h           dbx
  m68k/linux.h         dbx
  m68k/linux-aout.h    dbx
  m68k/m68kv4.h        dbx
  m68k/netbsd.h        dbx
  m68k/news.h          dbx
  m68k/openbsd.h       dbx
  m68k/pbb.h           dbx
  m68k/sun2.h          dbx
  m68k/sun3.h          dbx
  m68k/vxm68k.h        dbx
  m88k/aout-dbx.h      dbx
  m88k/luna.h          dbx
  m88k/m88k-aout.h     dbx
  mcore/mcore-pe.h     dbx
  mips/dec-bsd.h       dbx
  mips/elf.h           dbx, dwarf-2
  mips/elf64.h         dbx
  mips/iris5gas.h      dbx, sdb, mips
  mips/isa3264.h       dbx
  mips/netbsd.h        dbx
  mips/openbsd.h       dbx
  mips/osfrose.h       dbx
  mn10200/mn10200.h    dbx
  ns32k/merlin.h       dbx
  ns32k/netbsd.h       dbx
  ns32k/pc532.h        dbx
  ns32k/sequent.h      dbx
  ns32k/tek6000.h      dbx
  pa/pa.h              dbx
  romp/romp.h          dbx
  rs6000/netbsd.h      dbx
  rs6000/vxppc.h       dbx
  sparc/linux64.h      dbx, dwarf2
  sparc/litecoff.h     dbx
  sparc/netbsd.h       dbx
  sparc/openbsd.h      dbx
  sparc/pbd.h          dbx
  sparc/sol2-bi.h      dbx # if TARGET_ARCH32
  sparc/sol2.h         dbx
  sparc/sparc.h        dbx
  sparc/vxsim.h        dbx
  sparc/vxsparc64.h    dbx
  v850/v850.h          dbx
  vax/vax.h            dbx
  vax/vaxv.h           dbx


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Re: Namespaces with gcc v3 stabs+?
@ 2002-12-05 18:06 Michael Elizabeth Chastain
  0 siblings, 0 replies; 10+ messages in thread
From: Michael Elizabeth Chastain @ 2002-12-05 18:06 UTC (permalink / raw)
  To: drow; +Cc: gdb

mec>  http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01661.html
drow> Wrong URL, that's Daniel in November...

Whoops!  Try this one:

  http://gcc.gnu.org/ml/gcc-patches/2002-05/msg01715.html

Michael C


^ permalink raw reply	[flat|nested] 10+ messages in thread
* Namespaces with gcc v3 stabs+?
@ 2002-12-05 16:31 Michael Elizabeth Chastain
  2002-12-05 17:14 ` Daniel Jacobowitz
  0 siblings, 1 reply; 10+ messages in thread
From: Michael Elizabeth Chastain @ 2002-12-05 16:31 UTC (permalink / raw)
  To: gdb

Question for Daniel J or David C or Kevin B or anybody who knows
about v3 and stabs support ...

I'm looking at disimprovements from gcc v2 to gcc v3.  One of the
issues is that gcc 2.95.3 / stabs+ emits stab information
for symbols in namespaces, but gcc 3.2.1 / stabs+ emits the stab
information with the wrong name.

Here is a test program:

  namespace AAA
  {
    char mychar;
  }

Here is the output with gcc 2.95.3:

  # gcc 2.95.3, -gstabs+, native i686-pc-linux-gnu
  .stabs "_3AAA.mychar:G(0,2)",32,0,3,0
  .globl _3AAA.mychar
  .bss
	  .type    _3AAA.mychar,@object
	  .size    _3AAA.mychar,1
  _3AAA.mychar:
	  .zero   1

And here is the output with gcc 3.2.1:

  # gcc 3.2.1, -gstabs+, native i686-pc-linux-gnu
  .globl _ZN3AAA6mycharE
	  .bss
	  .type   _ZN3AAA6mycharE,@object
	  .size   _ZN3AAA6mycharE,1
  _ZN3AAA6mycharE:
	  .zero   1
	  .stabs  "mychar:G(0,2)",32,0,3,0

Notice how the stab refers to "mychar", not "_ZN3AAA6mycharE".

The output is similar with gcc 3.0.4, gcc 3.1, gcc 3.1.1, gcc 3.2,
and gcc HEAD%20021203.

Is this ringing any bells?

Kevin B had a similar issue in May 2002:

  http://gcc.gnu.org/ml/gcc-patches/2002-11/msg01661.html

I would like to file a bug report against gcc, and then change
the test script gdb.c++/namespace.exp to XFAIL the test with
stabs+ format and v3 (or later) compilers.

Michael C


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2002-12-09 18:59 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-12-06 19:48 Namespaces with gcc v3 stabs+? Michael Elizabeth Chastain
  -- strict thread matches above, loose matches on Subject: below --
2002-12-06 13:06 Michael Elizabeth Chastain
2002-12-06 17:27 ` David Carlton
2002-12-07  6:49   ` Stan Shebs
2002-12-09 10:59     ` David Carlton
2002-12-06 17:58 ` Daniel Jacobowitz
2002-12-05 18:06 Michael Elizabeth Chastain
2002-12-05 16:31 Michael Elizabeth Chastain
2002-12-05 17:14 ` Daniel Jacobowitz
2002-12-06 11:25   ` David Carlton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox