[binutils-gdb] Don't use bfd_error_handler in bfd_abort

Alan Modra amodra@sourceware.org
Wed Mar 6 04:41:28 GMT 2024


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=55e01dbd7623941373ee500032119a124fd2d673

commit 55e01dbd7623941373ee500032119a124fd2d673
Author: Alan Modra <amodra@gmail.com>
Date:   Tue Mar 5 14:33:40 2024 +1030

    Don't use bfd_error_handler in bfd_abort
    
    We don't want to lose an abort message when bfd_set_error_handler has
    been called to ignore or cache errors.
    
            PR ld/31444
            * bfd.c (_bfd_abort): Don't use _bfd_error_handler.

Diff:
---
 bfd/bfd.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/bfd/bfd.c b/bfd/bfd.c
index 6c822656cc8..71732a0f92b 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -2050,17 +2050,17 @@ bfd_assert (const char *file, int line)
 void
 _bfd_abort (const char *file, int line, const char *fn)
 {
+  fflush (stdout);
+
   if (fn != NULL)
-    _bfd_error_handler
-      /* xgettext:c-format */
-      (_("BFD %s internal error, aborting at %s:%d in %s\n"),
-       BFD_VERSION_STRING, file, line, fn);
+    fprintf (stderr, _("%s: BFD %s internal error, aborting at %s:%d in %s\n"),
+	     _bfd_get_error_program_name (), BFD_VERSION_STRING,
+	     file, line, fn);
   else
-    _bfd_error_handler
-      /* xgettext:c-format */
-      (_("BFD %s internal error, aborting at %s:%d\n"),
-       BFD_VERSION_STRING, file, line);
-  _bfd_error_handler (_("Please report this bug.\n"));
+    fprintf (stderr, _("%s: BFD %s internal error, aborting at %s:%d\n"),
+	     _bfd_get_error_program_name (), BFD_VERSION_STRING,
+	     file, line);
+  fprintf (stderr, _("Please report this bug.\n"));
   _exit (EXIT_FAILURE);
 }


More information about the Binutils-cvs mailing list