Module Name: src Committed By: christos Date: Wed Jun 8 21:32:27 UTC 2016
Modified Files: src/external/cddl/osnet/dist/tools/ctf/cvt: dwarf.c Log Message: Grr, gcc-5.4 creates DW_AT_typedef without DW_AT_type for HARD_REG_SET! <1><c26b>: Abbrev Number: 4 (DW_TAG_typedef) <c26c> DW_AT_name : (indirect string, offset: 0x16e30): HARD_REG_ELT_TYPE <c270> DW_AT_decl_file : 57 <c271> DW_AT_decl_line : 43 <c272> DW_AT_type : <0x70> <1><c276>: Abbrev Number: 102 (DW_TAG_typedef) <c277> DW_AT_name : (indirect string, offset: 0x2f954): HARD_REG_SET <c27b> DW_AT_decl_file : 57 <c27c> DW_AT_decl_line : 54 To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c diff -u src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.22 src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.23 --- src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.22 Fri Mar 18 13:07:23 2016 +++ src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c Wed Jun 8 17:32:27 2016 @@ -1224,8 +1224,18 @@ die_sou_resolve(tdesc_t *tdp, tdesc_t ** (mt->t_name == NULL || mt->t_name[0] == '\0')) continue; - printf("%s unresolved type = %d (%s)\n", tdesc_name(tdp), - mt->t_type, tdesc_name(mt)); + /* + * XXX: Gcc-5.4 DW_TAG_typedef without DW_AT_type; + * assume pointer + */ + if (mt->t_id == TID_VOID) { + ml->ml_size = dw->dw_ptrsz; + continue; + } + + fprintf(stderr, "%s unresolved type=%d (%s) tid=%#x\n", + tdesc_name(tdp), mt->t_type, tdesc_name(mt), + mt->t_id); dw->dw_nunres++; return (1); }