[ros-dev] On the use of stabs

Timo Kreuzer timo.kreuzer at web.de
Thu Sep 18 01:44:54 CEST 2008


Although I think that stabs have at least some kind of  usable format
and the DWARF format must have been invented by a really sick mind,
there's actually no alternative to DWARF2 on x64.

To be compatible to x64 binaries, we will at some place need to support
64bit SEH, which is table based rather than frame based. So we need the
internal mechanism for unwinding etc and a possibility to create the
unwind info in a windows compatible way.
DWARF2 should be a useful source for this. So we would need a tool that
would parse DWARF2 unwind info and create proper Windows unwind info
from that..

If we already create a tool that will convert DWARF2 unwind info to a
windows format, we could also do it with line numbers. We could either
convert them into the rsym format or CV4 or COFF. IMO we should do it
like windows does.

Whatever these are just my 50 cent.

Timo


Samuel serapion schrieb:
> In my recent endeavors into porting ReactOS to the amd64 architecture I have
> discovered that the the x86_64-pc-mingw32 target uses DWARF debugging
> symbols by default.
> The reason for this change was very simple, stabs are strictly 32bit. A
> stabs record only has 32 bits to represent an address, it represents less
> information, was never properly standardized, so gdb is pretty much the only
> debugger which can handle gcc stabs in their full glory, and it is larger to
> boot. DWARF is better in every aspect. There is no reason to use stabs these
> days.
>
>
> encoded         � does i386-mingw32 support DWARF2 ?
> NightStrike     � the plan is that gcc4.3 will
> NightStrike     � more specifically, it will also drop support for sjlj
>
> Dwarf 2 Unwind frames for mingw32/cygwin
> patch<http://gcc.gnu.org/ml/gcc-patches/2006-12/msg00133.html>
>
> mingw32-gcc4.3 packages are so patched afaics:
> http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=241304
>
>
> Right now ReactOS has a tool called rsym that parses stabs and coff symbol
> data.
>
> arty            � rsym was made to keep compact line number info
>
>
> Ask yourself:
>
> Could we eliminate an entire build step that is imposed on all ros binaries?
> How hard would it be to teach the kernel about DWARF? (If we really wanted
> to)
>
>
> sedwards        � wine dbghelp supports pdb too
> sedwards        � CV, PDB, Stabs and Dwarf
> sedwards        � as far as I know
>
> Reading Material:
>
> http://dwarfstd.org/dwarf-2.0.0.pdf
> http://dwarfstd.org/Dwarf3.pdf
>   
> ------------------------------------------------------------------------
>
> _______________________________________________
> Ros-dev mailing list
> Ros-dev at reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.reactos.org/pipermail/ros-dev/attachments/20080918/78290ddd/attachment.html 


More information about the Ros-dev mailing list