This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
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.