X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=binutils%2Fbucomm.c;h=9e6a02843e6c7ba11545f69a6a31e927d177a9b0;hb=a78a19b15254de31c3d38b7e27469aaef0a30e97;hp=558ee2ffb731188a9c2d69ae068ed16f628a5e7b;hpb=827041555ac443bd57340060f3e034fd7b199dd8;p=deliverable%2Fbinutils-gdb.git diff --git a/binutils/bucomm.c b/binutils/bucomm.c index 558ee2ffb7..9e6a02843e 100644 --- a/binutils/bucomm.c +++ b/binutils/bucomm.c @@ -1,5 +1,5 @@ /* bucomm.c -- Bin Utils COMmon code. - Copyright (C) 1991-2019 Free Software Foundation, Inc. + Copyright (C) 1991-2020 Free Software Foundation, Inc. This file is part of GNU Binutils. @@ -44,8 +44,12 @@ void bfd_nonfatal (const char *string) { const char *errmsg; + enum bfd_error err = bfd_get_error (); - errmsg = bfd_errmsg (bfd_get_error ()); + if (err == bfd_error_no_error) + errmsg = _("cause of error unknown"); + else + errmsg = bfd_errmsg (err); fflush (stdout); if (string) fprintf (stderr, "%s: %s: %s\n", program_name, string, errmsg); @@ -60,10 +64,10 @@ bfd_nonfatal (const char *string) bfd error message is printed. In summary, error messages are of one of the following forms: - PROGRAM:file: bfd-error-message - PROGRAM:file[section]: bfd-error-message - PROGRAM:file: printf-message: bfd-error-message - PROGRAM:file[section]: printf-message: bfd-error-message. */ + PROGRAM: file: bfd-error-message + PROGRAM: file[section]: bfd-error-message + PROGRAM: file: printf-message: bfd-error-message + PROGRAM: file[section]: printf-message: bfd-error-message. */ void bfd_nonfatal_message (const char *filename, @@ -74,8 +78,12 @@ bfd_nonfatal_message (const char *filename, const char *errmsg; const char *section_name; va_list args; + enum bfd_error err = bfd_get_error (); - errmsg = bfd_errmsg (bfd_get_error ()); + if (err == bfd_error_no_error) + errmsg = _("cause of error unknown"); + else + errmsg = bfd_errmsg (err); fflush (stdout); section_name = NULL; va_start (args, format); @@ -86,12 +94,12 @@ bfd_nonfatal_message (const char *filename, if (!filename) filename = bfd_get_archive_filename (abfd); if (section) - section_name = bfd_get_section_name (abfd, section); + section_name = bfd_section_name (section); } if (section_name) - fprintf (stderr, ":%s[%s]", filename, section_name); + fprintf (stderr, ": %s[%s]", filename, section_name); else - fprintf (stderr, ":%s", filename); + fprintf (stderr, ": %s", filename); if (format) { @@ -524,7 +532,7 @@ template_in_dir (const char *path) as FILENAME. */ char * -make_tempname (char *filename) +make_tempname (const char *filename) { char *tmpname = template_in_dir (filename); int fd; @@ -550,7 +558,7 @@ make_tempname (char *filename) directory containing FILENAME. */ char * -make_tempdir (char *filename) +make_tempdir (const char *filename) { char *tmpname = template_in_dir (filename);