doc: Fix copy-pasto in Z0 packet documentation
[deliverable/binutils-gdb.git] / ld / ldmisc.c
index 5e1801321ea38ad5931373b2796fc870cfef1a5e..420ddb13c18273f786cb4c6ef3ad1d7d00061352 100644 (file)
@@ -1,5 +1,5 @@
 /* ldmisc.c
-   Copyright (C) 1991-2014 Free Software Foundation, Inc.
+   Copyright (C) 1991-2017 Free Software Foundation, Inc.
    Written by Steve Chamberlain of Cygnus Support.
 
    This file is part of the GNU Binutils.
@@ -35,6 +35,7 @@
 #include "ldmain.h"
 #include "ldfile.h"
 #include "elf-bfd.h"
+#include "coff-bfd.h"
 
 /*
  %% literal %
@@ -200,7 +201,8 @@ vfinfo (FILE *fp, const char *fmt, va_list arg, bfd_boolean is_warning)
 
                if (abfd == NULL)
                  fprintf (fp, "%s generated", program_name);
-               else if (abfd->my_archive)
+               else if (abfd->my_archive != NULL
+                        && !bfd_is_thin_archive (abfd->my_archive))
                  fprintf (fp, "%s(%s)", abfd->my_archive->filename,
                           abfd->filename);
                else
@@ -229,11 +231,13 @@ vfinfo (FILE *fp, const char *fmt, va_list arg, bfd_boolean is_warning)
                lang_input_statement_type *i;
 
                i = va_arg (arg, lang_input_statement_type *);
-               if (bfd_my_archive (i->the_bfd) != NULL)
+               if (i->the_bfd->my_archive != NULL
+                   && !bfd_is_thin_archive (i->the_bfd->my_archive))
                  fprintf (fp, "(%s)",
-                          bfd_get_filename (bfd_my_archive (i->the_bfd)));
+                          bfd_get_filename (i->the_bfd->my_archive));
                fprintf (fp, "%s", i->local_sym_name);
-               if (bfd_my_archive (i->the_bfd) == NULL
+               if ((i->the_bfd->my_archive == NULL
+                    || bfd_is_thin_archive (i->the_bfd->my_archive))
                    && filename_cmp (i->local_sym_name, i->filename) != 0)
                  fprintf (fp, " (%s)", i->filename);
              }
@@ -276,8 +280,8 @@ vfinfo (FILE *fp, const char *fmt, va_list arg, bfd_boolean is_warning)
                 The arguments are a BFD, a section, and an offset.  */
              {
                static bfd *last_bfd;
-               static char *last_file = NULL;
-               static char *last_function = NULL;
+               static char *last_file;
+               static char *last_function;
                bfd *abfd;
                asection *section;
                bfd_vma offset;
@@ -327,9 +331,9 @@ vfinfo (FILE *fp, const char *fmt, va_list arg, bfd_boolean is_warning)
                           (eg emacs) to correctly locate multiple
                           errors in the same source file.  */
                        if (last_bfd == NULL
-                           || last_file == NULL
                            || last_function == NULL
                            || last_bfd != abfd
+                           || (last_file == NULL) != (filename == NULL)
                            || (filename != NULL
                                && filename_cmp (last_file, filename) != 0)
                            || strcmp (last_function, functionname) != 0)
@@ -421,7 +425,7 @@ vfinfo (FILE *fp, const char *fmt, va_list arg, bfd_boolean is_warning)
                  ++fmt;
                  break;
                }
-             /* Fall thru */
+             /* Fallthru */
 
            default:
              fprintf (fp, "%%%c", fmt[-1]);
@@ -533,10 +537,10 @@ void
 ld_abort (const char *file, int line, const char *fn)
 {
   if (fn != NULL)
-    einfo (_("%P: internal error: aborting at %s line %d in %s\n"),
+    einfo (_("%P: internal error: aborting at %s:%d in %s\n"),
           file, line, fn);
   else
-    einfo (_("%P: internal error: aborting at %s line %d\n"),
+    einfo (_("%P: internal error: aborting at %s:%d\n"),
           file, line);
   einfo (_("%P%F: please report this bug\n"));
   xexit (1);
This page took 0.025261 seconds and 4 git commands to generate.