• Cary Coutant's avatar
    * doc/binutils.texi: Add --dwarf-check option. · 4723351a
    Cary Coutant authored
    	* dwarf.c (dwarf_check): New global flag.
    	(fetch_indexed_string): New function.
    	(fetch_indexed_value): New function.
    	(get_FORM_name): Add DW_FORM_GNU_str_index and DW_FORM_GNU_addr_index.
    	(decode_location_expression): Add DW_OP_GNU_addr_index.
    	(read_and_display_attr_value): Add DW_FORM_GNU_str_index,
    	DW_FORM_GNU_addr_index, DW_AT_GNU_addr_base, and DW_AT_GNU_ranges_base.
    	(get_AT_name): Add new attributes for Fission.
    	(process_debug_info): Load new debug sections for Fission.
    	(load_debug_info): Check for .debug_info.dwo section.
    	(display_loc_list, display_loc_list_dwo): New functions.
    	(display_debug_loc): Move logic to above two functions.
    	(display_debug_info): Choose abbrev section based on info section.
    	(display_debug_types): Likewise.
    	(display_trace_info): Likewise.
    	(comp_addr_base): New function.
    	(display_debug_addr): New function.
    	(display_debug_str_offsets): New function.
    	(display_debug_ranges): Allow missing range lists.  Suppress
    	diagnostics if dwarf_check not set.
    	(debug_displays): Add column to select abbrev section.
    	* dwarf.h (enum dwarf_section_display_enum): Add new debug sections
    	for Fission.
    	(struct dwarf_section): Add abbrev_sec field.
    	(struct dwarf_section_display): New type.
    	(debug_info): Add addr_base, ranges_base fields.
    	(dwarf_check): New global variable.
    	* objdump.c (usage): Add --dwarf-check option.
    	(enum option_values): Add OPTION_DWARF_CHECK.
    	(long_options): Add --dwarf-check.
    	(main): Likewise.
    	* readelf.c (OPTION_DWARF_CHECK): New macro.
    	(options): Add --dwarf-check.
    	(parse_args): Likewise.
    	(process_section_headers): Use const_strneq instead of
    	streq.
    4723351a
dwarf.c 165 KB