| ... | @@ -2051,7 +2051,7 @@ fn scanAllFunctions(di: *DwarfInfo) !void { | ... | @@ -2051,7 +2051,7 @@ fn scanAllFunctions(di: *DwarfInfo) !void { |
| 2051 | this_die_obj = (try parseDie1(di, abbrev_table, is_64)) orelse return error.InvalidDebugInfo; | 2051 | this_die_obj = (try parseDie1(di, abbrev_table, is_64)) orelse return error.InvalidDebugInfo; |
| 2052 | } else if (this_die_obj.getAttr(DW.AT_specification)) |ref| { | 2052 | } else if (this_die_obj.getAttr(DW.AT_specification)) |ref| { |
| 2053 | // Follow the DIE it points to and repeat | 2053 | // Follow the DIE it points to and repeat |
| 2054 | const ref_offset = try this_die_obj.getAttrRef(DW.AT_abstract_origin); | 2054 | const ref_offset = try this_die_obj.getAttrRef(DW.AT_specification); |
| 2055 | if (ref_offset > next_offset) return error.InvalidDebugInfo; | 2055 | if (ref_offset > next_offset) return error.InvalidDebugInfo; |
| 2056 | try di.dwarf_seekable_stream.seekTo(this_unit_offset + ref_offset); | 2056 | try di.dwarf_seekable_stream.seekTo(this_unit_offset + ref_offset); |
| 2057 | this_die_obj = (try parseDie1(di, abbrev_table, is_64)) orelse return error.InvalidDebugInfo; | 2057 | this_die_obj = (try parseDie1(di, abbrev_table, is_64)) orelse return error.InvalidDebugInfo; |