This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [rfa] Dwarf2 testsuite
On Fri, Oct 08, 2004 at 01:38:48PM -0700, Michael Snyder wrote:
> Daniel Jacobowitz wrote:
> >This patch adds a sample test for DWARF-2 unit testing. It requires:
> > - gas, for the .uleb128/.sleb128 directives among other things
> > - ELF; it could probably be made to work on non-ELF dwarf2 systems
> > but I don't know what changes would be necessary. Perhaps those
> > should be tested separately.
> >
> >I haven't tried, but I wrote it with the intent that it would not care
> >about
> >the host beyond that; it should run on 64-bit ELF targets OK.
> >
> >It just includes a trivial test containing hand-written DIEs for a single
> >CU. This one file I annotated exhaustively, and let me tell you, it was
> >exhausting; for future tests I will allow them to be self-documenting (the
> >comments don't say anything that compiling the file and running readelf
> >won't tell you).
> >
> >The test itself just demonstrates that the dwarf2 reader isn't completely
> >busted. But more interesting tests could be easily added.
> >
> >Look OK? Suggestions?
> >
>
> Looks exhausting. I'm glad you're doing this.
>
> Dan, what would you think about (somebody) writing a tool
> that could read some sort of description (eg. what's in
> your comments), and generate the dwarf2 recs? Sort of a
> simple compiler that accepts, in effect, the dwarf2 spec
> as input? Would that be, perhaps, less of an effort than
> writing a sufficiently large subset of tests by hand?
<chanting> Do it! Do it! Do it! </chanting>
Does that answer your question? Yes, it would absolutely be less
effort. It would be a little tricky. Done properly could
encapsulate most of the time-consuming bits - in particular, it could
handle testing both 32-bit and 64-bit mode, and it could automate (for
the common cases at least) the nasty bits of .debug_abbrev and
.debug_line.
I'm not sure what it would output. Maybe a text file full of .byte
directives, so that we could #include it from an asm file with the
labels referenced in it.
--
Daniel Jacobowitz