From: Alan Modra Date: Mon, 6 Mar 2023 00:12:59 +0000 (+1030) Subject: Downgrade addr2line fatal errors to non-fatal X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5db0367e1b0bcbe22b987501ae1c77d7e890e6c8;p=binutils-gdb.git Downgrade addr2line fatal errors to non-fatal * addr2line.c (slurp_symtab): Don't exit on errors. (process_file): Likewise. --- diff --git a/binutils/addr2line.c b/binutils/addr2line.c index 1fe9ce2a780..afe116a235c 100644 --- a/binutils/addr2line.c +++ b/binutils/addr2line.c @@ -130,7 +130,10 @@ slurp_symtab (bfd *abfd) dynamic = true; } if (storage < 0) - bfd_fatal (bfd_get_filename (abfd)); + { + bfd_nonfatal (bfd_get_filename (abfd)); + return; + } syms = (asymbol **) xmalloc (storage); if (dynamic) @@ -138,7 +141,7 @@ slurp_symtab (bfd *abfd) else symcount = bfd_canonicalize_symtab (abfd, syms); if (symcount < 0) - bfd_fatal (bfd_get_filename (abfd)); + bfd_nonfatal (bfd_get_filename (abfd)); /* If there are no symbols left after canonicalization and we have not tried the dynamic symbols then give them a go. */ @@ -446,21 +449,27 @@ process_file (const char *file_name, const char *section_name, abfd->flags |= BFD_DECOMPRESS; if (bfd_check_format (abfd, bfd_archive)) - fatal (_("%s: cannot get addresses from archive"), file_name); + { + non_fatal (_("%s: cannot get addresses from archive"), file_name); + return 1; + } if (! bfd_check_format_matches (abfd, bfd_object, &matching)) { bfd_nonfatal (bfd_get_filename (abfd)); if (bfd_get_error () == bfd_error_file_ambiguously_recognized) list_matching_formats (matching); - xexit (1); + return 1; } if (section_name != NULL) { section = bfd_get_section_by_name (abfd, section_name); if (section == NULL) - fatal (_("%s: cannot find section %s"), file_name, section_name); + { + non_fatal (_("%s: cannot find section %s"), file_name, section_name); + return 1; + } } else section = NULL;