This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Stabs or Dwarf Was: [PATCH]: testsuite/gdb.base/constvars.exp
Fernando Nasser writes:
> Elena Zannoni wrote:
> >
> > Fernando Nasser writes:
> > > Hi Stan,
> > >
> > > Thanks for your comments.
> > >
> > > Stan Shebs wrote:
> > > >
> > > > I can't think of a completely reliable test on binary files. For
> > > > instance, in original a.out, stabs are plain symbols, not in a
> > > > distinctly-named section. You also have the problem of an executable
> > > > maybe having libraries compiled with stabs, and main prog with dwarf,
> > > > and objdump can't distinguish.
> > > >
> > >
> > > True.
> > >
> > > I was thinking just in terms of the testsuite. Most test programs are
> > > a single file. Could we test just the object file for that one?
> >
> > I have seen cases in which we have both a .mdebug and a .stabs (or was
> > that dwarf2) sections (for the same program segment), and even gdb
> > itself gets confused as to which one is the reliable debug
> > info. Frankly I wouldn't be able to say exactly under which
> > circumstances you get this, but I have seen it.
> >
> > I think this is basically what Stan is saying, the heuristic is
> > unreliable.
> >
>
> When you mean that gdb itself gets confused what is the end result of
> that?
> Does it pick one at the end (after a warning or something)?
No warning. For instance I have seen it pick the mdebug info which is
incomplete/incorrect. I have looked back at some old mail, and it was
with mdebug and dwarf2. I'll see if I can figure out what was
happening.
>
> Another question: does it happen even with the simple testsuite
> programs?
>
Don't know. I would think so. If the compiler emits 2 types of debug
info, it, in theory, should behave the same with any program.
> If it is that unreliable, we could make sure the tests run with dwarf
> only
> when we are sure it is there and skip when we are not sure (if we can
> determine that we are not sure from some gdb warning message).
>
It would be probably reliable 'in general'. Probably not that many
platforms emit both mdebug & dwarf2.
> P.S.: We can also be more aggressive and try and see where gdb gets
> confused
> and thinks it is dwarf (and so fail the tests). We could dig for the
> reason
> that happens. Just a thought.
>
>
Yep.
Elena
> --
> Fernando Nasser
> Red Hat Canada Ltd. E-Mail: fnasser@redhat.com
> 2323 Yonge Street, Suite #300
> Toronto, Ontario M4P 2C9