+2014-05-20  Mike Stump  <mikestump@comcast.net>
+
+       * messages.c (as_warn_internal): Ensure we don't interleave output
+       within a single line when make -j is used.
+       (as_bad_internal): Likewise.
+
 2014-05-20  Richard Sandiford  <rdsandiford@googlemail.com>
 
        * config/obj-elf.h (obj_elf_seen_attribute): Declare.
 
   if (file)
     {
       if (line != 0)
-       fprintf (stderr, "%s:%u: ", file, line);
+       fprintf (stderr, "%s:%u: %s %s\n", file, line, _("Warning: "), buffer);
       else
-       fprintf (stderr, "%s: ", file);
+       fprintf (stderr, "%s: %s %s\n", file, _("Warning: "), buffer);
     }
-  fprintf (stderr, _("Warning: "));
-  fputs (buffer, stderr);
-  (void) putc ('\n', stderr);
+  else
+    fprintf (stderr, "%s %s\n", _("Warning: "), buffer);
 #ifndef NO_LISTING
   listing_warning (buffer);
 #endif
   if (file)
     {
       if (line != 0)
-       fprintf (stderr, "%s:%u: ", file, line);
+       fprintf (stderr, "%s:%u: %s %s\n", file, line, _("Error:"), buffer);
       else
-       fprintf (stderr, "%s: ", file);
+       fprintf (stderr, "%s: %s %s\n", file, _("Error:"), buffer);
     }
-  fprintf (stderr, _("Error: "));
-  fputs (buffer, stderr);
-  (void) putc ('\n', stderr);
+  else
+    fprintf (stderr, "%s %s\n", _("Error:"), buffer);
 #ifndef NO_LISTING
   listing_error (buffer);
 #endif