summaryrefslogtreecommitdiffstats
path: root/contrib/binutils/ld
diff options
context:
space:
mode:
authorobrien <obrien@FreeBSD.org>2002-12-02 09:06:04 +0000
committerobrien <obrien@FreeBSD.org>2002-12-02 09:06:04 +0000
commit225c3b110193aa0853fcc74fb69ddc504972f91f (patch)
tree285c176a9d4c27aa844e844b43c123156c87006b /contrib/binutils/ld
parentc35e71cdfc7611906cbf9303055832142e9cbaca (diff)
parent4f4b0b5073010ff850cc95a6bd074066eeb7dccb (diff)
downloadFreeBSD-src-225c3b110193aa0853fcc74fb69ddc504972f91f.zip
FreeBSD-src-225c3b110193aa0853fcc74fb69ddc504972f91f.tar.gz
This commit was generated by cvs2svn to compensate for changes in r107492,
which included commits to RCS files with non-trunk default branches.
Diffstat (limited to 'contrib/binutils/ld')
-rw-r--r--contrib/binutils/ld/ChangeLog108
-rw-r--r--contrib/binutils/ld/emulparams/elf32ppc.sh4
-rw-r--r--contrib/binutils/ld/emulparams/elf64_s390.sh30
-rw-r--r--contrib/binutils/ld/emulparams/elf64_sparc.sh45
-rw-r--r--contrib/binutils/ld/emulparams/elf64ppc.sh2
-rw-r--r--contrib/binutils/ld/emulparams/elf_x86_64.sh35
-rwxr-xr-xcontrib/binutils/ld/emulparams/shelf.sh14
-rw-r--r--contrib/binutils/ld/emultempl/pe.em2
-rw-r--r--contrib/binutils/ld/ldctor.c2
-rw-r--r--contrib/binutils/ld/ldexp.c2
-rw-r--r--contrib/binutils/ld/ldfile.c96
-rw-r--r--contrib/binutils/ld/ldgram.y7
-rw-r--r--contrib/binutils/ld/ldlang.c63
-rw-r--r--contrib/binutils/ld/ldlang.h1
-rw-r--r--contrib/binutils/ld/ldlex.l2
-rw-r--r--contrib/binutils/ld/ldmain.c2
-rw-r--r--contrib/binutils/ld/ldmisc.c2
-rw-r--r--contrib/binutils/ld/ldwrite.c2
-rw-r--r--contrib/binutils/ld/lexsup.c2
-rw-r--r--contrib/binutils/ld/mri.c2
-rw-r--r--contrib/binutils/ld/pe-dll.c29
-rw-r--r--contrib/binutils/ld/po/ld.pot570
-rw-r--r--contrib/binutils/ld/scripttempl/pe.sc5
23 files changed, 655 insertions, 372 deletions
diff --git a/contrib/binutils/ld/ChangeLog b/contrib/binutils/ld/ChangeLog
index 7b79459..428de76 100644
--- a/contrib/binutils/ld/ChangeLog
+++ b/contrib/binutils/ld/ChangeLog
@@ -1,3 +1,111 @@
+2002-11-27 David O'Brien <obrien@FreeBSD.org>
+
+ * configure.host: Fix generic FreeBSD configuration entry.
+
+2002-11-20 Alan Modra <amodra@bigpond.net.au>
+
+ * emulparams/elf64ppc.sh (DATA_ADDR): Don't define.
+
+2002-10-30 Daniel Jacobowitz <drow@mvista.com>
+
+ * ld.1: Regenerated.
+ * ldgram.c: Regenerated.
+ * po/ld.pot: Regenerated.
+
+2002-10-29 Daniel Jacobowitz <drow@mvista.com>
+
+ * emultempl/aix.em: Use include <> for generated headers.
+ * emultempl/beos.em: Likewise.
+ * emultempl/elf32.em: Likewise.
+ * emultempl/pe.em: Likewise.
+ * ldctor.c: Likewise.
+ * ldexp.c: Likewise.
+ * ldfile.c: Likewise.
+ * ldlang.c: Likewise.
+ * ldlex.c: Likewise.
+ * ldlex.l: Likewise.
+ * ldmain.c: Likewise.
+ * ldmisc.c: Likewise.
+ * ldwrite.c: Likewise.
+ * lexsup.c: Likewise.
+ * mri.c: Likewise.
+ * pe-dll.c: Likewise.
+
+2002-10-28 Daniel Jacobowitz <drow@mvista.com>
+
+ Merge from mainline:
+ 2002-10-23 Jakub Jelinek <jakub@redhat.com>
+ * emultempl/elf32.em (place_orphan): Don't put non-allocated .rel*
+ sections into .rel{,a}.dyn.
+
+ 2002-10-21 Danny Smith <dannysmith@users.sourceforeg.net>
+ * scripttempl/pe.sc (__RUNTIME_PSEUDO_RELOC_LIST__,
+ __RUNTIME_PSEUDO_RELOC_LIST_END__): Add only when relocating.
+
+ 2002-10-16 Jakub Jelinek <jakub@redhat.com>
+ * configure.tgt (s390x-*-linux*): Add elf_s390 emulation.
+ (s390-*-linux*): Add elf64_s390 emulation if want64.
+ * emulparams/elf64_sparc.sh (LIB_PATH): Update to match 2002-05-22
+ genscript.sh changes.
+ * emulparams/elf_x86_64.sh (LIB_PATH): Likewise.
+ * emulparams/elf64_s390.sh (LIB_PATH): Set up native 64 bit dirs.
+
+ 2002-10-10 Jakub Jelinek <jakub@redhat.com>
+ * ldfile.c (ldfile_try_open_bfd): When searching skip linker scripts if
+ they have OUTPUT_FORMAT not matching actual output format.
+ * ldlang.c (lang_get_output_target): New function.
+ (open_output): Use it.
+ * ldlang.h (lang_get_output_target): New prototype.
+
+ 2002-10-07 Ralf Habacker <Ralf.Habacker@freenet.de>
+ * pe-dll.cc (autofilter_symbolprefixlist): Don't re-export
+ auto-import symbols.
+ (make_one): Create _nm_<symbol> for data only.
+
+ 2002-10-10 Alan Modra <amodra@bigpond.net.au>
+ * emultempl/elf32.em (output_rel_find): Prefer .rel script sections
+ when orphan is .rel, .rela when orphan is .rela.
+ (gld${EMULATION_NAME}_place_orphan): Handle combreloc .rel* case
+ first. Remove outsecname var.
+
+ 2002-09-30 Alan Modra <amodra@bigpond.net.au>
+ * scripttempl/elfd30v.sc: Order reloc sections placing .plt last.
+ * scripttempl/elfm68hc11.sc: Likewise.
+ * scripttempl/elfm68hc12.sc: Likewise.
+
+ * emultempl/elf32.em (output_rel_find): Always place orphan loadable
+ reloc sections just before .rel.plt/.rela.plt.
+ (gld${EMULATION_NAME}_place_orphan <.rel>): Remove combreloc code.
+ Only put loadable reloc sections in hold_rel.
+
+ 2002-09-29 H.J. Lu <hjl@gnu.org>
+ * emulparams/elf32ppc.sh (OTHER_GOT_RELOC_SECTIONS): New.
+
+ 2002-08-27 Egor Duda <deo@logos-m.ru>
+ * scripttempl/pe.sc: Handle .rdata_runtime_pseudo_reloc sections.
+ Add symbols for application to access them.
+
+2002-10-15 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (load_symbols): Revert last change.
+
+2002-10-14 Alan Modra <amodra@bigpond.net.au>
+
+ * ldlang.c (load_symbols): Don't call bfd_link_add_symbols when
+ just_syms_flag.
+ (lang_reasonable_defaults): Don't compare against false.
+ (size_input_section): Likewise.
+ (lang_size_sections_1): Likewise.
+ (lang_do_assignments): Likewise.
+ (lang_add_output): Likewise.
+
+2002-10-11 Alan Modra <amodra@bigpond.net.au>
+
+ * pe-dll.c (make_import_fixup_mark): Avoid type-punned pointer.
+
+ * ldgram.y (memory_spec): Provide empty action.
+ (section <NAME>): Likewise.
+
2002-10-02 Alan Modra <amodra@bigpond.net.au>
* emulparams/elf64ppc.sh (MAXPAGESIZE): Set to 0x10000.
diff --git a/contrib/binutils/ld/emulparams/elf32ppc.sh b/contrib/binutils/ld/emulparams/elf32ppc.sh
index f88198f..778260b 100644
--- a/contrib/binutils/ld/emulparams/elf32ppc.sh
+++ b/contrib/binutils/ld/emulparams/elf32ppc.sh
@@ -17,6 +17,10 @@ OTHER_READWRITE_SECTIONS="
.got1 ${RELOCATING-0} : { *(.got1) }
.got2 ${RELOCATING-0} : { *(.got2) }
"
+OTHER_GOT_RELOC_SECTIONS="
+ .rela.got1 ${RELOCATING-0} : { *(.rela.got1) }
+ .rela.got2 ${RELOCATING-0} : { *(.rela.got2) }
+"
# Treat a host that matches the target with the possible exception of "64"
# in the name as if it were native.
diff --git a/contrib/binutils/ld/emulparams/elf64_s390.sh b/contrib/binutils/ld/emulparams/elf64_s390.sh
index 8416c89..236fd17 100644
--- a/contrib/binutils/ld/emulparams/elf64_s390.sh
+++ b/contrib/binutils/ld/emulparams/elf64_s390.sh
@@ -9,3 +9,33 @@ MACHINE=
NOP=0x07070707
TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
+
+# Treat a host that matches the target with the possible exception of "x"
+# in the name as if it were native.
+if test `echo "$host" | sed -e s/390x/390/` \
+ = `echo "$target" | sed -e s/390x/390/`; then
+ case " $EMULATION_LIBPATH " in
+ *" ${EMULATION_NAME} "*)
+ LIB_PATH=${libdir}
+ for lib in ${NATIVE_LIB_DIRS}; do
+ case :${LIB_PATH}: in
+ *:${lib}:*) ;;
+ *) LIB_PATH=${LIB_PATH}:${lib} ;;
+ esac
+ done
+
+ case "$target" in
+ s390*-linux*)
+ suffix=64 ;;
+ esac
+
+ # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first
+ # on Linux.
+ if [ -n "$suffix" ]; then
+ case "$EMULATION_NAME" in
+ *64*)
+ LIB_PATH=`echo ${LIB_PATH}: | sed -e s,:,$suffix:,g`$LIB_PATH ;;
+ esac
+ fi ;;
+ esac
+fi
diff --git a/contrib/binutils/ld/emulparams/elf64_sparc.sh b/contrib/binutils/ld/emulparams/elf64_sparc.sh
index a4706b5..7a4d2dc 100644
--- a/contrib/binutils/ld/emulparams/elf64_sparc.sh
+++ b/contrib/binutils/ld/emulparams/elf64_sparc.sh
@@ -22,36 +22,37 @@ case "$target" in
;;
esac
-if [ "x${host}" = "x${target}" ]; then
+# Treat a host that matches the target with the possible exception of "64"
+# and "v7", "v8", "v9" in the name as if it were native.
+if test `echo "$host" | sed -e 's/64//;s/v[789]//'` \
+ = `echo "$target" | sed -e 's/64//;s/v[789]//'`; then
case " $EMULATION_LIBPATH " in
*" ${EMULATION_NAME} "*)
- # Native, and default or emulation requesting LIB_PATH.
+ LIB_PATH=${libdir}
+ for lib in ${NATIVE_LIB_DIRS}; do
+ case :${LIB_PATH}: in
+ *:${lib}:*) ;;
+ *) LIB_PATH=${LIB_PATH}:${lib} ;;
+ esac
+ done
# Linux and Solaris modify the default library search path
# to first include a 64-bit specific directory. It's put
# in slightly different places on the two systems.
case "$target" in
- sparc*-linux*)
- suffix=64 ;;
- sparc*-solaris*)
- suffix=/sparcv9 ;;
+ sparc*-linux*)
+ suffix=64 ;;
+ sparc*-solaris*)
+ suffix=/sparcv9 ;;
esac
- if [ -n "${suffix}" ]; then
-
- LIB_PATH=/lib${suffix}:/lib
- LIB_PATH=${LIB_PATH}:/usr/lib${suffix}:/usr/lib
- if [ -n "${NATIVE_LIB_DIRS}" ]; then
- LIB_PATH=${LIB_PATH}:`echo ${NATIVE_LIB_DIRS} | sed s_:_${suffix}:_g`${suffix}:${NATIVE_LIB_DIRS}
- fi
- if [ "${libdir}" != /usr/lib ]; then
- LIB_PATH=${LIB_PATH}:${libdir}${suffix}:${libdir}
- fi
- if [ "${libdir}" != /usr/local/lib ]; then
- LIB_PATH=${LIB_PATH}:/usr/local/lib${suffix}:/usr/local/lib
- fi
-
- fi
- ;;
+ # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first
+ # on Linux and /lib/sparcv9, /usr/lib/sparcv9 etc. on Solaris.
+ if [ -n "$suffix" ]; then
+ case "$EMULATION_NAME" in
+ *64*)
+ LIB_PATH=`echo ${LIB_PATH}: | sed -e s,:,$suffix:,g`$LIB_PATH ;;
+ esac
+ fi ;;
esac
fi
diff --git a/contrib/binutils/ld/emulparams/elf64ppc.sh b/contrib/binutils/ld/emulparams/elf64ppc.sh
index e3a8177..add6c54 100644
--- a/contrib/binutils/ld/emulparams/elf64ppc.sh
+++ b/contrib/binutils/ld/emulparams/elf64ppc.sh
@@ -5,7 +5,7 @@ GENERATE_SHLIB_SCRIPT=yes
SCRIPT_NAME=elf
OUTPUT_FORMAT="elf64-powerpc"
TEXT_START_ADDR=0x10000000
-DATA_ADDR="ALIGN (0x10000000) + (. & (${MAXPAGESIZE} - 1))"
+#DATA_ADDR="ALIGN (0x10000000) + (. & (${MAXPAGESIZE} - 1))"
MAXPAGESIZE=0x10000
COMMONPAGESIZE=0x1000
ARCH=powerpc:common64
diff --git a/contrib/binutils/ld/emulparams/elf_x86_64.sh b/contrib/binutils/ld/emulparams/elf_x86_64.sh
index 1786e33..a428bfc 100644
--- a/contrib/binutils/ld/emulparams/elf_x86_64.sh
+++ b/contrib/binutils/ld/emulparams/elf_x86_64.sh
@@ -15,30 +15,27 @@ NO_SMALL_DATA=yes
if [ "x${host}" = "x${target}" ]; then
case " $EMULATION_LIBPATH " in
*" ${EMULATION_NAME} "*)
- # Native, and default or emulation requesting LIB_PATH.
+ LIB_PATH=${libdir}
+ for lib in ${NATIVE_LIB_DIRS}; do
+ case :${LIB_PATH}: in
+ *:${lib}:*) ;;
+ *) LIB_PATH=${LIB_PATH}:${lib} ;;
+ esac
+ done
# Linux modify the default library search path to first include
# a 64-bit specific directory.
case "$target" in
- x86_64*-linux*)
- suffix=64 ;;
+ x86_64*-linux*)
+ suffix=64 ;;
esac
- if [ -n "${suffix}" ]; then
-
- LIB_PATH=/lib${suffix}:/lib
- LIB_PATH=${LIB_PATH}:/usr/lib${suffix}:/usr/lib
- if [ -n "${NATIVE_LIB_DIRS}" ]; then
- LIB_PATH=${LIB_PATH}:`echo ${NATIVE_LIB_DIRS} | sed s_:_${suffix}:_g`${suffix}:${NATIVE_LIB_DIRS}
- fi
- if [ "${libdir}" != /usr/lib ]; then
- LIB_PATH=${LIB_PATH}:${libdir}${suffix}:${libdir}
- fi
- if [ "${libdir}" != /usr/local/lib ]; then
- LIB_PATH=${LIB_PATH}:/usr/local/lib${suffix}:/usr/local/lib
- fi
-
- fi
- ;;
+ # Look for 64 bit target libraries in /lib64, /usr/lib64 etc., first.
+ if [ -n "$suffix" ]; then
+ case "$EMULATION_NAME" in
+ *64*)
+ LIB_PATH=`echo ${LIB_PATH}: | sed -e s,:,$suffix:,g`$LIB_PATH ;;
+ esac
+ fi ;;
esac
fi
diff --git a/contrib/binutils/ld/emulparams/shelf.sh b/contrib/binutils/ld/emulparams/shelf.sh
index 27b73b6..5c0c9d6 100755
--- a/contrib/binutils/ld/emulparams/shelf.sh
+++ b/contrib/binutils/ld/emulparams/shelf.sh
@@ -17,4 +17,16 @@ CTOR_START='___ctors = .;'
CTOR_END='___ctors_end = .;'
DTOR_START='___dtors = .;'
DTOR_END='___dtors_end = .;'
-STACK_ADDR=0x30000
+# This is like setting STACK_ADDR to 0x30000, except that the setting can
+# be overridden, e.g. --defsym _stack=0x0f00, and that we put an extra
+# sentinal value at the bottom.
+# N.B. We can't use PROVIDE to set the default value in a symbol because
+# the address is needed to place the .stack section, which in turn is needed
+# to hold the sentinel value(s).
+OTHER_SECTIONS=" .stack ${RELOCATING-0}${RELOCATING+(DEFINED(_stack) ? _stack : 0x30000)} :
+ {
+ ${RELOCATING+_stack = .;}
+ *(.stack)
+ LONG(0xdeaddead)
+ }"
+
diff --git a/contrib/binutils/ld/emultempl/pe.em b/contrib/binutils/ld/emultempl/pe.em
index 37146ab..474b984 100644
--- a/contrib/binutils/ld/emultempl/pe.em
+++ b/contrib/binutils/ld/emultempl/pe.em
@@ -56,7 +56,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldlang.h"
#include "ldfile.h"
#include "ldemul.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldlex.h"
#include "ldmisc.h"
#include "ldctor.h"
diff --git a/contrib/binutils/ld/ldctor.c b/contrib/binutils/ld/ldctor.c
index 9e79921..aa6a05b 100644
--- a/contrib/binutils/ld/ldctor.c
+++ b/contrib/binutils/ld/ldctor.c
@@ -29,7 +29,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldexp.h"
#include "ldlang.h"
#include "ldmisc.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldmain.h"
#include "ldctor.h"
diff --git a/contrib/binutils/ld/ldexp.c b/contrib/binutils/ld/ldexp.c
index e45c470..e88e322 100644
--- a/contrib/binutils/ld/ldexp.c
+++ b/contrib/binutils/ld/ldexp.c
@@ -36,7 +36,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldmain.h"
#include "ldmisc.h"
#include "ldexp.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldlang.h"
#include "libiberty.h"
#include "safe-ctype.h"
diff --git a/contrib/binutils/ld/ldfile.c b/contrib/binutils/ld/ldfile.c
index 9fb2b2d..d706eec 100644
--- a/contrib/binutils/ld/ldfile.c
+++ b/contrib/binutils/ld/ldfile.c
@@ -31,7 +31,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldlang.h"
#include "ldfile.h"
#include "ldmain.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldlex.h"
#include "ldemul.h"
#include "libiberty.h"
@@ -131,7 +131,99 @@ ldfile_try_open_bfd (attempt, entry)
if (check != NULL)
{
if (! bfd_check_format (check, bfd_object))
- return true;
+ {
+ if (check == entry->the_bfd
+ && bfd_get_error () == bfd_error_file_not_recognized
+ && ! ldemul_unrecognized_file (entry))
+ {
+ int token, skip = 0;
+ char *arg, *arg1, *arg2, *arg3;
+ extern FILE *yyin;
+
+ /* Try to interpret the file as a linker script. */
+ ldfile_open_command_file (attempt);
+
+ ldfile_assumed_script = true;
+ parser_input = input_selected;
+ ldlex_both ();
+ token = INPUT_SCRIPT;
+ while (token != 0)
+ {
+ switch (token)
+ {
+ case OUTPUT_FORMAT:
+ if ((token = yylex ()) != '(')
+ continue;
+ if ((token = yylex ()) != NAME)
+ continue;
+ arg1 = yylval.name;
+ arg2 = NULL;
+ arg3 = NULL;
+ token = yylex ();
+ if (token == ',')
+ {
+ if ((token = yylex ()) != NAME)
+ {
+ free (arg1);
+ continue;
+ }
+ arg2 = yylval.name;
+ if ((token = yylex ()) != ','
+ || (token = yylex ()) != NAME)
+ {
+ free (arg1);
+ free (arg2);
+ continue;
+ }
+ arg3 = yylval.name;
+ token = yylex ();
+ }
+ if (token == ')')
+ {
+ switch (command_line.endian)
+ {
+ default:
+ case ENDIAN_UNSET:
+ arg = arg1; break;
+ case ENDIAN_BIG:
+ arg = arg2 ? arg2 : arg1; break;
+ case ENDIAN_LITTLE:
+ arg = arg3 ? arg3 : arg1; break;
+ }
+ if (strcmp (arg, lang_get_output_target ()) != 0)
+ skip = 1;
+ }
+ free (arg1);
+ if (arg2) free (arg2);
+ if (arg3) free (arg3);
+ break;
+ case NAME:
+ case LNAME:
+ case VERS_IDENTIFIER:
+ case VERS_TAG:
+ free (yylval.name);
+ break;
+ case INT:
+ if (yylval.bigint.str)
+ free (yylval.bigint.str);
+ break;
+ }
+ token = yylex ();
+ }
+ ldfile_assumed_script = false;
+ fclose (yyin);
+ yyin = NULL;
+ if (skip)
+ {
+ einfo (_("%P: skipping incompatible %s when searching for %s\n"),
+ attempt, entry->local_sym_name);
+ bfd_close (entry->the_bfd);
+ entry->the_bfd = NULL;
+ return false;
+ }
+ }
+ return true;
+ }
if ((bfd_arch_get_compatible (check, output_bfd) == NULL)
/* XCOFF archives can have 32 and 64 bit objects */
diff --git a/contrib/binutils/ld/ldgram.y b/contrib/binutils/ld/ldgram.y
index 3de9326..d2533c2 100644
--- a/contrib/binutils/ld/ldgram.y
+++ b/contrib/binutils/ld/ldgram.y
@@ -626,11 +626,11 @@ memory_spec_list:
;
-memory_spec: NAME
- { region = lang_memory_region_lookup($1); }
+memory_spec: NAME
+ { region = lang_memory_region_lookup($1); }
attributes_opt ':'
origin_spec opt_comma length_spec
-
+ {}
;
origin_spec:
@@ -845,6 +845,7 @@ section: NAME { ldlex_expression(); }
lang_leave_output_section_statement ($14, $11, $13, $12);
}
opt_comma
+ {}
| OVERLAY
{ ldlex_expression (); }
opt_exp_without_type opt_nocrossrefs opt_at
diff --git a/contrib/binutils/ld/ldlang.c b/contrib/binutils/ld/ldlang.c
index 79de098..0eb06b2 100644
--- a/contrib/binutils/ld/ldlang.c
+++ b/contrib/binutils/ld/ldlang.c
@@ -31,7 +31,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldmain.h"
#include "ldexp.h"
#include "ldlang.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldlex.h"
#include "ldmisc.h"
#include "ldctor.h"
@@ -1783,6 +1783,29 @@ get_first_input_target ()
return target;
}
+const char *
+lang_get_output_target ()
+{
+ const char *target;
+
+ /* Has the user told us which output format to use? */
+ if (output_target != (char *) NULL)
+ return output_target;
+
+ /* No - has the current target been set to something other than
+ the default? */
+ if (current_target != default_target)
+ return current_target;
+
+ /* No - can we determine the format of the first input file? */
+ target = get_first_input_target ();
+ if (target != NULL)
+ return target;
+
+ /* Failed - use the default output target. */
+ return default_target;
+}
+
/* Open the output file. */
static bfd *
@@ -1791,24 +1814,7 @@ open_output (name)
{
bfd *output;
- /* Has the user told us which output format to use? */
- if (output_target == (char *) NULL)
- {
- /* No - has the current target been set to something other than
- the default? */
- if (current_target != default_target)
- output_target = current_target;
-
- /* No - can we determine the format of the first input file? */
- else
- {
- output_target = get_first_input_target ();
-
- /* Failed - use the default output target. */
- if (output_target == NULL)
- output_target = default_target;
- }
- }
+ output_target = lang_get_output_target ();
/* Has the user requested a particular endianness on the command
line? */
@@ -2012,7 +2018,7 @@ lang_reasonable_defaults ()
default_common_section = lang_output_section_statement_lookup (".bss");
- if (placed_commons == false)
+ if (!placed_commons)
{
lang_wild_statement_type *new =
new_stat (lang_wild_statement,
@@ -2768,7 +2774,7 @@ size_input_section (this_ptr, output_section_statement, fill, dot)
lang_input_section_type *is = &((*this_ptr)->input_section);
asection *i = is->section;
- if (is->ifile->just_syms_flag == false)
+ if (!is->ifile->just_syms_flag)
{
unsigned opb = bfd_arch_mach_octets_per_byte (ldfile_output_architecture,
ldfile_output_machine);
@@ -3023,11 +3029,10 @@ lang_size_sections_1 (s, output_section_statement, prev, fill, dot, relax)
abs_output_section,
lang_allocating_phase_enum,
dot, &dot);
- if (r.valid_p == false)
- {
- einfo (_("%F%S: non constant address expression for section %s\n"),
- os->name);
- }
+ if (!r.valid_p)
+ einfo (_("%F%S: non constant address expression for section %s\n"),
+ os->name);
+
dot = r.value + r.section->bfd_section->vma;
}
@@ -3394,7 +3399,7 @@ lang_do_assignments (s, output_section_statement, fill, dot)
abs_output_section,
lang_final_phase_enum, dot, &dot);
s->data_statement.value = value.value;
- if (value.valid_p == false)
+ if (!value.valid_p)
einfo (_("%F%P: invalid data statement\n"));
}
{
@@ -3431,7 +3436,7 @@ lang_do_assignments (s, output_section_statement, fill, dot)
abs_output_section,
lang_final_phase_enum, dot, &dot);
s->reloc_statement.addend_value = value.value;
- if (value.valid_p == false)
+ if (!value.valid_p)
einfo (_("%F%P: invalid reloc statement\n"));
}
dot += bfd_get_reloc_size (s->reloc_statement.howto) / opb;
@@ -4014,7 +4019,7 @@ lang_add_output (name, from_script)
int from_script;
{
/* Make -o on command line override OUTPUT in script. */
- if (had_output_filename == false || !from_script)
+ if (!had_output_filename || !from_script)
{
output_filename = name;
had_output_filename = true;
diff --git a/contrib/binutils/ld/ldlang.h b/contrib/binutils/ld/ldlang.h
index cb4b6d3..57c8c51 100644
--- a/contrib/binutils/ld/ldlang.h
+++ b/contrib/binutils/ld/ldlang.h
@@ -483,5 +483,6 @@ extern void lang_register_vers_node
struct bfd_elf_version_deps *));
boolean unique_section_p PARAMS ((const char *));
extern void lang_add_unique PARAMS ((const char *));
+extern const char *lang_get_output_target PARAMS ((void));
#endif
diff --git a/contrib/binutils/ld/ldlex.l b/contrib/binutils/ld/ldlex.l
index 68ed7fc..5b799c4 100644
--- a/contrib/binutils/ld/ldlex.l
+++ b/contrib/binutils/ld/ldlex.l
@@ -42,7 +42,7 @@ This was written by steve chamberlain
#include "ldmisc.h"
#include "ldexp.h"
#include "ldlang.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldfile.h"
#include "ldlex.h"
#include "ldmain.h"
diff --git a/contrib/binutils/ld/ldmain.c b/contrib/binutils/ld/ldmain.c
index 3a0828f..41d778f 100644
--- a/contrib/binutils/ld/ldmain.c
+++ b/contrib/binutils/ld/ldmain.c
@@ -36,7 +36,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldwrite.h"
#include "ldexp.h"
#include "ldlang.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldlex.h"
#include "ldfile.h"
#include "ldemul.h"
diff --git a/contrib/binutils/ld/ldmisc.c b/contrib/binutils/ld/ldmisc.c
index 2869ba9..7f9746a 100644
--- a/contrib/binutils/ld/ldmisc.c
+++ b/contrib/binutils/ld/ldmisc.c
@@ -36,7 +36,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldmisc.h"
#include "ldexp.h"
#include "ldlang.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldlex.h"
#include "ldmain.h"
#include "ldfile.h"
diff --git a/contrib/binutils/ld/ldwrite.c b/contrib/binutils/ld/ldwrite.c
index e5949c1..eb31171 100644
--- a/contrib/binutils/ld/ldwrite.c
+++ b/contrib/binutils/ld/ldwrite.c
@@ -29,7 +29,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#include "ldlang.h"
#include "ldwrite.h"
#include "ldmisc.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldmain.h"
static void build_link_order PARAMS ((lang_statement_union_type *));
diff --git a/contrib/binutils/ld/lexsup.c b/contrib/binutils/ld/lexsup.c
index 4acb4fd..f0d4c50 100644
--- a/contrib/binutils/ld/lexsup.c
+++ b/contrib/binutils/ld/lexsup.c
@@ -33,7 +33,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldmisc.h"
#include "ldexp.h"
#include "ldlang.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldlex.h"
#include "ldfile.h"
#include "ldver.h"
diff --git a/contrib/binutils/ld/mri.c b/contrib/binutils/ld/mri.c
index 89514e9..62a7f08 100644
--- a/contrib/binutils/ld/mri.c
+++ b/contrib/binutils/ld/mri.c
@@ -31,7 +31,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "ldlang.h"
#include "ldmisc.h"
#include "mri.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "libiberty.h"
struct section_name_struct {
diff --git a/contrib/binutils/ld/pe-dll.c b/contrib/binutils/ld/pe-dll.c
index fd70c78..e59c32d 100644
--- a/contrib/binutils/ld/pe-dll.c
+++ b/contrib/binutils/ld/pe-dll.c
@@ -32,7 +32,7 @@
#include "ldlang.h"
#include "ldwrite.h"
#include "ldmisc.h"
-#include "ldgram.h"
+#include <ldgram.h>
#include "ldmain.h"
#include "ldfile.h"
#include "ldemul.h"
@@ -257,6 +257,8 @@ static autofilter_entry_type autofilter_symbolprefixlist[] =
/* { "__imp_", 6 }, */
/* Do __imp_ explicitly to save time. */
{ "__rtti_", 7 },
+ /* Don't re-export auto-imported symbols. */
+ { "_nm_", 4 },
{ "__builtin_", 10 },
/* Don't export symbols specifying internal DLL layout. */
{ "_head_", 6 },
@@ -1814,8 +1816,10 @@ make_one (exp, parent)
quick_symbol (abfd, U ("_head_"), dll_symname, "", UNDSEC, BSF_GLOBAL, 0);
quick_symbol (abfd, U ("_imp__"), exp->internal_name, "", id5, BSF_GLOBAL, 0);
/* Symbol to reference ord/name of imported
- symbol, used to implement auto-import. */
- quick_symbol (abfd, U("_nm__"), exp->internal_name, "", id6, BSF_GLOBAL, 0);
+ data symbol, used to implement auto-import. */
+ if (exp->flag_data)
+ quick_symbol (abfd, U("_nm__"), exp->internal_name, "", id6,
+ BSF_GLOBAL,0);
if (pe_dll_compat_implib)
quick_symbol (abfd, U ("__imp_"), exp->internal_name, "",
id5, BSF_GLOBAL, 0);
@@ -1974,7 +1978,7 @@ make_import_fixup_mark (rel)
struct symbol_cache_entry *sym = *rel->sym_ptr_ptr;
bfd *abfd = bfd_asymbol_bfd (sym);
- struct coff_link_hash_entry *myh = NULL;
+ struct bfd_link_hash_entry *bh;
if (!fixup_name)
{
@@ -1996,15 +2000,20 @@ make_import_fixup_mark (rel)
sprintf (fixup_name, "__fu%d_%s", counter++, sym->name);
+ bh = NULL;
bfd_coff_link_add_one_symbol (&link_info, abfd, fixup_name, BSF_GLOBAL,
current_sec, /* sym->section, */
- rel->address, NULL, true, false,
- (struct bfd_link_hash_entry **) &myh);
+ rel->address, NULL, true, false, &bh);
+
+ if (0)
+ {
+ struct coff_link_hash_entry *myh;
+
+ myh = (struct coff_link_hash_entry *) bh;
+ printf ("type:%d\n", myh->type);
+ printf ("%s\n", myh->root.u.def.section->name);
+ }
-#if 0
- printf ("type:%d\n", myh->type);
- printf ("%s\n", myh->root.u.def.section->name);
-#endif
return fixup_name;
}
diff --git a/contrib/binutils/ld/po/ld.pot b/contrib/binutils/ld/po/ld.pot
index 131bef0..87119b5 100644
--- a/contrib/binutils/ld/po/ld.pot
+++ b/contrib/binutils/ld/po/ld.pot
@@ -1,12 +1,13 @@
# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR Free Software Foundation, Inc.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2002-07-23 15:58-0400\n"
+"POT-Creation-Date: 2002-10-30 10:08-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -249,6 +250,7 @@ msgid "Use --disable-stdcall-fixup to disable these fixups\n"
msgstr ""
#: emultempl/pe.em:879
+#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
msgstr ""
@@ -277,8 +279,8 @@ msgstr ""
msgid "Errors encountered processing file %s for interworking"
msgstr ""
-#: emultempl/pe.em:1305 ldlang.c:2065 ldlang.c:4608 ldlang.c:4641
-#: ldmain.c:1061
+#: emultempl/pe.em:1305 ldlang.c:2071 ldlang.c:4613 ldlang.c:4646
+#: ldmain.c:1062
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
msgstr ""
@@ -317,11 +319,11 @@ msgstr ""
msgid "%B%F: could not read symbols; %E\n"
msgstr ""
-#: ldcref.c:469 ldmain.c:1127 ldmain.c:1131
+#: ldcref.c:469 ldmain.c:1128 ldmain.c:1132
msgid "%B%F: could not read symbols: %E\n"
msgstr ""
-#: ldcref.c:537 ldcref.c:544 ldmain.c:1177 ldmain.c:1184
+#: ldcref.c:537 ldcref.c:544 ldmain.c:1178 ldmain.c:1185
msgid "%B%F: could not read relocs: %E\n"
msgstr ""
@@ -357,10 +359,12 @@ msgid ""
msgstr ""
#: ldemul.c:225
+#, c-format
msgid "%S SYSLIB ignored\n"
msgstr ""
#: ldemul.c:232
+#, c-format
msgid "%S HLL ignored\n"
msgstr ""
@@ -376,55 +380,64 @@ msgstr ""
msgid " no emulation specific options.\n"
msgstr ""
-#: ldexp.c:174
+#: ldexp.c:184
msgid "%F%P: %s uses undefined section %s\n"
msgstr ""
-#: ldexp.c:176
+#: ldexp.c:186
msgid "%F%P: %s forward reference of section %s\n"
msgstr ""
-#: ldexp.c:304
+#: ldexp.c:400
+#, c-format
msgid "%F%S %% by zero\n"
msgstr ""
-#: ldexp.c:311
+#: ldexp.c:407
+#, c-format
msgid "%F%S / by zero\n"
msgstr ""
-#: ldexp.c:463
+#: ldexp.c:581
+#, c-format
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:483
+#: ldexp.c:601
+#, c-format
msgid "%F%S: undefined symbol `%s' referenced in expression\n"
msgstr ""
-#: ldexp.c:685
+#: ldexp.c:726
+#, c-format
msgid "%F%S can not PROVIDE assignment to location counter\n"
msgstr ""
-#: ldexp.c:695
+#: ldexp.c:736
+#, c-format
msgid "%F%S invalid assignment to location counter\n"
msgstr ""
-#: ldexp.c:699
+#: ldexp.c:740
+#, c-format
msgid "%F%S assignment to location counter invalid outside of SECTION\n"
msgstr ""
-#: ldexp.c:708
+#: ldexp.c:749
msgid "%F%S cannot move location counter backwards (from %V to %V)\n"
msgstr ""
-#: ldexp.c:735
+#: ldexp.c:776
msgid "%P%F:%s: hash creation failed\n"
msgstr ""
-#: ldexp.c:1037 ldexp.c:1071
+#: ldexp.c:1078 ldexp.c:1112
+#, c-format
msgid "%F%S nonconstant expression for %s\n"
msgstr ""
-#: ldexp.c:1126
+#: ldexp.c:1167
+#, c-format
msgid "%F%S non constant expression for %s\n"
msgstr ""
@@ -442,45 +455,45 @@ msgstr ""
msgid "%F%P: invalid BFD target `%s'\n"
msgstr ""
-#: ldfile.c:142
+#: ldfile.c:218 ldfile.c:234
msgid "%P: skipping incompatible %s when searching for %s\n"
msgstr ""
-#: ldfile.c:234
+#: ldfile.c:326
msgid "%F%P: cannot open %s for %s: %E\n"
msgstr ""
-#: ldfile.c:237
+#: ldfile.c:329
msgid "%F%P: cannot open %s: %E\n"
msgstr ""
-#: ldfile.c:267
+#: ldfile.c:359
msgid "%F%P: cannot find %s\n"
msgstr ""
-#: ldfile.c:286 ldfile.c:302
+#: ldfile.c:378 ldfile.c:394
#, c-format
msgid "cannot find script file %s\n"
msgstr ""
-#: ldfile.c:288 ldfile.c:304
+#: ldfile.c:380 ldfile.c:396
#, c-format
msgid "opened script file %s\n"
msgstr ""
-#: ldfile.c:353
+#: ldfile.c:445
msgid "%P%F: cannot open linker script file %s: %E\n"
msgstr ""
-#: ldfile.c:391
+#: ldfile.c:483
msgid "%P%F: unknown architecture: %s\n"
msgstr ""
-#: ldfile.c:407
+#: ldfile.c:499
msgid "%P%F: target architecture respecified\n"
msgstr ""
-#: ldfile.c:461
+#: ldfile.c:553
msgid "%P%F: cannot represent machine `%s'\n"
msgstr ""
@@ -558,128 +571,129 @@ msgstr ""
msgid "%F%B: could not read symbols: %E\n"
msgstr ""
-#: ldlang.c:1853
+#: ldlang.c:1859
msgid ""
"%P: warning: could not find any targets that match endianness requirement\n"
msgstr ""
-#: ldlang.c:1866
+#: ldlang.c:1872
msgid "%P%F: target %s not found\n"
msgstr ""
-#: ldlang.c:1868
+#: ldlang.c:1874
msgid "%P%F: cannot open output file %s: %E\n"
msgstr ""
-#: ldlang.c:1878
+#: ldlang.c:1884
msgid "%P%F:%s: can not make object file: %E\n"
msgstr ""
-#: ldlang.c:1882
+#: ldlang.c:1888
msgid "%P%F:%s: can not set architecture: %E\n"
msgstr ""
-#: ldlang.c:1886
+#: ldlang.c:1892
msgid "%P%F: can not create link hash table: %E\n"
msgstr ""
-#: ldlang.c:2235
+#: ldlang.c:2241
msgid " load address 0x%V"
msgstr ""
-#: ldlang.c:2375
+#: ldlang.c:2381
msgid "%W (size before relaxing)\n"
msgstr ""
-#: ldlang.c:2462
+#: ldlang.c:2468
#, c-format
msgid "Address of section %s set to "
msgstr ""
-#: ldlang.c:2623
+#: ldlang.c:2629
#, c-format
msgid "Fail with %d\n"
msgstr ""
-#: ldlang.c:2868
+#: ldlang.c:2874
msgid "%X%P: section %s [%V -> %V] overlaps section %s [%V -> %V]\n"
msgstr ""
-#: ldlang.c:2897
+#: ldlang.c:2903
msgid "%X%P: address 0x%v of %B section %s is not within region %s\n"
msgstr ""
-#: ldlang.c:2905
+#: ldlang.c:2911
msgid "%X%P: region %s is full (%B section %s)\n"
msgstr ""
-#: ldlang.c:2955
+#: ldlang.c:2961
msgid "%P%X: Internal error on COFF shared library section %s\n"
msgstr ""
-#: ldlang.c:2999
+#: ldlang.c:3005
msgid "%P: warning: no memory region specified for section `%s'\n"
msgstr ""
-#: ldlang.c:3014
+#: ldlang.c:3020
msgid "%P: warning: changing start of section %s by %u bytes\n"
msgstr ""
-#: ldlang.c:3028
+#: ldlang.c:3033
+#, c-format
msgid "%F%S: non constant address expression for section %s\n"
msgstr ""
-#: ldlang.c:3203
+#: ldlang.c:3208
msgid "%P%F: can't relax section: %E\n"
msgstr ""
-#: ldlang.c:3398
+#: ldlang.c:3403
msgid "%F%P: invalid data statement\n"
msgstr ""
-#: ldlang.c:3435
+#: ldlang.c:3440
msgid "%F%P: invalid reloc statement\n"
msgstr ""
-#: ldlang.c:3574
+#: ldlang.c:3579
msgid "%P%F:%s: can't set start address\n"
msgstr ""
-#: ldlang.c:3587 ldlang.c:3605
+#: ldlang.c:3592 ldlang.c:3610
msgid "%P%F: can't set start address\n"
msgstr ""
-#: ldlang.c:3599
+#: ldlang.c:3604
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
msgstr ""
-#: ldlang.c:3610
+#: ldlang.c:3615
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
msgstr ""
-#: ldlang.c:3660
+#: ldlang.c:3665
msgid ""
"%P%F: Relocatable linking with relocations from format %s (%B) to format %s "
"(%B) is not supported\n"
msgstr ""
-#: ldlang.c:3669
+#: ldlang.c:3674
msgid ""
"%P: warning: %s architecture of input file `%B' is incompatible with %s "
"output\n"
msgstr ""
-#: ldlang.c:3690
+#: ldlang.c:3695
msgid "%E%X: failed to merge target specific data of file %B\n"
msgstr ""
-#: ldlang.c:3779
+#: ldlang.c:3784
msgid ""
"\n"
"Allocating common symbols\n"
msgstr ""
-#: ldlang.c:3780
+#: ldlang.c:3785
msgid ""
"Common symbol size file\n"
"\n"
@@ -688,52 +702,52 @@ msgstr ""
#. This message happens when using the
#. svr3.ifile linker script, so I have
#. disabled it.
-#: ldlang.c:3858
+#: ldlang.c:3863
msgid "%P: no [COMMON] command, defaulting to .bss\n"
msgstr ""
-#: ldlang.c:3917
+#: ldlang.c:3922
msgid "%P%F: invalid syntax in flags\n"
msgstr ""
-#: ldlang.c:4532
+#: ldlang.c:4537
msgid "%P%Fmultiple STARTUP files\n"
msgstr ""
-#: ldlang.c:4575
+#: ldlang.c:4580
msgid "%X%P:%S: section has both a load address and a load region\n"
msgstr ""
-#: ldlang.c:4825
+#: ldlang.c:4830
msgid "%F%P: bfd_record_phdr failed: %E\n"
msgstr ""
-#: ldlang.c:4844
+#: ldlang.c:4849
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
msgstr ""
-#: ldlang.c:5143
+#: ldlang.c:5150
msgid "%X%P: unknown language `%s' in version information\n"
msgstr ""
-#: ldlang.c:5195
+#: ldlang.c:5202
msgid ""
"%X%P: anonymous version tag cannot be combined with other version tags\n"
msgstr ""
-#: ldlang.c:5202
+#: ldlang.c:5209
msgid "%X%P: duplicate version tag `%s'\n"
msgstr ""
-#: ldlang.c:5215 ldlang.c:5228
+#: ldlang.c:5222 ldlang.c:5235
msgid "%X%P: duplicate expression `%s' in version information\n"
msgstr ""
-#: ldlang.c:5270
+#: ldlang.c:5277
msgid "%X%P: unable to find version dependency `%s'\n"
msgstr ""
-#: ldlang.c:5292
+#: ldlang.c:5299
msgid "%X%P: unable to read .exports section contents\n"
msgstr ""
@@ -741,209 +755,209 @@ msgstr ""
msgid "%X%P: can't set BFD default target to `%s': %E\n"
msgstr ""
-#: ldmain.c:290
+#: ldmain.c:291
msgid "%P%F: -r and --mpc860c0 may not be used together\n"
msgstr ""
-#: ldmain.c:292
+#: ldmain.c:293
msgid "%P%F: --relax and -r may not be used together\n"
msgstr ""
-#: ldmain.c:294
+#: ldmain.c:295
msgid "%P%F: -r and -shared may not be used together\n"
msgstr ""
-#: ldmain.c:300
+#: ldmain.c:301
msgid "%P%F: -F may not be used without -shared\n"
msgstr ""
-#: ldmain.c:302
+#: ldmain.c:303
msgid "%P%F: -f may not be used without -shared\n"
msgstr ""
-#: ldmain.c:341
+#: ldmain.c:342
msgid "using external linker script:"
msgstr ""
-#: ldmain.c:343
+#: ldmain.c:344
msgid "using internal linker script:"
msgstr ""
-#: ldmain.c:377
+#: ldmain.c:378
msgid "%P%F: no input files\n"
msgstr ""
-#: ldmain.c:382
+#: ldmain.c:383
msgid "%P: mode %s\n"
msgstr ""
-#: ldmain.c:399
+#: ldmain.c:400
msgid "%P%F: cannot open map file %s: %E\n"
msgstr ""
-#: ldmain.c:432
+#: ldmain.c:433
msgid "%P: link errors found, deleting executable `%s'\n"
msgstr ""
-#: ldmain.c:443
+#: ldmain.c:444
msgid "%F%B: final close failed: %E\n"
msgstr ""
-#: ldmain.c:467
+#: ldmain.c:468
msgid "%X%P: unable to open for source of copy `%s'\n"
msgstr ""
-#: ldmain.c:469
+#: ldmain.c:470
msgid "%X%P: unable to open for destination of copy `%s'\n"
msgstr ""
-#: ldmain.c:475
+#: ldmain.c:476
msgid "%P: Error writing file `%s'\n"
msgstr ""
-#: ldmain.c:481 pe-dll.c:1463
+#: ldmain.c:482 pe-dll.c:1465
#, c-format
msgid "%P: Error closing file `%s'\n"
msgstr ""
-#: ldmain.c:498
+#: ldmain.c:499
#, c-format
msgid "%s: total time in link: %ld.%06ld\n"
msgstr ""
-#: ldmain.c:501
+#: ldmain.c:502
#, c-format
msgid "%s: data size %ld\n"
msgstr ""
-#: ldmain.c:542
+#: ldmain.c:543
msgid "%P%F: missing argument to -m\n"
msgstr ""
-#: ldmain.c:670 ldmain.c:691 ldmain.c:722
+#: ldmain.c:671 ldmain.c:692 ldmain.c:723
msgid "%P%F: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:675 ldmain.c:694
+#: ldmain.c:676 ldmain.c:695
msgid "%P%F: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:709
+#: ldmain.c:710
msgid "%X%P: error: duplicate retain-symbols-file\n"
msgstr ""
-#: ldmain.c:753
+#: ldmain.c:754
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
msgstr ""
-#: ldmain.c:758
+#: ldmain.c:759
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
msgstr ""
-#: ldmain.c:834
+#: ldmain.c:835
msgid ""
"Archive member included because of file (symbol)\n"
"\n"
msgstr ""
-#: ldmain.c:905
+#: ldmain.c:906
msgid "%X%C: multiple definition of `%T'\n"
msgstr ""
-#: ldmain.c:908
+#: ldmain.c:909
msgid "%D: first defined here\n"
msgstr ""
-#: ldmain.c:912
+#: ldmain.c:913
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
msgstr ""
-#: ldmain.c:943
+#: ldmain.c:944
msgid "%B: warning: definition of `%T' overriding common\n"
msgstr ""
-#: ldmain.c:946
+#: ldmain.c:947
msgid "%B: warning: common is here\n"
msgstr ""
-#: ldmain.c:953
+#: ldmain.c:954
msgid "%B: warning: common of `%T' overridden by definition\n"
msgstr ""
-#: ldmain.c:956
+#: ldmain.c:957
msgid "%B: warning: defined here\n"
msgstr ""
-#: ldmain.c:963
+#: ldmain.c:964
msgid "%B: warning: common of `%T' overridden by larger common\n"
msgstr ""
-#: ldmain.c:966
+#: ldmain.c:967
msgid "%B: warning: larger common is here\n"
msgstr ""
-#: ldmain.c:970
+#: ldmain.c:971
msgid "%B: warning: common of `%T' overriding smaller common\n"
msgstr ""
-#: ldmain.c:973
+#: ldmain.c:974
msgid "%B: warning: smaller common is here\n"
msgstr ""
-#: ldmain.c:977
+#: ldmain.c:978
msgid "%B: warning: multiple common of `%T'\n"
msgstr ""
-#: ldmain.c:979
+#: ldmain.c:980
msgid "%B: warning: previous common is here\n"
msgstr ""
-#: ldmain.c:1000 ldmain.c:1039
+#: ldmain.c:1001 ldmain.c:1040
msgid "%P: warning: global constructor %s used\n"
msgstr ""
-#: ldmain.c:1049
+#: ldmain.c:1050
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
msgstr ""
-#: ldmain.c:1233
+#: ldmain.c:1234
msgid "%F%P: bfd_hash_table_init failed: %E\n"
msgstr ""
-#: ldmain.c:1240
+#: ldmain.c:1241
msgid "%F%P: bfd_hash_lookup failed: %E\n"
msgstr ""
-#: ldmain.c:1260
+#: ldmain.c:1261
msgid "%C: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1266
+#: ldmain.c:1267
msgid "%D: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1273
+#: ldmain.c:1274
msgid "%B: undefined reference to `%T'\n"
msgstr ""
-#: ldmain.c:1279
+#: ldmain.c:1280
msgid "%B: more undefined references to `%T' follow\n"
msgstr ""
-#: ldmain.c:1299 ldmain.c:1320 ldmain.c:1339
+#: ldmain.c:1300 ldmain.c:1321 ldmain.c:1340
msgid "%P%X: generated"
msgstr ""
-#: ldmain.c:1302
+#: ldmain.c:1303
msgid " relocation truncated to fit: %s %T"
msgstr ""
-#: ldmain.c:1323
+#: ldmain.c:1324
#, c-format
msgid "dangerous relocation: %s\n"
msgstr ""
-#: ldmain.c:1342
+#: ldmain.c:1343
msgid " reloc refers to symbol `%T' which is not being output\n"
msgstr ""
@@ -1020,523 +1034,527 @@ msgstr ""
msgid "%F%P: final link failed: %E\n"
msgstr ""
-#: lexsup.c:172 lexsup.c:267
+#: lexsup.c:173 lexsup.c:268
msgid "KEYWORD"
msgstr ""
-#: lexsup.c:172
+#: lexsup.c:173
msgid "Shared library control for HP/UX compatibility"
msgstr ""
-#: lexsup.c:175
+#: lexsup.c:176
msgid "ARCH"
msgstr ""
-#: lexsup.c:175
+#: lexsup.c:176
msgid "Set architecture"
msgstr ""
-#: lexsup.c:177 lexsup.c:336
+#: lexsup.c:178 lexsup.c:339
msgid "TARGET"
msgstr ""
-#: lexsup.c:177
+#: lexsup.c:178
msgid "Specify target for following input files"
msgstr ""
-#: lexsup.c:179 lexsup.c:220 lexsup.c:232 lexsup.c:241 lexsup.c:312
-#: lexsup.c:343 lexsup.c:383
+#: lexsup.c:180 lexsup.c:221 lexsup.c:233 lexsup.c:242 lexsup.c:313
+#: lexsup.c:346 lexsup.c:386
msgid "FILE"
msgstr ""
-#: lexsup.c:179
+#: lexsup.c:180
msgid "Read MRI format linker script"
msgstr ""
-#: lexsup.c:181
+#: lexsup.c:182
msgid "Force common symbols to be defined"
msgstr ""
-#: lexsup.c:185 lexsup.c:373 lexsup.c:375 lexsup.c:377
+#: lexsup.c:186 lexsup.c:376 lexsup.c:378 lexsup.c:380
msgid "ADDRESS"
msgstr ""
-#: lexsup.c:185
+#: lexsup.c:186
msgid "Set start address"
msgstr ""
-#: lexsup.c:187
+#: lexsup.c:188
msgid "Export all dynamic symbols"
msgstr ""
-#: lexsup.c:189
+#: lexsup.c:190
msgid "Link big-endian objects"
msgstr ""
-#: lexsup.c:191
+#: lexsup.c:192
msgid "Link little-endian objects"
msgstr ""
-#: lexsup.c:193 lexsup.c:196
+#: lexsup.c:194 lexsup.c:197
msgid "SHLIB"
msgstr ""
-#: lexsup.c:193
+#: lexsup.c:194
msgid "Auxiliary filter for shared object symbol table"
msgstr ""
-#: lexsup.c:196
+#: lexsup.c:197
msgid "Filter for shared object symbol table"
msgstr ""
-#: lexsup.c:198
+#: lexsup.c:199
msgid "Ignored"
msgstr ""
-#: lexsup.c:200
+#: lexsup.c:201
msgid "SIZE"
msgstr ""
-#: lexsup.c:200
+#: lexsup.c:201
msgid "Small data size (if no size, same as --shared)"
msgstr ""
-#: lexsup.c:203
+#: lexsup.c:204
msgid "FILENAME"
msgstr ""
-#: lexsup.c:203
+#: lexsup.c:204
msgid "Set internal name of shared library"
msgstr ""
-#: lexsup.c:205
+#: lexsup.c:206
msgid "PROGRAM"
msgstr ""
-#: lexsup.c:205
+#: lexsup.c:206
msgid "Set PROGRAM as the dynamic linker to use"
msgstr ""
-#: lexsup.c:207
+#: lexsup.c:208
msgid "LIBNAME"
msgstr ""
-#: lexsup.c:207
+#: lexsup.c:208
msgid "Search for library LIBNAME"
msgstr ""
-#: lexsup.c:209
+#: lexsup.c:210
msgid "DIRECTORY"
msgstr ""
-#: lexsup.c:209
+#: lexsup.c:210
msgid "Add DIRECTORY to library search path"
msgstr ""
-#: lexsup.c:211
+#: lexsup.c:212
msgid "EMULATION"
msgstr ""
-#: lexsup.c:211
+#: lexsup.c:212
msgid "Set emulation"
msgstr ""
-#: lexsup.c:213
+#: lexsup.c:214
msgid "Print map file on standard output"
msgstr ""
-#: lexsup.c:215
+#: lexsup.c:216
msgid "Do not page align data"
msgstr ""
-#: lexsup.c:217
+#: lexsup.c:218
msgid "Do not page align data, do not make text readonly"
msgstr ""
-#: lexsup.c:220
+#: lexsup.c:221
msgid "Set output file name"
msgstr ""
-#: lexsup.c:222
+#: lexsup.c:223
msgid "Optimize output file"
msgstr ""
-#: lexsup.c:224
+#: lexsup.c:225
msgid "Ignored for SVR4 compatibility"
msgstr ""
-#: lexsup.c:228
+#: lexsup.c:229
msgid "Generate relocateable output"
msgstr ""
-#: lexsup.c:232
+#: lexsup.c:233
msgid "Just link symbols (if directory, same as --rpath)"
msgstr ""
-#: lexsup.c:235
+#: lexsup.c:236
msgid "Strip all symbols"
msgstr ""
-#: lexsup.c:237
+#: lexsup.c:238
msgid "Strip debugging symbols"
msgstr ""
-#: lexsup.c:239
+#: lexsup.c:240
msgid "Trace file opens"
msgstr ""
-#: lexsup.c:241
+#: lexsup.c:242
msgid "Read linker script"
msgstr ""
-#: lexsup.c:243 lexsup.c:259 lexsup.c:298 lexsup.c:310 lexsup.c:367
-#: lexsup.c:386 lexsup.c:406
+#: lexsup.c:244 lexsup.c:260 lexsup.c:299 lexsup.c:311 lexsup.c:370
+#: lexsup.c:389 lexsup.c:409
msgid "SYMBOL"
msgstr ""
-#: lexsup.c:243
+#: lexsup.c:244
msgid "Start with undefined reference to SYMBOL"
msgstr ""
-#: lexsup.c:245
+#: lexsup.c:246
msgid "[=SECTION]"
msgstr ""
-#: lexsup.c:245
+#: lexsup.c:246
msgid "Don't merge input [SECTION | orphan] sections"
msgstr ""
-#: lexsup.c:247
+#: lexsup.c:248
msgid "Build global constructor/destructor tables"
msgstr ""
-#: lexsup.c:249
+#: lexsup.c:250
msgid "Print version information"
msgstr ""
-#: lexsup.c:251
+#: lexsup.c:252
msgid "Print version and emulation information"
msgstr ""
-#: lexsup.c:253
+#: lexsup.c:254
msgid "Discard all local symbols"
msgstr ""
-#: lexsup.c:255
+#: lexsup.c:256
msgid "Discard temporary local symbols (default)"
msgstr ""
-#: lexsup.c:257
+#: lexsup.c:258
msgid "Don't discard any local symbols"
msgstr ""
-#: lexsup.c:259
+#: lexsup.c:260
msgid "Trace mentions of SYMBOL"
msgstr ""
-#: lexsup.c:261 lexsup.c:345 lexsup.c:347
+#: lexsup.c:262 lexsup.c:348 lexsup.c:350
msgid "PATH"
msgstr ""
-#: lexsup.c:261
+#: lexsup.c:262
msgid "Default search path for Solaris compatibility"
msgstr ""
-#: lexsup.c:263
+#: lexsup.c:264
msgid "Start a group"
msgstr ""
-#: lexsup.c:265
+#: lexsup.c:266
msgid "End a group"
msgstr ""
-#: lexsup.c:267
+#: lexsup.c:268
msgid "Ignored for SunOS compatibility"
msgstr ""
-#: lexsup.c:269
+#: lexsup.c:270
msgid "Link against shared libraries"
msgstr ""
-#: lexsup.c:275
+#: lexsup.c:276
msgid "Do not link against shared libraries"
msgstr ""
-#: lexsup.c:283
+#: lexsup.c:284
msgid "Bind global references locally"
msgstr ""
-#: lexsup.c:285
+#: lexsup.c:286
msgid "Check section addresses for overlaps (default)"
msgstr ""
-#: lexsup.c:287
+#: lexsup.c:288
msgid "Do not check section addresses for overlaps"
msgstr ""
-#: lexsup.c:290
+#: lexsup.c:291
msgid "Output cross reference table"
msgstr ""
-#: lexsup.c:292
+#: lexsup.c:293
msgid "SYMBOL=EXPRESSION"
msgstr ""
-#: lexsup.c:292
+#: lexsup.c:293
msgid "Define a symbol"
msgstr ""
-#: lexsup.c:294
+#: lexsup.c:295
msgid "[=STYLE]"
msgstr ""
-#: lexsup.c:294
+#: lexsup.c:295
msgid "Demangle symbol names [using STYLE]"
msgstr ""
-#: lexsup.c:296
+#: lexsup.c:297
msgid "Generate embedded relocs"
msgstr ""
-#: lexsup.c:298
+#: lexsup.c:299
msgid "Call SYMBOL at unload-time"
msgstr ""
-#: lexsup.c:300
+#: lexsup.c:301
msgid "Force generation of file with .exe suffix"
msgstr ""
-#: lexsup.c:302
+#: lexsup.c:303
msgid "Remove unused sections (on some targets)"
msgstr ""
-#: lexsup.c:305
+#: lexsup.c:306
msgid "Don't remove unused sections (default)"
msgstr ""
-#: lexsup.c:308
+#: lexsup.c:309
msgid "Print option help"
msgstr ""
-#: lexsup.c:310
+#: lexsup.c:311
msgid "Call SYMBOL at load-time"
msgstr ""
-#: lexsup.c:312
+#: lexsup.c:313
msgid "Write a map file"
msgstr ""
-#: lexsup.c:314
+#: lexsup.c:315
msgid "Do not define Common storage"
msgstr ""
-#: lexsup.c:316
+#: lexsup.c:317
msgid "Do not demangle symbol names"
msgstr ""
-#: lexsup.c:318
+#: lexsup.c:319
msgid "Use less memory and more disk I/O"
msgstr ""
-#: lexsup.c:320
+#: lexsup.c:321
msgid "Allow no undefined symbols"
msgstr ""
-#: lexsup.c:322
+#: lexsup.c:323
msgid "Allow undefined symbols in shared objects"
msgstr ""
-#: lexsup.c:324
+#: lexsup.c:325
msgid "Allow multiple definitions"
msgstr ""
-#: lexsup.c:326
+#: lexsup.c:327
+msgid "Disallow undefined version"
+msgstr ""
+
+#: lexsup.c:329
msgid "Don't warn about mismatched input files"
msgstr ""
-#: lexsup.c:328
+#: lexsup.c:331
msgid "Turn off --whole-archive"
msgstr ""
-#: lexsup.c:330
+#: lexsup.c:333
msgid "Create an output file even if errors occur"
msgstr ""
-#: lexsup.c:334
+#: lexsup.c:337
msgid ""
"Only use library directories specified on\n"
"\t\t\t\tthe command line"
msgstr ""
-#: lexsup.c:336
+#: lexsup.c:339
msgid "Specify target of output file"
msgstr ""
-#: lexsup.c:338
+#: lexsup.c:341
msgid "Ignored for Linux compatibility"
msgstr ""
-#: lexsup.c:340
+#: lexsup.c:343
msgid "Relax branches on certain targets"
msgstr ""
-#: lexsup.c:343
+#: lexsup.c:346
msgid "Keep only symbols listed in FILE"
msgstr ""
-#: lexsup.c:345
+#: lexsup.c:348
msgid "Set runtime shared library search path"
msgstr ""
-#: lexsup.c:347
+#: lexsup.c:350
msgid "Set link time shared library search path"
msgstr ""
-#: lexsup.c:349
+#: lexsup.c:352
msgid "Create a shared library"
msgstr ""
-#: lexsup.c:353
+#: lexsup.c:356
msgid "Sort common symbols by size"
msgstr ""
-#: lexsup.c:357
+#: lexsup.c:360
msgid "COUNT"
msgstr ""
-#: lexsup.c:357
+#: lexsup.c:360
msgid "How many tags to reserve in .dynamic section"
msgstr ""
-#: lexsup.c:359
+#: lexsup.c:362
msgid "[=SIZE]"
msgstr ""
-#: lexsup.c:359
+#: lexsup.c:362
msgid "Split output sections every SIZE octets"
msgstr ""
-#: lexsup.c:361
+#: lexsup.c:364
msgid "[=COUNT]"
msgstr ""
-#: lexsup.c:361
+#: lexsup.c:364
msgid "Split output sections every COUNT relocs"
msgstr ""
-#: lexsup.c:363
+#: lexsup.c:366
msgid "Print memory usage statistics"
msgstr ""
-#: lexsup.c:365
+#: lexsup.c:368
msgid "Display target specific options"
msgstr ""
-#: lexsup.c:367
+#: lexsup.c:370
msgid "Do task level linking"
msgstr ""
-#: lexsup.c:369
+#: lexsup.c:372
msgid "Use same format as native linker"
msgstr ""
-#: lexsup.c:371
+#: lexsup.c:374
msgid "SECTION=ADDRESS"
msgstr ""
-#: lexsup.c:371
+#: lexsup.c:374
msgid "Set address of named section"
msgstr ""
-#: lexsup.c:373
+#: lexsup.c:376
msgid "Set address of .bss section"
msgstr ""
-#: lexsup.c:375
+#: lexsup.c:378
msgid "Set address of .data section"
msgstr ""
-#: lexsup.c:377
+#: lexsup.c:380
msgid "Set address of .text section"
msgstr ""
-#: lexsup.c:379
+#: lexsup.c:382
msgid "Output lots of information during link"
msgstr ""
-#: lexsup.c:383
+#: lexsup.c:386
msgid "Read version information script"
msgstr ""
-#: lexsup.c:386
+#: lexsup.c:389
msgid ""
"Take export symbols list from .exports, using\n"
"\t\t\t\tSYMBOL as the version."
msgstr ""
-#: lexsup.c:389
+#: lexsup.c:392
msgid "Warn about duplicate common symbols"
msgstr ""
-#: lexsup.c:391
+#: lexsup.c:394
msgid "Warn if global constructors/destructors are seen"
msgstr ""
-#: lexsup.c:394
+#: lexsup.c:397
msgid "Warn if the multiple GP values are used"
msgstr ""
-#: lexsup.c:396
+#: lexsup.c:399
msgid "Warn only once per undefined symbol"
msgstr ""
-#: lexsup.c:398
+#: lexsup.c:401
msgid "Warn if start of section changes due to alignment"
msgstr ""
-#: lexsup.c:401
+#: lexsup.c:404
msgid "Treat warnings as errors"
msgstr ""
-#: lexsup.c:404
+#: lexsup.c:407
msgid "Include all objects from following archives"
msgstr ""
-#: lexsup.c:406
+#: lexsup.c:409
msgid "Use wrapper functions for SYMBOL"
msgstr ""
-#: lexsup.c:408
+#: lexsup.c:411
msgid "[=WORDS]"
msgstr ""
-#: lexsup.c:408
+#: lexsup.c:411
msgid ""
"Modify problematic branches in last WORDS (1-10,\n"
"\t\t\t\tdefault 5) words of a page"
msgstr ""
-#: lexsup.c:574
+#: lexsup.c:577
msgid "%P: unrecognized option '%s'\n"
msgstr ""
-#: lexsup.c:576
+#: lexsup.c:579
msgid "%P%F: use the --help option for usage information\n"
msgstr ""
-#: lexsup.c:595
+#: lexsup.c:598
msgid "%P%F: unrecognized -a option `%s'\n"
msgstr ""
-#: lexsup.c:608
+#: lexsup.c:611
msgid "%P%F: unrecognized -assert option `%s'\n"
msgstr ""
-#: lexsup.c:651
+#: lexsup.c:654
msgid "%F%P: unknown demangling style `%s'"
msgstr ""
-#: lexsup.c:711
+#: lexsup.c:714
msgid "%P%F: invalid number `%s'\n"
msgstr ""
@@ -1548,65 +1566,65 @@ msgstr ""
#. an error message here. We cannot just make this a warning,
#. increment optind, and continue because getopt is too confused
#. and will seg-fault the next time around.
-#: lexsup.c:812
+#: lexsup.c:818
msgid "%P%F: bad -rpath option\n"
msgstr ""
-#: lexsup.c:910
+#: lexsup.c:916
msgid "%P%F: -shared not supported\n"
msgstr ""
-#: lexsup.c:942
+#: lexsup.c:948
msgid "%P%F: invalid argument to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:948
+#: lexsup.c:954
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
msgstr ""
-#: lexsup.c:1097
+#: lexsup.c:1103
msgid "%P%F: may not nest groups (--help for usage)\n"
msgstr ""
-#: lexsup.c:1104
+#: lexsup.c:1110
msgid "%P%F: group ended before it began (--help for usage)\n"
msgstr ""
-#: lexsup.c:1118
+#: lexsup.c:1124
msgid "%P%F: invalid argument to option \"mpc860c0\"\n"
msgstr ""
-#: lexsup.c:1173
+#: lexsup.c:1179
msgid "%P%F: invalid hex number `%s'\n"
msgstr ""
-#: lexsup.c:1185
+#: lexsup.c:1191
#, c-format
msgid "Usage: %s [options] file...\n"
msgstr ""
-#: lexsup.c:1187
+#: lexsup.c:1193
msgid "Options:\n"
msgstr ""
#. Note: Various tools (such as libtool) depend upon the
#. format of the listings below - do not change them.
-#: lexsup.c:1270
+#: lexsup.c:1276
#, c-format
msgid "%s: supported targets:"
msgstr ""
-#: lexsup.c:1278
+#: lexsup.c:1284
#, c-format
msgid "%s: supported emulations: "
msgstr ""
-#: lexsup.c:1283
+#: lexsup.c:1289
#, c-format
msgid "%s: emulation specific options:\n"
msgstr ""
-#: lexsup.c:1287
+#: lexsup.c:1293
#, c-format
msgid "Report bugs to %s\n"
msgstr ""
@@ -1615,61 +1633,61 @@ msgstr ""
msgid "%P%F: unknown format type %s\n"
msgstr ""
-#: pe-dll.c:321
+#: pe-dll.c:323
#, c-format
msgid "%XUnsupported PEI architecture: %s\n"
msgstr ""
-#: pe-dll.c:671
+#: pe-dll.c:673
#, c-format
msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
msgstr ""
-#: pe-dll.c:678
+#: pe-dll.c:680
#, c-format
msgid "Warning, duplicate EXPORT: %s\n"
msgstr ""
-#: pe-dll.c:742
+#: pe-dll.c:744
#, c-format
msgid "%XCannot export %s: symbol not defined\n"
msgstr ""
-#: pe-dll.c:748
+#: pe-dll.c:750
#, c-format
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
msgstr ""
-#: pe-dll.c:755
+#: pe-dll.c:757
#, c-format
msgid "%XCannot export %s: symbol not found\n"
msgstr ""
-#: pe-dll.c:870
+#: pe-dll.c:872
#, c-format
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
msgstr ""
-#: pe-dll.c:1181
+#: pe-dll.c:1183
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
msgstr ""
-#: pe-dll.c:1316
+#: pe-dll.c:1318
#, c-format
msgid "%s: Can't open output def file %s\n"
msgstr ""
-#: pe-dll.c:1459
+#: pe-dll.c:1461
msgid "; no contents available\n"
msgstr ""
-#: pe-dll.c:2128
+#: pe-dll.c:2137
#, c-format
msgid "%XCan't open .lib file: %s\n"
msgstr ""
-#: pe-dll.c:2133
+#: pe-dll.c:2142
#, c-format
msgid "Creating library file: %s\n"
msgstr ""
diff --git a/contrib/binutils/ld/scripttempl/pe.sc b/contrib/binutils/ld/scripttempl/pe.sc
index 2f24757..a22611c 100644
--- a/contrib/binutils/ld/scripttempl/pe.sc
+++ b/contrib/binutils/ld/scripttempl/pe.sc
@@ -85,6 +85,11 @@ SECTIONS
*(.rdata)
${R_RDATA}
*(.eh_frame)
+ ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST__ = .;}
+ ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST__ = .;}
+ *(.rdata_runtime_pseudo_reloc)
+ ${RELOCATING+___RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
+ ${RELOCATING+__RUNTIME_PSEUDO_RELOC_LIST_END__ = .;}
}
.pdata ${RELOCATING+BLOCK(__section_alignment__)} :
OpenPOWER on IntegriCloud