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);
}