------- Comment #4 from pinskia at gcc dot gnu dot org 2006-09-20 06:09 ------- Actually, wait GCC outputs the correct thing: case dw_val_class_die_ref: if (AT_ref_external (a)) { char *sym = AT_ref (a)->die_symbol;
gcc_assert (sym); dw2_asm_output_offset (DWARF2_ADDR_SIZE, sym, debug_info_section, "%s", name); } else { gcc_assert (AT_ref (a)->die_offset); dw2_asm_output_data (DWARF_OFFSET_SIZE, AT_ref (a)->die_offset, "%s", name); } .... case dw_val_class_die_ref: if (AT_ref_external (a)) return DW_FORM_ref_addr; else return DW_FORM_ref; So we really output dwarf2 (and not dwarf3 and this is invalid. -- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |INVALID http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29146