From: Roland McGrath Date: Tue, 1 Jun 2010 20:44:00 +0000 (-0700) Subject: readelf: Print .eh_frame even with no other DWARF. X-Git-Tag: elfutils-0.148~39 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7a5bed8919f2a1dace847a33a78dbbb86a8e7eb9;p=thirdparty%2Felfutils.git readelf: Print .eh_frame even with no other DWARF. --- diff --git a/src/ChangeLog b/src/ChangeLog index 1b803b0f9..4a6389ae8 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2010-06-01 Roland McGrath + + * readelf.c (print_debug): Don't bail if libdw setup fails. + Suppress complaint if we only want .eh_frame anyway. + 2010-05-28 Ulrich Drepper * readelf.c (attr_callback): Also print form information. diff --git a/src/readelf.c b/src/readelf.c index dc368c26e..0d8c4315d 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -6503,12 +6503,15 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr) /* Before we start the real work get a debug context descriptor. */ Dwarf_Addr dwbias; Dwarf *dbg = dwfl_module_getdwarf (dwflmod, &dwbias); + Dwarf dummy_dbg = { .other_byte_order = MY_ELFDATA != ehdr->e_ident[EI_DATA] }; if (dbg == NULL) { - if (print_debug_sections != 0) + if ((print_debug_sections & ~section_exception) != 0) error (0, 0, gettext ("cannot get debug context descriptor: %s"), dwfl_errmsg (-1)); - return; + if ((print_debug_sections & section_exception) == 0) + return; + dbg = &dummy_dbg; } /* Get the section header string table index. */