[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