From c8450da85c70275a0d6c414df4d732f2bd97f8d2 Mon Sep 17 00:00:00 2001 From: Tristan Gingold Date: Mon, 6 Jul 2009 14:45:56 +0000 Subject: [PATCH] 2009-07-06 Tristan Gingold * objdump.c (dump_dwarf_section): Handle .eh_frame like other dwarf sections. * dwarf.h (struct dwarf_section_display): Remove eh_frame field. * dwarf.c (debug_displays): Adjust for removed field. --- binutils/ChangeLog | 7 +++++++ binutils/dwarf.c | 32 ++++++++++++++++---------------- binutils/dwarf.h | 1 - binutils/objdump.c | 25 +++++++++++-------------- 4 files changed, 34 insertions(+), 31 deletions(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 2baf105aa76..36e8dd9d609 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,10 @@ +2009-07-06 Tristan Gingold + + * objdump.c (dump_dwarf_section): Handle .eh_frame like other dwarf + sections. + * dwarf.h (struct dwarf_section_display): Remove eh_frame field. + * dwarf.c (debug_displays): Adjust for removed field. + 2009-07-03 Jakub Jelinek * dwarf.c (decode_location_expression): Handle DW_OP_stack_value diff --git a/binutils/dwarf.c b/binutils/dwarf.c index 86bf2cb802f..dc0fedc4ac7 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -4878,35 +4878,35 @@ dwarf_select_sections_all (void) struct dwarf_section_display debug_displays[] = { { { ".debug_abbrev", ".zdebug_abbrev", NULL, NULL, 0, 0 }, - display_debug_abbrev, &do_debug_abbrevs, 0, 0 }, + display_debug_abbrev, &do_debug_abbrevs, 0 }, { { ".debug_aranges", ".zdebug_aranges", NULL, NULL, 0, 0 }, - display_debug_aranges, &do_debug_aranges, 1, 0 }, + display_debug_aranges, &do_debug_aranges, 1 }, { { ".debug_frame", ".zdebug_frame", NULL, NULL, 0, 0 }, - display_debug_frames, &do_debug_frames, 1, 0 }, + display_debug_frames, &do_debug_frames, 1 }, { { ".debug_info", ".zdebug_info", NULL, NULL, 0, 0 }, - display_debug_info, &do_debug_info, 1, 0 }, + display_debug_info, &do_debug_info, 1 }, { { ".debug_line", ".zdebug_line", NULL, NULL, 0, 0 }, - display_debug_lines, &do_debug_lines, 1, 0 }, + display_debug_lines, &do_debug_lines, 1 }, { { ".debug_pubnames", ".zdebug_pubnames", NULL, NULL, 0, 0 }, - display_debug_pubnames, &do_debug_pubnames, 0, 0 }, + display_debug_pubnames, &do_debug_pubnames, 0 }, { { ".eh_frame", "", NULL, NULL, 0, 0 }, - display_debug_frames, &do_debug_frames, 1, 1 }, + display_debug_frames, &do_debug_frames, 1 }, { { ".debug_macinfo", ".zdebug_macinfo", NULL, NULL, 0, 0 }, - display_debug_macinfo, &do_debug_macinfo, 0, 0 }, + display_debug_macinfo, &do_debug_macinfo, 0 }, { { ".debug_str", ".zdebug_str", NULL, NULL, 0, 0 }, - display_debug_str, &do_debug_str, 0, 0 }, + display_debug_str, &do_debug_str, 0 }, { { ".debug_loc", ".zdebug_loc", NULL, NULL, 0, 0 }, - display_debug_loc, &do_debug_loc, 1, 0 }, + display_debug_loc, &do_debug_loc, 1 }, { { ".debug_pubtypes", ".zdebug_pubtypes", NULL, NULL, 0, 0 }, - display_debug_pubnames, &do_debug_pubnames, 0, 0 }, + display_debug_pubnames, &do_debug_pubnames, 0 }, { { ".debug_ranges", ".zdebug_ranges", NULL, NULL, 0, 0 }, - display_debug_ranges, &do_debug_ranges, 1, 0 }, + display_debug_ranges, &do_debug_ranges, 1 }, { { ".debug_static_func", ".zdebug_static_func", NULL, NULL, 0, 0 }, - display_debug_not_supported, NULL, 0, 0 }, + display_debug_not_supported, NULL, 0 }, { { ".debug_static_vars", ".zdebug_static_vars", NULL, NULL, 0, 0 }, - display_debug_not_supported, NULL, 0, 0 }, + display_debug_not_supported, NULL, 0 }, { { ".debug_types", ".zdebug_types", NULL, NULL, 0, 0 }, - display_debug_not_supported, NULL, 0, 0 }, + display_debug_not_supported, NULL, 0 }, { { ".debug_weaknames", ".zdebug_weaknames", NULL, NULL, 0, 0 }, - display_debug_not_supported, NULL, 0, 0 } + display_debug_not_supported, NULL, 0 } }; diff --git a/binutils/dwarf.h b/binutils/dwarf.h index 2b4ed55a64b..6b61360d149 100644 --- a/binutils/dwarf.h +++ b/binutils/dwarf.h @@ -51,7 +51,6 @@ struct dwarf_section_display int (*display) (struct dwarf_section *, void *); int *enabled; unsigned int relocate : 1; - unsigned int eh_frame : 1; }; enum dwarf_section_display_enum { diff --git a/binutils/objdump.c b/binutils/objdump.c index dfe6a57e16e..b346aa7a52a 100644 --- a/binutils/objdump.c +++ b/binutils/objdump.c @@ -2236,21 +2236,18 @@ dump_dwarf_section (bfd *abfd, asection *section, && debug_displays [i].enabled != NULL && *debug_displays [i].enabled) { - if (!debug_displays [i].eh_frame) - { - struct dwarf_section *sec = &debug_displays [i].section; - - if (strcmp (sec->uncompressed_name, match) == 0) - sec->name = sec->uncompressed_name; - else - sec->name = sec->compressed_name; - if (load_specific_debug_section (i, section, abfd)) - { - debug_displays [i].display (sec, abfd); + struct dwarf_section *sec = &debug_displays [i].section; - if (i != info && i != abbrev) - free_debug_section (i); - } + if (strcmp (sec->uncompressed_name, match) == 0) + sec->name = sec->uncompressed_name; + else + sec->name = sec->compressed_name; + if (load_specific_debug_section (i, section, abfd)) + { + debug_displays [i].display (sec, abfd); + + if (i != info && i != abbrev) + free_debug_section (i); } break; } -- 2.30.2