Improve the speed of the --dwarf-start option by skipping processing of any comp unit that ends before the specified start address.

PR 22249
	* dwarf.c (process_debug_info): Skip any comp unit that ends
	before dwarf_start_die.
This commit is contained in:
Nick Clifton
2017-10-10 13:37:58 +01:00
parent fc3c534364
commit ae7e782556
2 changed files with 14 additions and 0 deletions

View File

@@ -2667,6 +2667,14 @@ process_debug_info (struct dwarf_section *section,
SAFE_BYTE_GET_AND_INC (type_offset, hdrptr, offset_size, end);
}
if (dwarf_start_die > (cu_offset + compunit.cu_length
+ initial_length_size))
{
start = section_begin + cu_offset + compunit.cu_length
+ initial_length_size;
continue;
}
if ((do_loc || do_debug_loc || do_debug_ranges)
&& num_debug_info_entries == 0
&& ! do_types)