http://bugs.winehq.org/show_bug.cgi?id=25920
--- Comment #3 from Austin English austinenglish@gmail.com 2011-03-21 15:18:19 CDT --- (In reply to comment #2)
1/ confirming crash 2/ however, clang generates bogus dwarf information:
(compilation with -O2, clang version 2.8) ----8<--- [eric:~/work/output-wine/wine-clang]$ dwarfdump dlls/kernel32/kernel32.dll.so <<....>> .debug_line: line number info for a single cu dwarfdump ERROR: dwarf_srclines: DW_DLE_ATTR_FORM_BAD (114)
<<....>>
3/ seems confirmed by some web searches (on clang 2.8) see for example: http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20110221/117178....
4/ looking at the hexdump of the section show that the .debug_line section doesn't even contain its header
5/ I'll send a patch to protect dbghelp against bogus .debug_line sections in dwarf files. winedbg now generates the correct backtrace (even if they are a tons of duplicate symbols info. some of them are harmless, some others may require some more care. that would require another bug report.
Thanks! I filed bug 26509 for that.
6/ I didn't test for the yet to come 2.9 version (or its RC), but definitively a clang bug.
That sounds a bit like http://llvm.org/bugs/show_bug.cgi?id=9268