This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PATCH: PR ld/3191: Linker failed to handle DW_FORM_ref_addr properly


On Wed, Sep 20, 2006 at 12:01:18PM -0700, Jim Wilson wrote:
> How do I reproduce the problem?  I just get undefined linker errors when
> I try to link the client.o file.
> 
> Do you know where the 64-bit DWARF is coming from?  Which object file
> section is this in?  I haven't been able to find any 64-bit DWARF info
> yet.

I think it is a linker dwarf reader problem. Gcc may generate:

         .section .gnu.linkonce.wi.client.cpp.7682538d,"",@progbits
         ...
DW.client.cpp.7682538d.2b:
        .uleb128 0xd
        .long   0x16a
        .byte   0x1
        .long   .LASF10
        .byte   0x1
        .byte   0x25
        .byte   0x1
        .uleb128 0xe
        .long   0x114
        .byte   0x1
        .byte   0x0


        .section        .debug_info
        ...
        .uleb128 0x8d
        .long   0x1c3f
        .quad   DW.client.cpp.7682538d.2b
        .byte   0x0

When reporting linker error, dwarf2 reader assumes that there is only
one .debug_info section. DW_FORM_ref_addr reference to
DW.client.cpp.7682538d.2b isn't handled properly.


H.J.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]