[Bug 18628] Dwarf section in Ubuntu 9.04 libc debug package fails to parse.

wine-bugs at winehq.org wine-bugs at winehq.org
Wed May 27 16:36:35 CDT 2009


http://bugs.winehq.org/show_bug.cgi?id=18628


Sylvain Pasche <sylvain.pasche at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Assertion failure when      |Dwarf section in Ubuntu
                   |setting a breakpoint        |9.04 libc debug package
                   |(x86_64 host)               |fails to parse.




--- Comment #4 from Sylvain Pasche <sylvain.pasche at gmail.com>  2009-05-27 16:36:35 ---
After some digging, this has nothing to do with 64bit or not. The issue is that
I have the libc6-dbg package installed, and the Dwarf parser asserts when
reading the debug information the .so in that package.

trace:dbghelp:elf_load_file Processing elf file 'L"/lib32/libc.so.6"' at
f7cb2000
trace:dbghelp:module_new => ELF f7cb2000-f7e15000 L"/lib32/libc.so.6"
warn:dbghelp:elf_check_debug_link Bad CRC for file L"/lib32/libc-2.9.so" (got
ee3d02ac while expecting 60b35a44)
trace:dbghelp:elf_locate_debug_link Located debug information file libc-2.9.so
at L"/usr/lib/debug//lib32/libc-2.9.so"

[...]
race:dbghelp_dwarf:dwarf2_parse_variable ctx(0x33ec88,L"libc.so.6"), for
debug_info(abbrev:0x5202ac,symt:(nil))
trace:dbghelp_dwarf:dwarf2_fill_attr ref4<0x7d9f>
trace:dbghelp_dwarf:dwarf2_fill_attr strp<__libc_errno>
fixme:dbghelp_dwarf:compute_location Unhandled attr op: e0
trace:dbghelp_dwarf:dwarf2_parse_variable found parameter __libc_errno (kind=0,
offset=2127723594, reg=-1) at ctx(0x33ec88,L"libc.so.6")
../../../wine-git/dlls/dbghelp/dwarf.c:1362: dwarf2_parse_variable: Assertion
`subpgm->func' failed.


My guess is that the issue is a consequence of the unknown Dwarf op 0xe0.
This one seems to be a GNU extension (from gcc-4.3.3/gcc/dwarf2.h):

    /* GNU extensions.  */
    DW_OP_GNU_push_tls_address = 0xe0,

readelf --debug-dump   /usr/lib/debug/lib/libc-2.9.so

 <1><8227>: Abbrev Number: 14 (DW_TAG_variable)
    <8228>   DW_AT_name        : (indirect string, offset: 0x2700):
__libc_errno        
    <822c>   DW_AT_decl_file   : 4      
    <822d>   DW_AT_decl_line   : 33     
    <822e>   DW_AT_type        : <0x810f>       
    <8232>   DW_AT_external    : 1      
    <8233>   DW_AT_location    : 10 byte block: 3 10 0 0 0 0 0 0 0 e0  
(DW_OP_addr: 10; DW_OP_GNU_push_tls_address or DW_OP_HP_unknown)

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list