[patch] Add split DWARF (Fission) support to readelf/objdump

nick clifton nickc@redhat.com
Fri May 11 15:34:00 GMT 2012


Hi Cary,


> 2012-05-04  Sterling Augustine<saugustine@google.com>
> 	Cary Coutant<ccoutant@google.com>
>
> binutils/
>
> 	* doc/binutils.texi: Add --dwarf-check option.
> 	* 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.

Approved - please apply.

Cheers
   Nick



More information about the Binutils mailing list