DW_FORM_ref_addr uses address size in DWARF2, but uses offset size in DWARF3. The current linker can only handle DWARF2 info. It looks like gcc generates DWARF3 DW_FORM_ref_addr while marking debug info as DWARF2. See
http://sourceware.org/bugzilla/show_bug.cgi?id=3191 -- Summary: Gcc generates DWARF3 DW_FORM_ref_addr in DWARF2 info Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: debug AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: hjl at lucon dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29146