| ... | @@ -1390,8 +1390,12 @@ pub const DwarfInfo = struct { | ... | @@ -1390,8 +1390,12 @@ pub const DwarfInfo = struct { |
| 1390 | | 1390 | |
| 1391 | // All the addresses in the list are relative to the value | 1391 | // All the addresses in the list are relative to the value |
| 1392 | // specified by DW_AT_low_pc or to some other value encoded | 1392 | // specified by DW_AT_low_pc or to some other value encoded |
| 1393 | // in the list itself | 1393 | // in the list itself. |
| 1394 | var base_address = try compile_unit.die.getAttrAddr(DW.AT_low_pc); | 1394 | // If no starting value is specified use zero. |
| | 1395 | var base_address = compile_unit.die.getAttrAddr(DW.AT_low_pc) catch |err| switch (err) { |
| | 1396 | error.MissingDebugInfo => 0, |
| | 1397 | else => return err, |
| | 1398 | }; |
| 1395 | | 1399 | |
| 1396 | try s.seekable_stream.seekTo(ranges_offset); | 1400 | try s.seekable_stream.seekTo(ranges_offset); |
| 1397 | | 1401 | |
| ... | @@ -1410,8 +1414,6 @@ pub const DwarfInfo = struct { | ... | @@ -1410,8 +1414,6 @@ pub const DwarfInfo = struct { |
| 1410 | return compile_unit; | 1414 | return compile_unit; |
| 1411 | } | 1415 | } |
| 1412 | } | 1416 | } |
| 1413 | | | |
| 1414 | return error.InvalidDebugInfo; | | |
| 1415 | } else |err| { | 1417 | } else |err| { |
| 1416 | if (err != error.MissingDebugInfo) return err; | 1418 | if (err != error.MissingDebugInfo) return err; |
| 1417 | continue; | 1419 | continue; |