summaryrefslogtreecommitdiff
path: root/ld
diff options
context:
space:
mode:
Diffstat (limited to 'ld')
-rw-r--r--ld/ChangeLog13
-rw-r--r--ld/emulparams/elf32mcore.sh7
-rw-r--r--ld/emultempl/beos.em6
-rw-r--r--ld/emultempl/pe.em7
-rw-r--r--ld/emultempl/pep.em7
-rw-r--r--ld/emultempl/ppc64elf.em4
-rw-r--r--ld/emultempl/xtensaelf.em2
-rw-r--r--ld/ldmain.c4
-rw-r--r--ld/ldmisc.c4
-rw-r--r--ld/plugin.c4
10 files changed, 31 insertions, 27 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog
index 886207b0e3..7a00e7d14d 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,5 +1,18 @@
2011-01-14 Alan Modra <amodra@gmail.com>
+ * ldmain.c (main): Flush stdout before and stderr after printing
+ message.
+ * ldmisc.c (einfo): Similarly.
+ * plugin.c (message): Likewise.
+ * emultempl/ppc64elf.em: Likewise.
+ * emultempl/xtensaelf.em: Likewise.
+ * emulparams/elf32mcore.sh: Use einfo rather than printf.
+ * emultempl/beos.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * emultempl/pep.em: Likewise.
+
+2011-01-14 Alan Modra <amodra@gmail.com>
+
* emultempl/elf32.em (gld${EMULATION_NAME}_place_orphan): Don't
attempt to put non-alloc orphans before debug sections, just place
them after .comment.
diff --git a/ld/emulparams/elf32mcore.sh b/ld/emulparams/elf32mcore.sh
index 60479501bc..512a9b0f3a 100644
--- a/ld/emulparams/elf32mcore.sh
+++ b/ld/emulparams/elf32mcore.sh
@@ -49,11 +49,6 @@ PARSE_AND_LIST_ARGS_CASES='
case OPTION_BASE_FILE:
link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
- {
- /* xgettext:c-format */
- fprintf (stderr, _("%s: Cannot open base file %s\n"),
- program_name, optarg);
- xexit (1);
- }
+ einfo (_("%F%P: cannot open base file %s\n"), optarg);
break;
'
diff --git a/ld/emultempl/beos.em b/ld/emultempl/beos.em
index 708a2a9d3b..6dc6375416 100644
--- a/ld/emultempl/beos.em
+++ b/ld/emultempl/beos.em
@@ -270,11 +270,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_BASE_FILE:
link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
- {
- fprintf (stderr, "%s: Can't open base file %s\n",
- program_name, optarg);
- xexit (1);
- }
+ einfo (_("%F%P: cannot open base file %s\n"), optarg);
break;
/* PE options */
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 0231fa77a7..a3e4cddabf 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -688,12 +688,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_BASE_FILE:
link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
- {
- /* xgettext:c-format */
- fprintf (stderr, _("%s: Can't open base file %s\n"),
- program_name, optarg);
- xexit (1);
- }
+ einfo (_("%F%P: cannot open base file %s\n"), optarg);
break;
/* PE options. */
diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
index 56687d673e..a307c14350 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
@@ -611,12 +611,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
case OPTION_BASE_FILE:
link_info.base_file = fopen (optarg, FOPEN_WB);
if (link_info.base_file == NULL)
- {
- /* xgettext:c-format */
- fprintf (stderr, _("%s: Can't open base file %s\n"),
- program_name, optarg);
- xexit (1);
- }
+ einfo (_("%F%P: cannot open base file %s\n"), optarg);
break;
/* PE options. */
diff --git a/ld/emultempl/ppc64elf.em b/ld/emultempl/ppc64elf.em
index cb8e7841e8..0c995920f4 100644
--- a/ld/emultempl/ppc64elf.em
+++ b/ld/emultempl/ppc64elf.em
@@ -1,5 +1,5 @@
# This shell script emits a C file. -*- C -*-
-# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
+# Copyright 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
# Free Software Foundation, Inc.
#
# This file is part of the GNU Binutils.
@@ -545,6 +545,7 @@ gld${EMULATION_NAME}_finish (void)
config.stats ? &msg : NULL))
einfo ("%X%P: can not build stubs: %E\n");
+ fflush (stdout);
for (line = msg; line != NULL; line = endline)
{
endline = strchr (line, '\n');
@@ -552,6 +553,7 @@ gld${EMULATION_NAME}_finish (void)
*endline++ = '\0';
fprintf (stderr, "%s: %s\n", program_name, line);
}
+ fflush (stderr);
if (msg != NULL)
free (msg);
}
diff --git a/ld/emultempl/xtensaelf.em b/ld/emultempl/xtensaelf.em
index ed015a23c6..b37a67b2fe 100644
--- a/ld/emultempl/xtensaelf.em
+++ b/ld/emultempl/xtensaelf.em
@@ -1817,8 +1817,10 @@ ld_local_file_relocations_fit (lang_statement_union_type *statement,
bfd_vma target_addr = e->tgt->output_offset & ~3;
if (l32r_addr < target_addr)
{
+ fflush (stdout);
fprintf (stderr, "Warning: "
"l32r target section before l32r\n");
+ fflush (stderr);
return FALSE;
}
diff --git a/ld/ldmain.c b/ld/ldmain.c
index 5530dcaed1..19c42d98ac 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -1,6 +1,6 @@
/* Main program of GNU linker.
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
- 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
+ 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011
Free Software Foundation, Inc.
Written by Steve Chamberlain steve@cygnus.com
@@ -551,12 +551,14 @@ main (int argc, char **argv)
#endif
long run_time = get_run_time () - start_time;
+ fflush (stdout);
fprintf (stderr, _("%s: total time in link: %ld.%06ld\n"),
program_name, run_time / 1000000, run_time % 1000000);
#ifdef HAVE_SBRK
fprintf (stderr, _("%s: data size %ld\n"), program_name,
(long) (lim - (char *) &environ));
#endif
+ fflush (stderr);
}
/* Prevent remove_output from doing anything, after a successful link. */
diff --git a/ld/ldmisc.c b/ld/ldmisc.c
index 74baa98583..369580001d 100644
--- a/ld/ldmisc.c
+++ b/ld/ldmisc.c
@@ -1,6 +1,6 @@
/* ldmisc.c
Copyright 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
- 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+ 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2010, 2011
Free Software Foundation, Inc.
Written by Steve Chamberlain of Cygnus Support.
@@ -440,9 +440,11 @@ einfo (const char *fmt, ...)
{
va_list arg;
+ fflush (stdout);
va_start (arg, fmt);
vfinfo (stderr, fmt, arg, TRUE);
va_end (arg);
+ fflush (stderr);
}
void
diff --git a/ld/plugin.c b/ld/plugin.c
index 10314a4d48..05379b8e61 100644
--- a/ld/plugin.c
+++ b/ld/plugin.c
@@ -1,5 +1,5 @@
/* Plugin control for the GNU linker.
- Copyright 2010 Free Software Foundation, Inc.
+ Copyright 2010, 2011 Free Software Foundation, Inc.
This file is part of the GNU Binutils.
@@ -596,7 +596,9 @@ message (int level, const char *format, ...)
char *newfmt = ACONCAT ((level == LDPL_FATAL
? "%P%F: " : "%P%X: ",
format, "\n", NULL));
+ fflush (stdout);
vfinfo (stderr, newfmt, args, TRUE);
+ fflush (stderr);
}
break;
}