Dwarf3 reader: handle Dwarf3 created by gcc-4.5.1. In other words,

work around the all-new-buggy-Dwarf3 created by gcc-4.5.1.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11418
This commit is contained in:
Julian Seward 2010-10-08 23:57:25 +00:00
parent 87b45f3ae4
commit 18503c8e64
2 changed files with 7 additions and 2 deletions

View File

@ -3759,8 +3759,11 @@ void new_dwarf3_reader_wrk (
key.dioff = varp->absOri; /* this is what we want to find */
found = VG_(lookupXA)( dioff_lookup_tab, &keyp,
&ixFirst, &ixLast );
if (!found)
barf("DW_AT_abstract_origin can't be resolved");
if (!found) {
/* barf("DW_AT_abstract_origin can't be resolved"); */
TRACE_D3(" SKIP (DW_AT_abstract_origin can't be resolved)\n\n");
continue;
}
/* If the following fails, there is more than one entry with
the same dioff. Which can't happen. */
vg_assert(ixFirst == ixLast);

View File

@ -692,6 +692,8 @@ MaybeULong ML_(sizeOfType)( XArray* /* of TyEnt */ tyents,
- bo->Te.Bound.boundL + 1) ));
}
return eszB;
case Te_TyVoid:
return mk_MaybeULong_Nothing(); /*UNKNOWN*/
default:
VG_(printf)("ML_(sizeOfType): unhandled: ");
ML_(pp_TyEnt)(ent);