tag = step_leb128U( &abbrev_img );
- if ( tag != 0x0011 /*TAG_compile_unit*/ )
+ if ( tag != 0x0011 /*TAG_compile_unit*/
+ && tag != 0x004a /*TAG_skeleton_unit*/ )
return; /* Not a compile unit (might be partial) or broken DWARF. */
/* DW_CHILDREN_yes or DW_CHILDREN_no */
}
/* Now store the members we need in the UnitInfo structure */
- if ( tag == 0x0011 /*TAG_compile_unit*/ ) {
+ if ( tag == 0x0011 /*TAG_compile_unit*/
+ || tag == 0x004a /*TAG_skeleton_unit*/ ) {
if ( name == 0x03 ) ui->name = sval; /* DW_AT_name */
else if ( name == 0x1b ) ui->compdir = sval; /* DW_AT_compdir */
else if ( name == 0x10 ) ui->stmt_list = cval; /* DW_AT_stmt_list */
if (dtag == DW_TAG_compile_unit
|| dtag == DW_TAG_type_unit
- || dtag == DW_TAG_partial_unit) {
+ || dtag == DW_TAG_partial_unit
+ || dtag == DW_TAG_skeleton_unit) {
Bool have_lo = False;
Bool have_hi1 = False;
Bool hiIsRelative = False;
/* Get info about DW_TAG_compile_unit and DW_TAG_partial_unit which in theory
could also contain inlined fn calls, if they cover an address range. */
Bool unit_has_addrs = False;
- if (dtag == DW_TAG_compile_unit || dtag == DW_TAG_partial_unit) {
+ if (dtag == DW_TAG_compile_unit || dtag == DW_TAG_partial_unit
+ || dtag == DW_TAG_skeleton_unit) {
Bool have_lo = False;
Addr ip_lo = 0;
const HChar *compdir = NULL;
if (dtag == DW_TAG_compile_unit
|| dtag == DW_TAG_type_unit
- || dtag == DW_TAG_partial_unit) {
+ || dtag == DW_TAG_partial_unit
+ || dtag == DW_TAG_skeleton_unit) {
if (level == 0)
setup_cu_bases(cc, c_die, abbv);
/* See if we can find DW_AT_language, since it is important for