Add a plugin for processing static library dependencies.
authorHoward Chu <hyc@symas.com>
Mon, 14 Dec 2020 14:26:11 +0000 (14:26 +0000)
committerNick Clifton <nickc@redhat.com>
Mon, 14 Dec 2020 14:26:11 +0000 (14:26 +0000)
* libdep_plugin.c: New file: Processes archives that contain a
special library dependencies element.
* Makefile.am: Add build rules for libdep_plugin.
* Makefile.in: Regenerate.
* NEWS: Mention the new plugin.
* ld.texi: Document the new plugin.

ld/ChangeLog
ld/Makefile.am
ld/Makefile.in
ld/NEWS
ld/ld.texi
ld/libdep_plugin.c [new file with mode: 0644]
ld/po/ld.pot

index 8792daf9c19b74b5186c5bcb562e2da265852162..b649e6870b401aff70ec274271a84325902e95ab 100644 (file)
@@ -1,3 +1,12 @@
+2020-12-14  Howard Chu  <hyc@symas.com>
+
+       * libdep_plugin.c: New file: Processes archives that contain a
+       special library dependencies element.
+       * Makefile.am: Add build rules for libdep_plugin.
+       * Makefile.in: Regenerate.
+       * NEWS: Mention the new plugin.
+       * ld.texi: Document the new plugin.
+
 2020-12-14  Alan Modra  <amodra@gmail.com>
 
        PR 26836
index c9f85e529231a37d3445b861872cc55c8f86f950..2f59ee61697211434b380966e309ffa691c5f74d 100644 (file)
@@ -998,6 +998,11 @@ libldtestplug4_la_SOURCES = testplug4.c
 libldtestplug4_la_CFLAGS= -g -O2
 libldtestplug4_la_LDFLAGS = -no-undefined -rpath /nowhere
 
+bfdplugindir = $(libdir)/bfd-plugins
+bfdplugin_LTLIBRARIES = libdep.la
+libdep_la_SOURCES = libdep_plugin.c
+libdep_la_LDFLAGS = -no-undefined -rpath /nowhere
+
 # DOCUMENTATION TARGETS
 # Manual configuration file; not usually attached to normal configuration,
 # because almost all configs use "gen" version of manual.
index e5eea3886ca126d650d82c5cb1d2732f0568d83a..c744701e0e44113704beed1971a02bd5c0304125 100644 (file)
@@ -137,14 +137,49 @@ mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs
 CONFIG_HEADER = config.h
 CONFIG_CLEAN_FILES = po/Makefile.in
 CONFIG_CLEAN_VPATH_FILES =
-LTLIBRARIES = $(noinst_LTLIBRARIES)
-libldtestplug_la_LIBADD =
-am_libldtestplug_la_OBJECTS = libldtestplug_la-testplug.lo
-libldtestplug_la_OBJECTS = $(am_libldtestplug_la_OBJECTS)
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+    *) f=$$p;; \
+  esac;
+am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
+am__install_max = 40
+am__nobase_strip_setup = \
+  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
+am__nobase_strip = \
+  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
+am__nobase_list = $(am__nobase_strip_setup); \
+  for p in $$list; do echo "$$p $$p"; done | \
+  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
+  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
+    if (++n[$$2] == $(am__install_max)) \
+      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
+    END { for (dir in files) print dir, files[dir] }'
+am__base_list = \
+  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
+  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
+am__uninstall_files_from_dir = { \
+  test -z "$$files" \
+    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+         $(am__cd) "$$dir" && rm -f $$files; }; \
+  }
+am__installdirs = "$(DESTDIR)$(bfdplugindir)" "$(DESTDIR)$(bindir)" \
+       "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"
+LTLIBRARIES = $(bfdplugin_LTLIBRARIES) $(noinst_LTLIBRARIES)
+libdep_la_LIBADD =
+am_libdep_la_OBJECTS = libdep_plugin.lo
+libdep_la_OBJECTS = $(am_libdep_la_OBJECTS)
 AM_V_lt = $(am__v_lt_@AM_V@)
 am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@)
 am__v_lt_0 = --silent
 am__v_lt_1 = 
+libdep_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) \
+       $(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
+       $(libdep_la_LDFLAGS) $(LDFLAGS) -o $@
+libldtestplug_la_LIBADD =
+am_libldtestplug_la_OBJECTS = libldtestplug_la-testplug.lo
+libldtestplug_la_OBJECTS = $(am_libldtestplug_la_OBJECTS)
 libldtestplug_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
        $(libldtestplug_la_CFLAGS) $(CFLAGS) \
@@ -170,8 +205,6 @@ libldtestplug4_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \
        $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=link $(CCLD) \
        $(libldtestplug4_la_CFLAGS) $(CFLAGS) \
        $(libldtestplug4_la_LDFLAGS) $(LDFLAGS) -o $@
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(infodir)" \
-       "$(DESTDIR)$(man1dir)"
 PROGRAMS = $(bin_PROGRAMS)
 am_ld_new_OBJECTS = ldgram.$(OBJEXT) ldlex-wrapper.$(OBJEXT) \
        lexsup.$(OBJEXT) ldlang.$(OBJEXT) mri.$(OBJEXT) \
@@ -235,9 +268,10 @@ AM_V_YACC = $(am__v_YACC_@AM_V@)
 am__v_YACC_ = $(am__v_YACC_@AM_DEFAULT_V@)
 am__v_YACC_0 = @echo "  YACC    " $@;
 am__v_YACC_1 = 
-SOURCES = $(libldtestplug_la_SOURCES) $(libldtestplug2_la_SOURCES) \
-       $(libldtestplug3_la_SOURCES) $(libldtestplug4_la_SOURCES) \
-       $(ld_new_SOURCES) $(EXTRA_ld_new_SOURCES)
+SOURCES = $(libdep_la_SOURCES) $(libldtestplug_la_SOURCES) \
+       $(libldtestplug2_la_SOURCES) $(libldtestplug3_la_SOURCES) \
+       $(libldtestplug4_la_SOURCES) $(ld_new_SOURCES) \
+       $(EXTRA_ld_new_SOURCES)
 AM_V_DVIPS = $(am__v_DVIPS_@AM_V@)
 am__v_DVIPS_ = $(am__v_DVIPS_@AM_DEFAULT_V@)
 am__v_DVIPS_0 = @echo "  DVIPS   " $@;
@@ -290,33 +324,6 @@ am__can_run_installinfo = \
     n|no|NO) false;; \
     *) (install-info --version) >/dev/null 2>&1;; \
   esac
-am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
-am__vpath_adj = case $$p in \
-    $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
-    *) f=$$p;; \
-  esac;
-am__strip_dir = f=`echo $$p | sed -e 's|^.*/||'`;
-am__install_max = 40
-am__nobase_strip_setup = \
-  srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*|]/\\\\&/g'`
-am__nobase_strip = \
-  for p in $$list; do echo "$$p"; done | sed -e "s|$$srcdirstrip/||"
-am__nobase_list = $(am__nobase_strip_setup); \
-  for p in $$list; do echo "$$p $$p"; done | \
-  sed "s| $$srcdirstrip/| |;"' / .*\//!s/ .*/ ./; s,\( .*\)/[^/]*$$,\1,' | \
-  $(AWK) 'BEGIN { files["."] = "" } { files[$$2] = files[$$2] " " $$1; \
-    if (++n[$$2] == $(am__install_max)) \
-      { print $$2, files[$$2]; n[$$2] = 0; files[$$2] = "" } } \
-    END { for (dir in files) print dir, files[dir] }'
-am__base_list = \
-  sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
-  sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
-am__uninstall_files_from_dir = { \
-  test -z "$$files" \
-    || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
-    || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
-         $(am__cd) "$$dir" && rm -f $$files; }; \
-  }
 man1dir = $(mandir)/man1
 NROFF = nroff
 MANS = $(man_MANS)
@@ -1013,6 +1020,10 @@ libldtestplug3_la_LDFLAGS = -no-undefined -rpath /nowhere
 libldtestplug4_la_SOURCES = testplug4.c
 libldtestplug4_la_CFLAGS = -g -O2
 libldtestplug4_la_LDFLAGS = -no-undefined -rpath /nowhere
+bfdplugindir = $(libdir)/bfd-plugins
+bfdplugin_LTLIBRARIES = libdep.la
+libdep_la_SOURCES = libdep_plugin.c
+libdep_la_LDFLAGS = -no-undefined -rpath /nowhere
 MAINTAINERCLEANFILES = configdoc.texi ld.1 ld.info
 
 # We want to reconfigure if configure.host or configure.tgt changes.
@@ -1088,6 +1099,41 @@ distclean-hdr:
 po/Makefile.in: $(top_builddir)/config.status $(top_srcdir)/po/Make-in
        cd $(top_builddir) && $(SHELL) ./config.status $@
 
+install-bfdpluginLTLIBRARIES: $(bfdplugin_LTLIBRARIES)
+       @$(NORMAL_INSTALL)
+       @list='$(bfdplugin_LTLIBRARIES)'; test -n "$(bfdplugindir)" || list=; \
+       list2=; for p in $$list; do \
+         if test -f $$p; then \
+           list2="$$list2 $$p"; \
+         else :; fi; \
+       done; \
+       test -z "$$list2" || { \
+         echo " $(MKDIR_P) '$(DESTDIR)$(bfdplugindir)'"; \
+         $(MKDIR_P) "$(DESTDIR)$(bfdplugindir)" || exit 1; \
+         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 '$(DESTDIR)$(bfdplugindir)'"; \
+         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=install $(INSTALL) $(INSTALL_STRIP_FLAG) $$list2 "$(DESTDIR)$(bfdplugindir)"; \
+       }
+
+uninstall-bfdpluginLTLIBRARIES:
+       @$(NORMAL_UNINSTALL)
+       @list='$(bfdplugin_LTLIBRARIES)'; test -n "$(bfdplugindir)" || list=; \
+       for p in $$list; do \
+         $(am__strip_dir) \
+         echo " $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f '$(DESTDIR)$(bfdplugindir)/$$f'"; \
+         $(LIBTOOL) $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=uninstall rm -f "$(DESTDIR)$(bfdplugindir)/$$f"; \
+       done
+
+clean-bfdpluginLTLIBRARIES:
+       -test -z "$(bfdplugin_LTLIBRARIES)" || rm -f $(bfdplugin_LTLIBRARIES)
+       @list='$(bfdplugin_LTLIBRARIES)'; \
+       locs=`for p in $$list; do echo $$p; done | \
+             sed 's|^[^/]*$$|.|; s|/[^/]*$$||; s|$$|/so_locations|' | \
+             sort -u`; \
+       test -z "$$locs" || { \
+         echo rm -f $${locs}; \
+         rm -f $${locs}; \
+       }
+
 clean-noinstLTLIBRARIES:
        -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES)
        @list='$(noinst_LTLIBRARIES)'; \
@@ -1099,6 +1145,9 @@ clean-noinstLTLIBRARIES:
          rm -f $${locs}; \
        }
 
+libdep.la: $(libdep_la_OBJECTS) $(libdep_la_DEPENDENCIES) $(EXTRA_libdep_la_DEPENDENCIES) 
+       $(AM_V_CCLD)$(libdep_la_LINK) -rpath $(bfdplugindir) $(libdep_la_OBJECTS) $(libdep_la_LIBADD) $(LIBS)
+
 libldtestplug.la: $(libldtestplug_la_OBJECTS) $(libldtestplug_la_DEPENDENCIES) $(EXTRA_libldtestplug_la_DEPENDENCIES) 
        $(AM_V_CCLD)$(libldtestplug_la_LINK)  $(libldtestplug_la_OBJECTS) $(libldtestplug_la_LIBADD) $(LIBS)
 
@@ -1492,6 +1541,7 @@ distclean-compile:
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldver.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ldwrite.Po@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lexsup.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libdep_plugin.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libldtestplug2_la-testplug2.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libldtestplug3_la-testplug3.Plo@am__quote@
 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/libldtestplug4_la-testplug4.Plo@am__quote@
@@ -1886,7 +1936,7 @@ all-am: Makefile $(INFO_DEPS) $(LTLIBRARIES) $(PROGRAMS) $(MANS) \
                config.h
 installdirs: installdirs-recursive
 installdirs-am:
-       for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \
+       for dir in "$(DESTDIR)$(bfdplugindir)" "$(DESTDIR)$(bindir)" "$(DESTDIR)$(infodir)" "$(DESTDIR)$(man1dir)"; do \
          test -z "$$dir" || $(MKDIR_P) "$$dir"; \
        done
 install: $(BUILT_SOURCES)
@@ -1932,8 +1982,9 @@ maintainer-clean-generic:
        -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
 clean: clean-recursive
 
-clean-am: clean-aminfo clean-binPROGRAMS clean-generic clean-libtool \
-       clean-noinstLTLIBRARIES mostlyclean-am
+clean-am: clean-aminfo clean-bfdpluginLTLIBRARIES clean-binPROGRAMS \
+       clean-generic clean-libtool clean-noinstLTLIBRARIES \
+       mostlyclean-am
 
 distclean: distclean-recursive
        -rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -1955,7 +2006,8 @@ info: info-recursive
 
 info-am: $(INFO_DEPS)
 
-install-data-am: install-data-local install-info-am install-man
+install-data-am: install-bfdpluginLTLIBRARIES install-data-local \
+       install-info-am install-man
 
 install-dvi: install-dvi-recursive
 
@@ -2095,9 +2147,9 @@ ps: ps-recursive
 
 ps-am: $(PSS)
 
-uninstall-am: uninstall-binPROGRAMS uninstall-dvi-am uninstall-html-am \
-       uninstall-info-am uninstall-man uninstall-pdf-am \
-       uninstall-ps-am
+uninstall-am: uninstall-bfdpluginLTLIBRARIES uninstall-binPROGRAMS \
+       uninstall-dvi-am uninstall-html-am uninstall-info-am \
+       uninstall-man uninstall-pdf-am uninstall-ps-am
 
 uninstall-man: uninstall-man1
 
@@ -2106,12 +2158,13 @@ uninstall-man: uninstall-man1
 
 .PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
        am--refresh check check-DEJAGNU check-am clean clean-aminfo \
-       clean-binPROGRAMS clean-cscope clean-generic clean-libtool \
-       clean-noinstLTLIBRARIES cscope cscopelist-am ctags ctags-am \
-       dist-info distclean distclean-DEJAGNU distclean-compile \
-       distclean-generic distclean-hdr distclean-libtool \
-       distclean-local distclean-tags dvi dvi-am html html-am info \
-       info-am install install-am install-binPROGRAMS install-data \
+       clean-bfdpluginLTLIBRARIES clean-binPROGRAMS clean-cscope \
+       clean-generic clean-libtool clean-noinstLTLIBRARIES cscope \
+       cscopelist-am ctags ctags-am dist-info distclean \
+       distclean-DEJAGNU distclean-compile distclean-generic \
+       distclean-hdr distclean-libtool distclean-local distclean-tags \
+       dvi dvi-am html html-am info info-am install install-am \
+       install-bfdpluginLTLIBRARIES install-binPROGRAMS install-data \
        install-data-am install-data-local install-dvi install-dvi-am \
        install-exec install-exec-am install-exec-local install-html \
        install-html-am install-info install-info-am install-man \
@@ -2121,9 +2174,10 @@ uninstall-man: uninstall-man1
        maintainer-clean-aminfo maintainer-clean-generic mostlyclean \
        mostlyclean-aminfo mostlyclean-compile mostlyclean-generic \
        mostlyclean-libtool mostlyclean-local pdf pdf-am ps ps-am tags \
-       tags-am uninstall uninstall-am uninstall-binPROGRAMS \
-       uninstall-dvi-am uninstall-html-am uninstall-info-am \
-       uninstall-man uninstall-man1 uninstall-pdf-am uninstall-ps-am
+       tags-am uninstall uninstall-am uninstall-bfdpluginLTLIBRARIES \
+       uninstall-binPROGRAMS uninstall-dvi-am uninstall-html-am \
+       uninstall-info-am uninstall-man uninstall-man1 \
+       uninstall-pdf-am uninstall-ps-am
 
 .PRECIOUS: Makefile
 
diff --git a/ld/NEWS b/ld/NEWS
index 607030bddd95225f7b55a7f9398d9a473dcb690a..1c3f9c156e4640497e184c14a1eb6f07bd7e7619 100644 (file)
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -1,5 +1,8 @@
 -*- text -*-
 
+* Add libdep plugin, for linking dependencies of static libraries that
+  were recorded by ar in the __.LIBDEP archive member.
+
 * Add --error-handling-script=<NAME> command line option to allow a helper
   script to be invoked when an undefined symbol or a missing library is
   encountered.  This option can be suppressed via the configure time
index 8e3c7da145e5306ea0b19b84d45339ded177e330..51c51a3ec1f9874d533c4a93061f58b0ad45fac2 100644 (file)
@@ -126,6 +126,7 @@ in the section entitled ``GNU Free Documentation License''.
 * Overview::                    Overview
 * Invocation::                  Invocation
 * Scripts::                     Linker Scripts
+* Plugins::                     Linker Plugins
 @ifset GENERIC
 * Machine Dependent::           Machine Dependent Features
 @end ifset
@@ -6954,6 +6955,58 @@ Any input files read because of an implicit linker script will be read
 at the position in the command line where the implicit linker script was
 read.  This can affect archive searching.
 
+@node Plugins
+@chapter Linker Plugins
+
+@cindex plugins
+@cindex linker plugins
+The linker can use dynamically loaded plugins to modify its behavior.
+For example, the link-time optimization feature that some compilers
+support is implemented with a linker plugin.
+
+Currently there is only one plugin shipped by default, but more may
+be added here later.
+
+@menu
+* libdep Plugin::      Static Library Dependencies Plugin
+@end menu
+
+@node libdep Plugin
+@section Static Library Dependencies Plugin
+@cindex static library dependencies
+Originally, static libraries were contained in an archive file consisting
+just of a collection of relocatable object files.  Later they evolved to
+optionally include a symbol table, to assist in finding the needed objects
+within a library.  There their evolution ended, and dynamic libraries
+rose to ascendance.
+
+One useful feature of dynamic libraries was that, more than just collecting
+multiple objects into a single file, they also included a list of their
+dependencies, such that one could specify just the name of a single dynamic
+library at link time, and all of its dependencies would be implicitly
+referenced as well.  But static libraries lacked this feature, so if a
+link invocation was switched from using dynamic libraries to static
+libraries, the link command would usually fail unless it was rewritten to
+explicitly list the dependencies of the static library.
+
+The GNU @command{ar} utility now supports a @option{--record-libdeps} option
+to embed dependency lists into static libraries as well, and the @file{libdep}
+plugin may be used to read this dependency information at link time.  The
+dependency information is stored as a single string, carrying @option{-l}
+and @option{-L} arguments as they would normally appear in a linker
+command line.  As such, the information can be written with any text
+utility and stored into any archive, even if GNU @command{ar} is not
+being used to create the archive.  The information is stored in an
+archive member named @samp{__.LIBDEP}.
+
+For example, given a library @file{libssl.a} that depends on another
+library @file{libcrypto.a} which may be found in @file{/usr/local/lib},
+the @samp{__.LIBDEP} member of @file{libssl.a} would contain
+
+@smallexample
+-L/usr/local/lib -lcrypto
+@end smallexample
+
 @ifset GENERIC
 @node Machine Dependent
 @chapter Machine Dependent Features
diff --git a/ld/libdep_plugin.c b/ld/libdep_plugin.c
new file mode 100644 (file)
index 0000000..2a7fdc4
--- /dev/null
@@ -0,0 +1,366 @@
+/* libdeps plugin for the GNU linker.
+   Copyright (C) 2020 Free Software Foundation, Inc.
+
+   This file is part of the GNU Binutils.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; if not, write to the Free Software
+   Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+   MA 02110-1301, USA.  */
+
+#include "sysdep.h"
+#include "bfd.h"
+#if BFD_SUPPORTS_PLUGINS
+#include "plugin-api.h"
+
+#include <ctype.h> /* For isspace.  */
+
+extern enum ld_plugin_status onload (struct ld_plugin_tv *tv);
+
+/* Helper for calling plugin api message function.  */
+#define TV_MESSAGE if (tv_message) (*tv_message)
+
+/* Function pointers to cache hooks passed at onload time.  */
+static ld_plugin_register_claim_file tv_register_claim_file = 0;
+static ld_plugin_register_all_symbols_read tv_register_all_symbols_read = 0;
+static ld_plugin_register_cleanup tv_register_cleanup = 0;
+static ld_plugin_message tv_message = 0;
+static ld_plugin_add_input_library tv_add_input_library = 0;
+static ld_plugin_set_extra_library_path tv_set_extra_library_path = 0;
+
+/* Handle/record information received in a transfer vector entry.  */
+static enum ld_plugin_status
+parse_tv_tag (struct ld_plugin_tv *tv)
+{
+#define SETVAR(x) x = tv->tv_u.x
+  switch (tv->tv_tag)
+    {
+      case LDPT_REGISTER_CLAIM_FILE_HOOK:
+       SETVAR(tv_register_claim_file);
+       break;
+      case LDPT_REGISTER_ALL_SYMBOLS_READ_HOOK:
+       SETVAR(tv_register_all_symbols_read);
+       break;
+      case LDPT_REGISTER_CLEANUP_HOOK:
+       SETVAR(tv_register_cleanup);
+       break;
+      case LDPT_MESSAGE:
+       SETVAR(tv_message);
+       break;
+      case LDPT_ADD_INPUT_LIBRARY:
+       SETVAR(tv_add_input_library);
+       break;
+      case LDPT_SET_EXTRA_LIBRARY_PATH:
+       SETVAR(tv_set_extra_library_path);
+       break;
+      default:
+       break;
+    }
+#undef SETVAR
+  return LDPS_OK;
+}
+
+/* Defs for archive parsing.  */
+#define ARMAGSIZE      8
+typedef struct arhdr
+{
+  char ar_name[16];
+  char ar_date[12];
+  char ar_uid[6];
+  char ar_gid[6];
+  char ar_mode[8];
+  char ar_size[10];
+  char ar_fmag[2];
+} arhdr;
+
+typedef struct linerec
+{
+  struct linerec *next;
+  char line[];
+} linerec;
+
+#define LIBDEPS "__.LIBDEP/ "
+
+static linerec *line_head, **line_tail = &line_head;
+
+static enum ld_plugin_status
+get_libdeps (int fd)
+{
+  arhdr ah;
+  int len;
+  unsigned long mlen;
+  linerec *lr;
+  enum ld_plugin_status rc = LDPS_NO_SYMS;
+
+  lseek (fd, ARMAGSIZE, SEEK_SET);
+  for (;;)
+    {
+      len = read (fd, (void *) &ah, sizeof (ah));
+      if (len != sizeof (ah))
+       break;
+      mlen = strtoul (ah.ar_size, NULL, 10);
+      if (!mlen || strncmp (ah.ar_name, LIBDEPS, sizeof (LIBDEPS)-1))
+       {
+         lseek (fd, mlen, SEEK_CUR);
+         continue;
+       }
+      lr = malloc (sizeof (linerec) + mlen);
+      if (!lr)
+       return LDPS_ERR;
+      lr->next = NULL;
+      len = read (fd, lr->line, mlen);
+      lr->line[mlen-1] = '\0';
+      *line_tail = lr;
+      line_tail = &lr->next;
+      rc = LDPS_OK;
+      break;
+    }
+  return rc;
+}
+
+/* Turn a string into an argvec.  */
+static char **
+str2vec (char *in)
+{
+  char **res;
+  char *s, *first, *end;
+  char *sq, *dq;
+  int i;
+
+  end = in + strlen (in);
+  s = in;
+  while (isspace (*s)) s++;
+  first = s;
+
+  i = 1;
+  while ((s = strchr (s, ' ')))
+    {
+      s++;
+      i++;
+    }
+  res = (char **)malloc ((i+1) * sizeof (char *));
+  if (!res)
+    return res;
+
+  i = 0;
+  sq = NULL;
+  dq = NULL;
+  res[0] = first;
+  for (s = first; *s; s++)
+    {
+      if (*s == '\\')
+       {
+         memmove (s, s+1, end-s-1);
+         end--;
+       }
+      if (isspace (*s))
+       {
+         if (sq || dq)
+           continue;
+         *s++ = '\0';
+         while (isspace (*s)) s++;
+         if (*s)
+           res[++i] = s;
+       }
+      if (*s == '\'' && !dq)
+       {
+         if (sq)
+           {
+             memmove (sq, sq+1, s-sq-1);
+             memmove (s-2, s+1, end-s-1);
+             end -= 2;
+             s--;
+             sq = NULL;
+           }
+         else
+           {
+             sq = s;
+           }
+       }
+      if (*s == '"' && !sq)
+       {
+         if (dq)
+           {
+             memmove (dq, dq+1, s-dq-1);
+             memmove (s-2, s+1, end-s-1);
+             end -= 2;
+             s--;
+             dq = NULL;
+           }
+         else
+           {
+             dq = s;
+           }
+       }
+    }
+  res[++i] = NULL;
+  return res;
+}
+
+static char *prevfile;
+
+/* Standard plugin API registerable hook.  */
+static enum ld_plugin_status
+onclaim_file (const struct ld_plugin_input_file *file, int *claimed)
+{
+  enum ld_plugin_status rv;
+
+  *claimed = 0;
+
+  /* If we've already seen this file, ignore it.  */
+  if (prevfile && !strcmp (file->name, prevfile))
+    return LDPS_OK;
+
+  /* If it's not an archive member, ignore it.  */
+  if (!file->offset)
+    return LDPS_OK;
+
+  if (prevfile)
+    free (prevfile);
+
+  prevfile = strdup (file->name);
+  if (!prevfile)
+    return LDPS_ERR;
+
+  /* This hook only gets called on actual object files.
+   * We have to examine the archive ourselves, to find
+   * our LIBDEPS member.  */
+  rv = get_libdeps (file->fd);
+  if (rv == LDPS_ERR)
+    return rv;
+
+  if (rv == LDPS_OK)
+    {
+      linerec *lr = (linerec *)line_tail;
+      /* Inform the user/testsuite.  */
+      TV_MESSAGE (LDPL_INFO, "got deps for library %s: %s",
+                 file->name, lr->line);
+      fflush (NULL);
+    }
+
+  return LDPS_OK;
+}
+
+/* Standard plugin API registerable hook.  */
+static enum ld_plugin_status
+onall_symbols_read (void)
+{
+  linerec *lr;
+  char **vec;
+  enum ld_plugin_status rv = LDPS_OK;
+
+  while ((lr = line_head))
+    {
+      line_head = lr->next;
+      vec = str2vec (lr->line);
+      if (vec)
+       {
+         int i;
+         for (i = 0; vec[i]; i++)
+           {
+             if (vec[i][0] != '-')
+               {
+                 TV_MESSAGE (LDPL_WARNING, "ignoring libdep argument %s",
+                             vec[i]);
+                 fflush (NULL);
+                 continue;
+               }
+             if (vec[i][1] == 'l')
+               rv = tv_add_input_library (vec[i]+2);
+             else if (vec[i][1] == 'L')
+               rv = tv_set_extra_library_path (vec[i]+2);
+             else
+               {
+                 TV_MESSAGE (LDPL_WARNING, "ignoring libdep argument %s",
+                             vec[i]);
+                 fflush (NULL);
+               }
+             if (rv != LDPS_OK)
+               break;
+           }
+         free (vec);
+       }
+      free (lr);
+    }
+  line_tail = NULL;
+  return rv;
+}
+
+/* Standard plugin API registerable hook.  */
+static enum ld_plugin_status
+oncleanup (void)
+{
+  if (prevfile)
+    {
+      free (prevfile);
+      prevfile = NULL;
+    }
+  if (line_head)
+    {
+      linerec *lr;
+      while ((lr = line_head))
+       {
+         line_head = lr->next;
+         free (lr);
+       }
+      line_tail = NULL;
+    }
+  return LDPS_OK;
+}
+
+/* Standard plugin API entry point.  */
+enum ld_plugin_status
+onload (struct ld_plugin_tv *tv)
+{
+  enum ld_plugin_status rv;
+
+  /* This plugin requires a valid tv array.  */
+  if (!tv)
+    return LDPS_ERR;
+
+  /* First entry should always be LDPT_MESSAGE, letting us get
+     hold of it easily so we can send output straight away.  */
+  if (tv[0].tv_tag == LDPT_MESSAGE)
+    tv_message = tv[0].tv_u.tv_message;
+
+  do
+    if ((rv = parse_tv_tag (tv)) != LDPS_OK)
+      return rv;
+  while ((tv++)->tv_tag != LDPT_NULL);
+
+  /* Register hooks.  */
+  if (!tv_register_claim_file)
+    {
+      TV_MESSAGE (LDPL_FATAL, "No register_claim_file hook");
+      fflush (NULL);
+      return LDPS_ERR;
+    }
+  (*tv_register_claim_file) (onclaim_file);
+  if (!tv_register_all_symbols_read)
+    {
+      TV_MESSAGE (LDPL_FATAL, "No register_all_symbols_read hook");
+      fflush (NULL);
+      return LDPS_ERR;
+    }
+  (*tv_register_all_symbols_read) (onall_symbols_read);
+  if (!tv_register_cleanup)
+    {
+      TV_MESSAGE (LDPL_FATAL, "No register_cleanup hook");
+      fflush (NULL);
+      return LDPS_ERR;
+    }
+  (*tv_register_cleanup) (oncleanup);
+  fflush (NULL);
+  return LDPS_OK;
+}
+#endif /* BFD_SUPPORTS_PLUGINS */
index 1561a3d4ee6239382a8a33eea6f7ffdd31080362..c619dffb23c0a1393e14f7cf0d5794db8dc9b9f7 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
-"POT-Creation-Date: 2020-07-06 10:52+0100\n"
+"POT-Creation-Date: 2020-12-14 14:16+0000\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"
@@ -56,16 +56,15 @@ msgstr ""
 msgid "%P: symbol `%pT' missing from main hash table\n"
 msgstr ""
 
-#: ldcref.c:518 ldcref.c:629 ldmain.c:1293 ldmisc.c:335 pe-dll.c:736
-#: pe-dll.c:1314 pe-dll.c:1435 pe-dll.c:1558 earm_wince_pe.c:1437
-#: earm_wince_pe.c:1644 earmpe.c:1437 earmpe.c:1644 ei386pe.c:1437
-#: ei386pe.c:1644 ei386pe_posix.c:1437 ei386pe_posix.c:1644 ei386pep.c:1422
-#: emcorepe.c:1437 emcorepe.c:1644 eppcpe.c:1437 eppcpe.c:1644 eshpe.c:1437
-#: eshpe.c:1644
+#: ldcref.c:518 ldcref.c:629 ldmain.c:1295 ldmisc.c:336 pe-dll.c:737
+#: pe-dll.c:1315 pe-dll.c:1436 pe-dll.c:1562 earm_wince_pe.c:1486
+#: earm_wince_pe.c:1693 earmpe.c:1486 earmpe.c:1693 ei386pe.c:1486
+#: ei386pe.c:1693 ei386pe_posix.c:1486 ei386pe_posix.c:1693 ei386pep.c:1475
+#: emcorepe.c:1486 emcorepe.c:1693 eshpe.c:1486 eshpe.c:1693
 msgid "%F%P: %pB: could not read symbols: %E\n"
 msgstr ""
 
-#: ldcref.c:691 ldcref.c:698 ldmain.c:1355 ldmain.c:1362
+#: ldcref.c:691 ldcref.c:698 ldmain.c:1357 ldmain.c:1364
 msgid "%F%P: %pB: could not read relocs: %E\n"
 msgstr ""
 
@@ -138,7 +137,7 @@ msgstr ""
 msgid "found %s at %s\n"
 msgstr ""
 
-#: ldelf.c:385 ldlang.c:3146 ldlang.c:3160
+#: ldelf.c:385 ldlang.c:3143 ldlang.c:3157
 msgid "%F%P: %pB: error adding symbols: %E\n"
 msgstr ""
 
@@ -154,88 +153,95 @@ msgstr ""
 msgid "%F%P: %s: can't open for writing: %E\n"
 msgstr ""
 
-#: ldelf.c:1050 ldelf.c:1084
+#: ldelf.c:1052
 msgid "%F%P: cannot use executable file '%pB' as input to a link\n"
 msgstr ""
 
-#: ldelf.c:1111
+#: ldelf.c:1106
 msgid ""
 "%F%P: compact frame descriptions incompatible with DWARF2 .eh_frame from "
 "%pB\n"
 msgstr ""
 
-#: ldelf.c:1147
+#: ldelf.c:1142
 msgid ""
 "%P: warning: cannot create .eh_frame_hdr section, --eh-frame-hdr ignored\n"
 msgstr ""
 
-#: ldelf.c:1203
+#: ldelf.c:1198
 #, c-format
 msgid "%s needed by %pB\n"
 msgstr ""
 
-#: ldelf.c:1312
+#: ldelf.c:1307
 msgid ""
 "%P: warning: %s, needed by %pB, not found (try using -rpath or -rpath-link)\n"
 msgstr ""
 
-#: ldelf.c:1325
+#: ldelf.c:1320
 msgid "%F%P: failed to add DT_NEEDED dynamic tag\n"
 msgstr ""
 
-#: ldelf.c:1333
+#: ldelf.c:1328
 msgid "%F%P: failed to parse EH frame entries\n"
 msgstr ""
 
-#: ldelf.c:1372
+#: ldelf.c:1367
 msgid "%P: warning: .note.gnu.build-id section discarded, --build-id ignored\n"
 msgstr ""
 
-#: ldelf.c:1418 earm_wince_pe.c:1228 earmpe.c:1228 ei386pe.c:1228
-#: ei386pe_posix.c:1228 ei386pep.c:1231 emcorepe.c:1228 eppcpe.c:1228
-#: eshpe.c:1228
+#: ldelf.c:1413 earm_wince_pe.c:1277 earmpe.c:1277 ei386pe.c:1277
+#: ei386pe_posix.c:1277 ei386pep.c:1284 emcorepe.c:1277 eshpe.c:1277
 msgid "%P: warning: unrecognized --build-id style ignored\n"
 msgstr ""
 
-#: ldelf.c:1436
+#: ldelf.c:1431
 msgid ""
 "%P: warning: cannot create .note.gnu.build-id section, --build-id ignored\n"
 msgstr ""
 
-#: ldelf.c:1468 eaix5ppc.c:1370 eaix5rs6.c:1370 eaixppc.c:1370 eaixrs6.c:1370
-#: eppcmacos.c:1370
+#: ldelf.c:1463 eaix5ppc.c:1371 eaix5rs6.c:1371 eaixppc.c:1371 eaixrs6.c:1371
+#: eppcmacos.c:1371
 msgid "%F%P: failed to record assignment to %s: %E\n"
 msgstr ""
 
-#: ldelf.c:1650 ldelf.c:1715 eaix5ppc.c:832 eaix5rs6.c:832 eaixppc.c:832
+#: ldelf.c:1647 ldelf.c:1712 eaix5ppc.c:832 eaix5rs6.c:832 eaixppc.c:832
 #: eaixrs6.c:832 eelf64_ia64_vms.c:209 eppcmacos.c:832
 msgid "%F%P: failed to set dynamic section sizes: %E\n"
 msgstr ""
 
-#: ldelf.c:1687
+#: ldelf.c:1684
 msgid "%F%P: %pB: can't read contents of section .gnu.warning: %E\n"
 msgstr ""
 
-#: ldelfgen.c:55
+#: ldelfgen.c:56
 msgid "%F%P: map sections to segments failed: %E\n"
 msgstr ""
 
-#: ldelfgen.c:75
+#: ldelfgen.c:76
 msgid "%F%P: looping in map_segments"
 msgstr ""
 
-#: ldelfgen.c:87
+#: ldelfgen.c:88
 msgid "%F%P: failed to strip zero-sized dynamic sections"
 msgstr ""
 
-#: ldelfgen.c:191
+#: ldelfgen.c:159
 msgid ""
 "%F%P: warning: CTF strtab association failed; strings will not be shared: "
 "%s\n"
 msgstr ""
 
-#: ldelfgen.c:197
-msgid "%F%P: warning: CTF symbol shuffling failed; slight space cost: %s\n"
+#: ldelfgen.c:186
+msgid ""
+"%F%P: warning: CTF symbol addition failed; CTF will not be tied to symbols: "
+"%s\n"
+msgstr ""
+
+#: ldelfgen.c:196
+msgid ""
+"%F%P: warning: CTF symbol shuffling failed; CTF will not be tied to symbols: "
+"%s\n"
 msgstr ""
 
 #: ldemul.c:314
@@ -281,9 +287,9 @@ msgstr ""
 msgid "%F%P:%pS / by zero\n"
 msgstr ""
 
-#: ldexp.c:736 ldlang.c:3922 ldmain.c:1260 earm_wince_pe.c:1772 earmpe.c:1772
-#: ei386pe.c:1772 ei386pe_posix.c:1772 ei386pep.c:1646 emcorepe.c:1772
-#: eppcpe.c:1772 eshpe.c:1772
+#: ldexp.c:736 ldlang.c:3977 ldmain.c:1262 earm_wince_pe.c:1804 earmpe.c:1804
+#: ei386pe.c:1804 ei386pe_posix.c:1804 ei386pep.c:1699 emcorepe.c:1804
+#: eshpe.c:1804
 msgid "%F%P: bfd_link_hash_lookup failed: %E\n"
 msgstr ""
 
@@ -331,7 +337,7 @@ msgstr ""
 msgid "%F%P:%pS: nonconstant expression for %s\n"
 msgstr ""
 
-#: ldexp.c:1666 ldlang.c:1281 ldlang.c:3464 ldlang.c:7848
+#: ldexp.c:1666 ldlang.c:1280 ldlang.c:3461 ldlang.c:7913
 msgid "%F%P: can not create hash table: %E\n"
 msgstr ""
 
@@ -364,68 +370,82 @@ msgstr ""
 msgid "%P: cannot find %s inside %s\n"
 msgstr ""
 
-#: ldfile.c:465
+#: ldfile.c:477 ldmain.c:1442
+msgid "%P: About to run error handling script '%s' with arguments: '%s' '%s'\n"
+msgstr ""
+
+#: ldfile.c:481 ldmain.c:1446
+msgid "error handling script"
+msgstr ""
+
+#: ldfile.c:487 ldmain.c:1452
+msgid "%P: Failed to run error handling script '%s', reason: "
+msgstr ""
+
+#. We ignore the return status of the script
+#. and always print the error message.
+#: ldfile.c:494 ldfile.c:498
 msgid "%P: cannot find %s\n"
 msgstr ""
 
-#: ldfile.c:475
+#: ldfile.c:508
 msgid "%P: note to link with %s use -l:%s or rename it to lib%s\n"
 msgstr ""
 
-#: ldfile.c:503
+#: ldfile.c:537
 #, c-format
 msgid "cannot find script file %s\n"
 msgstr ""
 
-#: ldfile.c:505
+#: ldfile.c:539
 #, c-format
 msgid "opened script file %s\n"
 msgstr ""
 
-#: ldfile.c:654
+#: ldfile.c:688
 msgid "%F%P: error: linker script file '%s' appears multiple times\n"
 msgstr ""
 
-#: ldfile.c:676
+#: ldfile.c:710
 msgid "%F%P: cannot open linker script file %s: %E\n"
 msgstr ""
 
-#: ldfile.c:749
+#: ldfile.c:783
 msgid "%F%P: cannot represent machine `%s'\n"
 msgstr ""
 
-#: ldlang.c:1365
+#: ldlang.c:1364
 msgid "%P:%pS: warning: redeclaration of memory region `%s'\n"
 msgstr ""
 
-#: ldlang.c:1371
+#: ldlang.c:1370
 msgid "%P:%pS: warning: memory region `%s' not declared\n"
 msgstr ""
 
-#: ldlang.c:1407
+#: ldlang.c:1406
 msgid "%F%P:%pS: error: alias for default memory region\n"
 msgstr ""
 
-#: ldlang.c:1418
+#: ldlang.c:1417
 msgid "%F%P:%pS: error: redefinition of memory region alias `%s'\n"
 msgstr ""
 
-#: ldlang.c:1425
+#: ldlang.c:1424
 msgid "%F%P:%pS: error: memory region `%s' for alias `%s' does not exist\n"
 msgstr ""
 
-#: ldlang.c:1484 ldlang.c:1523
+#: ldlang.c:1485 ldlang.c:1520
 msgid "%F%P: failed creating section `%s': %E\n"
 msgstr ""
 
-#: ldlang.c:2221
+#: ldlang.c:2218
 msgid ""
 "\n"
 "As-needed library included to satisfy reference by file (symbol)\n"
 "\n"
 msgstr ""
 
-#: ldlang.c:2288
+#: ldlang.c:2285
 #, c-format
 msgid ""
 "\n"
@@ -433,30 +453,30 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ldlang.c:2296
+#: ldlang.c:2293
 msgid ""
 "\n"
 "Memory Configuration\n"
 "\n"
 msgstr ""
 
-#: ldlang.c:2298
+#: ldlang.c:2295
 msgid "Name"
 msgstr ""
 
-#: ldlang.c:2298
+#: ldlang.c:2295
 msgid "Origin"
 msgstr ""
 
-#: ldlang.c:2298
+#: ldlang.c:2295
 msgid "Length"
 msgstr ""
 
-#: ldlang.c:2298
+#: ldlang.c:2295
 msgid "Attributes"
 msgstr ""
 
-#: ldlang.c:2338
+#: ldlang.c:2335
 #, c-format
 msgid ""
 "\n"
@@ -464,598 +484,617 @@ msgid ""
 "\n"
 msgstr ""
 
-#: ldlang.c:2391
+#: ldlang.c:2388
 msgid "%F%P: illegal use of `%s' section\n"
 msgstr ""
 
-#: ldlang.c:2400
+#: ldlang.c:2397
 msgid "%F%P: output format %s cannot represent section called %s: %E\n"
 msgstr ""
 
-#: ldlang.c:2567
+#: ldlang.c:2564
 msgid ""
 "%P:%pS: warning: --enable-non-contiguous-regions makes section `%pA' from "
 "'%pB' match /DISCARD/ clause.\n"
 msgstr ""
 
-#: ldlang.c:2600
+#: ldlang.c:2597
 msgid ""
 "%P:%pS: warning: --enable-non-contiguous-regions may change behaviour for "
 "section `%pA' from '%pB' (assigned to %pA, but additional match: %pA)\n"
 msgstr ""
 
-#: ldlang.c:3050
+#: ldlang.c:3047
 msgid "%P: %pB: file not recognized: %E; matching formats:"
 msgstr ""
 
-#: ldlang.c:3058
+#: ldlang.c:3055
 msgid "%F%P: %pB: file not recognized: %E\n"
 msgstr ""
 
-#: ldlang.c:3131
+#: ldlang.c:3128
 msgid "%F%P: %pB: member %pB in archive is not an object\n"
 msgstr ""
 
-#: ldlang.c:3434
+#: ldlang.c:3431
 msgid ""
 "%P: warning: could not find any targets that match endianness requirement\n"
 msgstr ""
 
-#: ldlang.c:3448
+#: ldlang.c:3445
 msgid "%F%P: target %s not found\n"
 msgstr ""
 
-#: ldlang.c:3450
+#: ldlang.c:3447
 msgid "%F%P: cannot open output file %s: %E\n"
 msgstr ""
 
-#: ldlang.c:3456
+#: ldlang.c:3453
 msgid "%F%P: %s: can not make object file: %E\n"
 msgstr ""
 
-#: ldlang.c:3460
+#: ldlang.c:3457
 msgid "%F%P: %s: can not set architecture: %E\n"
 msgstr ""
 
-#: ldlang.c:3640
+#: ldlang.c:3637
 msgid "%P: warning: %s contains output sections; did you forget -T?\n"
 msgstr ""
 
-#: ldlang.c:3697
+#: ldlang.c:3684
+#, c-format
+msgid "%s: %s\n"
+msgstr ""
+
+#: ldlang.c:3684
+msgid "CTF warning"
+msgstr ""
+
+#: ldlang.c:3684
+msgid "CTF error"
+msgstr ""
+
+#: ldlang.c:3690
+#, c-format
+msgid "CTF error: cannot get CTF errors: `%s'\n"
+msgstr ""
+
+#: ldlang.c:3724
 msgid ""
-"%P: warning: CTF section in `%pI' not loaded: its types will be discarded: `"
-"%s'\n"
+"%P: warning: CTF section in %pB not loaded; its types will be discarded: %s\n"
 msgstr ""
 
-#: ldlang.c:3722
+#: ldlang.c:3753
 msgid "%P: warning: CTF output not created: `%s'\n"
 msgstr ""
 
-#: ldlang.c:3764
-msgid "%F%P: cannot link with CTF in %pB: %s\n"
+#: ldlang.c:3796
+msgid "%P: warning: CTF section in %pB cannot be linked: `%s'\n"
 msgstr ""
 
-#: ldlang.c:3774
-msgid "%F%P: CTF linking failed; output will have no CTF section: %s\n"
+#: ldlang.c:3814
+msgid "%P: warning: CTF linking failed; output will have no CTF section: %s\n"
 msgstr ""
 
-#: ldlang.c:3830
+#: ldlang.c:3885
 msgid ""
-"%F%P: CTF section emission failed; output will have no CTF section: %s\n"
+"%P: warning: CTF section emission failed; output will have no CTF section: "
+"%s\n"
 msgstr ""
 
-#: ldlang.c:3868
+#: ldlang.c:3924
 msgid ""
-"%P: warning: CTF section in `%pI' not linkable: %P was built without support "
+"%P: warning: CTF section in %pB not linkable: %P was built without support "
 "for CTF\n"
 msgstr ""
 
-#: ldlang.c:3992
+#: ldlang.c:4047
 msgid "%X%P: required symbol `%s' not defined\n"
 msgstr ""
 
-#: ldlang.c:4291
+#: ldlang.c:4342
 msgid ""
 "warning: INSERT statement in linker script is incompatible with --enable-non-"
 "contiguous-regions.\n"
 msgstr ""
 
-#: ldlang.c:4304
+#: ldlang.c:4355
 msgid "%F%P: %s not found for insert\n"
 msgstr ""
 
-#: ldlang.c:4544
+#: ldlang.c:4595
 msgid " load address 0x%V"
 msgstr ""
 
-#: ldlang.c:4777
+#: ldlang.c:4828
 msgid "%W (size before relaxing)\n"
 msgstr ""
 
-#: ldlang.c:4870
+#: ldlang.c:4921
 #, c-format
 msgid "Address of section %s set to "
 msgstr ""
 
-#: ldlang.c:5068
+#: ldlang.c:5119
 #, c-format
 msgid "Fail with %d\n"
 msgstr ""
 
-#: ldlang.c:5281
+#: ldlang.c:5332
 msgid ""
 "%F%P: Output section '%s' not large enough for the linker-created stubs "
 "section '%s'.\n"
 msgstr ""
 
-#: ldlang.c:5286
+#: ldlang.c:5337
 msgid ""
 "%F%P: Relaxation not supported with --enable-non-contiguous-regions (section "
 "'%s' would overflow '%s' after it changed size).\n"
 msgstr ""
 
-#: ldlang.c:5395
+#: ldlang.c:5446
 msgid "%X%P: section %s VMA wraps around address space\n"
 msgstr ""
 
-#: ldlang.c:5401
+#: ldlang.c:5452
 msgid "%X%P: section %s LMA wraps around address space\n"
 msgstr ""
 
-#: ldlang.c:5453
+#: ldlang.c:5504
 msgid "%X%P: section %s LMA [%V,%V] overlaps section %s LMA [%V,%V]\n"
 msgstr ""
 
-#: ldlang.c:5497
+#: ldlang.c:5548
 msgid "%X%P: section %s VMA [%V,%V] overlaps section %s VMA [%V,%V]\n"
 msgstr ""
 
-#: ldlang.c:5520
+#: ldlang.c:5571
 msgid "%X%P: region `%s' overflowed by %lu byte\n"
 msgid_plural "%X%P: region `%s' overflowed by %lu bytes\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: ldlang.c:5545
+#: ldlang.c:5596
 msgid "%X%P: address 0x%v of %pB section `%s' is not within region `%s'\n"
 msgstr ""
 
-#: ldlang.c:5556
+#: ldlang.c:5607
 msgid "%X%P: %pB section `%s' will not fit in region `%s'\n"
 msgstr ""
 
-#: ldlang.c:5642
+#: ldlang.c:5693
 msgid ""
 "%F%P:%pS: non constant or forward reference address expression for section "
 "%s\n"
 msgstr ""
 
-#: ldlang.c:5667
+#: ldlang.c:5718
 msgid "%X%P: internal error on COFF shared library section %s\n"
 msgstr ""
 
-#: ldlang.c:5725
+#: ldlang.c:5776
 msgid "%F%P: error: no memory region specified for loadable section `%s'\n"
 msgstr ""
 
-#: ldlang.c:5729
+#: ldlang.c:5780
 msgid "%P: warning: no memory region specified for loadable section `%s'\n"
 msgstr ""
 
-#: ldlang.c:5763
+#: ldlang.c:5814
 msgid "%P: warning: start of section %s changed by %ld\n"
 msgstr ""
 
-#: ldlang.c:5855
+#: ldlang.c:5906
 msgid "%P: warning: dot moved backwards before `%s'\n"
 msgstr ""
 
-#: ldlang.c:6036
+#: ldlang.c:6087
 msgid "%F%P: can't relax section: %E\n"
 msgstr ""
 
-#: ldlang.c:6457
+#: ldlang.c:6508
 msgid "%F%P: invalid data statement\n"
 msgstr ""
 
-#: ldlang.c:6490
+#: ldlang.c:6541
 msgid "%F%P: invalid reloc statement\n"
 msgstr ""
 
-#: ldlang.c:6844
-msgid "%F%P: gc-sections requires either an entry or an undefined symbol\n"
+#: ldlang.c:6908
+msgid ""
+"%F%P: --gc-sections requires a defined symbol root specified by -e or -u\n"
 msgstr ""
 
-#: ldlang.c:6868
+#: ldlang.c:6933
 msgid "%F%P: %s: can't set start address\n"
 msgstr ""
 
-#: ldlang.c:6881 ldlang.c:6899
+#: ldlang.c:6946 ldlang.c:6964
 msgid "%F%P: can't set start address\n"
 msgstr ""
 
-#: ldlang.c:6893
+#: ldlang.c:6958
 msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
 msgstr ""
 
-#: ldlang.c:6904
+#: ldlang.c:6969
 msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
 msgstr ""
 
-#: ldlang.c:6960
+#: ldlang.c:7026
 msgid ""
 "%F%P: relocatable linking with relocations from format %s (%pB) to format %s "
 "(%pB) is not supported\n"
 msgstr ""
 
-#: ldlang.c:6970
+#: ldlang.c:7036
 msgid ""
 "%X%P: %s architecture of input file `%pB' is incompatible with %s output\n"
 msgstr ""
 
-#: ldlang.c:6993
+#: ldlang.c:7060
 msgid "%X%P: failed to merge target specific data of file %pB\n"
 msgstr ""
 
-#: ldlang.c:7064
+#: ldlang.c:7131
 msgid "%F%P: could not define common symbol `%pT': %E\n"
 msgstr ""
 
-#: ldlang.c:7076
+#: ldlang.c:7143
 msgid ""
 "\n"
 "Allocating common symbols\n"
 msgstr ""
 
-#: ldlang.c:7077
+#: ldlang.c:7144
 msgid ""
 "Common symbol       size              file\n"
 "\n"
 msgstr ""
 
-#: ldlang.c:7151
+#: ldlang.c:7217
 msgid "%X%P: error: unplaced orphan section `%pA' from `%pB'\n"
 msgstr ""
 
-#: ldlang.c:7169
+#: ldlang.c:7235
 msgid ""
 "%P: warning: orphan section `%pA' from `%pB' being placed in section `%s'\n"
 msgstr ""
 
-#: ldlang.c:7260
+#: ldlang.c:7325
 msgid "%F%P: invalid character %c (%d) in flags\n"
 msgstr ""
 
-#: ldlang.c:7369
+#: ldlang.c:7434
 msgid "%F%P:%pS: error: align with input and explicit align specified\n"
 msgstr ""
 
-#: ldlang.c:7875
+#: ldlang.c:7949
 msgid "%F%P: %s: plugin reported error after all symbols read\n"
 msgstr ""
 
-#: ldlang.c:8312
+#: ldlang.c:8387
 msgid "%F%P: multiple STARTUP files\n"
 msgstr ""
 
-#: ldlang.c:8358
+#: ldlang.c:8433
 msgid "%X%P:%pS: section has both a load address and a load region\n"
 msgstr ""
 
-#: ldlang.c:8464
+#: ldlang.c:8539
 msgid ""
 "%X%P:%pS: PHDRS and FILEHDR are not supported when prior PT_LOAD headers "
 "lack them\n"
 msgstr ""
 
-#: ldlang.c:8537
+#: ldlang.c:8612
 msgid "%F%P: no sections assigned to phdrs\n"
 msgstr ""
 
-#: ldlang.c:8575
+#: ldlang.c:8650
 msgid "%F%P: bfd_record_phdr failed: %E\n"
 msgstr ""
 
-#: ldlang.c:8595
+#: ldlang.c:8670
 msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
 msgstr ""
 
-#: ldlang.c:9018
+#: ldlang.c:9093
 msgid "%X%P: unknown language `%s' in version information\n"
 msgstr ""
 
-#: ldlang.c:9163
+#: ldlang.c:9238
 msgid ""
 "%X%P: anonymous version tag cannot be combined with other version tags\n"
 msgstr ""
 
-#: ldlang.c:9172
+#: ldlang.c:9247
 msgid "%X%P: duplicate version tag `%s'\n"
 msgstr ""
 
-#: ldlang.c:9193 ldlang.c:9202 ldlang.c:9220 ldlang.c:9230
+#: ldlang.c:9268 ldlang.c:9277 ldlang.c:9295 ldlang.c:9305
 msgid "%X%P: duplicate expression `%s' in version information\n"
 msgstr ""
 
-#: ldlang.c:9270
+#: ldlang.c:9345
 msgid "%X%P: unable to find version dependency `%s'\n"
 msgstr ""
 
-#: ldlang.c:9293
+#: ldlang.c:9368
 msgid "%X%P: unable to read .exports section contents\n"
 msgstr ""
 
-#: ldlang.c:9331
-msgid "%F%P: invalid origin for memory region %s\n"
+#: ldlang.c:9414
+msgid "%P: invalid origin for memory region %s\n"
 msgstr ""
 
-#: ldlang.c:9340
-msgid "%F%P: invalid length for memory region %s\n"
+#: ldlang.c:9426
+msgid "%P: invalid length for memory region %s\n"
 msgstr ""
 
-#: ldlang.c:9451
+#: ldlang.c:9538
 msgid "%X%P: unknown feature `%s'\n"
 msgstr ""
 
-#: ldmain.c:194
+#: ldmain.c:196
 msgid "%F%P: cannot open dependency file %s: %E\n"
 msgstr ""
 
-#: ldmain.c:264
+#: ldmain.c:266
 msgid "%F%P: fatal error: libbfd ABI mismatch\n"
 msgstr ""
 
-#: ldmain.c:300
+#: ldmain.c:302
 msgid "%X%P: can't set BFD default target to `%s': %E\n"
 msgstr ""
 
-#: ldmain.c:402
+#: ldmain.c:404
 msgid "built in linker script"
 msgstr ""
 
-#: ldmain.c:412
+#: ldmain.c:414
 msgid "using external linker script:"
 msgstr ""
 
-#: ldmain.c:414
+#: ldmain.c:416
 msgid "using internal linker script:"
 msgstr ""
 
-#: ldmain.c:461
+#: ldmain.c:463
 msgid "%F%P: --no-define-common may not be used without -shared\n"
 msgstr ""
 
-#: ldmain.c:467
+#: ldmain.c:469
 msgid "%F%P: no input files\n"
 msgstr ""
 
-#: ldmain.c:471
+#: ldmain.c:473
 msgid "%P: mode %s\n"
 msgstr ""
 
-#: ldmain.c:487 ends32belf.c:418 ends32belf16m.c:418 ends32belf_linux.c:547
-#: ends32elf.c:418 ends32elf16m.c:418 ends32elf_linux.c:547
+#: ldmain.c:489 ends32belf.c:422 ends32belf16m.c:422 ends32belf_linux.c:551
+#: ends32elf.c:422 ends32elf16m.c:422 ends32elf_linux.c:551
 msgid "%F%P: cannot open map file %s: %E\n"
 msgstr ""
 
-#: ldmain.c:540
+#: ldmain.c:542
 msgid "%P: link errors found, deleting executable `%s'\n"
 msgstr ""
 
-#: ldmain.c:549
+#: ldmain.c:551
 msgid "%F%P: %pB: final close failed: %E\n"
 msgstr ""
 
-#: ldmain.c:576
+#: ldmain.c:578
 msgid "%F%P: unable to open for source of copy `%s'\n"
 msgstr ""
 
-#: ldmain.c:579
+#: ldmain.c:581
 msgid "%F%P: unable to open for destination of copy `%s'\n"
 msgstr ""
 
-#: ldmain.c:586
+#: ldmain.c:588
 msgid "%P: error writing file `%s'\n"
 msgstr ""
 
-#: ldmain.c:591 pe-dll.c:1949
+#: ldmain.c:593 pe-dll.c:1953
 #, c-format
 msgid "%P: error closing file `%s'\n"
 msgstr ""
 
-#: ldmain.c:605
+#: ldmain.c:607
 #, c-format
 msgid "%s: total time in link: %ld.%06ld\n"
 msgstr ""
 
-#: ldmain.c:692
+#: ldmain.c:694
 msgid "%F%P: missing argument to -m\n"
 msgstr ""
 
-#: ldmain.c:742 ldmain.c:759 ldmain.c:779 ldmain.c:811 pe-dll.c:1395
+#: ldmain.c:744 ldmain.c:761 ldmain.c:781 ldmain.c:813 pe-dll.c:1396
 msgid "%F%P: bfd_hash_table_init failed: %E\n"
 msgstr ""
 
-#: ldmain.c:746 ldmain.c:763 ldmain.c:783
+#: ldmain.c:748 ldmain.c:765 ldmain.c:785
 msgid "%F%P: bfd_hash_lookup failed: %E\n"
 msgstr ""
 
-#: ldmain.c:797
+#: ldmain.c:799
 msgid "%X%P: error: duplicate retain-symbols-file\n"
 msgstr ""
 
-#: ldmain.c:841
+#: ldmain.c:843
 msgid "%F%P: bfd_hash_lookup for insertion failed: %E\n"
 msgstr ""
 
-#: ldmain.c:846
+#: ldmain.c:848
 msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
 msgstr ""
 
-#: ldmain.c:962
+#: ldmain.c:964
 msgid ""
 "Archive member included to satisfy reference by file (symbol)\n"
 "\n"
 msgstr ""
 
-#: ldmain.c:1071
+#: ldmain.c:1073
 msgid "%X%P: %C: multiple definition of `%pT'"
 msgstr ""
 
-#: ldmain.c:1074
+#: ldmain.c:1076
 msgid "; %D: first defined here"
 msgstr ""
 
-#: ldmain.c:1079
+#: ldmain.c:1081
 msgid "%P: disabling relaxation; it will not work with multiple definitions\n"
 msgstr ""
 
-#: ldmain.c:1132
+#: ldmain.c:1134
 msgid "%P: %pB: warning: definition of `%pT' overriding common from %pB\n"
 msgstr ""
 
-#: ldmain.c:1136
+#: ldmain.c:1138
 msgid "%P: %pB: warning: definition of `%pT' overriding common\n"
 msgstr ""
 
-#: ldmain.c:1145
+#: ldmain.c:1147
 msgid "%P: %pB: warning: common of `%pT' overridden by definition from %pB\n"
 msgstr ""
 
-#: ldmain.c:1149
+#: ldmain.c:1151
 msgid "%P: %pB: warning: common of `%pT' overridden by definition\n"
 msgstr ""
 
-#: ldmain.c:1158
+#: ldmain.c:1160
 msgid ""
 "%P: %pB: warning: common of `%pT' overridden by larger common from %pB\n"
 msgstr ""
 
-#: ldmain.c:1162
+#: ldmain.c:1164
 msgid "%P: %pB: warning: common of `%pT' overridden by larger common\n"
 msgstr ""
 
-#: ldmain.c:1169
+#: ldmain.c:1171
 msgid "%P: %pB: warning: common of `%pT' overriding smaller common from %pB\n"
 msgstr ""
 
-#: ldmain.c:1173
+#: ldmain.c:1175
 msgid "%P: %pB: warning: common of `%pT' overriding smaller common\n"
 msgstr ""
 
-#: ldmain.c:1180
+#: ldmain.c:1182
 msgid "%P: %pB and %pB: warning: multiple common of `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1183
+#: ldmain.c:1185
 msgid "%P: %pB: warning: multiple common of `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1202 ldmain.c:1238
+#: ldmain.c:1204 ldmain.c:1240
 msgid "%P: warning: global constructor %s used\n"
 msgstr ""
 
-#: ldmain.c:1248
+#: ldmain.c:1250
 msgid "%F%P: BFD backend error: BFD_RELOC_CTOR unsupported\n"
 msgstr ""
 
 #. We found a reloc for the symbol we are looking for.
-#: ldmain.c:1320 ldmain.c:1322 ldmain.c:1324 ldmain.c:1332 ldmain.c:1375
+#: ldmain.c:1322 ldmain.c:1324 ldmain.c:1326 ldmain.c:1334 ldmain.c:1377
 msgid "warning: "
 msgstr ""
 
-#: ldmain.c:1427
+#: ldmain.c:1467
 msgid "%X%P: %C: undefined reference to `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1430
+#: ldmain.c:1470
 msgid "%P: %C: warning: undefined reference to `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1436
+#: ldmain.c:1476
 msgid "%X%P: %D: more undefined references to `%pT' follow\n"
 msgstr ""
 
-#: ldmain.c:1439
+#: ldmain.c:1479
 msgid "%P: %D: warning: more undefined references to `%pT' follow\n"
 msgstr ""
 
-#: ldmain.c:1450
+#: ldmain.c:1490
 msgid "%X%P: %pB: undefined reference to `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1453
+#: ldmain.c:1493
 msgid "%P: %pB: warning: undefined reference to `%pT'\n"
 msgstr ""
 
-#: ldmain.c:1459
+#: ldmain.c:1499
 msgid "%X%P: %pB: more undefined references to `%pT' follow\n"
 msgstr ""
 
-#: ldmain.c:1462
+#: ldmain.c:1502
 msgid "%P: %pB: warning: more undefined references to `%pT' follow\n"
 msgstr ""
 
-#: ldmain.c:1499
+#: ldmain.c:1539
 msgid " additional relocation overflows omitted from the output\n"
 msgstr ""
 
-#: ldmain.c:1512
+#: ldmain.c:1552
 #, c-format
 msgid " relocation truncated to fit: %s against undefined symbol `%pT'"
 msgstr ""
 
-#: ldmain.c:1518
+#: ldmain.c:1558
 #, c-format
 msgid ""
 " relocation truncated to fit: %s against symbol `%pT' defined in %pA section "
 "in %pB"
 msgstr ""
 
-#: ldmain.c:1531
+#: ldmain.c:1571
 #, c-format
 msgid " relocation truncated to fit: %s against `%pT'"
 msgstr ""
 
-#: ldmain.c:1547
+#: ldmain.c:1587
 msgid "%X%H: dangerous relocation: %s\n"
 msgstr ""
 
-#: ldmain.c:1561
+#: ldmain.c:1601
 msgid "%X%H: reloc refers to symbol `%pT' which is not being output\n"
 msgstr ""
 
-#: ldmain.c:1595
+#: ldmain.c:1635
 msgid "%P: %pB: reference to %s\n"
 msgstr ""
 
-#: ldmain.c:1597
+#: ldmain.c:1637
 msgid "%P: %pB: definition of %s\n"
 msgstr ""
 
-#: ldmisc.c:374
+#: ldmisc.c:375
 #, c-format
 msgid "%pB: in function `%pT':\n"
 msgstr ""
 
-#: ldmisc.c:512
+#: ldmisc.c:515
 #, c-format
 msgid "no symbol"
 msgstr ""
 
-#: ldmisc.c:619
+#: ldmisc.c:622
 msgid "%F%P: internal error %s %d\n"
 msgstr ""
 
-#: ldmisc.c:683
+#: ldmisc.c:686
 msgid "%P: internal error: aborting at %s:%d in %s\n"
 msgstr ""
 
-#: ldmisc.c:686
+#: ldmisc.c:689
 msgid "%P: internal error: aborting at %s:%d\n"
 msgstr ""
 
-#: ldmisc.c:688
+#: ldmisc.c:691
 msgid "%F%P: please report this bug\n"
 msgstr ""
 
@@ -1105,667 +1144,675 @@ msgstr ""
 msgid "%F%P: final link failed: %E\n"
 msgstr ""
 
-#: lexsup.c:103 lexsup.c:288
+#: lexsup.c:105 lexsup.c:290
 msgid "KEYWORD"
 msgstr ""
 
-#: lexsup.c:103
+#: lexsup.c:105
 msgid "Shared library control for HP/UX compatibility"
 msgstr ""
 
-#: lexsup.c:106
+#: lexsup.c:108
 msgid "ARCH"
 msgstr ""
 
-#: lexsup.c:106
+#: lexsup.c:108
 msgid "Set architecture"
 msgstr ""
 
-#: lexsup.c:108 lexsup.c:415
+#: lexsup.c:110 lexsup.c:422
 msgid "TARGET"
 msgstr ""
 
-#: lexsup.c:108
+#: lexsup.c:110
 msgid "Specify target for following input files"
 msgstr ""
 
-#: lexsup.c:111 lexsup.c:117 lexsup.c:174 lexsup.c:178 lexsup.c:214
-#: lexsup.c:227 lexsup.c:229 lexsup.c:433 lexsup.c:500 lexsup.c:513
-#: lexsup.c:517
+#: lexsup.c:113 lexsup.c:119 lexsup.c:176 lexsup.c:180 lexsup.c:216
+#: lexsup.c:229 lexsup.c:231 lexsup.c:440 lexsup.c:507 lexsup.c:520
+#: lexsup.c:524
 msgid "FILE"
 msgstr ""
 
-#: lexsup.c:111
+#: lexsup.c:113
 msgid "Read MRI format linker script"
 msgstr ""
 
-#: lexsup.c:113
+#: lexsup.c:115
 msgid "Force common symbols to be defined"
 msgstr ""
 
-#: lexsup.c:117
+#: lexsup.c:119
 msgid "Write dependency file"
 msgstr ""
 
-#: lexsup.c:120
+#: lexsup.c:122
 msgid "Force group members out of groups"
 msgstr ""
 
-#: lexsup.c:122 lexsup.c:477 lexsup.c:479 lexsup.c:481 lexsup.c:483
-#: lexsup.c:485 lexsup.c:487
+#: lexsup.c:124 lexsup.c:484 lexsup.c:486 lexsup.c:488 lexsup.c:490
+#: lexsup.c:492 lexsup.c:494
 msgid "ADDRESS"
 msgstr ""
 
-#: lexsup.c:122
+#: lexsup.c:124
 msgid "Set start address"
 msgstr ""
 
-#: lexsup.c:124
+#: lexsup.c:126
 msgid "Export all dynamic symbols"
 msgstr ""
 
-#: lexsup.c:126
+#: lexsup.c:128
 msgid "Undo the effect of --export-dynamic"
 msgstr ""
 
-#: lexsup.c:128
+#: lexsup.c:130
 msgid "Enable support of non-contiguous memory regions"
 msgstr ""
 
-#: lexsup.c:130
+#: lexsup.c:132
 msgid ""
 "Enable warnings when --enable-non-contiguous-regions may cause unexpected "
 "behaviour"
 msgstr ""
 
-#: lexsup.c:132
+#: lexsup.c:134
 msgid "Link big-endian objects"
 msgstr ""
 
-#: lexsup.c:134
+#: lexsup.c:136
 msgid "Link little-endian objects"
 msgstr ""
 
-#: lexsup.c:136 lexsup.c:139
+#: lexsup.c:138 lexsup.c:141
 msgid "SHLIB"
 msgstr ""
 
-#: lexsup.c:136
+#: lexsup.c:138
 msgid "Auxiliary filter for shared object symbol table"
 msgstr ""
 
-#: lexsup.c:139
+#: lexsup.c:141
 msgid "Filter for shared object symbol table"
 msgstr ""
 
-#: lexsup.c:142
+#: lexsup.c:144
 msgid "Ignored"
 msgstr ""
 
-#: lexsup.c:144
+#: lexsup.c:146
 msgid "SIZE"
 msgstr ""
 
-#: lexsup.c:144
+#: lexsup.c:146
 msgid "Small data size (if no size, same as --shared)"
 msgstr ""
 
-#: lexsup.c:147
+#: lexsup.c:149
 msgid "FILENAME"
 msgstr ""
 
-#: lexsup.c:147
+#: lexsup.c:149
 msgid "Set internal name of shared library"
 msgstr ""
 
-#: lexsup.c:149
+#: lexsup.c:151
 msgid "PROGRAM"
 msgstr ""
 
-#: lexsup.c:149
+#: lexsup.c:151
 msgid "Set PROGRAM as the dynamic linker to use"
 msgstr ""
 
-#: lexsup.c:152
+#: lexsup.c:154
 msgid "Produce an executable with no program interpreter header"
 msgstr ""
 
-#: lexsup.c:155
+#: lexsup.c:157
 msgid "LIBNAME"
 msgstr ""
 
-#: lexsup.c:155
+#: lexsup.c:157
 msgid "Search for library LIBNAME"
 msgstr ""
 
-#: lexsup.c:157
+#: lexsup.c:159
 msgid "DIRECTORY"
 msgstr ""
 
-#: lexsup.c:157
+#: lexsup.c:159
 msgid "Add DIRECTORY to library search path"
 msgstr ""
 
-#: lexsup.c:160
+#: lexsup.c:162
 msgid "Override the default sysroot location"
 msgstr ""
 
-#: lexsup.c:162
+#: lexsup.c:164
 msgid "EMULATION"
 msgstr ""
 
-#: lexsup.c:162
+#: lexsup.c:164
 msgid "Set emulation"
 msgstr ""
 
-#: lexsup.c:164
+#: lexsup.c:166
 msgid "Print map file on standard output"
 msgstr ""
 
-#: lexsup.c:166
+#: lexsup.c:168
 msgid "Do not page align data"
 msgstr ""
 
-#: lexsup.c:168
+#: lexsup.c:170
 msgid "Do not page align data, do not make text readonly"
 msgstr ""
 
-#: lexsup.c:171
+#: lexsup.c:173
 msgid "Page align data, make text readonly"
 msgstr ""
 
-#: lexsup.c:174
+#: lexsup.c:176
 msgid "Set output file name"
 msgstr ""
 
-#: lexsup.c:176
+#: lexsup.c:178
 msgid "Optimize output file"
 msgstr ""
 
-#: lexsup.c:178
+#: lexsup.c:180
 msgid "Generate import library"
 msgstr ""
 
-#: lexsup.c:181 lexsup.c:192
+#: lexsup.c:183 lexsup.c:194
 msgid "PLUGIN"
 msgstr ""
 
-#: lexsup.c:181
+#: lexsup.c:183
 msgid "Load named plugin"
 msgstr ""
 
-#: lexsup.c:183 lexsup.c:194
+#: lexsup.c:185 lexsup.c:196
 msgid "ARG"
 msgstr ""
 
-#: lexsup.c:183
+#: lexsup.c:185
 msgid "Send arg to last-loaded plugin"
 msgstr ""
 
-#: lexsup.c:185 lexsup.c:188
+#: lexsup.c:187 lexsup.c:190
 msgid "Ignored for GCC LTO option compatibility"
 msgstr ""
 
-#: lexsup.c:192
+#: lexsup.c:194
 msgid "Load named plugin (ignored)"
 msgstr ""
 
-#: lexsup.c:194
+#: lexsup.c:196
 msgid "Send arg to last-loaded plugin (ignored)"
 msgstr ""
 
-#: lexsup.c:197
+#: lexsup.c:199
 msgid "Ignored for GCC linker option compatibility"
 msgstr ""
 
-#: lexsup.c:200 lexsup.c:203
+#: lexsup.c:202 lexsup.c:205
 msgid "Ignored for gold option compatibility"
 msgstr ""
 
-#: lexsup.c:206
+#: lexsup.c:208
 msgid "Ignored for SVR4 compatibility"
 msgstr ""
 
-#: lexsup.c:210
+#: lexsup.c:212
 msgid "Generate relocatable output"
 msgstr ""
 
-#: lexsup.c:214
+#: lexsup.c:216
 msgid "Just link symbols (if directory, same as --rpath)"
 msgstr ""
 
-#: lexsup.c:217
+#: lexsup.c:219
 msgid "Strip all symbols"
 msgstr ""
 
-#: lexsup.c:219
+#: lexsup.c:221
 msgid "Strip debugging symbols"
 msgstr ""
 
-#: lexsup.c:221
+#: lexsup.c:223
 msgid "Strip symbols in discarded sections"
 msgstr ""
 
-#: lexsup.c:223
+#: lexsup.c:225
 msgid "Do not strip symbols in discarded sections"
 msgstr ""
 
-#: lexsup.c:225
+#: lexsup.c:227
 msgid "Trace file opens"
 msgstr ""
 
-#: lexsup.c:227
+#: lexsup.c:229
 msgid "Read linker script"
 msgstr ""
 
-#: lexsup.c:229
+#: lexsup.c:231
 msgid "Read default linker script"
 msgstr ""
 
-#: lexsup.c:233 lexsup.c:236 lexsup.c:254 lexsup.c:343 lexsup.c:367
-#: lexsup.c:470 lexsup.c:503 lexsup.c:515 lexsup.c:553 lexsup.c:556
+#: lexsup.c:235 lexsup.c:238 lexsup.c:256 lexsup.c:345 lexsup.c:369
+#: lexsup.c:477 lexsup.c:510 lexsup.c:522 lexsup.c:560 lexsup.c:563
 msgid "SYMBOL"
 msgstr ""
 
-#: lexsup.c:233
+#: lexsup.c:235
 msgid "Start with undefined reference to SYMBOL"
 msgstr ""
 
-#: lexsup.c:236
+#: lexsup.c:238
 msgid "Require SYMBOL be defined in the final output"
 msgstr ""
 
-#: lexsup.c:239
+#: lexsup.c:241
 msgid "[=SECTION]"
 msgstr ""
 
-#: lexsup.c:240
+#: lexsup.c:242
 msgid "Don't merge input [SECTION | orphan] sections"
 msgstr ""
 
-#: lexsup.c:242
+#: lexsup.c:244
 msgid "Build global constructor/destructor tables"
 msgstr ""
 
-#: lexsup.c:244
+#: lexsup.c:246
 msgid "Print version information"
 msgstr ""
 
-#: lexsup.c:246
+#: lexsup.c:248
 msgid "Print version and emulation information"
 msgstr ""
 
-#: lexsup.c:248
+#: lexsup.c:250
 msgid "Discard all local symbols"
 msgstr ""
 
-#: lexsup.c:250
+#: lexsup.c:252
 msgid "Discard temporary local symbols (default)"
 msgstr ""
 
-#: lexsup.c:252
+#: lexsup.c:254
 msgid "Don't discard any local symbols"
 msgstr ""
 
-#: lexsup.c:254
+#: lexsup.c:256
 msgid "Trace mentions of SYMBOL"
 msgstr ""
 
-#: lexsup.c:256 lexsup.c:435 lexsup.c:437
+#: lexsup.c:258 lexsup.c:442 lexsup.c:444
 msgid "PATH"
 msgstr ""
 
-#: lexsup.c:256
+#: lexsup.c:258
 msgid "Default search path for Solaris compatibility"
 msgstr ""
 
-#: lexsup.c:259
+#: lexsup.c:261
 msgid "Start a group"
 msgstr ""
 
-#: lexsup.c:261
+#: lexsup.c:263
 msgid "End a group"
 msgstr ""
 
-#: lexsup.c:265
+#: lexsup.c:267
 msgid "Accept input files whose architecture cannot be determined"
 msgstr ""
 
-#: lexsup.c:269
+#: lexsup.c:271
 msgid "Reject input files whose architecture is unknown"
 msgstr ""
 
-#: lexsup.c:281
+#: lexsup.c:283
 msgid "Only set DT_NEEDED for following dynamic libs if used"
 msgstr ""
 
-#: lexsup.c:284
+#: lexsup.c:286
 msgid ""
 "Always set DT_NEEDED for dynamic libraries mentioned on\n"
 "                                the command line"
 msgstr ""
 
-#: lexsup.c:288
+#: lexsup.c:290
 msgid "Ignored for SunOS compatibility"
 msgstr ""
 
-#: lexsup.c:290
+#: lexsup.c:292
 msgid "Link against shared libraries"
 msgstr ""
 
-#: lexsup.c:296
+#: lexsup.c:298
 msgid "Do not link against shared libraries"
 msgstr ""
 
-#: lexsup.c:304
+#: lexsup.c:306
 msgid "Bind global references locally"
 msgstr ""
 
-#: lexsup.c:306
+#: lexsup.c:308
 msgid "Bind global function references locally"
 msgstr ""
 
-#: lexsup.c:308
+#: lexsup.c:310
 msgid "Check section addresses for overlaps (default)"
 msgstr ""
 
-#: lexsup.c:311
+#: lexsup.c:313
 msgid "Do not check section addresses for overlaps"
 msgstr ""
 
-#: lexsup.c:315
+#: lexsup.c:317
 msgid "Copy DT_NEEDED links mentioned inside DSOs that follow"
 msgstr ""
 
-#: lexsup.c:319
+#: lexsup.c:321
 msgid "Do not copy DT_NEEDED links mentioned inside DSOs that follow"
 msgstr ""
 
-#: lexsup.c:323
+#: lexsup.c:325
 msgid "Output cross reference table"
 msgstr ""
 
-#: lexsup.c:325
+#: lexsup.c:327
 msgid "SYMBOL=EXPRESSION"
 msgstr ""
 
-#: lexsup.c:325
+#: lexsup.c:327
 msgid "Define a symbol"
 msgstr ""
 
-#: lexsup.c:327
+#: lexsup.c:329
 msgid "[=STYLE]"
 msgstr ""
 
-#: lexsup.c:327
+#: lexsup.c:329
 msgid "Demangle symbol names [using STYLE]"
 msgstr ""
 
-#: lexsup.c:331
+#: lexsup.c:333
 msgid ""
 "Do not allow multiple definitions with symbols included\n"
 "           in filename invoked by -R or --just-symbols"
 msgstr ""
 
-#: lexsup.c:335
+#: lexsup.c:337
 msgid "Generate embedded relocs"
 msgstr ""
 
-#: lexsup.c:337
+#: lexsup.c:339
 msgid "Treat warnings as errors"
 msgstr ""
 
-#: lexsup.c:340
+#: lexsup.c:342
 msgid "Do not treat warnings as errors (default)"
 msgstr ""
 
-#: lexsup.c:343
+#: lexsup.c:345
 msgid "Call SYMBOL at unload-time"
 msgstr ""
 
-#: lexsup.c:345
+#: lexsup.c:347
 msgid "Force generation of file with .exe suffix"
 msgstr ""
 
-#: lexsup.c:347
+#: lexsup.c:349
 msgid "Remove unused sections (on some targets)"
 msgstr ""
 
-#: lexsup.c:350
+#: lexsup.c:352
 msgid "Don't remove unused sections (default)"
 msgstr ""
 
-#: lexsup.c:353
+#: lexsup.c:355
 msgid "List removed unused sections on stderr"
 msgstr ""
 
-#: lexsup.c:356
+#: lexsup.c:358
 msgid "Do not list removed unused sections"
 msgstr ""
 
-#: lexsup.c:359
+#: lexsup.c:361
 msgid "Keep exported symbols when removing unused sections"
 msgstr ""
 
-#: lexsup.c:362
+#: lexsup.c:364
 msgid "Set default hash table size close to <NUMBER>"
 msgstr ""
 
-#: lexsup.c:365
+#: lexsup.c:367
 msgid "Print option help"
 msgstr ""
 
-#: lexsup.c:367
+#: lexsup.c:369
 msgid "Call SYMBOL at load-time"
 msgstr ""
 
-#: lexsup.c:369
+#: lexsup.c:371
 msgid "FILE/DIR"
 msgstr ""
 
-#: lexsup.c:369
+#: lexsup.c:371
 msgid "Write a linker map to FILE or DIR/<outputname>.map"
 msgstr ""
 
-#: lexsup.c:371
+#: lexsup.c:373
 msgid "Do not define Common storage"
 msgstr ""
 
-#: lexsup.c:373
+#: lexsup.c:375
 msgid "Do not demangle symbol names"
 msgstr ""
 
-#: lexsup.c:375
+#: lexsup.c:377
 msgid "Use less memory and more disk I/O"
 msgstr ""
 
-#: lexsup.c:377
+#: lexsup.c:379
 msgid "Do not allow unresolved references in object files"
 msgstr ""
 
-#: lexsup.c:380
+#: lexsup.c:382
 msgid "Allow unresolved references in shared libraries"
 msgstr ""
 
-#: lexsup.c:384
+#: lexsup.c:386
 msgid "Do not allow unresolved references in shared libs"
 msgstr ""
 
-#: lexsup.c:388
+#: lexsup.c:390
 msgid "Allow multiple definitions"
 msgstr ""
 
-#: lexsup.c:390
+#: lexsup.c:394
+msgid "SCRIPT"
+msgstr ""
+
+#: lexsup.c:394
+msgid "Provide a script to help with undefined symbol errors"
+msgstr ""
+
+#: lexsup.c:397
 msgid "Disallow undefined version"
 msgstr ""
 
-#: lexsup.c:392
+#: lexsup.c:399
 msgid "Create default symbol version"
 msgstr ""
 
-#: lexsup.c:395
+#: lexsup.c:402
 msgid "Create default symbol version for imported symbols"
 msgstr ""
 
-#: lexsup.c:398
+#: lexsup.c:405
 msgid "Don't warn about mismatched input files"
 msgstr ""
 
-#: lexsup.c:401
+#: lexsup.c:408
 msgid "Don't warn on finding an incompatible library"
 msgstr ""
 
-#: lexsup.c:404
+#: lexsup.c:411
 msgid "Turn off --whole-archive"
 msgstr ""
 
-#: lexsup.c:406
+#: lexsup.c:413
 msgid "Create an output file even if errors occur"
 msgstr ""
 
-#: lexsup.c:411
+#: lexsup.c:418
 msgid ""
 "Only use library directories specified on\n"
 "                                the command line"
 msgstr ""
 
-#: lexsup.c:415
+#: lexsup.c:422
 msgid "Specify target of output file"
 msgstr ""
 
-#: lexsup.c:418
+#: lexsup.c:425
 msgid "Print default output format"
 msgstr ""
 
-#: lexsup.c:420
+#: lexsup.c:427
 msgid "Print current sysroot"
 msgstr ""
 
-#: lexsup.c:422
+#: lexsup.c:429
 msgid "Ignored for Linux compatibility"
 msgstr ""
 
-#: lexsup.c:425
+#: lexsup.c:432
 msgid "Reduce memory overheads, possibly taking much longer"
 msgstr ""
 
-#: lexsup.c:428
+#: lexsup.c:435
 msgid "Reduce code size by using target specific optimizations"
 msgstr ""
 
-#: lexsup.c:430
+#: lexsup.c:437
 msgid "Do not use relaxation techniques to reduce code size"
 msgstr ""
 
-#: lexsup.c:433
+#: lexsup.c:440
 msgid "Keep only symbols listed in FILE"
 msgstr ""
 
-#: lexsup.c:435
+#: lexsup.c:442
 msgid "Set runtime shared library search path"
 msgstr ""
 
-#: lexsup.c:437
+#: lexsup.c:444
 msgid "Set link time shared library search path"
 msgstr ""
 
-#: lexsup.c:440
+#: lexsup.c:447
 msgid "Create a shared library"
 msgstr ""
 
-#: lexsup.c:444
+#: lexsup.c:451
 msgid "Create a position independent executable"
 msgstr ""
 
-#: lexsup.c:448
+#: lexsup.c:455
 msgid "[=ascending|descending]"
 msgstr ""
 
-#: lexsup.c:449
+#: lexsup.c:456
 msgid "Sort common symbols by alignment [in specified order]"
 msgstr ""
 
-#: lexsup.c:454
+#: lexsup.c:461
 msgid "name|alignment"
 msgstr ""
 
-#: lexsup.c:455
+#: lexsup.c:462
 msgid "Sort sections by name or maximum alignment"
 msgstr ""
 
-#: lexsup.c:457
+#: lexsup.c:464
 msgid "COUNT"
 msgstr ""
 
-#: lexsup.c:457
+#: lexsup.c:464
 msgid "How many tags to reserve in .dynamic section"
 msgstr ""
 
-#: lexsup.c:460
+#: lexsup.c:467
 msgid "[=SIZE]"
 msgstr ""
 
-#: lexsup.c:460
+#: lexsup.c:467
 msgid "Split output sections every SIZE octets"
 msgstr ""
 
-#: lexsup.c:463
+#: lexsup.c:470
 msgid "[=COUNT]"
 msgstr ""
 
-#: lexsup.c:463
+#: lexsup.c:470
 msgid "Split output sections every COUNT relocs"
 msgstr ""
 
-#: lexsup.c:466
+#: lexsup.c:473
 msgid "Print memory usage statistics"
 msgstr ""
 
-#: lexsup.c:468
+#: lexsup.c:475
 msgid "Display target specific options"
 msgstr ""
 
-#: lexsup.c:470
+#: lexsup.c:477
 msgid "Do task level linking"
 msgstr ""
 
-#: lexsup.c:472
+#: lexsup.c:479
 msgid "Use same format as native linker"
 msgstr ""
 
-#: lexsup.c:474
+#: lexsup.c:481
 msgid "SECTION=ADDRESS"
 msgstr ""
 
-#: lexsup.c:474
+#: lexsup.c:481
 msgid "Set address of named section"
 msgstr ""
 
-#: lexsup.c:477
+#: lexsup.c:484
 msgid "Set address of .bss section"
 msgstr ""
 
-#: lexsup.c:479
+#: lexsup.c:486
 msgid "Set address of .data section"
 msgstr ""
 
-#: lexsup.c:481
+#: lexsup.c:488
 msgid "Set address of .text section"
 msgstr ""
 
-#: lexsup.c:483
+#: lexsup.c:490
 msgid "Set address of text segment"
 msgstr ""
 
-#: lexsup.c:485
+#: lexsup.c:492
 msgid "Set address of rodata segment"
 msgstr ""
 
-#: lexsup.c:487
+#: lexsup.c:494
 msgid "Set address of ldata segment"
 msgstr ""
 
-#: lexsup.c:490
+#: lexsup.c:497
 msgid ""
 "How to handle unresolved symbols.  <method> is:\n"
 "                                ignore-all, report-all, ignore-in-object-"
@@ -1773,174 +1820,197 @@ msgid ""
 "                                ignore-in-shared-libs"
 msgstr ""
 
-#: lexsup.c:495
+#: lexsup.c:502
 msgid "[=NUMBER]"
 msgstr ""
 
-#: lexsup.c:496
+#: lexsup.c:503
 msgid "Output lots of information during link"
 msgstr ""
 
-#: lexsup.c:500
+#: lexsup.c:507
 msgid "Read version information script"
 msgstr ""
 
-#: lexsup.c:503
+#: lexsup.c:510
 msgid ""
 "Take export symbols list from .exports, using\n"
 "                                SYMBOL as the version."
 msgstr ""
 
-#: lexsup.c:507
+#: lexsup.c:514
 msgid "Add data symbols to dynamic list"
 msgstr ""
 
-#: lexsup.c:509
+#: lexsup.c:516
 msgid "Use C++ operator new/delete dynamic list"
 msgstr ""
 
-#: lexsup.c:511
+#: lexsup.c:518
 msgid "Use C++ typeinfo dynamic list"
 msgstr ""
 
-#: lexsup.c:513
+#: lexsup.c:520
 msgid "Read dynamic list"
 msgstr ""
 
-#: lexsup.c:515
+#: lexsup.c:522
 msgid "Export the specified symbol"
 msgstr ""
 
-#: lexsup.c:517
+#: lexsup.c:524
 msgid "Read export dynamic symbol list"
 msgstr ""
 
-#: lexsup.c:519
+#: lexsup.c:526
 msgid "Warn about duplicate common symbols"
 msgstr ""
 
-#: lexsup.c:521
+#: lexsup.c:528
 msgid "Warn if global constructors/destructors are seen"
 msgstr ""
 
-#: lexsup.c:524
+#: lexsup.c:531
 msgid "Warn if the multiple GP values are used"
 msgstr ""
 
-#: lexsup.c:526
+#: lexsup.c:533
 msgid "Warn only once per undefined symbol"
 msgstr ""
 
-#: lexsup.c:528
+#: lexsup.c:535
 msgid "Warn if start of section changes due to alignment"
 msgstr ""
 
-#: lexsup.c:533
+#: lexsup.c:540
 msgid "Warn if output has DT_TEXTREL (default)"
 msgstr ""
 
-#: lexsup.c:535
+#: lexsup.c:542
 msgid "Warn if output has DT_TEXTREL"
 msgstr ""
 
-#: lexsup.c:541
+#: lexsup.c:548
 msgid "Warn if an object has alternate ELF machine code"
 msgstr ""
 
-#: lexsup.c:545
+#: lexsup.c:552
 msgid "Report unresolved symbols as warnings"
 msgstr ""
 
-#: lexsup.c:548
+#: lexsup.c:555
 msgid "Report unresolved symbols as errors"
 msgstr ""
 
-#: lexsup.c:550
+#: lexsup.c:557
 msgid "Include all objects from following archives"
 msgstr ""
 
-#: lexsup.c:553
+#: lexsup.c:560
 msgid "Use wrapper functions for SYMBOL"
 msgstr ""
 
-#: lexsup.c:557
+#: lexsup.c:564
 msgid "Unresolved SYMBOL will not cause an error or warning"
 msgstr ""
 
-#: lexsup.c:559
+#: lexsup.c:566
 msgid "Push state of flags governing input file handling"
 msgstr ""
 
-#: lexsup.c:562
+#: lexsup.c:569
 msgid "Pop state of flags governing input file handling"
 msgstr ""
 
-#: lexsup.c:565
+#: lexsup.c:572
 msgid "Report target memory usage"
 msgstr ""
 
-#: lexsup.c:567
+#: lexsup.c:574
 msgid "=MODE"
 msgstr ""
 
-#: lexsup.c:567
+#: lexsup.c:574
 msgid "Control how orphan sections are handled."
 msgstr ""
 
-#: lexsup.c:570
+#: lexsup.c:577
 msgid "Show discarded sections in map file output (default)"
 msgstr ""
 
-#: lexsup.c:573
+#: lexsup.c:580
 msgid "Do not show discarded sections in map file output"
 msgstr ""
 
-#: lexsup.c:751
+#: lexsup.c:583
+msgid "Emit names and types of static variables in CTF"
+msgstr ""
+
+#: lexsup.c:586
+msgid "Do not emit names and types of static variables in CTF"
+msgstr ""
+
+#: lexsup.c:590
+msgid ""
+"How to share CTF types between translation units.\n"
+"                                <method> is: share-unconflicted (default),\n"
+"                                             share-duplicated"
+msgstr ""
+
+#: lexsup.c:754
+msgid "%F%P: Error: unable to disambiguate: %s (did you mean -%s ?)\n"
+msgstr ""
+
+#: lexsup.c:757
+msgid "%P: Warning: grouped short command line options are deprecated: %s\n"
+msgstr ""
+
+#: lexsup.c:784
 msgid "%P: %s: missing argument\n"
 msgstr ""
 
-#: lexsup.c:756
+#: lexsup.c:789
 msgid "%P: unrecognized option '%s'\n"
 msgstr ""
 
-#: lexsup.c:761
+#: lexsup.c:794
 msgid "%F%P: use the --help option for usage information\n"
 msgstr ""
 
-#: lexsup.c:780
+#: lexsup.c:813
 msgid "%F%P: unrecognized -a option `%s'\n"
 msgstr ""
 
-#: lexsup.c:793
+#: lexsup.c:826
 msgid "%F%P: unrecognized -assert option `%s'\n"
 msgstr ""
 
-#: lexsup.c:837
+#: lexsup.c:870
 msgid "%F%P: unknown demangling style `%s'\n"
 msgstr ""
 
-#: lexsup.c:913 lexsup.c:1372 eaarch64cloudabi.c:803 eaarch64cloudabib.c:803
-#: eaarch64elf.c:798 eaarch64elf32.c:798 eaarch64elf32b.c:798
-#: eaarch64elfb.c:798 eaarch64fbsd.c:803 eaarch64fbsdb.c:803
-#: eaarch64linux.c:803 eaarch64linux32.c:803 eaarch64linux32b.c:803
-#: eaarch64linuxb.c:803 earmelf.c:1064 earmelf_fbsd.c:1064
-#: earmelf_fuchsia.c:1069 earmelf_linux.c:1069 earmelf_linux_eabi.c:1069
-#: earmelf_linux_fdpiceabi.c:1069 earmelf_nacl.c:1069 earmelf_nbsd.c:1064
-#: earmelf_phoenix.c:1069 earmelf_vxworks.c:1100 earmelfb.c:1064
-#: earmelfb_fbsd.c:1064 earmelfb_fuchsia.c:1069 earmelfb_linux.c:1069
-#: earmelfb_linux_eabi.c:1069 earmelfb_linux_fdpiceabi.c:1069
-#: earmelfb_nacl.c:1069 earmelfb_nbsd.c:1064 earmnto.c:1039 earmsymbian.c:1064
-#: ecskyelf.c:530 ecskyelf_linux.c:693 eelf32metag.c:690 eelf64lppc.c:1149
-#: eelf64ppc.c:1149 eelf64ppc_fbsd.c:1149 ehppaelf.c:550 ehppalinux.c:728
-#: ehppanbsd.c:728 ehppaobsd.c:728
+#: lexsup.c:946 lexsup.c:1414 eaarch64cloudabi.c:807 eaarch64cloudabib.c:807
+#: eaarch64elf.c:802 eaarch64elf32.c:802 eaarch64elf32b.c:802
+#: eaarch64elfb.c:802 eaarch64fbsd.c:807 eaarch64fbsdb.c:807
+#: eaarch64linux.c:807 eaarch64linux32.c:807 eaarch64linux32b.c:807
+#: eaarch64linuxb.c:807 earmelf.c:1068 earmelf_fbsd.c:1068
+#: earmelf_fuchsia.c:1073 earmelf_linux.c:1073 earmelf_linux_eabi.c:1073
+#: earmelf_linux_fdpiceabi.c:1073 earmelf_nacl.c:1073 earmelf_nbsd.c:1068
+#: earmelf_phoenix.c:1073 earmelf_vxworks.c:1104 earmelfb.c:1068
+#: earmelfb_fbsd.c:1068 earmelfb_fuchsia.c:1073 earmelfb_linux.c:1073
+#: earmelfb_linux_eabi.c:1073 earmelfb_linux_fdpiceabi.c:1073
+#: earmelfb_nacl.c:1073 earmelfb_nbsd.c:1068 earmnto.c:1043 earmsymbian.c:1068
+#: ecskyelf.c:534 ecskyelf_linux.c:697 eelf32metag.c:694 eelf64lppc.c:1171
+#: eelf64lppc_fbsd.c:1171 eelf64ppc.c:1171 eelf64ppc_fbsd.c:1171 ehppaelf.c:554
+#: ehppalinux.c:732 ehppanbsd.c:732 ehppaobsd.c:732
 msgid "%F%P: invalid number `%s'\n"
 msgstr ""
 
-#: lexsup.c:1009
+#: lexsup.c:1042
 msgid "%F%P: bad --unresolved-symbols option: %s\n"
 msgstr ""
 
-#: lexsup.c:1077
+#: lexsup.c:1119
 msgid "%F%P: bad -plugin-opt option\n"
 msgstr ""
 
@@ -1952,147 +2022,159 @@ 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:1094
+#: lexsup.c:1136
 msgid "%F%P: unrecognised option: %s\n"
 msgstr ""
 
-#: lexsup.c:1097 lexsup.c:1207 lexsup.c:1225 lexsup.c:1341
+#: lexsup.c:1139 lexsup.c:1249 lexsup.c:1267 lexsup.c:1383
 msgid "%F%P: -r and %s may not be used together\n"
 msgstr ""
 
-#: lexsup.c:1219
+#: lexsup.c:1261
 msgid "%F%P: -shared not supported\n"
 msgstr ""
 
-#: lexsup.c:1230
+#: lexsup.c:1272
 msgid "%F%P: -pie not supported\n"
 msgstr ""
 
-#: lexsup.c:1236
+#: lexsup.c:1278
 msgid "%P: SONAME must not be empty string; keeping previous one\n"
 msgstr ""
 
-#: lexsup.c:1242
+#: lexsup.c:1284
 msgid "descending"
 msgstr ""
 
-#: lexsup.c:1244
+#: lexsup.c:1286
 msgid "ascending"
 msgstr ""
 
-#: lexsup.c:1247
+#: lexsup.c:1289
 msgid "%F%P: invalid common section sorting option: %s\n"
 msgstr ""
 
-#: lexsup.c:1251
+#: lexsup.c:1293
 msgid "name"
 msgstr ""
 
-#: lexsup.c:1253
+#: lexsup.c:1295
 msgid "alignment"
 msgstr ""
 
-#: lexsup.c:1256
+#: lexsup.c:1298
 msgid "%F%P: invalid section sorting option: %s\n"
 msgstr ""
 
-#: lexsup.c:1290
+#: lexsup.c:1332
 msgid "%F%P: invalid argument to option \"--section-start\"\n"
 msgstr ""
 
-#: lexsup.c:1297
+#: lexsup.c:1339
 msgid "%F%P: missing argument(s) to option \"--section-start\"\n"
 msgstr ""
 
-#: lexsup.c:1562
+#: lexsup.c:1604
 msgid "%F%P: group ended before it began (--help for usage)\n"
 msgstr ""
 
-#: lexsup.c:1590
+#: lexsup.c:1632
 msgid "%X%P: --hash-size needs a numeric argument\n"
 msgstr ""
 
-#: lexsup.c:1602
+#: lexsup.c:1644
 msgid "%F%P: no state pushed before popping\n"
 msgstr ""
 
-#: lexsup.c:1625
+#: lexsup.c:1667
 msgid "%F%P: invalid argument to option \"--orphan-handling\"\n"
 msgstr ""
 
-#: lexsup.c:1648
+#: lexsup.c:1697
+msgid "%F%P: bad --ctf-share-types option: %s\n"
+msgstr ""
+
+#: lexsup.c:1715
 msgid "%P: no file/directory name provided for map output; ignored\n"
 msgstr ""
 
-#. If this alloc fails then something is probably very
+#: lexsup.c:1743
+msgid "%P: cannot stat linker map file: %E\n"
+msgstr ""
+
+#: lexsup.c:1755
+msgid "%P: linker map file is not a regular file\n"
+msgstr ""
+
+#. If the asprintf failed then something is probably very
 #. wrong.  Better to halt now rather than continue on
 #. into more problems.
-#: lexsup.c:1669
+#: lexsup.c:1766
 msgid "%P%F: cannot create name for linker map file: %E\n"
 msgstr ""
 
-#: lexsup.c:1680
+#: lexsup.c:1777
 msgid "%P: SONAME must not be empty string; ignored\n"
 msgstr ""
 
-#: lexsup.c:1686
+#: lexsup.c:1783
 msgid "%P: missing --end-group; added as last command line option\n"
 msgstr ""
 
-#: lexsup.c:1794
+#: lexsup.c:1891
 msgid "%F%P: -F may not be used without -shared\n"
 msgstr ""
 
-#: lexsup.c:1796
+#: lexsup.c:1893
 msgid "%F%P: -f may not be used without -shared\n"
 msgstr ""
 
-#: lexsup.c:1837 lexsup.c:1850
+#: lexsup.c:1934 lexsup.c:1947
 msgid "%F%P: invalid hex number `%s'\n"
 msgstr ""
 
-#: lexsup.c:1880
+#: lexsup.c:1977
 #, c-format
 msgid "  --audit=AUDITLIB            Specify a library to use for auditing\n"
 msgstr ""
 
-#: lexsup.c:1882
+#: lexsup.c:1979
 #, c-format
 msgid "  -Bgroup                     Selects group name lookup rules for DSO\n"
 msgstr ""
 
-#: lexsup.c:1884
+#: lexsup.c:1981
 #, c-format
 msgid "  --disable-new-dtags         Disable new dynamic tags\n"
 msgstr ""
 
-#: lexsup.c:1886
+#: lexsup.c:1983
 #, c-format
 msgid "  --enable-new-dtags          Enable new dynamic tags\n"
 msgstr ""
 
-#: lexsup.c:1888
+#: lexsup.c:1985
 #, c-format
 msgid "  --eh-frame-hdr              Create .eh_frame_hdr section\n"
 msgstr ""
 
-#: lexsup.c:1890
+#: lexsup.c:1987
 #, c-format
 msgid "  --no-eh-frame-hdr           Do not create .eh_frame_hdr section\n"
 msgstr ""
 
-#: lexsup.c:1892
+#: lexsup.c:1989
 #, c-format
 msgid "  --exclude-libs=LIBS         Make all symbols in LIBS hidden\n"
 msgstr ""
 
-#: lexsup.c:1894
+#: lexsup.c:1991
 #, c-format
 msgid ""
 "  --hash-style=STYLE          Set hash style to sysv/gnu/both.  Default: "
 msgstr ""
 
-#: lexsup.c:1913
+#: lexsup.c:2010
 #, c-format
 msgid ""
 "  -P AUDITLIB, --depaudit=AUDITLIB\n"
@@ -2100,20 +2182,20 @@ msgid ""
 "dependencies\n"
 msgstr ""
 
-#: lexsup.c:1916
+#: lexsup.c:2013
 #, c-format
 msgid ""
 "  -z combreloc                Merge dynamic relocs into one section and "
 "sort\n"
 msgstr ""
 
-#: lexsup.c:1918
+#: lexsup.c:2015
 #, c-format
 msgid ""
 "  -z nocombreloc              Don't merge dynamic relocs into one section\n"
 msgstr ""
 
-#: lexsup.c:1920
+#: lexsup.c:2017
 #, c-format
 msgid ""
 "  -z global                   Make symbols in DSO available for "
@@ -2121,236 +2203,247 @@ msgid ""
 "                                loaded objects\n"
 msgstr ""
 
-#: lexsup.c:1923
+#: lexsup.c:2020
 #, c-format
 msgid ""
 "  -z initfirst                Mark DSO to be initialized first at runtime\n"
 msgstr ""
 
-#: lexsup.c:1925
+#: lexsup.c:2022
 #, c-format
 msgid ""
 "  -z interpose                Mark object to interpose all DSOs but "
 "executable\n"
 msgstr ""
 
-#: lexsup.c:1927
+#: lexsup.c:2024
 #, c-format
 msgid ""
 "  -z lazy                     Mark object lazy runtime binding (default)\n"
 msgstr ""
 
-#: lexsup.c:1929
+#: lexsup.c:2026
 #, c-format
 msgid "  -z loadfltr                 Mark object requiring immediate process\n"
 msgstr ""
 
-#: lexsup.c:1931
+#: lexsup.c:2028
 #, c-format
 msgid "  -z nocopyreloc              Don't create copy relocs\n"
 msgstr ""
 
-#: lexsup.c:1933
+#: lexsup.c:2030
 #, c-format
 msgid ""
 "  -z nodefaultlib             Mark object not to use default search paths\n"
 msgstr ""
 
-#: lexsup.c:1935
+#: lexsup.c:2032
 #, c-format
 msgid "  -z nodelete                 Mark DSO non-deletable at runtime\n"
 msgstr ""
 
-#: lexsup.c:1937
+#: lexsup.c:2034
 #, c-format
 msgid "  -z nodlopen                 Mark DSO not available to dlopen\n"
 msgstr ""
 
-#: lexsup.c:1939
+#: lexsup.c:2036
 #, c-format
 msgid "  -z nodump                   Mark DSO not available to dldump\n"
 msgstr ""
 
-#: lexsup.c:1941
+#: lexsup.c:2038
 #, c-format
 msgid "  -z now                      Mark object non-lazy runtime binding\n"
 msgstr ""
 
-#: lexsup.c:1943
+#: lexsup.c:2040
 #, c-format
 msgid ""
 "  -z origin                   Mark object requiring immediate $ORIGIN\n"
 "                                processing at runtime\n"
 msgstr ""
 
-#: lexsup.c:1947
+#: lexsup.c:2044
 #, c-format
 msgid "  -z relro                    Create RELRO program header (default)\n"
 msgstr ""
 
-#: lexsup.c:1949
+#: lexsup.c:2046
 #, c-format
 msgid "  -z norelro                  Don't create RELRO program header\n"
 msgstr ""
 
-#: lexsup.c:1952
+#: lexsup.c:2049
 #, c-format
 msgid "  -z relro                    Create RELRO program header\n"
 msgstr ""
 
-#: lexsup.c:1954
+#: lexsup.c:2051
 #, c-format
 msgid ""
 "  -z norelro                  Don't create RELRO program header (default)\n"
 msgstr ""
 
-#: lexsup.c:1958
+#: lexsup.c:2055
 #, c-format
 msgid ""
 "  -z separate-code            Create separate code program header (default)\n"
 msgstr ""
 
-#: lexsup.c:1960
+#: lexsup.c:2057
 #, c-format
 msgid ""
 "  -z noseparate-code          Don't create separate code program header\n"
 msgstr ""
 
-#: lexsup.c:1963
+#: lexsup.c:2060
 #, c-format
 msgid "  -z separate-code            Create separate code program header\n"
 msgstr ""
 
-#: lexsup.c:1965
+#: lexsup.c:2062
 #, c-format
 msgid ""
 "  -z noseparate-code          Don't create separate code program header "
 "(default)\n"
 msgstr ""
 
-#: lexsup.c:1968
+#: lexsup.c:2065
 #, c-format
 msgid ""
 "  -z common                   Generate common symbols with STT_COMMON type\n"
 msgstr ""
 
-#: lexsup.c:1970
+#: lexsup.c:2067
 #, c-format
 msgid ""
 "  -z nocommon                 Generate common symbols with STT_OBJECT type\n"
 msgstr ""
 
-#: lexsup.c:1972
+#: lexsup.c:2069
 #, c-format
 msgid "  -z stack-size=SIZE          Set size of stack segment\n"
 msgstr ""
 
-#: lexsup.c:1975
+#: lexsup.c:2072
 #, c-format
 msgid ""
 "  -z text                     Treat DT_TEXTREL in output as error (default)\n"
 msgstr ""
 
-#: lexsup.c:1978
+#: lexsup.c:2075
 #, c-format
 msgid "  -z text                     Treat DT_TEXTREL in output as error\n"
 msgstr ""
 
-#: lexsup.c:1982
+#: lexsup.c:2079
 #, c-format
 msgid ""
 "  -z notext                   Don't treat DT_TEXTREL in output as error "
 "(default)\n"
 msgstr ""
 
-#: lexsup.c:1984
+#: lexsup.c:2081
 #, c-format
 msgid ""
 "  -z textoff                  Don't treat DT_TEXTREL in output as error "
 "(default)\n"
 msgstr ""
 
-#: lexsup.c:1989
+#: lexsup.c:2086
 #, c-format
 msgid ""
 "  -z notext                   Don't treat DT_TEXTREL in output as error\n"
 msgstr ""
 
-#: lexsup.c:1991
+#: lexsup.c:2088
 #, c-format
 msgid ""
 "  -z textoff                  Don't treat DT_TEXTREL in output as error\n"
 msgstr ""
 
-#: lexsup.c:1999
+#: lexsup.c:2096
 #, c-format
 msgid "  --build-id[=STYLE]          Generate build ID note\n"
 msgstr ""
 
-#: lexsup.c:2001
+#: lexsup.c:2098
 #, c-format
 msgid ""
 "  --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi]\n"
 "                              Compress DWARF debug sections using zlib\n"
 msgstr ""
 
-#: lexsup.c:2005
+#: lexsup.c:2102
 #, c-format
 msgid "                                Default: zlib-gabi\n"
 msgstr ""
 
-#: lexsup.c:2008
+#: lexsup.c:2105
 #, c-format
 msgid "                                Default: none\n"
 msgstr ""
 
-#: lexsup.c:2011
+#: lexsup.c:2108
 #, c-format
 msgid "  -z common-page-size=SIZE    Set common page size to SIZE\n"
 msgstr ""
 
-#: lexsup.c:2013
+#: lexsup.c:2110
 #, c-format
 msgid "  -z max-page-size=SIZE       Set maximum page size to SIZE\n"
 msgstr ""
 
-#: lexsup.c:2015
+#: lexsup.c:2112
 #, c-format
 msgid ""
 "  -z defs                     Report unresolved symbols in object files\n"
 msgstr ""
 
-#: lexsup.c:2017
+#: lexsup.c:2114
 #, c-format
 msgid "  -z muldefs                  Allow multiple definitions\n"
 msgstr ""
 
-#: lexsup.c:2019
+#: lexsup.c:2116
 #, c-format
 msgid ""
 "  -z execstack                Mark executable as requiring executable stack\n"
 msgstr ""
 
-#: lexsup.c:2021
+#: lexsup.c:2118
 #, c-format
 msgid ""
 "  -z noexecstack              Mark executable as not requiring executable "
 "stack\n"
 msgstr ""
 
-#: lexsup.c:2023
+#: lexsup.c:2120
+#, c-format
+msgid "  -z unique-symbol            Avoid duplicated local symbol names\n"
+msgstr ""
+
+#: lexsup.c:2122
+#, c-format
+msgid ""
+"  -z nounique-symbol          Keep duplicated local symbol names (default)\n"
+msgstr ""
+
+#: lexsup.c:2124
 #, c-format
 msgid ""
 "  -z globalaudit              Mark executable requiring global auditing\n"
 msgstr ""
 
-#: lexsup.c:2030
+#: lexsup.c:2131
 #, c-format
 msgid ""
 "  --ld-generated-unwind-info  Generate exception handling info for PLT\n"
 msgstr ""
 
-#: lexsup.c:2032
+#: lexsup.c:2133
 #, c-format
 msgid ""
 "  --no-ld-generated-unwind-info\n"
@@ -2358,49 +2451,49 @@ msgid ""
 "PLT\n"
 msgstr ""
 
-#: lexsup.c:2043
+#: lexsup.c:2144
 #, c-format
 msgid "ELF emulations:\n"
 msgstr ""
 
-#: lexsup.c:2061
+#: lexsup.c:2162
 #, c-format
 msgid "Usage: %s [options] file...\n"
 msgstr ""
 
-#: lexsup.c:2063
+#: lexsup.c:2164
 #, c-format
 msgid "Options:\n"
 msgstr ""
 
-#: lexsup.c:2141
+#: lexsup.c:2242
 #, c-format
 msgid "  @FILE"
 msgstr ""
 
-#: lexsup.c:2144
+#: lexsup.c:2245
 #, c-format
 msgid "Read options from FILE\n"
 msgstr ""
 
 #. Note: Various tools (such as libtool) depend upon the
 #. format of the listings below - do not change them.
-#: lexsup.c:2149
+#: lexsup.c:2250
 #, c-format
 msgid "%s: supported targets:"
 msgstr ""
 
-#: lexsup.c:2157
+#: lexsup.c:2258
 #, c-format
 msgid "%s: supported emulations: "
 msgstr ""
 
-#: lexsup.c:2162
+#: lexsup.c:2263
 #, c-format
 msgid "%s: emulation specific options:\n"
 msgstr ""
 
-#: lexsup.c:2169
+#: lexsup.c:2270
 #, c-format
 msgid "Report bugs to %s\n"
 msgstr ""
@@ -2413,41 +2506,41 @@ msgstr ""
 msgid "%X%P: unsupported PEI architecture: %s\n"
 msgstr ""
 
-#: pe-dll.c:825
+#: pe-dll.c:826
 msgid "%X%P: cannot export %s: invalid export name\n"
 msgstr ""
 
-#: pe-dll.c:877
+#: pe-dll.c:878
 #, c-format
 msgid "%X%P: error, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
 msgstr ""
 
-#: pe-dll.c:884
+#: pe-dll.c:885
 #, c-format
 msgid "%P: warning, duplicate EXPORT: %s\n"
 msgstr ""
 
-#: pe-dll.c:991
+#: pe-dll.c:992
 #, c-format
 msgid "%X%P: cannot export %s: symbol not defined\n"
 msgstr ""
 
-#: pe-dll.c:997
+#: pe-dll.c:998
 #, c-format
 msgid "%X%P: cannot export %s: symbol wrong type (%d vs %d)\n"
 msgstr ""
 
-#: pe-dll.c:1004
+#: pe-dll.c:1005
 #, c-format
 msgid "%X%P: cannot export %s: symbol not found\n"
 msgstr ""
 
-#: pe-dll.c:1027 eaarch64cloudabi.c:360 eaarch64cloudabib.c:360
+#: pe-dll.c:1028 eaarch64cloudabi.c:360 eaarch64cloudabib.c:360
 #: eaarch64elf.c:359 eaarch64elf32.c:359 eaarch64elf32b.c:359
 #: eaarch64elfb.c:359 eaarch64fbsd.c:360 eaarch64fbsdb.c:360
 #: eaarch64linux.c:360 eaarch64linux32.c:360 eaarch64linux32b.c:360
-#: eaarch64linuxb.c:360 eaix5ppc.c:1432 eaix5ppc.c:1442 eaix5rs6.c:1432
-#: eaix5rs6.c:1442 eaixppc.c:1432 eaixppc.c:1442 eaixrs6.c:1432 eaixrs6.c:1442
+#: eaarch64linuxb.c:360 eaix5ppc.c:1433 eaix5ppc.c:1443 eaix5rs6.c:1433
+#: eaix5rs6.c:1443 eaixppc.c:1433 eaixppc.c:1443 eaixrs6.c:1433 eaixrs6.c:1443
 #: earmelf.c:568 earmelf_fbsd.c:568 earmelf_fuchsia.c:569 earmelf_linux.c:569
 #: earmelf_linux_eabi.c:569 earmelf_linux_fdpiceabi.c:569 earmelf_nacl.c:569
 #: earmelf_nbsd.c:568 earmelf_phoenix.c:569 earmelf_vxworks.c:568
@@ -2462,106 +2555,105 @@ msgstr ""
 #: eelf32lmip.c:172 eelf32lr5900.c:172 eelf32lr5900n32.c:172 eelf32lsmip.c:172
 #: eelf32ltsmip.c:172 eelf32ltsmip_fbsd.c:172 eelf32ltsmipn32.c:172
 #: eelf32ltsmipn32_fbsd.c:172 eelf32metag.c:87 eelf32mipswindiss.c:172
-#: eelf64bmip.c:186 eelf64btsmip.c:172 eelf64btsmip_fbsd.c:172 eelf64lppc.c:117
-#: eelf64ltsmip.c:172 eelf64ltsmip_fbsd.c:172 eelf64ppc.c:117
-#: eelf64ppc_fbsd.c:117 ehppaelf.c:110 ehppalinux.c:110 ehppanbsd.c:110
-#: ehppaobsd.c:110 em68hc11elf.c:170 em68hc11elfb.c:170 em68hc12elf.c:170
-#: em68hc12elfb.c:170 enios2elf.c:92 enios2linux.c:92 eppcmacos.c:1432
-#: eppcmacos.c:1442
+#: eelf64bmip.c:186 eelf64btsmip.c:172 eelf64btsmip_fbsd.c:172 eelf64lppc.c:119
+#: eelf64lppc_fbsd.c:119 eelf64ltsmip.c:172 eelf64ltsmip_fbsd.c:172
+#: eelf64ppc.c:119 eelf64ppc_fbsd.c:119 ehppaelf.c:110 ehppalinux.c:110
+#: ehppanbsd.c:110 ehppaobsd.c:110 em68hc11elf.c:170 em68hc11elfb.c:170
+#: em68hc12elf.c:170 em68hc12elfb.c:170 enios2elf.c:92 enios2linux.c:92
+#: eppcmacos.c:1433 eppcmacos.c:1443
 msgid "%F%P: can not create BFD: %E\n"
 msgstr ""
 
-#: pe-dll.c:1041
+#: pe-dll.c:1042
 msgid "%X%P: can not create .edata section: %E\n"
 msgstr ""
 
-#: pe-dll.c:1055
+#: pe-dll.c:1056
 msgid "%X%P: can not create .reloc section: %E\n"
 msgstr ""
 
-#: pe-dll.c:1116
+#: pe-dll.c:1117
 #, c-format
 msgid "%X%P: error: ordinal used twice: %d (%s vs %s)\n"
 msgstr ""
 
-#: pe-dll.c:1152
+#: pe-dll.c:1153
 #, c-format
 msgid "%X%P: error: export ordinal too large: %d\n"
 msgstr ""
 
-#: pe-dll.c:1475
+#: pe-dll.c:1476
 #, c-format
 msgid "Info: resolving %s by linking to %s (auto-import)\n"
 msgstr ""
 
-#: pe-dll.c:1481
+#: pe-dll.c:1482
 msgid ""
 "%P: warning: auto-importing has been activated without --enable-auto-import "
 "specified on the command line; this should work unless it involves constant "
 "data structures referencing symbols from auto-imported DLLs\n"
 msgstr ""
 
-#. Huh?  Shouldn't happen, but punt if it does.
-#: pe-dll.c:1550
+#: pe-dll.c:1553
 msgid "%P: zero vma section reloc detected: `%s' #%d f=%d\n"
 msgstr ""
 
-#: pe-dll.c:1666
+#: pe-dll.c:1670
 #, c-format
 msgid "%X%P: error: %d-bit reloc in dll\n"
 msgstr ""
 
-#: pe-dll.c:1794
+#: pe-dll.c:1798
 #, c-format
 msgid "%P: can't open output def file %s\n"
 msgstr ""
 
-#: pe-dll.c:1945
+#: pe-dll.c:1949
 #, c-format
 msgid "; no contents available\n"
 msgstr ""
 
-#: pe-dll.c:2804
+#: pe-dll.c:2808
 msgid ""
 "%X%P: %C: variable '%pT' can't be auto-imported; please read the "
 "documentation for ld's --enable-auto-import for details\n"
 msgstr ""
 
-#: pe-dll.c:2831
+#: pe-dll.c:2835
 #, c-format
 msgid "%X%P: can't open .lib file: %s\n"
 msgstr ""
 
-#: pe-dll.c:2837
+#: pe-dll.c:2841
 #, c-format
 msgid "Creating library file: %s\n"
 msgstr ""
 
-#: pe-dll.c:2867
+#: pe-dll.c:2871
 msgid "%X%P: bfd_openr %s: %E\n"
 msgstr ""
 
-#: pe-dll.c:2879
+#: pe-dll.c:2883
 msgid "%X%P: %s(%s): can't find member in non-archive file"
 msgstr ""
 
-#: pe-dll.c:2893
+#: pe-dll.c:2897
 msgid "%X%P: %s(%s): can't find member in archive"
 msgstr ""
 
-#: pe-dll.c:3156
+#: pe-dll.c:3160
 msgid "%X%P: add symbols %s: %E\n"
 msgstr ""
 
-#: pe-dll.c:3343
+#: pe-dll.c:3347
 msgid "%X%P: open %s: %E\n"
 msgstr ""
 
-#: pe-dll.c:3352
+#: pe-dll.c:3356
 msgid "%X%P: %s: this doesn't appear to be a DLL\n"
 msgstr ""
 
-#: pe-dll.c:3557
+#: pe-dll.c:3561
 msgid "%X%P: error: can't use long section names on this arch\n"
 msgstr ""
 
@@ -2667,11 +2759,11 @@ msgstr ""
 #: eelf32lr5900.c:205 eelf32lr5900n32.c:205 eelf32lsmip.c:205
 #: eelf32ltsmip.c:205 eelf32ltsmip_fbsd.c:205 eelf32ltsmipn32.c:205
 #: eelf32ltsmipn32_fbsd.c:205 eelf32metag.c:206 eelf32mipswindiss.c:205
-#: eelf64bmip.c:219 eelf64btsmip.c:205 eelf64btsmip_fbsd.c:205 eelf64lppc.c:470
-#: eelf64ltsmip.c:205 eelf64ltsmip_fbsd.c:205 eelf64ppc.c:470
-#: eelf64ppc_fbsd.c:470 ehppaelf.c:230 ehppalinux.c:230 ehppanbsd.c:230
-#: ehppaobsd.c:230 em68hc11elf.c:295 em68hc11elfb.c:295 em68hc12elf.c:295
-#: em68hc12elfb.c:295 enios2elf.c:223 enios2linux.c:223
+#: eelf64bmip.c:219 eelf64btsmip.c:205 eelf64btsmip_fbsd.c:205 eelf64lppc.c:482
+#: eelf64lppc_fbsd.c:482 eelf64ltsmip.c:205 eelf64ltsmip_fbsd.c:205
+#: eelf64ppc.c:482 eelf64ppc_fbsd.c:482 ehppaelf.c:230 ehppalinux.c:230
+#: ehppanbsd.c:230 ehppaobsd.c:230 em68hc11elf.c:295 em68hc11elfb.c:295
+#: em68hc12elf.c:295 em68hc12elfb.c:295 enios2elf.c:223 enios2linux.c:223
 msgid "%X%P: can not make stub section: %E\n"
 msgstr ""
 
@@ -2720,29 +2812,29 @@ msgstr ""
 #: eelf64_sparc.c:97 eelf64_sparc_fbsd.c:97 eelf64_sparc_sol2.c:228
 #: eelf64alpha.c:180 eelf64alpha_fbsd.c:180 eelf64alpha_nbsd.c:180
 #: eelf64bmip.c:307 eelf64bpf.c:96 eelf64btsmip.c:293 eelf64btsmip_fbsd.c:293
-#: eelf64hppa.c:96 eelf64lppc.c:580 eelf64lriscv.c:89 eelf64lriscv_lp64.c:89
-#: eelf64lriscv_lp64f.c:89 eelf64ltsmip.c:293 eelf64ltsmip_fbsd.c:293
-#: eelf64mmix.c:207 eelf64ppc.c:580 eelf64ppc_fbsd.c:580 eelf64rdos.c:112
-#: eelf64tilegx.c:97 eelf64tilegx_be.c:97 eelf_i386.c:121 eelf_i386_be.c:120
-#: eelf_i386_fbsd.c:121 eelf_i386_ldso.c:121 eelf_i386_sol2.c:252
-#: eelf_i386_vxworks.c:150 eelf_iamcu.c:121 eelf_k1om.c:121
-#: eelf_k1om_fbsd.c:121 eelf_l1om.c:121 eelf_l1om_fbsd.c:121 eelf_s390.c:97
-#: eelf_x86_64.c:121 eelf_x86_64_cloudabi.c:121 eelf_x86_64_fbsd.c:121
-#: eelf_x86_64_sol2.c:252 eh8300elf.c:96 eh8300elf_linux.c:96 eh8300helf.c:96
-#: eh8300helf_linux.c:96 eh8300hnelf.c:96 eh8300self.c:96 eh8300self_linux.c:96
-#: eh8300snelf.c:96 eh8300sxelf.c:96 eh8300sxelf_linux.c:96 eh8300sxnelf.c:96
-#: ehppa64linux.c:96 ehppaelf.c:280 ehppalinux.c:280 ehppanbsd.c:280
-#: ehppaobsd.c:280 ei386lynx.c:111 ei386moss.c:111 ei386nto.c:111 em32relf.c:96
-#: em32relf_linux.c:96 em32rlelf.c:96 em32rlelf_linux.c:96 em68hc11elf.c:373
-#: em68hc11elfb.c:373 em68hc12elf.c:373 em68hc12elfb.c:373 em68kelf.c:248
-#: em68kelfnbsd.c:248 emn10300.c:96 ends32belf.c:204 ends32belf16m.c:204
-#: ends32belf_linux.c:204 ends32elf.c:204 ends32elf16m.c:204
-#: ends32elf_linux.c:204 enios2elf.c:273 enios2linux.c:273 eppclynx.c:317
-#: epruelf.c:117 escore3_elf.c:117 escore7_elf.c:117 eshelf.c:96 eshelf_fd.c:97
-#: eshelf_linux.c:97 eshelf_nbsd.c:96 eshelf_nto.c:96 eshelf_uclinux.c:96
-#: eshelf_vxworks.c:125 eshlelf.c:96 eshlelf_fd.c:97 eshlelf_linux.c:97
-#: eshlelf_nbsd.c:96 eshlelf_nto.c:96 eshlelf_vxworks.c:125 ev850.c:143
-#: ev850_rh850.c:143
+#: eelf64hppa.c:96 eelf64lppc.c:592 eelf64lppc_fbsd.c:592 eelf64lriscv.c:89
+#: eelf64lriscv_lp64.c:89 eelf64lriscv_lp64f.c:89 eelf64ltsmip.c:293
+#: eelf64ltsmip_fbsd.c:293 eelf64mmix.c:207 eelf64ppc.c:592
+#: eelf64ppc_fbsd.c:592 eelf64rdos.c:112 eelf64tilegx.c:97 eelf64tilegx_be.c:97
+#: eelf_i386.c:121 eelf_i386_be.c:120 eelf_i386_fbsd.c:121 eelf_i386_ldso.c:121
+#: eelf_i386_sol2.c:252 eelf_i386_vxworks.c:150 eelf_iamcu.c:121
+#: eelf_k1om.c:121 eelf_k1om_fbsd.c:121 eelf_l1om.c:121 eelf_l1om_fbsd.c:121
+#: eelf_s390.c:97 eelf_x86_64.c:121 eelf_x86_64_cloudabi.c:121
+#: eelf_x86_64_fbsd.c:121 eelf_x86_64_sol2.c:252 eh8300elf.c:96
+#: eh8300elf_linux.c:96 eh8300helf.c:96 eh8300helf_linux.c:96 eh8300hnelf.c:96
+#: eh8300self.c:96 eh8300self_linux.c:96 eh8300snelf.c:96 eh8300sxelf.c:96
+#: eh8300sxelf_linux.c:96 eh8300sxnelf.c:96 ehppa64linux.c:96 ehppaelf.c:280
+#: ehppalinux.c:280 ehppanbsd.c:280 ehppaobsd.c:280 ei386lynx.c:111
+#: ei386moss.c:111 ei386nto.c:111 em32relf.c:96 em32relf_linux.c:96
+#: em32rlelf.c:96 em32rlelf_linux.c:96 em68hc11elf.c:373 em68hc11elfb.c:373
+#: em68hc12elf.c:373 em68hc12elfb.c:373 em68kelf.c:248 em68kelfnbsd.c:248
+#: emn10300.c:96 ends32belf.c:204 ends32belf16m.c:204 ends32belf_linux.c:204
+#: ends32elf.c:204 ends32elf16m.c:204 ends32elf_linux.c:204 enios2elf.c:273
+#: enios2linux.c:273 epruelf.c:117 escore3_elf.c:117 escore7_elf.c:117
+#: eshelf.c:96 eshelf_fd.c:97 eshelf_linux.c:97 eshelf_nbsd.c:96
+#: eshelf_nto.c:96 eshelf_uclinux.c:96 eshelf_vxworks.c:125 eshlelf.c:96
+#: eshlelf_fd.c:97 eshlelf_linux.c:97 eshlelf_nbsd.c:96 eshlelf_nto.c:96
+#: eshlelf_vxworks.c:125 ev850.c:143 ev850_rh850.c:143
 msgid "%X%P: .eh_frame/.stab edit: %E\n"
 msgstr ""
 
@@ -2778,9 +2870,10 @@ msgstr ""
 #: eavrxmega2.c:192 eavrxmega3.c:129 eavrxmega3.c:192 eavrxmega4.c:129
 #: eavrxmega4.c:192 eavrxmega5.c:129 eavrxmega5.c:192 eavrxmega6.c:129
 #: eavrxmega6.c:192 eavrxmega7.c:129 eavrxmega7.c:192 eelf32metag.c:271
-#: eelf32metag.c:285 eelf64lppc.c:523 eelf64lppc.c:542 eelf64lppc.c:569
-#: eelf64ppc.c:523 eelf64ppc.c:542 eelf64ppc.c:569 eelf64ppc_fbsd.c:523
-#: eelf64ppc_fbsd.c:542 eelf64ppc_fbsd.c:569 ehppaelf.c:295 ehppaelf.c:310
+#: eelf32metag.c:285 eelf64lppc.c:535 eelf64lppc.c:554 eelf64lppc.c:581
+#: eelf64lppc_fbsd.c:535 eelf64lppc_fbsd.c:554 eelf64lppc_fbsd.c:581
+#: eelf64ppc.c:535 eelf64ppc.c:554 eelf64ppc.c:581 eelf64ppc_fbsd.c:535
+#: eelf64ppc_fbsd.c:554 eelf64ppc_fbsd.c:581 ehppaelf.c:295 ehppaelf.c:310
 #: ehppalinux.c:295 ehppalinux.c:310 ehppanbsd.c:295 ehppanbsd.c:310
 #: ehppaobsd.c:295 ehppaobsd.c:310 em68hc11elf.c:90 em68hc11elf.c:100
 #: em68hc11elf.c:317 em68hc11elfb.c:90 em68hc11elfb.c:100 em68hc11elfb.c:317
@@ -2804,10 +2897,10 @@ msgstr ""
 #: eavr3.c:201 eavr31.c:201 eavr35.c:201 eavr4.c:201 eavr5.c:201 eavr51.c:201
 #: eavr6.c:201 eavrtiny.c:201 eavrxmega1.c:201 eavrxmega2.c:201
 #: eavrxmega3.c:201 eavrxmega4.c:201 eavrxmega5.c:201 eavrxmega6.c:201
-#: eavrxmega7.c:201 eelf32metag.c:300 eelf64lppc.c:619 eelf64ppc.c:619
-#: eelf64ppc_fbsd.c:619 ehppaelf.c:332 ehppalinux.c:332 ehppanbsd.c:332
-#: ehppaobsd.c:332 em68hc11elf.c:321 em68hc11elfb.c:321 em68hc12elf.c:321
-#: em68hc12elfb.c:321 enios2elf.c:318 enios2linux.c:318
+#: eavrxmega7.c:201 eelf32metag.c:300 eelf64lppc.c:631 eelf64lppc_fbsd.c:631
+#: eelf64ppc.c:631 eelf64ppc_fbsd.c:631 ehppaelf.c:332 ehppalinux.c:332
+#: ehppanbsd.c:332 ehppaobsd.c:332 em68hc11elf.c:321 em68hc11elfb.c:321
+#: em68hc12elf.c:321 em68hc12elfb.c:321 enios2elf.c:318 enios2linux.c:318
 msgid "%X%P: can not build stubs: %E\n"
 msgstr ""
 
@@ -2824,10 +2917,6 @@ msgstr ""
 #. hence we do not support linking and changing output formats at the
 #. same time.  Use a link followed by objcopy to change output formats.
 #. Check the output target is nds32.
-#. The arm backend needs special fields in the output hash structure.
-#. These will only be created if the output format is an arm format,
-#. hence we do not support linking and changing output formats at the
-#. same time.  Use a link followed by objcopy to change output formats.
 #. The score backend needs special fields in the output hash structure.
 #. These will only be created if the output format is an score format,
 #. hence we do not support linking and changing output formats at the
@@ -2844,22 +2933,22 @@ msgstr ""
 #: eaarch64elf32.c:333 eaarch64elf32b.c:333 eaarch64elfb.c:333
 #: eaarch64fbsd.c:334 eaarch64fbsdb.c:334 eaarch64linux.c:334
 #: eaarch64linux32.c:334 eaarch64linux32b.c:334 eaarch64linuxb.c:334
-#: earm_wince_pe.c:1377 earmelf.c:540 earmelf_fbsd.c:540 earmelf_fuchsia.c:541
+#: earm_wince_pe.c:1426 earmelf.c:540 earmelf_fbsd.c:540 earmelf_fuchsia.c:541
 #: earmelf_linux.c:541 earmelf_linux_eabi.c:541 earmelf_linux_fdpiceabi.c:541
 #: earmelf_nacl.c:541 earmelf_nbsd.c:540 earmelf_phoenix.c:541
 #: earmelf_vxworks.c:540 earmelfb.c:540 earmelfb_fbsd.c:540
 #: earmelfb_fuchsia.c:541 earmelfb_linux.c:541 earmelfb_linux_eabi.c:541
 #: earmelfb_linux_fdpiceabi.c:541 earmelfb_nacl.c:541 earmelfb_nbsd.c:540
-#: earmnto.c:540 earmpe.c:1377 earmsymbian.c:540 eavr1.c:142 eavr2.c:142
+#: earmnto.c:540 earmpe.c:1426 earmsymbian.c:540 eavr1.c:142 eavr2.c:142
 #: eavr25.c:142 eavr3.c:142 eavr31.c:142 eavr35.c:142 eavr4.c:142 eavr5.c:142
 #: eavr51.c:142 eavr6.c:142 eavrtiny.c:142 eavrxmega1.c:142 eavrxmega2.c:142
 #: eavrxmega3.c:142 eavrxmega4.c:142 eavrxmega5.c:142 eavrxmega6.c:142
 #: eavrxmega7.c:142 eelf32lriscv.c:110 eelf32lriscv_ilp32.c:110
 #: eelf32lriscv_ilp32f.c:110 eelf64lriscv.c:110 eelf64lriscv_lp64.c:110
-#: eelf64lriscv_lp64f.c:110 ei386pe.c:1377 ei386pe_posix.c:1377 emcorepe.c:1377
+#: eelf64lriscv_lp64f.c:110 ei386pe.c:1426 ei386pe_posix.c:1426 emcorepe.c:1426
 #: ends32belf.c:74 ends32belf16m.c:74 ends32belf_linux.c:74 ends32elf.c:74
-#: ends32elf16m.c:74 ends32elf_linux.c:74 eppcpe.c:1377 escore3_elf.c:75
-#: escore7_elf.c:75 eshpe.c:1377 ev850.c:91 ev850_rh850.c:91
+#: ends32elf16m.c:74 ends32elf_linux.c:74 escore3_elf.c:75 escore7_elf.c:75
+#: eshpe.c:1426 ev850.c:91 ev850_rh850.c:91
 msgid "%F%P: error: cannot change output format whilst linking %s binaries\n"
 msgstr ""
 
@@ -2910,10 +2999,11 @@ msgstr ""
 #: eelf64_sparc_fbsd.c:258 eelf64_sparc_sol2.c:389 eelf64alpha.c:351
 #: eelf64alpha_fbsd.c:351 eelf64alpha_nbsd.c:351 eelf64bmip.c:487
 #: eelf64bpf.c:186 eelf64btsmip.c:473 eelf64btsmip_fbsd.c:473 eelf64hppa.c:202
-#: eelf64lppc.c:952 eelf64lriscv.c:312 eelf64lriscv_lp64.c:312
-#: eelf64lriscv_lp64f.c:312 eelf64ltsmip.c:473 eelf64ltsmip_fbsd.c:473
-#: eelf64mmix.c:4009 eelf64ppc.c:952 eelf64ppc_fbsd.c:952 eelf64rdos.c:283
-#: eelf64tilegx.c:258 eelf64tilegx_be.c:258 eelf_i386.c:4817 eelf_i386_be.c:256
+#: eelf64lppc.c:970 eelf64lppc_fbsd.c:970 eelf64lriscv.c:312
+#: eelf64lriscv_lp64.c:312 eelf64lriscv_lp64f.c:312 eelf64ltsmip.c:473
+#: eelf64ltsmip_fbsd.c:473 eelf64mmix.c:4009 eelf64ppc.c:970
+#: eelf64ppc_fbsd.c:970 eelf64rdos.c:283 eelf64tilegx.c:258
+#: eelf64tilegx_be.c:258 eelf_i386.c:4817 eelf_i386_be.c:256
 #: eelf_i386_fbsd.c:292 eelf_i386_ldso.c:267 eelf_i386_sol2.c:423
 #: eelf_i386_vxworks.c:319 eelf_iamcu.c:4795 eelf_k1om.c:5151
 #: eelf_k1om_fbsd.c:5131 eelf_l1om.c:5151 eelf_l1om_fbsd.c:5131 eelf_s390.c:258
@@ -2928,11 +3018,11 @@ msgstr ""
 #: em68hc12elf.c:471 em68hc12elfb.c:471 em68kelf.c:415 em68kelfnbsd.c:415
 #: emn10300.c:232 ends32belf.c:322 ends32belf16m.c:322 ends32belf_linux.c:345
 #: ends32elf.c:322 ends32elf16m.c:322 ends32elf_linux.c:345 enios2elf.c:488
-#: enios2linux.c:519 eppclynx.c:521 epruelf.c:207 escore3_elf.c:253
-#: escore7_elf.c:253 eshelf.c:232 eshelf_fd.c:258 eshelf_linux.c:258
-#: eshelf_nbsd.c:232 eshelf_nto.c:232 eshelf_uclinux.c:232 eshelf_vxworks.c:269
-#: eshlelf.c:232 eshlelf_fd.c:258 eshlelf_linux.c:258 eshlelf_nbsd.c:232
-#: eshlelf_nto.c:232 eshlelf_vxworks.c:269 ev850.c:233 ev850_rh850.c:233
+#: enios2linux.c:519 epruelf.c:207 escore3_elf.c:253 escore7_elf.c:253
+#: eshelf.c:232 eshelf_fd.c:258 eshelf_linux.c:258 eshelf_nbsd.c:232
+#: eshelf_nto.c:232 eshelf_uclinux.c:232 eshelf_vxworks.c:269 eshlelf.c:232
+#: eshlelf_fd.c:258 eshlelf_linux.c:258 eshlelf_nbsd.c:232 eshlelf_nto.c:232
+#: eshlelf_vxworks.c:269 ev850.c:233 ev850_rh850.c:233
 msgid "%F%P: invalid --compress-debug-sections option: `%s'\n"
 msgstr ""
 
@@ -2971,10 +3061,11 @@ msgstr ""
 #: eelf64_sparc_fbsd.c:309 eelf64_sparc_sol2.c:440 eelf64alpha.c:402
 #: eelf64alpha_fbsd.c:402 eelf64alpha_nbsd.c:402 eelf64bmip.c:538
 #: eelf64btsmip.c:524 eelf64btsmip_fbsd.c:524 eelf64hppa.c:253
-#: eelf64lppc.c:1003 eelf64lriscv.c:363 eelf64lriscv_lp64.c:363
-#: eelf64lriscv_lp64f.c:363 eelf64ltsmip.c:524 eelf64ltsmip_fbsd.c:524
-#: eelf64mmix.c:4060 eelf64ppc.c:1003 eelf64ppc_fbsd.c:1003 eelf64rdos.c:334
-#: eelf64tilegx.c:309 eelf64tilegx_be.c:309 eelf_i386.c:4868 eelf_i386_be.c:307
+#: eelf64lppc.c:1021 eelf64lppc_fbsd.c:1021 eelf64lriscv.c:363
+#: eelf64lriscv_lp64.c:363 eelf64lriscv_lp64f.c:363 eelf64ltsmip.c:524
+#: eelf64ltsmip_fbsd.c:524 eelf64mmix.c:4060 eelf64ppc.c:1021
+#: eelf64ppc_fbsd.c:1021 eelf64rdos.c:334 eelf64tilegx.c:309
+#: eelf64tilegx_be.c:309 eelf_i386.c:4868 eelf_i386_be.c:307
 #: eelf_i386_fbsd.c:343 eelf_i386_ldso.c:318 eelf_i386_sol2.c:474
 #: eelf_i386_vxworks.c:370 eelf_iamcu.c:4846 eelf_k1om.c:5202
 #: eelf_k1om_fbsd.c:5182 eelf_l1om.c:5202 eelf_l1om_fbsd.c:5182 eelf_s390.c:309
@@ -2983,10 +3074,10 @@ msgstr ""
 #: ehppaobsd.c:592 ei386lynx.c:298 ei386moss.c:298 ei386nto.c:298
 #: em32relf_linux.c:308 em32rlelf_linux.c:308 em68kelf.c:466 em68kelfnbsd.c:466
 #: emn10300.c:283 ends32belf_linux.c:396 ends32elf_linux.c:396
-#: enios2linux.c:570 eppclynx.c:572 escore3_elf.c:304 escore7_elf.c:304
-#: eshelf.c:283 eshelf_fd.c:309 eshelf_linux.c:309 eshelf_nbsd.c:283
-#: eshelf_nto.c:283 eshelf_uclinux.c:283 eshelf_vxworks.c:320 eshlelf.c:283
-#: eshlelf_fd.c:309 eshlelf_linux.c:309 eshlelf_nbsd.c:283 eshlelf_nto.c:283
+#: enios2linux.c:570 escore3_elf.c:304 escore7_elf.c:304 eshelf.c:283
+#: eshelf_fd.c:309 eshelf_linux.c:309 eshelf_nbsd.c:283 eshelf_nto.c:283
+#: eshelf_uclinux.c:283 eshelf_vxworks.c:320 eshlelf.c:283 eshlelf_fd.c:309
+#: eshlelf_linux.c:309 eshlelf_nbsd.c:283 eshlelf_nto.c:283
 #: eshlelf_vxworks.c:320
 msgid "%F%P: invalid hash style `%s'\n"
 msgstr ""
@@ -3038,10 +3129,11 @@ msgstr ""
 #: eelf64_sparc_fbsd.c:325 eelf64_sparc_sol2.c:456 eelf64alpha.c:418
 #: eelf64alpha_fbsd.c:418 eelf64alpha_nbsd.c:418 eelf64bmip.c:554
 #: eelf64bpf.c:202 eelf64btsmip.c:540 eelf64btsmip_fbsd.c:540 eelf64hppa.c:269
-#: eelf64lppc.c:1019 eelf64lriscv.c:379 eelf64lriscv_lp64.c:379
-#: eelf64lriscv_lp64f.c:379 eelf64ltsmip.c:540 eelf64ltsmip_fbsd.c:540
-#: eelf64mmix.c:4076 eelf64ppc.c:1019 eelf64ppc_fbsd.c:1019 eelf64rdos.c:350
-#: eelf64tilegx.c:325 eelf64tilegx_be.c:325 eelf_i386.c:4884 eelf_i386_be.c:323
+#: eelf64lppc.c:1037 eelf64lppc_fbsd.c:1037 eelf64lriscv.c:379
+#: eelf64lriscv_lp64.c:379 eelf64lriscv_lp64f.c:379 eelf64ltsmip.c:540
+#: eelf64ltsmip_fbsd.c:540 eelf64mmix.c:4076 eelf64ppc.c:1037
+#: eelf64ppc_fbsd.c:1037 eelf64rdos.c:350 eelf64tilegx.c:325
+#: eelf64tilegx_be.c:325 eelf_i386.c:4884 eelf_i386_be.c:323
 #: eelf_i386_fbsd.c:359 eelf_i386_ldso.c:334 eelf_i386_sol2.c:490
 #: eelf_i386_vxworks.c:386 eelf_iamcu.c:4862 eelf_k1om.c:5218
 #: eelf_k1om_fbsd.c:5198 eelf_l1om.c:5218 eelf_l1om_fbsd.c:5198 eelf_s390.c:325
@@ -3056,11 +3148,11 @@ msgstr ""
 #: em68hc12elf.c:487 em68hc12elfb.c:487 em68kelf.c:482 em68kelfnbsd.c:482
 #: emn10300.c:299 ends32belf.c:338 ends32belf16m.c:338 ends32belf_linux.c:412
 #: ends32elf.c:338 ends32elf16m.c:338 ends32elf_linux.c:412 enios2elf.c:504
-#: enios2linux.c:586 eppclynx.c:588 epruelf.c:223 escore3_elf.c:320
-#: escore7_elf.c:320 eshelf.c:299 eshelf_fd.c:325 eshelf_linux.c:325
-#: eshelf_nbsd.c:299 eshelf_nto.c:299 eshelf_uclinux.c:299 eshelf_vxworks.c:336
-#: eshlelf.c:299 eshlelf_fd.c:325 eshlelf_linux.c:325 eshlelf_nbsd.c:299
-#: eshlelf_nto.c:299 eshlelf_vxworks.c:336 ev850.c:249 ev850_rh850.c:249
+#: enios2linux.c:586 epruelf.c:223 escore3_elf.c:320 escore7_elf.c:320
+#: eshelf.c:299 eshelf_fd.c:325 eshelf_linux.c:325 eshelf_nbsd.c:299
+#: eshelf_nto.c:299 eshelf_uclinux.c:299 eshelf_vxworks.c:336 eshlelf.c:299
+#: eshlelf_fd.c:325 eshlelf_linux.c:325 eshlelf_nbsd.c:299 eshlelf_nto.c:299
+#: eshlelf_vxworks.c:336 ev850.c:249 ev850_rh850.c:249
 msgid "%F%P: invalid maximum page size `%s'\n"
 msgstr ""
 
@@ -3111,10 +3203,11 @@ msgstr ""
 #: eelf64_sparc_fbsd.c:334 eelf64_sparc_sol2.c:465 eelf64alpha.c:427
 #: eelf64alpha_fbsd.c:427 eelf64alpha_nbsd.c:427 eelf64bmip.c:563
 #: eelf64bpf.c:211 eelf64btsmip.c:549 eelf64btsmip_fbsd.c:549 eelf64hppa.c:278
-#: eelf64lppc.c:1028 eelf64lriscv.c:388 eelf64lriscv_lp64.c:388
-#: eelf64lriscv_lp64f.c:388 eelf64ltsmip.c:549 eelf64ltsmip_fbsd.c:549
-#: eelf64mmix.c:4085 eelf64ppc.c:1028 eelf64ppc_fbsd.c:1028 eelf64rdos.c:359
-#: eelf64tilegx.c:334 eelf64tilegx_be.c:334 eelf_i386.c:4893 eelf_i386_be.c:332
+#: eelf64lppc.c:1046 eelf64lppc_fbsd.c:1046 eelf64lriscv.c:388
+#: eelf64lriscv_lp64.c:388 eelf64lriscv_lp64f.c:388 eelf64ltsmip.c:549
+#: eelf64ltsmip_fbsd.c:549 eelf64mmix.c:4085 eelf64ppc.c:1046
+#: eelf64ppc_fbsd.c:1046 eelf64rdos.c:359 eelf64tilegx.c:334
+#: eelf64tilegx_be.c:334 eelf_i386.c:4893 eelf_i386_be.c:332
 #: eelf_i386_fbsd.c:368 eelf_i386_ldso.c:343 eelf_i386_sol2.c:499
 #: eelf_i386_vxworks.c:395 eelf_iamcu.c:4871 eelf_k1om.c:5227
 #: eelf_k1om_fbsd.c:5207 eelf_l1om.c:5227 eelf_l1om_fbsd.c:5207 eelf_s390.c:334
@@ -3129,11 +3222,11 @@ msgstr ""
 #: em68hc12elf.c:496 em68hc12elfb.c:496 em68kelf.c:491 em68kelfnbsd.c:491
 #: emn10300.c:308 ends32belf.c:347 ends32belf16m.c:347 ends32belf_linux.c:421
 #: ends32elf.c:347 ends32elf16m.c:347 ends32elf_linux.c:421 enios2elf.c:513
-#: enios2linux.c:595 eppclynx.c:597 epruelf.c:232 escore3_elf.c:329
-#: escore7_elf.c:329 eshelf.c:308 eshelf_fd.c:334 eshelf_linux.c:334
-#: eshelf_nbsd.c:308 eshelf_nto.c:308 eshelf_uclinux.c:308 eshelf_vxworks.c:345
-#: eshlelf.c:308 eshlelf_fd.c:334 eshlelf_linux.c:334 eshlelf_nbsd.c:308
-#: eshlelf_nto.c:308 eshlelf_vxworks.c:345 ev850.c:258 ev850_rh850.c:258
+#: enios2linux.c:595 epruelf.c:232 escore3_elf.c:329 escore7_elf.c:329
+#: eshelf.c:308 eshelf_fd.c:334 eshelf_linux.c:334 eshelf_nbsd.c:308
+#: eshelf_nto.c:308 eshelf_uclinux.c:308 eshelf_vxworks.c:345 eshlelf.c:308
+#: eshlelf_fd.c:334 eshlelf_linux.c:334 eshlelf_nbsd.c:308 eshlelf_nto.c:308
+#: eshlelf_vxworks.c:345 ev850.c:258 ev850_rh850.c:258
 msgid "%F%P: invalid common page size `%s'\n"
 msgstr ""
 
@@ -3184,10 +3277,11 @@ msgstr ""
 #: eelf64_sparc_fbsd.c:342 eelf64_sparc_sol2.c:473 eelf64alpha.c:435
 #: eelf64alpha_fbsd.c:435 eelf64alpha_nbsd.c:435 eelf64bmip.c:571
 #: eelf64bpf.c:219 eelf64btsmip.c:557 eelf64btsmip_fbsd.c:557 eelf64hppa.c:286
-#: eelf64lppc.c:1036 eelf64lriscv.c:396 eelf64lriscv_lp64.c:396
-#: eelf64lriscv_lp64f.c:396 eelf64ltsmip.c:557 eelf64ltsmip_fbsd.c:557
-#: eelf64mmix.c:4093 eelf64ppc.c:1036 eelf64ppc_fbsd.c:1036 eelf64rdos.c:367
-#: eelf64tilegx.c:342 eelf64tilegx_be.c:342 eelf_i386.c:4901 eelf_i386_be.c:340
+#: eelf64lppc.c:1054 eelf64lppc_fbsd.c:1054 eelf64lriscv.c:396
+#: eelf64lriscv_lp64.c:396 eelf64lriscv_lp64f.c:396 eelf64ltsmip.c:557
+#: eelf64ltsmip_fbsd.c:557 eelf64mmix.c:4093 eelf64ppc.c:1054
+#: eelf64ppc_fbsd.c:1054 eelf64rdos.c:367 eelf64tilegx.c:342
+#: eelf64tilegx_be.c:342 eelf_i386.c:4901 eelf_i386_be.c:340
 #: eelf_i386_fbsd.c:376 eelf_i386_ldso.c:351 eelf_i386_sol2.c:507
 #: eelf_i386_vxworks.c:403 eelf_iamcu.c:4879 eelf_k1om.c:5235
 #: eelf_k1om_fbsd.c:5215 eelf_l1om.c:5235 eelf_l1om_fbsd.c:5215 eelf_s390.c:342
@@ -3202,203 +3296,171 @@ msgstr ""
 #: em68hc12elf.c:504 em68hc12elfb.c:504 em68kelf.c:499 em68kelfnbsd.c:499
 #: emn10300.c:316 ends32belf.c:355 ends32belf16m.c:355 ends32belf_linux.c:429
 #: ends32elf.c:355 ends32elf16m.c:355 ends32elf_linux.c:429 enios2elf.c:521
-#: enios2linux.c:603 eppclynx.c:605 epruelf.c:240 escore3_elf.c:337
-#: escore7_elf.c:337 eshelf.c:316 eshelf_fd.c:342 eshelf_linux.c:342
-#: eshelf_nbsd.c:316 eshelf_nto.c:316 eshelf_uclinux.c:316 eshelf_vxworks.c:353
-#: eshlelf.c:316 eshlelf_fd.c:342 eshlelf_linux.c:342 eshlelf_nbsd.c:316
-#: eshlelf_nto.c:316 eshlelf_vxworks.c:353 ev850.c:266 ev850_rh850.c:266
+#: enios2linux.c:603 epruelf.c:240 escore3_elf.c:337 escore7_elf.c:337
+#: eshelf.c:316 eshelf_fd.c:342 eshelf_linux.c:342 eshelf_nbsd.c:316
+#: eshelf_nto.c:316 eshelf_uclinux.c:316 eshelf_vxworks.c:353 eshlelf.c:316
+#: eshlelf_fd.c:342 eshlelf_linux.c:342 eshlelf_nbsd.c:316 eshlelf_nto.c:316
+#: eshlelf_vxworks.c:353 ev850.c:266 ev850_rh850.c:266
 msgid "%F%P: invalid stack size `%s'\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:685 eaarch64cloudabib.c:685 eaarch64elf.c:684
-#: eaarch64elf32.c:684 eaarch64elf32b.c:684 eaarch64elfb.c:684
-#: eaarch64fbsd.c:685 eaarch64fbsdb.c:685 eaarch64linux.c:685
-#: eaarch64linux32.c:685 eaarch64linux32b.c:685 eaarch64linuxb.c:685
-#: earcelf.c:317 earclinux.c:373 earclinux_nps.c:373 earcv2elf.c:250
-#: earcv2elfx.c:250 earmelf.c:927 earmelf_fbsd.c:927 earmelf_fuchsia.c:928
-#: earmelf_linux.c:928 earmelf_linux_eabi.c:928 earmelf_linux_fdpiceabi.c:928
-#: earmelf_nacl.c:928 earmelf_nbsd.c:927 earmelf_phoenix.c:928
-#: earmelf_vxworks.c:963 earmelfb.c:927 earmelfb_fbsd.c:927
-#: earmelfb_fuchsia.c:928 earmelfb_linux.c:928 earmelfb_linux_eabi.c:928
-#: earmelfb_linux_fdpiceabi.c:928 earmelfb_nacl.c:928 earmelfb_nbsd.c:927
-#: earmnto.c:902 earmsymbian.c:927 eavr1.c:473 eavr2.c:473 eavr25.c:473
-#: eavr3.c:473 eavr31.c:473 eavr35.c:473 eavr4.c:473 eavr5.c:473 eavr51.c:473
-#: eavr6.c:473 eavrtiny.c:473 eavrxmega1.c:473 eavrxmega2.c:473
-#: eavrxmega3.c:473 eavrxmega4.c:473 eavrxmega5.c:473 eavrxmega6.c:473
-#: eavrxmega7.c:473 ecriself.c:265 ecrislinux.c:348 ecskyelf.c:509
-#: ecskyelf_linux.c:617 ed10velf.c:250 eelf32_sparc.c:373
-#: eelf32_sparc_sol2.c:504 eelf32_sparc_vxworks.c:410 eelf32_spu.c:983
-#: eelf32_tic6x_be.c:484 eelf32_tic6x_elf_be.c:484 eelf32_tic6x_elf_le.c:484
-#: eelf32_tic6x_le.c:484 eelf32_tic6x_linux_be.c:484
-#: eelf32_tic6x_linux_le.c:484 eelf32_x86_64.c:5310 eelf32am33lin.c:347
-#: eelf32b4300.c:588 eelf32bfin.c:365 eelf32bfinfd.c:390 eelf32bmip.c:588
-#: eelf32bmipn32.c:602 eelf32bsmip.c:602 eelf32btsmip.c:588
-#: eelf32btsmip_fbsd.c:588 eelf32btsmipn32.c:588 eelf32btsmipn32_fbsd.c:588
-#: eelf32cr16.c:400 eelf32crx.c:287 eelf32ebmip.c:588 eelf32ebmipvxworks.c:623
-#: eelf32elmip.c:588 eelf32elmipvxworks.c:623 eelf32epiphany.c:265
-#: eelf32epiphany_4x4.c:252 eelf32frvfd.c:372 eelf32ip2k.c:265
-#: eelf32l4300.c:588 eelf32lm32.c:265 eelf32lm32fd.c:372 eelf32lmip.c:588
-#: eelf32lppc.c:636 eelf32lppclinux.c:636 eelf32lppcnto.c:636
-#: eelf32lppcsim.c:636 eelf32lr5900.c:506 eelf32lr5900n32.c:505
-#: eelf32lriscv.c:427 eelf32lriscv_ilp32.c:427 eelf32lriscv_ilp32f.c:427
-#: eelf32lsmip.c:588 eelf32ltsmip.c:588 eelf32ltsmip_fbsd.c:588
-#: eelf32ltsmipn32.c:588 eelf32ltsmipn32_fbsd.c:588 eelf32m32c.c:276
-#: eelf32mb_linux.c:373 eelf32mbel_linux.c:373 eelf32mcore.c:271
-#: eelf32mep.c:250 eelf32metag.c:622 eelf32microblaze.c:250
-#: eelf32microblazeel.c:250 eelf32mipswindiss.c:480 eelf32moxie.c:265
-#: eelf32or1k.c:266 eelf32or1k_linux.c:373 eelf32ppc.c:636 eelf32ppc_fbsd.c:636
-#: eelf32ppclinux.c:636 eelf32ppcnto.c:636 eelf32ppcsim.c:636
-#: eelf32ppcvxworks.c:610 eelf32ppcwindiss.c:636 eelf32rl78.c:265
-#: eelf32rx.c:293 eelf32rx_linux.c:278 eelf32tilegx.c:373 eelf32tilegx_be.c:373
-#: eelf32tilepro.c:373 eelf32vax.c:347 eelf32visium.c:250 eelf32xc16x.c:250
-#: eelf32xc16xl.c:250 eelf32xc16xs.c:250 eelf32xstormy16.c:261
-#: eelf32xtensa.c:2294 eelf32z80.c:277 eelf64_aix.c:347 eelf64_ia64.c:404
-#: eelf64_ia64_fbsd.c:404 eelf64_s390.c:443 eelf64_sparc.c:373
-#: eelf64_sparc_fbsd.c:373 eelf64_sparc_sol2.c:504 eelf64alpha.c:466
-#: eelf64alpha_fbsd.c:466 eelf64alpha_nbsd.c:466 eelf64bmip.c:602
-#: eelf64bpf.c:250 eelf64btsmip.c:588 eelf64btsmip_fbsd.c:588 eelf64hppa.c:317
-#: eelf64lppc.c:1067 eelf64lriscv.c:427 eelf64lriscv_lp64.c:427
-#: eelf64lriscv_lp64f.c:427 eelf64ltsmip.c:588 eelf64ltsmip_fbsd.c:588
-#: eelf64mmix.c:4124 eelf64ppc.c:1067 eelf64ppc_fbsd.c:1067 eelf64rdos.c:398
-#: eelf64tilegx.c:373 eelf64tilegx_be.c:373 eelf_i386.c:4932 eelf_i386_be.c:371
-#: eelf_i386_fbsd.c:407 eelf_i386_ldso.c:382 eelf_i386_sol2.c:538
-#: eelf_i386_vxworks.c:434 eelf_iamcu.c:4910 eelf_k1om.c:5266
-#: eelf_k1om_fbsd.c:5246 eelf_l1om.c:5266 eelf_l1om_fbsd.c:5246 eelf_s390.c:373
-#: eelf_x86_64.c:5310 eelf_x86_64_cloudabi.c:407 eelf_x86_64_fbsd.c:407
-#: eelf_x86_64_sol2.c:538 eh8300elf.c:265 eh8300elf_linux.c:265
-#: eh8300helf.c:265 eh8300helf_linux.c:265 eh8300hnelf.c:265 eh8300self.c:265
-#: eh8300self_linux.c:265 eh8300snelf.c:265 eh8300sxelf.c:265
-#: eh8300sxelf_linux.c:265 eh8300sxnelf.c:265 ehppa64linux.c:347 ehppaelf.c:533
-#: ehppalinux.c:656 ehppanbsd.c:656 ehppaobsd.c:656 ei386lynx.c:362
-#: ei386moss.c:362 ei386nto.c:362 em32relf.c:265 em32relf_linux.c:372
-#: em32rlelf.c:265 em32rlelf_linux.c:372 em68hc11elf.c:535 em68hc11elfb.c:535
-#: em68hc12elf.c:535 em68hc12elfb.c:535 em68kelf.c:530 em68kelfnbsd.c:530
-#: emn10300.c:347 ends32belf.c:386 ends32belf16m.c:386 ends32belf_linux.c:460
-#: ends32elf.c:386 ends32elf16m.c:386 ends32elf_linux.c:460 enios2elf.c:552
-#: enios2linux.c:634 eppclynx.c:636 epruelf.c:271 escore3_elf.c:368
-#: escore7_elf.c:368 eshelf.c:347 eshelf_fd.c:373 eshelf_linux.c:373
-#: eshelf_nbsd.c:347 eshelf_nto.c:347 eshelf_uclinux.c:347 eshelf_vxworks.c:384
-#: eshlelf.c:347 eshlelf_fd.c:373 eshlelf_linux.c:373 eshlelf_nbsd.c:347
-#: eshlelf_nto.c:347 eshlelf_vxworks.c:384 ev850.c:297 ev850_rh850.c:297
+#: eaarch64cloudabi.c:689 eaarch64cloudabib.c:689 eaarch64elf.c:688
+#: eaarch64elf32.c:688 eaarch64elf32b.c:688 eaarch64elfb.c:688
+#: eaarch64fbsd.c:689 eaarch64fbsdb.c:689 eaarch64linux.c:689
+#: eaarch64linux32.c:689 eaarch64linux32b.c:689 eaarch64linuxb.c:689
+#: earcelf.c:321 earclinux.c:377 earclinux_nps.c:377 earcv2elf.c:254
+#: earcv2elfx.c:254 earmelf.c:931 earmelf_fbsd.c:931 earmelf_fuchsia.c:932
+#: earmelf_linux.c:932 earmelf_linux_eabi.c:932 earmelf_linux_fdpiceabi.c:932
+#: earmelf_nacl.c:932 earmelf_nbsd.c:931 earmelf_phoenix.c:932
+#: earmelf_vxworks.c:967 earmelfb.c:931 earmelfb_fbsd.c:931
+#: earmelfb_fuchsia.c:932 earmelfb_linux.c:932 earmelfb_linux_eabi.c:932
+#: earmelfb_linux_fdpiceabi.c:932 earmelfb_nacl.c:932 earmelfb_nbsd.c:931
+#: earmnto.c:906 earmsymbian.c:931 eavr1.c:477 eavr2.c:477 eavr25.c:477
+#: eavr3.c:477 eavr31.c:477 eavr35.c:477 eavr4.c:477 eavr5.c:477 eavr51.c:477
+#: eavr6.c:477 eavrtiny.c:477 eavrxmega1.c:477 eavrxmega2.c:477
+#: eavrxmega3.c:477 eavrxmega4.c:477 eavrxmega5.c:477 eavrxmega6.c:477
+#: eavrxmega7.c:477 ecriself.c:269 ecrislinux.c:352 ecskyelf.c:513
+#: ecskyelf_linux.c:621 ed10velf.c:254 eelf32_sparc.c:377
+#: eelf32_sparc_sol2.c:508 eelf32_sparc_vxworks.c:414 eelf32_spu.c:987
+#: eelf32_tic6x_be.c:488 eelf32_tic6x_elf_be.c:488 eelf32_tic6x_elf_le.c:488
+#: eelf32_tic6x_le.c:488 eelf32_tic6x_linux_be.c:488
+#: eelf32_tic6x_linux_le.c:488 eelf32_x86_64.c:5314 eelf32am33lin.c:351
+#: eelf32b4300.c:592 eelf32bfin.c:369 eelf32bfinfd.c:394 eelf32bmip.c:592
+#: eelf32bmipn32.c:606 eelf32bsmip.c:606 eelf32btsmip.c:592
+#: eelf32btsmip_fbsd.c:592 eelf32btsmipn32.c:592 eelf32btsmipn32_fbsd.c:592
+#: eelf32cr16.c:404 eelf32crx.c:291 eelf32ebmip.c:592 eelf32ebmipvxworks.c:627
+#: eelf32elmip.c:592 eelf32elmipvxworks.c:627 eelf32epiphany.c:269
+#: eelf32epiphany_4x4.c:256 eelf32frvfd.c:376 eelf32ip2k.c:269
+#: eelf32l4300.c:592 eelf32lm32.c:269 eelf32lm32fd.c:376 eelf32lmip.c:592
+#: eelf32lppc.c:640 eelf32lppclinux.c:640 eelf32lppcnto.c:640
+#: eelf32lppcsim.c:640 eelf32lr5900.c:510 eelf32lr5900n32.c:509
+#: eelf32lriscv.c:431 eelf32lriscv_ilp32.c:431 eelf32lriscv_ilp32f.c:431
+#: eelf32lsmip.c:592 eelf32ltsmip.c:592 eelf32ltsmip_fbsd.c:592
+#: eelf32ltsmipn32.c:592 eelf32ltsmipn32_fbsd.c:592 eelf32m32c.c:280
+#: eelf32mb_linux.c:377 eelf32mbel_linux.c:377 eelf32mcore.c:275
+#: eelf32mep.c:254 eelf32metag.c:626 eelf32microblaze.c:254
+#: eelf32microblazeel.c:254 eelf32mipswindiss.c:484 eelf32moxie.c:269
+#: eelf32or1k.c:270 eelf32or1k_linux.c:377 eelf32ppc.c:640 eelf32ppc_fbsd.c:640
+#: eelf32ppclinux.c:640 eelf32ppcnto.c:640 eelf32ppcsim.c:640
+#: eelf32ppcvxworks.c:614 eelf32ppcwindiss.c:640 eelf32rl78.c:269
+#: eelf32rx.c:297 eelf32rx_linux.c:282 eelf32tilegx.c:377 eelf32tilegx_be.c:377
+#: eelf32tilepro.c:377 eelf32vax.c:351 eelf32visium.c:254 eelf32xc16x.c:254
+#: eelf32xc16xl.c:254 eelf32xc16xs.c:254 eelf32xstormy16.c:265
+#: eelf32xtensa.c:2298 eelf32z80.c:281 eelf64_aix.c:351 eelf64_ia64.c:408
+#: eelf64_ia64_fbsd.c:408 eelf64_s390.c:447 eelf64_sparc.c:377
+#: eelf64_sparc_fbsd.c:377 eelf64_sparc_sol2.c:508 eelf64alpha.c:470
+#: eelf64alpha_fbsd.c:470 eelf64alpha_nbsd.c:470 eelf64bmip.c:606
+#: eelf64bpf.c:254 eelf64btsmip.c:592 eelf64btsmip_fbsd.c:592 eelf64hppa.c:321
+#: eelf64lppc.c:1089 eelf64lppc_fbsd.c:1089 eelf64lriscv.c:431
+#: eelf64lriscv_lp64.c:431 eelf64lriscv_lp64f.c:431 eelf64ltsmip.c:592
+#: eelf64ltsmip_fbsd.c:592 eelf64mmix.c:4128 eelf64ppc.c:1089
+#: eelf64ppc_fbsd.c:1089 eelf64rdos.c:402 eelf64tilegx.c:377
+#: eelf64tilegx_be.c:377 eelf_i386.c:4936 eelf_i386_be.c:375
+#: eelf_i386_fbsd.c:411 eelf_i386_ldso.c:386 eelf_i386_sol2.c:542
+#: eelf_i386_vxworks.c:438 eelf_iamcu.c:4914 eelf_k1om.c:5270
+#: eelf_k1om_fbsd.c:5250 eelf_l1om.c:5270 eelf_l1om_fbsd.c:5250 eelf_s390.c:377
+#: eelf_x86_64.c:5314 eelf_x86_64_cloudabi.c:411 eelf_x86_64_fbsd.c:411
+#: eelf_x86_64_sol2.c:542 eh8300elf.c:269 eh8300elf_linux.c:269
+#: eh8300helf.c:269 eh8300helf_linux.c:269 eh8300hnelf.c:269 eh8300self.c:269
+#: eh8300self_linux.c:269 eh8300snelf.c:269 eh8300sxelf.c:269
+#: eh8300sxelf_linux.c:269 eh8300sxnelf.c:269 ehppa64linux.c:351 ehppaelf.c:537
+#: ehppalinux.c:660 ehppanbsd.c:660 ehppaobsd.c:660 ei386lynx.c:366
+#: ei386moss.c:366 ei386nto.c:366 em32relf.c:269 em32relf_linux.c:376
+#: em32rlelf.c:269 em32rlelf_linux.c:376 em68hc11elf.c:539 em68hc11elfb.c:539
+#: em68hc12elf.c:539 em68hc12elfb.c:539 em68kelf.c:534 em68kelfnbsd.c:534
+#: emn10300.c:351 ends32belf.c:390 ends32belf16m.c:390 ends32belf_linux.c:464
+#: ends32elf.c:390 ends32elf16m.c:390 ends32elf_linux.c:464 enios2elf.c:556
+#: enios2linux.c:638 epruelf.c:275 escore3_elf.c:372 escore7_elf.c:372
+#: eshelf.c:351 eshelf_fd.c:377 eshelf_linux.c:377 eshelf_nbsd.c:351
+#: eshelf_nto.c:351 eshelf_uclinux.c:351 eshelf_vxworks.c:388 eshlelf.c:351
+#: eshlelf_fd.c:377 eshlelf_linux.c:377 eshlelf_nbsd.c:351 eshlelf_nto.c:351
+#: eshlelf_vxworks.c:388 ev850.c:301 ev850_rh850.c:301
 msgid ""
 "%F%P: invalid visibility in `-z %s'; must be default, internal, hidden, or "
 "protected"
 msgstr ""
 
-#: eaarch64cloudabi.c:754 eaarch64cloudabib.c:754 eaarch64elf.c:749
-#: eaarch64elf32.c:749 eaarch64elf32b.c:749 eaarch64elfb.c:749
-#: eaarch64fbsd.c:754 eaarch64fbsdb.c:754 eaarch64linux.c:754
-#: eaarch64linux32.c:754 eaarch64linux32b.c:754 eaarch64linuxb.c:754
-#: earcelf.c:373 earclinux.c:433 earclinux_nps.c:433 earcv2elf.c:255
-#: earcv2elfx.c:255 earmelf.c:983 earmelf_fbsd.c:983 earmelf_fuchsia.c:988
-#: earmelf_linux.c:988 earmelf_linux_eabi.c:988 earmelf_linux_fdpiceabi.c:988
-#: earmelf_nacl.c:988 earmelf_nbsd.c:983 earmelf_phoenix.c:988
-#: earmelf_vxworks.c:1019 earmelfb.c:983 earmelfb_fbsd.c:983
-#: earmelfb_fuchsia.c:988 earmelfb_linux.c:988 earmelfb_linux_eabi.c:988
-#: earmelfb_linux_fdpiceabi.c:988 earmelfb_nacl.c:988 earmelfb_nbsd.c:983
-#: earmnto.c:958 earmsymbian.c:983 eavr1.c:478 eavr2.c:478 eavr25.c:478
-#: eavr3.c:478 eavr31.c:478 eavr35.c:478 eavr4.c:478 eavr5.c:478 eavr51.c:478
-#: eavr6.c:478 eavrtiny.c:478 eavrxmega1.c:478 eavrxmega2.c:478
-#: eavrxmega3.c:478 eavrxmega4.c:478 eavrxmega5.c:478 eavrxmega6.c:478
-#: eavrxmega7.c:478 ecriself.c:270 ecrislinux.c:408 ecskyelf.c:514
-#: ecskyelf_linux.c:677 ed10velf.c:255 eelf32_sparc.c:433
-#: eelf32_sparc_sol2.c:564 eelf32_sparc_vxworks.c:470 eelf32_spu.c:988
-#: eelf32_tic6x_be.c:540 eelf32_tic6x_elf_be.c:540 eelf32_tic6x_elf_le.c:540
-#: eelf32_tic6x_le.c:540 eelf32_tic6x_linux_be.c:540
-#: eelf32_tic6x_linux_le.c:540 eelf32_x86_64.c:5439 eelf32am33lin.c:403
-#: eelf32b4300.c:648 eelf32bfin.c:421 eelf32bfinfd.c:446 eelf32bmip.c:648
-#: eelf32bmipn32.c:662 eelf32bsmip.c:662 eelf32btsmip.c:648
-#: eelf32btsmip_fbsd.c:648 eelf32btsmipn32.c:648 eelf32btsmipn32_fbsd.c:648
-#: eelf32cr16.c:405 eelf32crx.c:292 eelf32ebmip.c:648 eelf32ebmipvxworks.c:683
-#: eelf32elmip.c:648 eelf32elmipvxworks.c:683 eelf32epiphany.c:270
-#: eelf32epiphany_4x4.c:257 eelf32frvfd.c:428 eelf32ip2k.c:270
-#: eelf32l4300.c:648 eelf32lm32.c:270 eelf32lm32fd.c:428 eelf32lmip.c:648
-#: eelf32lppc.c:702 eelf32lppclinux.c:702 eelf32lppcnto.c:702
-#: eelf32lppcsim.c:702 eelf32lr5900.c:511 eelf32lr5900n32.c:510
-#: eelf32lriscv.c:487 eelf32lriscv_ilp32.c:487 eelf32lriscv_ilp32f.c:487
-#: eelf32lsmip.c:648 eelf32ltsmip.c:648 eelf32ltsmip_fbsd.c:648
-#: eelf32ltsmipn32.c:648 eelf32ltsmipn32_fbsd.c:648 eelf32m32c.c:281
-#: eelf32mb_linux.c:433 eelf32mbel_linux.c:433 eelf32mcore.c:276
-#: eelf32mep.c:255 eelf32metag.c:682 eelf32microblaze.c:255
-#: eelf32microblazeel.c:255 eelf32mipswindiss.c:485 eelf32moxie.c:270
-#: eelf32or1k.c:271 eelf32or1k_linux.c:433 eelf32ppc.c:702 eelf32ppc_fbsd.c:702
-#: eelf32ppclinux.c:702 eelf32ppcnto.c:702 eelf32ppcsim.c:702
-#: eelf32ppcvxworks.c:676 eelf32ppcwindiss.c:702 eelf32rl78.c:270
-#: eelf32rx.c:298 eelf32rx_linux.c:283 eelf32tilegx.c:433 eelf32tilegx_be.c:433
-#: eelf32tilepro.c:433 eelf32vax.c:403 eelf32visium.c:255 eelf32xc16x.c:255
-#: eelf32xc16xl.c:255 eelf32xc16xs.c:255 eelf32xstormy16.c:266
-#: eelf32xtensa.c:2354 eelf32z80.c:282 eelf64_aix.c:403 eelf64_ia64.c:460
-#: eelf64_ia64_fbsd.c:460 eelf64_s390.c:503 eelf64_sparc.c:433
-#: eelf64_sparc_fbsd.c:433 eelf64_sparc_sol2.c:564 eelf64alpha.c:526
-#: eelf64alpha_fbsd.c:526 eelf64alpha_nbsd.c:526 eelf64bmip.c:662
-#: eelf64bpf.c:255 eelf64btsmip.c:648 eelf64btsmip_fbsd.c:648 eelf64hppa.c:373
-#: eelf64lppc.c:1133 eelf64lriscv.c:487 eelf64lriscv_lp64.c:487
-#: eelf64lriscv_lp64f.c:487 eelf64ltsmip.c:648 eelf64ltsmip_fbsd.c:648
-#: eelf64mmix.c:4180 eelf64ppc.c:1133 eelf64ppc_fbsd.c:1133 eelf64rdos.c:458
-#: eelf64tilegx.c:433 eelf64tilegx_be.c:433 eelf_i386.c:5058 eelf_i386_be.c:470
-#: eelf_i386_fbsd.c:533 eelf_i386_ldso.c:485 eelf_i386_sol2.c:641
-#: eelf_i386_vxworks.c:537 eelf_iamcu.c:5013 eelf_k1om.c:5369
-#: eelf_k1om_fbsd.c:5349 eelf_l1om.c:5369 eelf_l1om_fbsd.c:5349 eelf_s390.c:433
-#: eelf_x86_64.c:5442 eelf_x86_64_cloudabi.c:539 eelf_x86_64_fbsd.c:539
-#: eelf_x86_64_sol2.c:670 eh8300elf.c:270 eh8300elf_linux.c:270
-#: eh8300helf.c:270 eh8300helf_linux.c:270 eh8300hnelf.c:270 eh8300self.c:270
-#: eh8300self_linux.c:270 eh8300snelf.c:270 eh8300sxelf.c:270
-#: eh8300sxelf_linux.c:270 eh8300sxnelf.c:270 ehppa64linux.c:403 ehppaelf.c:538
-#: ehppalinux.c:716 ehppanbsd.c:716 ehppaobsd.c:716 ei386lynx.c:418
-#: ei386moss.c:418 ei386nto.c:418 em32relf.c:270 em32relf_linux.c:428
-#: em32rlelf.c:270 em32rlelf_linux.c:428 em68hc11elf.c:540 em68hc11elfb.c:540
-#: em68hc12elf.c:540 em68hc12elfb.c:540 em68kelf.c:590 em68kelfnbsd.c:590
-#: emn10300.c:403 ends32belf.c:391 ends32belf16m.c:391 ends32belf_linux.c:520
-#: ends32elf.c:391 ends32elf16m.c:391 ends32elf_linux.c:520 enios2elf.c:557
-#: enios2linux.c:694 eppclynx.c:702 epruelf.c:276 escore3_elf.c:424
-#: escore7_elf.c:424 eshelf.c:403 eshelf_fd.c:433 eshelf_linux.c:433
-#: eshelf_nbsd.c:403 eshelf_nto.c:403 eshelf_uclinux.c:403 eshelf_vxworks.c:440
-#: eshlelf.c:403 eshlelf_fd.c:433 eshlelf_linux.c:433 eshlelf_nbsd.c:403
-#: eshlelf_nto.c:403 eshlelf_vxworks.c:440 ev850.c:302 ev850_rh850.c:302
+#: eaarch64cloudabi.c:758 eaarch64cloudabib.c:758 eaarch64elf.c:753
+#: eaarch64elf32.c:753 eaarch64elf32b.c:753 eaarch64elfb.c:753
+#: eaarch64fbsd.c:758 eaarch64fbsdb.c:758 eaarch64linux.c:758
+#: eaarch64linux32.c:758 eaarch64linux32b.c:758 eaarch64linuxb.c:758
+#: earcelf.c:377 earclinux.c:437 earclinux_nps.c:437 earcv2elf.c:259
+#: earcv2elfx.c:259 earmelf.c:987 earmelf_fbsd.c:987 earmelf_fuchsia.c:992
+#: earmelf_linux.c:992 earmelf_linux_eabi.c:992 earmelf_linux_fdpiceabi.c:992
+#: earmelf_nacl.c:992 earmelf_nbsd.c:987 earmelf_phoenix.c:992
+#: earmelf_vxworks.c:1023 earmelfb.c:987 earmelfb_fbsd.c:987
+#: earmelfb_fuchsia.c:992 earmelfb_linux.c:992 earmelfb_linux_eabi.c:992
+#: earmelfb_linux_fdpiceabi.c:992 earmelfb_nacl.c:992 earmelfb_nbsd.c:987
+#: earmnto.c:962 earmsymbian.c:987 eavr1.c:482 eavr2.c:482 eavr25.c:482
+#: eavr3.c:482 eavr31.c:482 eavr35.c:482 eavr4.c:482 eavr5.c:482 eavr51.c:482
+#: eavr6.c:482 eavrtiny.c:482 eavrxmega1.c:482 eavrxmega2.c:482
+#: eavrxmega3.c:482 eavrxmega4.c:482 eavrxmega5.c:482 eavrxmega6.c:482
+#: eavrxmega7.c:482 ecriself.c:274 ecrislinux.c:412 ecskyelf.c:518
+#: ecskyelf_linux.c:681 ed10velf.c:259 eelf32_sparc.c:437
+#: eelf32_sparc_sol2.c:568 eelf32_sparc_vxworks.c:474 eelf32_spu.c:992
+#: eelf32_tic6x_be.c:544 eelf32_tic6x_elf_be.c:544 eelf32_tic6x_elf_le.c:544
+#: eelf32_tic6x_le.c:544 eelf32_tic6x_linux_be.c:544
+#: eelf32_tic6x_linux_le.c:544 eelf32_x86_64.c:5454 eelf32am33lin.c:407
+#: eelf32b4300.c:652 eelf32bfin.c:425 eelf32bfinfd.c:450 eelf32bmip.c:652
+#: eelf32bmipn32.c:666 eelf32bsmip.c:666 eelf32btsmip.c:652
+#: eelf32btsmip_fbsd.c:652 eelf32btsmipn32.c:652 eelf32btsmipn32_fbsd.c:652
+#: eelf32cr16.c:409 eelf32crx.c:296 eelf32ebmip.c:652 eelf32ebmipvxworks.c:687
+#: eelf32elmip.c:652 eelf32elmipvxworks.c:687 eelf32epiphany.c:274
+#: eelf32epiphany_4x4.c:261 eelf32frvfd.c:432 eelf32ip2k.c:274
+#: eelf32l4300.c:652 eelf32lm32.c:274 eelf32lm32fd.c:432 eelf32lmip.c:652
+#: eelf32lppc.c:706 eelf32lppclinux.c:706 eelf32lppcnto.c:706
+#: eelf32lppcsim.c:706 eelf32lr5900.c:515 eelf32lr5900n32.c:514
+#: eelf32lriscv.c:491 eelf32lriscv_ilp32.c:491 eelf32lriscv_ilp32f.c:491
+#: eelf32lsmip.c:652 eelf32ltsmip.c:652 eelf32ltsmip_fbsd.c:652
+#: eelf32ltsmipn32.c:652 eelf32ltsmipn32_fbsd.c:652 eelf32m32c.c:285
+#: eelf32mb_linux.c:437 eelf32mbel_linux.c:437 eelf32mcore.c:280
+#: eelf32mep.c:259 eelf32metag.c:686 eelf32microblaze.c:259
+#: eelf32microblazeel.c:259 eelf32mipswindiss.c:489 eelf32moxie.c:274
+#: eelf32or1k.c:275 eelf32or1k_linux.c:437 eelf32ppc.c:706 eelf32ppc_fbsd.c:706
+#: eelf32ppclinux.c:706 eelf32ppcnto.c:706 eelf32ppcsim.c:706
+#: eelf32ppcvxworks.c:680 eelf32ppcwindiss.c:706 eelf32rl78.c:274
+#: eelf32rx.c:302 eelf32rx_linux.c:287 eelf32tilegx.c:437 eelf32tilegx_be.c:437
+#: eelf32tilepro.c:437 eelf32vax.c:407 eelf32visium.c:259 eelf32xc16x.c:259
+#: eelf32xc16xl.c:259 eelf32xc16xs.c:259 eelf32xstormy16.c:270
+#: eelf32xtensa.c:2358 eelf32z80.c:286 eelf64_aix.c:407 eelf64_ia64.c:464
+#: eelf64_ia64_fbsd.c:464 eelf64_s390.c:507 eelf64_sparc.c:437
+#: eelf64_sparc_fbsd.c:437 eelf64_sparc_sol2.c:568 eelf64alpha.c:530
+#: eelf64alpha_fbsd.c:530 eelf64alpha_nbsd.c:530 eelf64bmip.c:666
+#: eelf64bpf.c:259 eelf64btsmip.c:652 eelf64btsmip_fbsd.c:652 eelf64hppa.c:377
+#: eelf64lppc.c:1155 eelf64lppc_fbsd.c:1155 eelf64lriscv.c:491
+#: eelf64lriscv_lp64.c:491 eelf64lriscv_lp64f.c:491 eelf64ltsmip.c:652
+#: eelf64ltsmip_fbsd.c:652 eelf64mmix.c:4184 eelf64ppc.c:1155
+#: eelf64ppc_fbsd.c:1155 eelf64rdos.c:462 eelf64tilegx.c:437
+#: eelf64tilegx_be.c:437 eelf_i386.c:5073 eelf_i386_be.c:474
+#: eelf_i386_fbsd.c:548 eelf_i386_ldso.c:489 eelf_i386_sol2.c:645
+#: eelf_i386_vxworks.c:541 eelf_iamcu.c:5017 eelf_k1om.c:5373
+#: eelf_k1om_fbsd.c:5353 eelf_l1om.c:5373 eelf_l1om_fbsd.c:5353 eelf_s390.c:437
+#: eelf_x86_64.c:5457 eelf_x86_64_cloudabi.c:554 eelf_x86_64_fbsd.c:554
+#: eelf_x86_64_sol2.c:685 eh8300elf.c:274 eh8300elf_linux.c:274
+#: eh8300helf.c:274 eh8300helf_linux.c:274 eh8300hnelf.c:274 eh8300self.c:274
+#: eh8300self_linux.c:274 eh8300snelf.c:274 eh8300sxelf.c:274
+#: eh8300sxelf_linux.c:274 eh8300sxnelf.c:274 ehppa64linux.c:407 ehppaelf.c:542
+#: ehppalinux.c:720 ehppanbsd.c:720 ehppaobsd.c:720 ei386lynx.c:422
+#: ei386moss.c:422 ei386nto.c:422 em32relf.c:274 em32relf_linux.c:432
+#: em32rlelf.c:274 em32rlelf_linux.c:432 em68hc11elf.c:544 em68hc11elfb.c:544
+#: em68hc12elf.c:544 em68hc12elfb.c:544 em68kelf.c:594 em68kelfnbsd.c:594
+#: emn10300.c:407 ends32belf.c:395 ends32belf16m.c:395 ends32belf_linux.c:524
+#: ends32elf.c:395 ends32elf16m.c:395 ends32elf_linux.c:524 enios2elf.c:561
+#: enios2linux.c:698 epruelf.c:280 escore3_elf.c:428 escore7_elf.c:428
+#: eshelf.c:407 eshelf_fd.c:437 eshelf_linux.c:437 eshelf_nbsd.c:407
+#: eshelf_nto.c:407 eshelf_uclinux.c:407 eshelf_vxworks.c:444 eshlelf.c:407
+#: eshlelf_fd.c:437 eshlelf_linux.c:437 eshlelf_nbsd.c:407 eshlelf_nto.c:407
+#: eshlelf_vxworks.c:444 ev850.c:306 ev850_rh850.c:306
 msgid "%P: warning: -z %s ignored\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:788 eaarch64cloudabib.c:788 eaarch64elf.c:783
-#: eaarch64elf32.c:783 eaarch64elf32b.c:783 eaarch64elfb.c:783
-#: eaarch64fbsd.c:788 eaarch64fbsdb.c:788 eaarch64linux.c:788
-#: eaarch64linux32.c:788 eaarch64linux32b.c:788 eaarch64linuxb.c:788
+#: eaarch64cloudabi.c:792 eaarch64cloudabib.c:792 eaarch64elf.c:787
+#: eaarch64elf32.c:787 eaarch64elf32b.c:787 eaarch64elfb.c:787
+#: eaarch64fbsd.c:792 eaarch64fbsdb.c:792 eaarch64linux.c:792
+#: eaarch64linux32.c:792 eaarch64linux32b.c:792 eaarch64linuxb.c:792
 msgid "%P: error: unrecognized option for --fix-cortex-a53-843419: %s\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:817 eaarch64cloudabib.c:817 eaarch64elf.c:812
-#: eaarch64elf32.c:812 eaarch64elf32b.c:812 eaarch64elfb.c:812
-#: eaarch64fbsd.c:817 eaarch64fbsdb.c:817 eaarch64linux.c:817
-#: eaarch64linux32.c:817 eaarch64linux32b.c:817 eaarch64linuxb.c:817
-#: earmelf.c:1120 earmelf_fbsd.c:1120 earmelf_fuchsia.c:1125
-#: earmelf_linux.c:1125 earmelf_linux_eabi.c:1125
-#: earmelf_linux_fdpiceabi.c:1125 earmelf_nacl.c:1125 earmelf_nbsd.c:1120
-#: earmelf_phoenix.c:1125 earmelf_vxworks.c:1160 earmelfb.c:1120
-#: earmelfb_fbsd.c:1120 earmelfb_fuchsia.c:1125 earmelfb_linux.c:1125
-#: earmelfb_linux_eabi.c:1125 earmelfb_linux_fdpiceabi.c:1125
-#: earmelfb_nacl.c:1125 earmelfb_nbsd.c:1120 earmnto.c:1095 earmsymbian.c:1120
-#, c-format
-msgid ""
-"  --no-enum-size-warning      Don't warn about objects with incompatible\n"
-"                                enum sizes\n"
-msgstr ""
-
-#: eaarch64cloudabi.c:819 eaarch64cloudabib.c:819 eaarch64elf.c:814
-#: eaarch64elf32.c:814 eaarch64elf32b.c:814 eaarch64elfb.c:814
-#: eaarch64fbsd.c:819 eaarch64fbsdb.c:819 eaarch64linux.c:819
-#: eaarch64linux32.c:819 eaarch64linux32b.c:819 eaarch64linuxb.c:819
-#: earmelf.c:1122 earmelf_fbsd.c:1122 earmelf_fuchsia.c:1127
-#: earmelf_linux.c:1127 earmelf_linux_eabi.c:1127
-#: earmelf_linux_fdpiceabi.c:1127 earmelf_nacl.c:1127 earmelf_nbsd.c:1122
-#: earmelf_phoenix.c:1127 earmelf_vxworks.c:1162 earmelfb.c:1122
-#: earmelfb_fbsd.c:1122 earmelfb_fuchsia.c:1127 earmelfb_linux.c:1127
-#: earmelfb_linux_eabi.c:1127 earmelfb_linux_fdpiceabi.c:1127
-#: earmelfb_nacl.c:1127 earmelfb_nbsd.c:1122 earmnto.c:1097 earmsymbian.c:1122
-#, c-format
-msgid ""
-"  --no-wchar-size-warning     Don't warn about objects with incompatible\n"
-"                                wchar_t sizes\n"
-msgstr ""
-
 #: eaarch64cloudabi.c:821 eaarch64cloudabib.c:821 eaarch64elf.c:816
 #: eaarch64elf32.c:816 eaarch64elf32b.c:816 eaarch64elfb.c:816
 #: eaarch64fbsd.c:821 eaarch64fbsdb.c:821 eaarch64linux.c:821
@@ -3412,20 +3474,54 @@ msgstr ""
 #: earmelfb_nacl.c:1129 earmelfb_nbsd.c:1124 earmnto.c:1099 earmsymbian.c:1124
 #, c-format
 msgid ""
+"  --no-enum-size-warning      Don't warn about objects with incompatible\n"
+"                                enum sizes\n"
+msgstr ""
+
+#: eaarch64cloudabi.c:823 eaarch64cloudabib.c:823 eaarch64elf.c:818
+#: eaarch64elf32.c:818 eaarch64elf32b.c:818 eaarch64elfb.c:818
+#: eaarch64fbsd.c:823 eaarch64fbsdb.c:823 eaarch64linux.c:823
+#: eaarch64linux32.c:823 eaarch64linux32b.c:823 eaarch64linuxb.c:823
+#: earmelf.c:1126 earmelf_fbsd.c:1126 earmelf_fuchsia.c:1131
+#: earmelf_linux.c:1131 earmelf_linux_eabi.c:1131
+#: earmelf_linux_fdpiceabi.c:1131 earmelf_nacl.c:1131 earmelf_nbsd.c:1126
+#: earmelf_phoenix.c:1131 earmelf_vxworks.c:1166 earmelfb.c:1126
+#: earmelfb_fbsd.c:1126 earmelfb_fuchsia.c:1131 earmelfb_linux.c:1131
+#: earmelfb_linux_eabi.c:1131 earmelfb_linux_fdpiceabi.c:1131
+#: earmelfb_nacl.c:1131 earmelfb_nbsd.c:1126 earmnto.c:1101 earmsymbian.c:1126
+#, c-format
+msgid ""
+"  --no-wchar-size-warning     Don't warn about objects with incompatible\n"
+"                                wchar_t sizes\n"
+msgstr ""
+
+#: eaarch64cloudabi.c:825 eaarch64cloudabib.c:825 eaarch64elf.c:820
+#: eaarch64elf32.c:820 eaarch64elf32b.c:820 eaarch64elfb.c:820
+#: eaarch64fbsd.c:825 eaarch64fbsdb.c:825 eaarch64linux.c:825
+#: eaarch64linux32.c:825 eaarch64linux32b.c:825 eaarch64linuxb.c:825
+#: earmelf.c:1128 earmelf_fbsd.c:1128 earmelf_fuchsia.c:1133
+#: earmelf_linux.c:1133 earmelf_linux_eabi.c:1133
+#: earmelf_linux_fdpiceabi.c:1133 earmelf_nacl.c:1133 earmelf_nbsd.c:1128
+#: earmelf_phoenix.c:1133 earmelf_vxworks.c:1168 earmelfb.c:1128
+#: earmelfb_fbsd.c:1128 earmelfb_fuchsia.c:1133 earmelfb_linux.c:1133
+#: earmelfb_linux_eabi.c:1133 earmelfb_linux_fdpiceabi.c:1133
+#: earmelfb_nacl.c:1133 earmelfb_nbsd.c:1128 earmnto.c:1103 earmsymbian.c:1128
+#, c-format
+msgid ""
 "  --pic-veneer                Always generate PIC interworking veneers\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:822 eaarch64cloudabib.c:822 eaarch64elf.c:817
-#: eaarch64elf32.c:817 eaarch64elf32b.c:817 eaarch64elfb.c:817
-#: eaarch64fbsd.c:822 eaarch64fbsdb.c:822 eaarch64linux.c:822
-#: eaarch64linux32.c:822 eaarch64linux32b.c:822 eaarch64linuxb.c:822
-#: earmelf.c:1131 earmelf_fbsd.c:1131 earmelf_fuchsia.c:1136
-#: earmelf_linux.c:1136 earmelf_linux_eabi.c:1136
-#: earmelf_linux_fdpiceabi.c:1136 earmelf_nacl.c:1136 earmelf_nbsd.c:1131
-#: earmelf_phoenix.c:1136 earmelf_vxworks.c:1171 earmelfb.c:1131
-#: earmelfb_fbsd.c:1131 earmelfb_fuchsia.c:1136 earmelfb_linux.c:1136
-#: earmelfb_linux_eabi.c:1136 earmelfb_linux_fdpiceabi.c:1136
-#: earmelfb_nacl.c:1136 earmelfb_nbsd.c:1131 earmnto.c:1106 earmsymbian.c:1131
+#: eaarch64cloudabi.c:826 eaarch64cloudabib.c:826 eaarch64elf.c:821
+#: eaarch64elf32.c:821 eaarch64elf32b.c:821 eaarch64elfb.c:821
+#: eaarch64fbsd.c:826 eaarch64fbsdb.c:826 eaarch64linux.c:826
+#: eaarch64linux32.c:826 eaarch64linux32b.c:826 eaarch64linuxb.c:826
+#: earmelf.c:1135 earmelf_fbsd.c:1135 earmelf_fuchsia.c:1140
+#: earmelf_linux.c:1140 earmelf_linux_eabi.c:1140
+#: earmelf_linux_fdpiceabi.c:1140 earmelf_nacl.c:1140 earmelf_nbsd.c:1135
+#: earmelf_phoenix.c:1140 earmelf_vxworks.c:1175 earmelfb.c:1135
+#: earmelfb_fbsd.c:1135 earmelfb_fuchsia.c:1140 earmelfb_linux.c:1140
+#: earmelfb_linux_eabi.c:1140 earmelfb_linux_fdpiceabi.c:1140
+#: earmelfb_nacl.c:1140 earmelfb_nbsd.c:1135 earmnto.c:1110 earmsymbian.c:1135
 #, c-format
 msgid ""
 "  --stub-group-size=N         Maximum size of a group of input sections "
@@ -3442,18 +3538,18 @@ msgid ""
 "                                choose suitable defaults.\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:831 eaarch64cloudabib.c:831 eaarch64elf.c:826
-#: eaarch64elf32.c:826 eaarch64elf32b.c:826 eaarch64elfb.c:826
-#: eaarch64fbsd.c:831 eaarch64fbsdb.c:831 eaarch64linux.c:831
-#: eaarch64linux32.c:831 eaarch64linux32b.c:831 eaarch64linuxb.c:831
+#: eaarch64cloudabi.c:835 eaarch64cloudabib.c:835 eaarch64elf.c:830
+#: eaarch64elf32.c:830 eaarch64elf32b.c:830 eaarch64elfb.c:830
+#: eaarch64fbsd.c:835 eaarch64fbsdb.c:835 eaarch64linux.c:835
+#: eaarch64linux32.c:835 eaarch64linux32b.c:835 eaarch64linuxb.c:835
 #, c-format
 msgid "  --fix-cortex-a53-835769      Fix erratum 835769\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:832 eaarch64cloudabib.c:832 eaarch64elf.c:827
-#: eaarch64elf32.c:827 eaarch64elf32b.c:827 eaarch64elfb.c:827
-#: eaarch64fbsd.c:832 eaarch64fbsdb.c:832 eaarch64linux.c:832
-#: eaarch64linux32.c:832 eaarch64linux32b.c:832 eaarch64linuxb.c:832
+#: eaarch64cloudabi.c:836 eaarch64cloudabib.c:836 eaarch64elf.c:831
+#: eaarch64elf32.c:831 eaarch64elf32b.c:831 eaarch64elfb.c:831
+#: eaarch64fbsd.c:836 eaarch64fbsdb.c:836 eaarch64linux.c:836
+#: eaarch64linux32.c:836 eaarch64linux32b.c:836 eaarch64linuxb.c:836
 #, c-format
 msgid ""
 "  --fix-cortex-a53-843419[=full|adr|adrp]      Fix erratum 843419 and "
@@ -3478,20 +3574,20 @@ msgid ""
 "you both a performance and size overhead.\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:843 eaarch64cloudabib.c:843 eaarch64elf.c:838
-#: eaarch64elf32.c:838 eaarch64elf32b.c:838 eaarch64elfb.c:838
-#: eaarch64fbsd.c:843 eaarch64fbsdb.c:843 eaarch64linux.c:843
-#: eaarch64linux32.c:843 eaarch64linux32b.c:843 eaarch64linuxb.c:843
+#: eaarch64cloudabi.c:847 eaarch64cloudabib.c:847 eaarch64elf.c:842
+#: eaarch64elf32.c:842 eaarch64elf32b.c:842 eaarch64elfb.c:842
+#: eaarch64fbsd.c:847 eaarch64fbsdb.c:847 eaarch64linux.c:847
+#: eaarch64linux32.c:847 eaarch64linux32b.c:847 eaarch64linuxb.c:847
 #, c-format
 msgid ""
 "  --no-apply-dynamic-relocs    Do not apply link-time values for dynamic "
 "relocations\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:844 eaarch64cloudabib.c:844 eaarch64elf.c:839
-#: eaarch64elf32.c:839 eaarch64elf32b.c:839 eaarch64elfb.c:839
-#: eaarch64fbsd.c:844 eaarch64fbsdb.c:844 eaarch64linux.c:844
-#: eaarch64linux32.c:844 eaarch64linux32b.c:844 eaarch64linuxb.c:844
+#: eaarch64cloudabi.c:848 eaarch64cloudabib.c:848 eaarch64elf.c:843
+#: eaarch64elf32.c:843 eaarch64elf32b.c:843 eaarch64elfb.c:843
+#: eaarch64fbsd.c:848 eaarch64fbsdb.c:848 eaarch64linux.c:848
+#: eaarch64linux32.c:848 eaarch64linux32b.c:848 eaarch64linuxb.c:848
 #, c-format
 msgid ""
 "  -z force-bti                  Turn on Branch Target Identification "
@@ -3499,10 +3595,10 @@ msgid ""
 "inputs\n"
 msgstr ""
 
-#: eaarch64cloudabi.c:845 eaarch64cloudabib.c:845 eaarch64elf.c:840
-#: eaarch64elf32.c:840 eaarch64elf32b.c:840 eaarch64elfb.c:840
-#: eaarch64fbsd.c:845 eaarch64fbsdb.c:845 eaarch64linux.c:845
-#: eaarch64linux32.c:845 eaarch64linux32b.c:845 eaarch64linuxb.c:845
+#: eaarch64cloudabi.c:849 eaarch64cloudabib.c:849 eaarch64elf.c:844
+#: eaarch64elf32.c:844 eaarch64elf32b.c:844 eaarch64elfb.c:844
+#: eaarch64fbsd.c:849 eaarch64fbsdb.c:849 eaarch64linux.c:849
+#: eaarch64linux32.c:849 eaarch64linux32b.c:849 eaarch64linuxb.c:849
 #, c-format
 msgid ""
 "  -z pac-plt                    Protect PLTs with Pointer Authentication.\n"
@@ -3620,233 +3716,233 @@ msgid ""
 "  --identification <string>          Set the identification of the output\n"
 msgstr ""
 
-#: earm_wince_pe.c:378 earmpe.c:378 ei386pe.c:378 ei386pe_posix.c:378
-#: ei386pep.c:361 emcorepe.c:378 eppcpe.c:378 eshpe.c:378
+#: earm_wince_pe.c:399 earmpe.c:399 ei386pe.c:399 ei386pe_posix.c:399
+#: ei386pep.c:383 emcorepe.c:399 eshpe.c:399
 #, c-format
 msgid ""
 "  --base_file <basefile>             Generate a base file for relocatable "
 "DLLs\n"
 msgstr ""
 
-#: earm_wince_pe.c:379 earmpe.c:379 ei386pe.c:379 ei386pe_posix.c:379
-#: ei386pep.c:362 emcorepe.c:379 eppcpe.c:379 eshpe.c:379
+#: earm_wince_pe.c:400 earmpe.c:400 ei386pe.c:400 ei386pe_posix.c:400
+#: ei386pep.c:384 emcorepe.c:400 eshpe.c:400
 #, c-format
 msgid ""
 "  --dll                              Set image base to the default for DLLs\n"
 msgstr ""
 
-#: earm_wince_pe.c:380 earmpe.c:380 ei386pe.c:380 ei386pe_posix.c:380
-#: ei386pep.c:363 emcorepe.c:380 eppcpe.c:380 eshpe.c:380
+#: earm_wince_pe.c:401 earmpe.c:401 ei386pe.c:401 ei386pe_posix.c:401
+#: ei386pep.c:385 emcorepe.c:401 eshpe.c:401
 #, c-format
 msgid "  --file-alignment <size>            Set file alignment\n"
 msgstr ""
 
-#: earm_wince_pe.c:381 earmpe.c:381 ei386pe.c:381 ei386pe_posix.c:381
-#: ei386pep.c:364 emcorepe.c:381 eppcpe.c:381 eshpe.c:381
+#: earm_wince_pe.c:402 earmpe.c:402 ei386pe.c:402 ei386pe_posix.c:402
+#: ei386pep.c:386 emcorepe.c:402 eshpe.c:402
 #, c-format
 msgid "  --heap <size>                      Set initial size of the heap\n"
 msgstr ""
 
-#: earm_wince_pe.c:382 earmpe.c:382 ei386pe.c:382 ei386pe_posix.c:382
-#: ei386pep.c:365 emcorepe.c:382 eppcpe.c:382 eshpe.c:382
+#: earm_wince_pe.c:403 earmpe.c:403 ei386pe.c:403 ei386pe_posix.c:403
+#: ei386pep.c:387 emcorepe.c:403 eshpe.c:403
 #, c-format
 msgid ""
 "  --image-base <address>             Set start address of the executable\n"
 msgstr ""
 
-#: earm_wince_pe.c:383 earmpe.c:383 ei386pe.c:383 ei386pe_posix.c:383
-#: ei386pep.c:366 emcorepe.c:383 eppcpe.c:383 eshpe.c:383
+#: earm_wince_pe.c:404 earmpe.c:404 ei386pe.c:404 ei386pe_posix.c:404
+#: ei386pep.c:388 emcorepe.c:404 eshpe.c:404
 #, c-format
 msgid ""
 "  --major-image-version <number>     Set version number of the executable\n"
 msgstr ""
 
-#: earm_wince_pe.c:384 earmpe.c:384 ei386pe.c:384 ei386pe_posix.c:384
-#: ei386pep.c:367 emcorepe.c:384 eppcpe.c:384 eshpe.c:384
+#: earm_wince_pe.c:405 earmpe.c:405 ei386pe.c:405 ei386pe_posix.c:405
+#: ei386pep.c:389 emcorepe.c:405 eshpe.c:405
 #, c-format
 msgid "  --major-os-version <number>        Set minimum required OS version\n"
 msgstr ""
 
-#: earm_wince_pe.c:385 earmpe.c:385 ei386pe.c:385 ei386pe_posix.c:385
-#: ei386pep.c:368 emcorepe.c:385 eppcpe.c:385 eshpe.c:385
+#: earm_wince_pe.c:406 earmpe.c:406 ei386pe.c:406 ei386pe_posix.c:406
+#: ei386pep.c:390 emcorepe.c:406 eshpe.c:406
 #, c-format
 msgid ""
 "  --major-subsystem-version <number> Set minimum required OS subsystem "
 "version\n"
 msgstr ""
 
-#: earm_wince_pe.c:386 earmpe.c:386 ei386pe.c:386 ei386pe_posix.c:386
-#: ei386pep.c:369 emcorepe.c:386 eppcpe.c:386 eshpe.c:386
+#: earm_wince_pe.c:407 earmpe.c:407 ei386pe.c:407 ei386pe_posix.c:407
+#: ei386pep.c:391 emcorepe.c:407 eshpe.c:407
 #, c-format
 msgid ""
 "  --minor-image-version <number>     Set revision number of the executable\n"
 msgstr ""
 
-#: earm_wince_pe.c:387 earmpe.c:387 ei386pe.c:387 ei386pe_posix.c:387
-#: ei386pep.c:370 emcorepe.c:387 eppcpe.c:387 eshpe.c:387
+#: earm_wince_pe.c:408 earmpe.c:408 ei386pe.c:408 ei386pe_posix.c:408
+#: ei386pep.c:392 emcorepe.c:408 eshpe.c:408
 #, c-format
 msgid "  --minor-os-version <number>        Set minimum required OS revision\n"
 msgstr ""
 
-#: earm_wince_pe.c:388 earmpe.c:388 ei386pe.c:388 ei386pe_posix.c:388
-#: ei386pep.c:371 emcorepe.c:388 eppcpe.c:388 eshpe.c:388
+#: earm_wince_pe.c:409 earmpe.c:409 ei386pe.c:409 ei386pe_posix.c:409
+#: ei386pep.c:393 emcorepe.c:409 eshpe.c:409
 #, c-format
 msgid ""
 "  --minor-subsystem-version <number> Set minimum required OS subsystem "
 "revision\n"
 msgstr ""
 
-#: earm_wince_pe.c:389 earmpe.c:389 ei386pe.c:389 ei386pe_posix.c:389
-#: ei386pep.c:372 emcorepe.c:389 eppcpe.c:389 eshpe.c:389
+#: earm_wince_pe.c:410 earmpe.c:410 ei386pe.c:410 ei386pe_posix.c:410
+#: ei386pep.c:394 emcorepe.c:410 eshpe.c:410
 #, c-format
 msgid "  --section-alignment <size>         Set section alignment\n"
 msgstr ""
 
-#: earm_wince_pe.c:390 earmpe.c:390 ei386pe.c:390 ei386pe_posix.c:390
-#: ei386pep.c:373 emcorepe.c:390 eppcpe.c:390 eshpe.c:390
+#: earm_wince_pe.c:411 earmpe.c:411 ei386pe.c:411 ei386pe_posix.c:411
+#: ei386pep.c:395 emcorepe.c:411 eshpe.c:411
 #, c-format
 msgid "  --stack <size>                     Set size of the initial stack\n"
 msgstr ""
 
-#: earm_wince_pe.c:391 earmpe.c:391 ei386pe.c:391 ei386pe_posix.c:391
-#: ei386pep.c:374 emcorepe.c:391 eppcpe.c:391 eshpe.c:391
+#: earm_wince_pe.c:412 earmpe.c:412 ei386pe.c:412 ei386pe_posix.c:412
+#: ei386pep.c:396 emcorepe.c:412 eshpe.c:412
 #, c-format
 msgid ""
 "  --subsystem <name>[:<version>]     Set required OS subsystem [& version]\n"
 msgstr ""
 
-#: earm_wince_pe.c:392 earmpe.c:392 ei386pe.c:392 ei386pe_posix.c:392
-#: ei386pep.c:375 emcorepe.c:392 eppcpe.c:392 eshpe.c:392
+#: earm_wince_pe.c:413 earmpe.c:413 ei386pe.c:413 ei386pe_posix.c:413
+#: ei386pep.c:397 emcorepe.c:413 eshpe.c:413
 #, c-format
 msgid ""
 "  --support-old-code                 Support interworking with old code\n"
 msgstr ""
 
-#: earm_wince_pe.c:393 earmpe.c:393 ei386pe.c:393 ei386pe_posix.c:393
-#: ei386pep.c:376 emcorepe.c:393 eppcpe.c:393 eshpe.c:393
+#: earm_wince_pe.c:414 earmpe.c:414 ei386pe.c:414 ei386pe_posix.c:414
+#: ei386pep.c:398 emcorepe.c:414 eshpe.c:414
 #, c-format
 msgid ""
 "  --[no-]leading-underscore          Set explicit symbol underscore prefix "
 "mode\n"
 msgstr ""
 
-#: earm_wince_pe.c:394 earmpe.c:394 ei386pe.c:394 ei386pe_posix.c:394
-#: emcorepe.c:394 eppcpe.c:394 eshpe.c:394
+#: earm_wince_pe.c:415 earmpe.c:415 ei386pe.c:415 ei386pe_posix.c:415
+#: emcorepe.c:415 eshpe.c:415
 #, c-format
 msgid ""
 "  --thumb-entry=<symbol>             Set the entry point to be Thumb "
 "<symbol>\n"
 msgstr ""
 
-#: earm_wince_pe.c:395 earmpe.c:395 ei386pe.c:395 ei386pe_posix.c:395
-#: emcorepe.c:395 eppcpe.c:395 eshpe.c:395
+#: earm_wince_pe.c:416 earmpe.c:416 ei386pe.c:416 ei386pe_posix.c:416
+#: emcorepe.c:416 eshpe.c:416
 #, c-format
 msgid ""
 "  --[no-]insert-timestamp            Use a real timestamp rather than zero "
 "(default).\n"
 msgstr ""
 
-#: earm_wince_pe.c:396 earmpe.c:396 ei386pe.c:396 ei386pe_posix.c:396
-#: ei386pep.c:378 emcorepe.c:396 eppcpe.c:396 eshpe.c:396
+#: earm_wince_pe.c:417 earmpe.c:417 ei386pe.c:417 ei386pe_posix.c:417
+#: ei386pep.c:400 emcorepe.c:417 eshpe.c:417
 #, c-format
 msgid ""
 "                                     This makes binaries non-deterministic\n"
 msgstr ""
 
-#: earm_wince_pe.c:398 earmpe.c:398 ei386pe.c:398 ei386pe_posix.c:398
-#: ei386pep.c:380 emcorepe.c:398 eppcpe.c:398 eshpe.c:398
+#: earm_wince_pe.c:419 earmpe.c:419 ei386pe.c:419 ei386pe_posix.c:419
+#: ei386pep.c:402 emcorepe.c:419 eshpe.c:419
 #, c-format
 msgid ""
 "  --add-stdcall-alias                Export symbols with and without @nn\n"
 msgstr ""
 
-#: earm_wince_pe.c:399 earmpe.c:399 ei386pe.c:399 ei386pe_posix.c:399
-#: ei386pep.c:381 emcorepe.c:399 eppcpe.c:399 eshpe.c:399
+#: earm_wince_pe.c:420 earmpe.c:420 ei386pe.c:420 ei386pe_posix.c:420
+#: ei386pep.c:403 emcorepe.c:420 eshpe.c:420
 #, c-format
 msgid "  --disable-stdcall-fixup            Don't link _sym to _sym@nn\n"
 msgstr ""
 
-#: earm_wince_pe.c:400 earmpe.c:400 ei386pe.c:400 ei386pe_posix.c:400
-#: ei386pep.c:382 emcorepe.c:400 eppcpe.c:400 eshpe.c:400
+#: earm_wince_pe.c:421 earmpe.c:421 ei386pe.c:421 ei386pe_posix.c:421
+#: ei386pep.c:404 emcorepe.c:421 eshpe.c:421
 #, c-format
 msgid ""
 "  --enable-stdcall-fixup             Link _sym to _sym@nn without warnings\n"
 msgstr ""
 
-#: earm_wince_pe.c:401 earmpe.c:401 ei386pe.c:401 ei386pe_posix.c:401
-#: ei386pep.c:383 emcorepe.c:401 eppcpe.c:401 eshpe.c:401
+#: earm_wince_pe.c:422 earmpe.c:422 ei386pe.c:422 ei386pe_posix.c:422
+#: ei386pep.c:405 emcorepe.c:422 eshpe.c:422
 #, c-format
 msgid ""
 "  --exclude-symbols sym,sym,...      Exclude symbols from automatic export\n"
 msgstr ""
 
-#: earm_wince_pe.c:402 earmpe.c:402 ei386pe.c:402 ei386pe_posix.c:402
-#: ei386pep.c:384 emcorepe.c:402 eppcpe.c:402 eshpe.c:402
+#: earm_wince_pe.c:423 earmpe.c:423 ei386pe.c:423 ei386pe_posix.c:423
+#: ei386pep.c:406 emcorepe.c:423 eshpe.c:423
 #, c-format
 msgid ""
 "  --exclude-all-symbols              Exclude all symbols from automatic "
 "export\n"
 msgstr ""
 
-#: earm_wince_pe.c:403 earmpe.c:403 ei386pe.c:403 ei386pe_posix.c:403
-#: ei386pep.c:385 emcorepe.c:403 eppcpe.c:403 eshpe.c:403
+#: earm_wince_pe.c:424 earmpe.c:424 ei386pe.c:424 ei386pe_posix.c:424
+#: ei386pep.c:407 emcorepe.c:424 eshpe.c:424
 #, c-format
 msgid ""
 "  --exclude-libs lib,lib,...         Exclude libraries from automatic "
 "export\n"
 msgstr ""
 
-#: earm_wince_pe.c:404 earmpe.c:404 ei386pe.c:404 ei386pe_posix.c:404
-#: ei386pep.c:386 emcorepe.c:404 eppcpe.c:404 eshpe.c:404
+#: earm_wince_pe.c:425 earmpe.c:425 ei386pe.c:425 ei386pe_posix.c:425
+#: ei386pep.c:408 emcorepe.c:425 eshpe.c:425
 #, c-format
 msgid "  --exclude-modules-for-implib mod,mod,...\n"
 msgstr ""
 
-#: earm_wince_pe.c:405 earmpe.c:405 ei386pe.c:405 ei386pe_posix.c:405
-#: ei386pep.c:387 emcorepe.c:405 eppcpe.c:405 eshpe.c:405
+#: earm_wince_pe.c:426 earmpe.c:426 ei386pe.c:426 ei386pe_posix.c:426
+#: ei386pep.c:409 emcorepe.c:426 eshpe.c:426
 #, c-format
 msgid ""
 "                                     Exclude objects, archive members from "
 "auto\n"
 msgstr ""
 
-#: earm_wince_pe.c:406 earmpe.c:406 ei386pe.c:406 ei386pe_posix.c:406
-#: emcorepe.c:406 eppcpe.c:406 eshpe.c:406
+#: earm_wince_pe.c:427 earmpe.c:427 ei386pe.c:427 ei386pe_posix.c:427
+#: emcorepe.c:427 eshpe.c:427
 #, c-format
 msgid ""
 "                                     export, place into import library "
 "instead.\n"
 msgstr ""
 
-#: earm_wince_pe.c:407 earmpe.c:407 ei386pe.c:407 ei386pe_posix.c:407
-#: ei386pep.c:389 emcorepe.c:407 eppcpe.c:407 eshpe.c:407
+#: earm_wince_pe.c:428 earmpe.c:428 ei386pe.c:428 ei386pe_posix.c:428
+#: ei386pep.c:411 emcorepe.c:428 eshpe.c:428
 #, c-format
 msgid ""
 "  --export-all-symbols               Automatically export all globals to "
 "DLL\n"
 msgstr ""
 
-#: earm_wince_pe.c:408 earmpe.c:408 ei386pe.c:408 ei386pe_posix.c:408
-#: ei386pep.c:390 emcorepe.c:408 eppcpe.c:408 eshpe.c:408
+#: earm_wince_pe.c:429 earmpe.c:429 ei386pe.c:429 ei386pe_posix.c:429
+#: ei386pep.c:412 emcorepe.c:429 eshpe.c:429
 #, c-format
 msgid "  --kill-at                          Remove @nn from exported symbols\n"
 msgstr ""
 
-#: earm_wince_pe.c:409 earmpe.c:409 ei386pe.c:409 ei386pe_posix.c:409
-#: ei386pep.c:391 emcorepe.c:409 eppcpe.c:409 eshpe.c:409
+#: earm_wince_pe.c:430 earmpe.c:430 ei386pe.c:430 ei386pe_posix.c:430
+#: ei386pep.c:413 emcorepe.c:430 eshpe.c:430
 #, c-format
 msgid ""
 "  --output-def <file>                Generate a .DEF file for the built DLL\n"
 msgstr ""
 
-#: earm_wince_pe.c:410 earmpe.c:410 ei386pe.c:410 ei386pe_posix.c:410
-#: ei386pep.c:392 emcorepe.c:410 eppcpe.c:410 eshpe.c:410
+#: earm_wince_pe.c:431 earmpe.c:431 ei386pe.c:431 ei386pe_posix.c:431
+#: ei386pep.c:414 emcorepe.c:431 eshpe.c:431
 #, c-format
 msgid "  --warn-duplicate-exports           Warn about duplicate exports\n"
 msgstr ""
 
-#: earm_wince_pe.c:411 earmpe.c:411 ei386pe.c:411 ei386pe_posix.c:411
-#: emcorepe.c:411 eppcpe.c:411 eshpe.c:411
+#: earm_wince_pe.c:432 earmpe.c:432 ei386pe.c:432 ei386pe_posix.c:432
+#: emcorepe.c:432 eshpe.c:432
 #, c-format
 msgid ""
 "  --compat-implib                    Create backward compatible import "
@@ -3854,8 +3950,8 @@ msgid ""
 "                                       create __imp_<SYMBOL> as well.\n"
 msgstr ""
 
-#: earm_wince_pe.c:412 earmpe.c:412 ei386pe.c:412 ei386pe_posix.c:412
-#: emcorepe.c:412 eppcpe.c:412 eshpe.c:412
+#: earm_wince_pe.c:433 earmpe.c:433 ei386pe.c:433 ei386pe_posix.c:433
+#: emcorepe.c:433 eshpe.c:433
 #, c-format
 msgid ""
 "  --enable-auto-image-base[=<address>] Automatically choose image base for "
@@ -3865,16 +3961,16 @@ msgid ""
 "                                       specifically set with --image-base\n"
 msgstr ""
 
-#: earm_wince_pe.c:413 earmpe.c:413 ei386pe.c:413 ei386pe_posix.c:413
-#: emcorepe.c:413 eppcpe.c:413 eshpe.c:413
+#: earm_wince_pe.c:434 earmpe.c:434 ei386pe.c:434 ei386pe_posix.c:434
+#: emcorepe.c:434 eshpe.c:434
 #, c-format
 msgid ""
 "  --disable-auto-image-base          Do not auto-choose image base. "
 "(default)\n"
 msgstr ""
 
-#: earm_wince_pe.c:414 earmpe.c:414 ei386pe.c:414 ei386pe_posix.c:414
-#: ei386pep.c:396 emcorepe.c:414 eppcpe.c:414 eshpe.c:414
+#: earm_wince_pe.c:435 earmpe.c:435 ei386pe.c:435 ei386pe_posix.c:435
+#: ei386pep.c:418 emcorepe.c:435 eshpe.c:435
 #, c-format
 msgid ""
 "  --dll-search-prefix=<string>       When linking dynamically to a dll "
@@ -3884,24 +3980,24 @@ msgid ""
 "                                       in preference to lib<basename>.dll \n"
 msgstr ""
 
-#: earm_wince_pe.c:415 earmpe.c:415 ei386pe.c:415 ei386pe_posix.c:415
-#: ei386pep.c:397 emcorepe.c:415 eppcpe.c:415 eshpe.c:415
+#: earm_wince_pe.c:436 earmpe.c:436 ei386pe.c:436 ei386pe_posix.c:436
+#: ei386pep.c:419 emcorepe.c:436 eshpe.c:436
 #, c-format
 msgid ""
 "  --enable-auto-import               Do sophisticated linking of _sym to\n"
 "                                       __imp_sym for DATA references\n"
 msgstr ""
 
-#: earm_wince_pe.c:416 earmpe.c:416 ei386pe.c:416 ei386pe_posix.c:416
-#: ei386pep.c:398 emcorepe.c:416 eppcpe.c:416 eshpe.c:416
+#: earm_wince_pe.c:437 earmpe.c:437 ei386pe.c:437 ei386pe_posix.c:437
+#: ei386pep.c:420 emcorepe.c:437 eshpe.c:437
 #, c-format
 msgid ""
 "  --disable-auto-import              Do not auto-import DATA items from "
 "DLLs\n"
 msgstr ""
 
-#: earm_wince_pe.c:417 earmpe.c:417 ei386pe.c:417 ei386pe_posix.c:417
-#: emcorepe.c:417 eppcpe.c:417 eshpe.c:417
+#: earm_wince_pe.c:438 earmpe.c:438 ei386pe.c:438 ei386pe_posix.c:438
+#: emcorepe.c:438 eshpe.c:438
 #, c-format
 msgid ""
 "  --enable-runtime-pseudo-reloc      Work around auto-import limitations by\n"
@@ -3910,8 +4006,8 @@ msgid ""
 "                                       runtime.\n"
 msgstr ""
 
-#: earm_wince_pe.c:418 earmpe.c:418 ei386pe.c:418 ei386pe_posix.c:418
-#: emcorepe.c:418 eppcpe.c:418 eshpe.c:418
+#: earm_wince_pe.c:439 earmpe.c:439 ei386pe.c:439 ei386pe_posix.c:439
+#: emcorepe.c:439 eshpe.c:439
 #, c-format
 msgid ""
 "  --disable-runtime-pseudo-reloc     Do not add runtime pseudo-relocations "
@@ -3919,8 +4015,8 @@ msgid ""
 "                                       auto-imported DATA.\n"
 msgstr ""
 
-#: earm_wince_pe.c:419 earmpe.c:419 ei386pe.c:419 ei386pe_posix.c:419
-#: emcorepe.c:419 eppcpe.c:419 eshpe.c:419
+#: earm_wince_pe.c:440 earmpe.c:440 ei386pe.c:440 ei386pe_posix.c:440
+#: emcorepe.c:440 eshpe.c:440
 #, c-format
 msgid ""
 "  --enable-extra-pe-debug            Enable verbose debug output when "
@@ -3929,32 +4025,32 @@ msgid ""
 "import)\n"
 msgstr ""
 
-#: earm_wince_pe.c:421 earmpe.c:421 ei386pe.c:421 ei386pe_posix.c:421
-#: emcorepe.c:421 eppcpe.c:421 eshpe.c:421
+#: earm_wince_pe.c:442 earmpe.c:442 ei386pe.c:442 ei386pe_posix.c:442
+#: emcorepe.c:442 eshpe.c:442
 #, c-format
 msgid ""
 "  --large-address-aware              Executable supports virtual addresses\n"
 "                                       greater than 2 gigabytes\n"
 msgstr ""
 
-#: earm_wince_pe.c:422 earmpe.c:422 ei386pe.c:422 ei386pe_posix.c:422
-#: emcorepe.c:422 eppcpe.c:422 eshpe.c:422
+#: earm_wince_pe.c:443 earmpe.c:443 ei386pe.c:443 ei386pe_posix.c:443
+#: emcorepe.c:443 eshpe.c:443
 #, c-format
 msgid ""
 "  --disable-large-address-aware      Executable does not support virtual\n"
 "                                       addresses greater than 2 gigabytes\n"
 msgstr ""
 
-#: earm_wince_pe.c:423 earmpe.c:423 ei386pe.c:423 ei386pe_posix.c:423
-#: ei386pep.c:402 emcorepe.c:423 eppcpe.c:423 eshpe.c:423
+#: earm_wince_pe.c:444 earmpe.c:444 ei386pe.c:444 ei386pe_posix.c:444
+#: ei386pep.c:424 emcorepe.c:444 eshpe.c:444
 #, c-format
 msgid ""
 "  --enable-long-section-names        Use long COFF section names even in\n"
 "                                       executable image files\n"
 msgstr ""
 
-#: earm_wince_pe.c:424 earmpe.c:424 ei386pe.c:424 ei386pe_posix.c:424
-#: ei386pep.c:403 emcorepe.c:424 eppcpe.c:424 eshpe.c:424
+#: earm_wince_pe.c:445 earmpe.c:445 ei386pe.c:445 ei386pe_posix.c:445
+#: ei386pep.c:425 emcorepe.c:445 eshpe.c:445
 #, c-format
 msgid ""
 "  --disable-long-section-names       Never use long COFF section names, "
@@ -3962,195 +4058,203 @@ msgid ""
 "                                       in object files\n"
 msgstr ""
 
-#: earm_wince_pe.c:425 earmpe.c:425 ei386pe.c:425 ei386pe_posix.c:425
-#: ei386pep.c:405 emcorepe.c:425 eppcpe.c:425 eshpe.c:425
+#: earm_wince_pe.c:446 earmpe.c:446 ei386pe.c:446 ei386pe_posix.c:446
+#: ei386pep.c:427 emcorepe.c:446 eshpe.c:446
 #, c-format
 msgid ""
-"  --dynamicbase                      Image base address may be relocated "
+"  --[disable-]dynamicbase            Image base address may be relocated "
 "using\n"
 "                                       address space layout randomization "
 "(ASLR)\n"
 msgstr ""
 
-#: earm_wince_pe.c:426 earmpe.c:426 ei386pe.c:426 ei386pe_posix.c:426
-#: ei386pep.c:406 emcorepe.c:426 eppcpe.c:426 eshpe.c:426
+#: earm_wince_pe.c:447 earmpe.c:447 ei386pe.c:447 ei386pe_posix.c:447
+#: ei386pep.c:428 emcorepe.c:447 eshpe.c:447
 #, c-format
 msgid "  --enable-reloc-section             Create the base relocation table\n"
 msgstr ""
 
-#: earm_wince_pe.c:427 earmpe.c:427 ei386pe.c:427 ei386pe_posix.c:427
-#: ei386pep.c:407 emcorepe.c:427 eppcpe.c:427 eshpe.c:427
+#: earm_wince_pe.c:448 earmpe.c:448 ei386pe.c:448 ei386pe_posix.c:448
+#: ei386pep.c:429 emcorepe.c:448 eshpe.c:448
 #, c-format
-msgid "  --forceinteg               Code integrity checks are enforced\n"
+msgid ""
+"  --disable-reloc-section            Do not create the base relocation "
+"table\n"
 msgstr ""
 
-#: earm_wince_pe.c:428 earmpe.c:428 ei386pe.c:428 ei386pe_posix.c:428
-#: ei386pep.c:408 emcorepe.c:428 eppcpe.c:428 eshpe.c:428
+#: earm_wince_pe.c:449 earmpe.c:449 ei386pe.c:449 ei386pe_posix.c:449
+#: ei386pep.c:430 emcorepe.c:449 eshpe.c:449
 #, c-format
 msgid ""
-"  --nxcompat                 Image is compatible with data execution "
-"prevention\n"
+"  --[disable-]forceinteg             Code integrity checks are enforced\n"
 msgstr ""
 
-#: earm_wince_pe.c:429 earmpe.c:429 ei386pe.c:429 ei386pe_posix.c:429
-#: ei386pep.c:409 emcorepe.c:429 eppcpe.c:429 eshpe.c:429
+#: earm_wince_pe.c:450 earmpe.c:450 ei386pe.c:450 ei386pe_posix.c:450
+#: ei386pep.c:431 emcorepe.c:450 eshpe.c:450
 #, c-format
 msgid ""
-"  --no-isolation             Image understands isolation but do not isolate "
-"the image\n"
+"  --[disable-]nxcompat               Image is compatible with data "
+"execution\n"
+"                                       prevention\n"
 msgstr ""
 
-#: earm_wince_pe.c:430 earmpe.c:430 ei386pe.c:430 ei386pe_posix.c:430
-#: emcorepe.c:430 eppcpe.c:430 eshpe.c:430
+#: earm_wince_pe.c:451 earmpe.c:451 ei386pe.c:451 ei386pe_posix.c:451
+#: ei386pep.c:432 emcorepe.c:451 eshpe.c:451
+#, c-format
+msgid ""
+"  --[disable-]no-isolation           Image understands isolation but do not\n"
+"                                       isolate the image\n"
+msgstr ""
+
+#: earm_wince_pe.c:452 earmpe.c:452 ei386pe.c:452 ei386pe_posix.c:452
+#: emcorepe.c:452 eshpe.c:452
 #, c-format
 msgid ""
-"  --no-seh                   Image does not use SEH. No SE handler may\n"
+"  --[disable-]no-seh                 Image does not use SEH. No SE handler "
+"may\n"
 "                                       be called in this image\n"
 msgstr ""
 
-#: earm_wince_pe.c:431 earmpe.c:431 ei386pe.c:431 ei386pe_posix.c:431
-#: ei386pep.c:411 emcorepe.c:431 eppcpe.c:431 eshpe.c:431
+#: earm_wince_pe.c:453 earmpe.c:453 ei386pe.c:453 ei386pe_posix.c:453
+#: ei386pep.c:434 emcorepe.c:453 eshpe.c:453
 #, c-format
-msgid "  --no-bind                  Do not bind this image\n"
+msgid "  --[disable-]no-bind                Do not bind this image\n"
 msgstr ""
 
-#: earm_wince_pe.c:432 earmpe.c:432 ei386pe.c:432 ei386pe_posix.c:432
-#: ei386pep.c:412 emcorepe.c:432 eppcpe.c:432 eshpe.c:432
+#: earm_wince_pe.c:454 earmpe.c:454 ei386pe.c:454 ei386pe_posix.c:454
+#: ei386pep.c:435 emcorepe.c:454 eshpe.c:454
 #, c-format
-msgid "  --wdmdriver                Driver uses the WDM model\n"
+msgid "  --[disable-]wdmdriver              Driver uses the WDM model\n"
 msgstr ""
 
-#: earm_wince_pe.c:433 earmpe.c:433 ei386pe.c:433 ei386pe_posix.c:433
-#: ei386pep.c:413 emcorepe.c:433 eppcpe.c:433 eshpe.c:433
+#: earm_wince_pe.c:455 earmpe.c:455 ei386pe.c:455 ei386pe_posix.c:455
+#: ei386pep.c:436 emcorepe.c:455 eshpe.c:455
 #, c-format
-msgid "  --tsaware                  Image is Terminal Server aware\n"
+msgid "  --[disable-]tsaware                Image is Terminal Server aware\n"
 msgstr ""
 
-#: earm_wince_pe.c:434 earmpe.c:434 ei386pe.c:434 ei386pe_posix.c:434
-#: ei386pep.c:414 emcorepe.c:434 eppcpe.c:434 eshpe.c:434
+#: earm_wince_pe.c:456 earmpe.c:456 ei386pe.c:456 ei386pe_posix.c:456
+#: ei386pep.c:437 emcorepe.c:456 eshpe.c:456
 #, c-format
-msgid "  --build-id[=STYLE]         Generate build ID\n"
+msgid "  --build-id[=STYLE]                 Generate build ID\n"
 msgstr ""
 
-#: earm_wince_pe.c:562 earmpe.c:562 ei386beos.c:205 ei386pe.c:562
-#: ei386pe_posix.c:562 ei386pep.c:539 emcorepe.c:562 eppcpe.c:562 eshpe.c:562
+#: earm_wince_pe.c:584 earmpe.c:584 ei386beos.c:205 ei386pe.c:584
+#: ei386pe_posix.c:584 ei386pep.c:562 emcorepe.c:584 eshpe.c:584
 msgid "%P: warning: bad version number in -subsystem option\n"
 msgstr ""
 
-#: earm_wince_pe.c:587 earmpe.c:587 ei386beos.c:222 ei386pe.c:587
-#: ei386pe_posix.c:587 ei386pep.c:564 emcorepe.c:587 eppcpe.c:587 eshpe.c:587
+#: earm_wince_pe.c:609 earmpe.c:609 ei386beos.c:222 ei386pe.c:609
+#: ei386pe_posix.c:609 ei386pep.c:587 emcorepe.c:609 eshpe.c:609
 msgid "%F%P: invalid subsystem type %s\n"
 msgstr ""
 
-#: earm_wince_pe.c:608 earmpe.c:608 ei386beos.c:233 ei386pe.c:608
-#: ei386pe_posix.c:608 ei386pep.c:585 emcorepe.c:608 eppcpe.c:608 eshpe.c:608
+#: earm_wince_pe.c:630 earmpe.c:630 ei386beos.c:233 ei386pe.c:630
+#: ei386pe_posix.c:630 ei386pep.c:608 emcorepe.c:630 eshpe.c:630
 msgid "%F%P: invalid hex number for PE parameter '%s'\n"
 msgstr ""
 
-#: earm_wince_pe.c:625 earmpe.c:625 ei386beos.c:250 ei386pe.c:625
-#: ei386pe_posix.c:625 ei386pep.c:602 emcorepe.c:625 eppcpe.c:625 eshpe.c:625
+#: earm_wince_pe.c:647 earmpe.c:647 ei386beos.c:250 ei386pe.c:647
+#: ei386pe_posix.c:647 ei386pep.c:625 emcorepe.c:647 eshpe.c:647
 msgid "%F%P: strange hex info for PE parameter '%s'\n"
 msgstr ""
 
-#: earm_wince_pe.c:641 earmpe.c:641 eelf32mcore.c:282 ei386beos.c:266
-#: ei386pe.c:641 ei386pe_posix.c:641 ei386pep.c:619 emcorepe.c:641 eppcpe.c:641
-#: eshpe.c:641
+#: earm_wince_pe.c:663 earmpe.c:663 eelf32mcore.c:286 ei386beos.c:266
+#: ei386pe.c:663 ei386pe_posix.c:663 ei386pep.c:642 emcorepe.c:663 eshpe.c:663
 msgid "%F%P: cannot open base file %s\n"
 msgstr ""
 
-#: earm_wince_pe.c:937 earmpe.c:937 ei386beos.c:362 ei386pe.c:937
-#: ei386pe_posix.c:937 ei386pep.c:899 emcorepe.c:937 eppcpe.c:937 eshpe.c:937
+#: earm_wince_pe.c:986 earmpe.c:986 ei386beos.c:362 ei386pe.c:986
+#: ei386pe_posix.c:986 ei386pep.c:952 emcorepe.c:986 eshpe.c:986
 msgid "%P: warning, file alignment > section alignment\n"
 msgstr ""
 
-#: earm_wince_pe.c:950 earmpe.c:950 ei386pe.c:950 ei386pe_posix.c:950
-#: emcorepe.c:950 eppcpe.c:950 eshpe.c:950
+#: earm_wince_pe.c:999 earmpe.c:999 ei386pe.c:999 ei386pe_posix.c:999
+#: emcorepe.c:999 eshpe.c:999
 msgid ""
 "%P: warning: --export-dynamic is not supported for PE targets, did you mean "
 "--export-all-symbols?\n"
 msgstr ""
 
-#: earm_wince_pe.c:995 earmpe.c:995 ei386pe.c:995 ei386pe_posix.c:995
-#: emcorepe.c:995 eppcpe.c:995 eshpe.c:995
+#: earm_wince_pe.c:1044 earmpe.c:1044 ei386pe.c:1044 ei386pe_posix.c:1044
+#: emcorepe.c:1044 eshpe.c:1044
 msgid "%P: warning: resolving %s by linking to %s\n"
 msgstr ""
 
-#: earm_wince_pe.c:1000 earmpe.c:1000 ei386pe.c:1000 ei386pe_posix.c:1000
-#: ei386pep.c:985 ei386pep.c:1012 emcorepe.c:1000 eppcpe.c:1000 eshpe.c:1000
+#: earm_wince_pe.c:1049 earmpe.c:1049 ei386pe.c:1049 ei386pe_posix.c:1049
+#: ei386pep.c:1038 ei386pep.c:1065 emcorepe.c:1049 eshpe.c:1049
 msgid "Use --enable-stdcall-fixup to disable these warnings\n"
 msgstr ""
 
-#: earm_wince_pe.c:1001 earmpe.c:1001 ei386pe.c:1001 ei386pe_posix.c:1001
-#: ei386pep.c:986 ei386pep.c:1013 emcorepe.c:1001 eppcpe.c:1001 eshpe.c:1001
+#: earm_wince_pe.c:1050 earmpe.c:1050 ei386pe.c:1050 ei386pe_posix.c:1050
+#: ei386pep.c:1039 ei386pep.c:1066 emcorepe.c:1050 eshpe.c:1050
 msgid "Use --disable-stdcall-fixup to disable these fixups\n"
 msgstr ""
 
-#: earm_wince_pe.c:1070 earmpe.c:1070 ei386pe.c:1070 ei386pe_posix.c:1070
-#: ei386pep.c:1064 emcorepe.c:1070 eppcpe.c:1070 eshpe.c:1070
+#: earm_wince_pe.c:1119 earmpe.c:1119 ei386pe.c:1119 ei386pe_posix.c:1119
+#: ei386pep.c:1117 emcorepe.c:1119 eshpe.c:1119
 msgid "%P: %C: cannot get section contents - auto-import exception\n"
 msgstr ""
 
-#: earm_wince_pe.c:1155 earmpe.c:1155 ei386pe.c:1155 ei386pe_posix.c:1155
-#: ei386pep.c:1158 emcorepe.c:1155 eppcpe.c:1155 eshpe.c:1155
+#: earm_wince_pe.c:1204 earmpe.c:1204 ei386pe.c:1204 ei386pe_posix.c:1204
+#: ei386pep.c:1211 emcorepe.c:1204 eshpe.c:1204
 msgid "%P: warning: .buildid section discarded, --build-id ignored\n"
 msgstr ""
 
-#: earm_wince_pe.c:1252 earmpe.c:1252 ei386pe.c:1252 ei386pe_posix.c:1252
-#: ei386pep.c:1255 emcorepe.c:1252 eppcpe.c:1252 eshpe.c:1252
+#: earm_wince_pe.c:1301 earmpe.c:1301 ei386pe.c:1301 ei386pe_posix.c:1301
+#: ei386pep.c:1308 emcorepe.c:1301 eshpe.c:1301
 msgid "%P: warning: cannot create .buildid section, --build-id ignored\n"
 msgstr ""
 
-#: earm_wince_pe.c:1306 earmpe.c:1306 ei386pe.c:1306 ei386pe_posix.c:1306
-#: ei386pep.c:1310 emcorepe.c:1306 eppcpe.c:1306 eshpe.c:1306
+#: earm_wince_pe.c:1355 earmpe.c:1355 ei386pe.c:1355 ei386pe_posix.c:1355
+#: ei386pep.c:1363 emcorepe.c:1355 eshpe.c:1355
 msgid "%F%P: cannot perform PE operations on non PE output file '%pB'\n"
 msgstr ""
 
-#: earm_wince_pe.c:1449 earmpe.c:1449 ei386pe.c:1449 ei386pe_posix.c:1449
-#: ei386pep.c:1434 emcorepe.c:1449 eppcpe.c:1449 eshpe.c:1449
+#: earm_wince_pe.c:1498 earmpe.c:1498 ei386pe.c:1498 ei386pe_posix.c:1498
+#: ei386pep.c:1487 emcorepe.c:1498 eshpe.c:1498
 msgid "%X%P: unable to process relocs: %E\n"
 msgstr ""
 
-#: earm_wince_pe.c:1687 earmelf.c:138 earmelf_fbsd.c:138 earmelf_fuchsia.c:139
-#: earmelf_linux.c:139 earmelf_linux_eabi.c:139 earmelf_linux_fdpiceabi.c:139
-#: earmelf_nacl.c:139 earmelf_nbsd.c:138 earmelf_phoenix.c:139
-#: earmelf_vxworks.c:138 earmelfb.c:138 earmelfb_fbsd.c:138
-#: earmelfb_fuchsia.c:139 earmelfb_linux.c:139 earmelfb_linux_eabi.c:139
-#: earmelfb_linux_fdpiceabi.c:139 earmelfb_nacl.c:139 earmelfb_nbsd.c:138
-#: earmnto.c:138 earmpe.c:1687 earmsymbian.c:138 ei386beos.c:610
-#: ei386beos.c:631 ei386pe.c:1687 ei386pe_posix.c:1687 emcorepe.c:1687
-#: eppcpe.c:1687 eshpe.c:1687
-#, c-format
-msgid "%P: errors encountered processing file %s\n"
-msgstr ""
-
-#: earm_wince_pe.c:1710 earmpe.c:1710 ei386pe.c:1710 ei386pe_posix.c:1710
-#: emcorepe.c:1710 eppcpe.c:1710 eshpe.c:1710
+#: earm_wince_pe.c:1742 earmpe.c:1742 ei386pe.c:1742 ei386pe_posix.c:1742
+#: emcorepe.c:1742 eshpe.c:1742
 #, c-format
 msgid "%P: errors encountered processing file %s for interworking\n"
 msgstr ""
 
-#: earm_wince_pe.c:1877 earmelf.c:520 earmelf_fbsd.c:520 earmelf_fuchsia.c:521
+#: earm_wince_pe.c:1909 earmelf.c:520 earmelf_fbsd.c:520 earmelf_fuchsia.c:521
 #: earmelf_linux.c:521 earmelf_linux_eabi.c:521 earmelf_linux_fdpiceabi.c:521
 #: earmelf_nacl.c:521 earmelf_nbsd.c:520 earmelf_phoenix.c:521
 #: earmelf_vxworks.c:520 earmelfb.c:520 earmelfb_fbsd.c:520
 #: earmelfb_fuchsia.c:521 earmelfb_linux.c:521 earmelfb_linux_eabi.c:521
 #: earmelfb_linux_fdpiceabi.c:521 earmelfb_nacl.c:521 earmelfb_nbsd.c:520
-#: earmnto.c:520 earmpe.c:1877 earmsymbian.c:520 ei386pe.c:1877
-#: ei386pe_posix.c:1877 emcorepe.c:1877 eppcpe.c:1877 eshpe.c:1877
+#: earmnto.c:520 earmpe.c:1909 earmsymbian.c:520 ei386pe.c:1909
+#: ei386pe_posix.c:1909 emcorepe.c:1909 eshpe.c:1909
 msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
 msgstr ""
 
-#: earm_wince_pe.c:1882 earmelf.c:525 earmelf_fbsd.c:525 earmelf_fuchsia.c:526
+#: earm_wince_pe.c:1914 earmelf.c:525 earmelf_fbsd.c:525 earmelf_fuchsia.c:526
 #: earmelf_linux.c:526 earmelf_linux_eabi.c:526 earmelf_linux_fdpiceabi.c:526
 #: earmelf_nacl.c:526 earmelf_nbsd.c:525 earmelf_phoenix.c:526
 #: earmelf_vxworks.c:525 earmelfb.c:525 earmelfb_fbsd.c:525
 #: earmelfb_fuchsia.c:526 earmelfb_linux.c:526 earmelfb_linux_eabi.c:526
 #: earmelfb_linux_fdpiceabi.c:526 earmelfb_nacl.c:526 earmelfb_nbsd.c:525
-#: earmnto.c:525 earmpe.c:1882 earmsymbian.c:525 ei386pe.c:1882
-#: ei386pe_posix.c:1882 emcorepe.c:1882 eppcpe.c:1882 eshpe.c:1882
+#: earmnto.c:525 earmpe.c:1914 earmsymbian.c:525 ei386pe.c:1914
+#: ei386pe_posix.c:1914 emcorepe.c:1914 eshpe.c:1914
 msgid "%P: warning: cannot find thumb start symbol %s\n"
 msgstr ""
 
+#: earmelf.c:138 earmelf_fbsd.c:138 earmelf_fuchsia.c:139 earmelf_linux.c:139
+#: earmelf_linux_eabi.c:139 earmelf_linux_fdpiceabi.c:139 earmelf_nacl.c:139
+#: earmelf_nbsd.c:138 earmelf_phoenix.c:139 earmelf_vxworks.c:138
+#: earmelfb.c:138 earmelfb_fbsd.c:138 earmelfb_fuchsia.c:139
+#: earmelfb_linux.c:139 earmelfb_linux_eabi.c:139
+#: earmelfb_linux_fdpiceabi.c:139 earmelfb_nacl.c:139 earmelfb_nbsd.c:138
+#: earmnto.c:138 earmsymbian.c:138 ei386beos.c:615
+#, c-format
+msgid "%P: errors encountered processing file %s\n"
+msgstr ""
+
 #: earmelf.c:551 earmelf_fbsd.c:551 earmelf_fuchsia.c:552 earmelf_linux.c:552
 #: earmelf_linux_eabi.c:552 earmelf_linux_fdpiceabi.c:552 earmelf_nacl.c:552
 #: earmelf_nbsd.c:551 earmelf_phoenix.c:552 earmelf_vxworks.c:551
@@ -4171,71 +4275,26 @@ msgstr ""
 msgid "%F%P: %s: not a relocatable file: %E\n"
 msgstr ""
 
-#: earmelf.c:1030 earmelf_fbsd.c:1030 earmelf_fuchsia.c:1035
-#: earmelf_linux.c:1035 earmelf_linux_eabi.c:1035
-#: earmelf_linux_fdpiceabi.c:1035 earmelf_nacl.c:1035 earmelf_nbsd.c:1030
-#: earmelf_phoenix.c:1035 earmelf_vxworks.c:1066 earmelfb.c:1030
-#: earmelfb_fbsd.c:1030 earmelfb_fuchsia.c:1035 earmelfb_linux.c:1035
-#: earmelfb_linux_eabi.c:1035 earmelfb_linux_fdpiceabi.c:1035
-#: earmelfb_nacl.c:1035 earmelfb_nbsd.c:1030 earmnto.c:1005 earmsymbian.c:1030
+#: earmelf.c:1034 earmelf_fbsd.c:1034 earmelf_fuchsia.c:1039
+#: earmelf_linux.c:1039 earmelf_linux_eabi.c:1039
+#: earmelf_linux_fdpiceabi.c:1039 earmelf_nacl.c:1039 earmelf_nbsd.c:1034
+#: earmelf_phoenix.c:1039 earmelf_vxworks.c:1070 earmelfb.c:1034
+#: earmelfb_fbsd.c:1034 earmelfb_fuchsia.c:1039 earmelfb_linux.c:1039
+#: earmelfb_linux_eabi.c:1039 earmelfb_linux_fdpiceabi.c:1039
+#: earmelfb_nacl.c:1039 earmelfb_nbsd.c:1034 earmnto.c:1009 earmsymbian.c:1034
 msgid "%P: unrecognized VFP11 fix type '%s'\n"
 msgstr ""
 
-#: earmelf.c:1043 earmelf_fbsd.c:1043 earmelf_fuchsia.c:1048
-#: earmelf_linux.c:1048 earmelf_linux_eabi.c:1048
-#: earmelf_linux_fdpiceabi.c:1048 earmelf_nacl.c:1048 earmelf_nbsd.c:1043
-#: earmelf_phoenix.c:1048 earmelf_vxworks.c:1079 earmelfb.c:1043
-#: earmelfb_fbsd.c:1043 earmelfb_fuchsia.c:1048 earmelfb_linux.c:1048
-#: earmelfb_linux_eabi.c:1048 earmelfb_linux_fdpiceabi.c:1048
-#: earmelfb_nacl.c:1048 earmelfb_nbsd.c:1043 earmnto.c:1018 earmsymbian.c:1043
+#: earmelf.c:1047 earmelf_fbsd.c:1047 earmelf_fuchsia.c:1052
+#: earmelf_linux.c:1052 earmelf_linux_eabi.c:1052
+#: earmelf_linux_fdpiceabi.c:1052 earmelf_nacl.c:1052 earmelf_nbsd.c:1047
+#: earmelf_phoenix.c:1052 earmelf_vxworks.c:1083 earmelfb.c:1047
+#: earmelfb_fbsd.c:1047 earmelfb_fuchsia.c:1052 earmelfb_linux.c:1052
+#: earmelfb_linux_eabi.c:1052 earmelfb_linux_fdpiceabi.c:1052
+#: earmelfb_nacl.c:1052 earmelfb_nbsd.c:1047 earmnto.c:1022 earmsymbian.c:1047
 msgid "%P: unrecognized STM32L4XX fix type '%s'\n"
 msgstr ""
 
-#: earmelf.c:1110 earmelf_fbsd.c:1110 earmelf_fuchsia.c:1115
-#: earmelf_linux.c:1115 earmelf_linux_eabi.c:1115
-#: earmelf_linux_fdpiceabi.c:1115 earmelf_nacl.c:1115 earmelf_nbsd.c:1110
-#: earmelf_phoenix.c:1115 earmelf_vxworks.c:1150 earmelfb.c:1110
-#: earmelfb_fbsd.c:1110 earmelfb_fuchsia.c:1115 earmelfb_linux.c:1115
-#: earmelfb_linux_eabi.c:1115 earmelfb_linux_fdpiceabi.c:1115
-#: earmelfb_nacl.c:1115 earmelfb_nbsd.c:1110 earmnto.c:1085 earmsymbian.c:1110
-#, c-format
-msgid ""
-"  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>\n"
-msgstr ""
-
-#: earmelf.c:1111 earmelf_fbsd.c:1111 earmelf_fuchsia.c:1116
-#: earmelf_linux.c:1116 earmelf_linux_eabi.c:1116
-#: earmelf_linux_fdpiceabi.c:1116 earmelf_nacl.c:1116 earmelf_nbsd.c:1111
-#: earmelf_phoenix.c:1116 earmelf_vxworks.c:1151 earmelfb.c:1111
-#: earmelfb_fbsd.c:1111 earmelfb_fuchsia.c:1116 earmelfb_linux.c:1116
-#: earmelfb_linux_eabi.c:1116 earmelfb_linux_fdpiceabi.c:1116
-#: earmelfb_nacl.c:1116 earmelfb_nbsd.c:1111 earmnto.c:1086 earmsymbian.c:1111
-#, c-format
-msgid "  --be8                       Output BE8 format image\n"
-msgstr ""
-
-#: earmelf.c:1112 earmelf_fbsd.c:1112 earmelf_fuchsia.c:1117
-#: earmelf_linux.c:1117 earmelf_linux_eabi.c:1117
-#: earmelf_linux_fdpiceabi.c:1117 earmelf_nacl.c:1117 earmelf_nbsd.c:1112
-#: earmelf_phoenix.c:1117 earmelf_vxworks.c:1152 earmelfb.c:1112
-#: earmelfb_fbsd.c:1112 earmelfb_fuchsia.c:1117 earmelfb_linux.c:1117
-#: earmelfb_linux_eabi.c:1117 earmelfb_linux_fdpiceabi.c:1117
-#: earmelfb_nacl.c:1117 earmelfb_nbsd.c:1112 earmnto.c:1087 earmsymbian.c:1112
-#, c-format
-msgid "  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32\n"
-msgstr ""
-
-#: earmelf.c:1113 earmelf_fbsd.c:1113 earmelf_fuchsia.c:1118
-#: earmelf_linux.c:1118 earmelf_linux_eabi.c:1118
-#: earmelf_linux_fdpiceabi.c:1118 earmelf_nacl.c:1118 earmelf_nbsd.c:1113
-#: earmelf_phoenix.c:1118 earmelf_vxworks.c:1153 earmelfb.c:1113
-#: earmelfb_fbsd.c:1113 earmelfb_fuchsia.c:1118 earmelfb_linux.c:1118
-#: earmelfb_linux_eabi.c:1118 earmelfb_linux_fdpiceabi.c:1118
-#: earmelfb_nacl.c:1118 earmelfb_nbsd.c:1113 earmnto.c:1088 earmsymbian.c:1113
-#, c-format
-msgid "  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32\n"
-msgstr ""
-
 #: earmelf.c:1114 earmelf_fbsd.c:1114 earmelf_fuchsia.c:1119
 #: earmelf_linux.c:1119 earmelf_linux_eabi.c:1119
 #: earmelf_linux_fdpiceabi.c:1119 earmelf_nacl.c:1119 earmelf_nbsd.c:1114
@@ -4244,7 +4303,8 @@ msgstr ""
 #: earmelfb_linux_eabi.c:1119 earmelfb_linux_fdpiceabi.c:1119
 #: earmelfb_nacl.c:1119 earmelfb_nbsd.c:1114 earmnto.c:1089 earmsymbian.c:1114
 #, c-format
-msgid "  --target2=<type>            Specify definition of R_ARM_TARGET2\n"
+msgid ""
+"  --thumb-entry=<sym>         Set the entry point to be Thumb symbol <sym>\n"
 msgstr ""
 
 #: earmelf.c:1115 earmelf_fbsd.c:1115 earmelf_fuchsia.c:1120
@@ -4255,7 +4315,7 @@ msgstr ""
 #: earmelfb_linux_eabi.c:1120 earmelfb_linux_fdpiceabi.c:1120
 #: earmelfb_nacl.c:1120 earmelfb_nbsd.c:1115 earmnto.c:1090 earmsymbian.c:1115
 #, c-format
-msgid "  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4\n"
+msgid "  --be8                       Output BE8 format image\n"
 msgstr ""
 
 #: earmelf.c:1116 earmelf_fbsd.c:1116 earmelf_fuchsia.c:1121
@@ -4266,9 +4326,7 @@ msgstr ""
 #: earmelfb_linux_eabi.c:1121 earmelfb_linux_fdpiceabi.c:1121
 #: earmelfb_nacl.c:1121 earmelfb_nbsd.c:1116 earmnto.c:1091 earmsymbian.c:1116
 #, c-format
-msgid ""
-"  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4 interworking "
-"veneer\n"
+msgid "  --target1-rel               Interpret R_ARM_TARGET1 as R_ARM_REL32\n"
 msgstr ""
 
 #: earmelf.c:1117 earmelf_fbsd.c:1117 earmelf_fuchsia.c:1122
@@ -4279,7 +4337,7 @@ msgstr ""
 #: earmelfb_linux_eabi.c:1122 earmelfb_linux_fdpiceabi.c:1122
 #: earmelfb_nacl.c:1122 earmelfb_nbsd.c:1117 earmnto.c:1092 earmsymbian.c:1117
 #, c-format
-msgid "  --use-blx                   Enable use of BLX instructions\n"
+msgid "  --target1-abs               Interpret R_ARM_TARGET1 as R_ARM_ABS32\n"
 msgstr ""
 
 #: earmelf.c:1118 earmelf_fbsd.c:1118 earmelf_fuchsia.c:1123
@@ -4290,7 +4348,7 @@ msgstr ""
 #: earmelfb_linux_eabi.c:1123 earmelfb_linux_fdpiceabi.c:1123
 #: earmelfb_nacl.c:1123 earmelfb_nbsd.c:1118 earmnto.c:1093 earmsymbian.c:1118
 #, c-format
-msgid "  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum\n"
+msgid "  --target2=<type>            Specify definition of R_ARM_TARGET2\n"
 msgstr ""
 
 #: earmelf.c:1119 earmelf_fbsd.c:1119 earmelf_fuchsia.c:1124
@@ -4301,35 +4359,54 @@ msgstr ""
 #: earmelfb_linux_eabi.c:1124 earmelfb_linux_fdpiceabi.c:1124
 #: earmelfb_nacl.c:1124 earmelfb_nbsd.c:1119 earmnto.c:1094 earmsymbian.c:1119
 #, c-format
-msgid ""
-"  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum\n"
+msgid "  --fix-v4bx                  Rewrite BX rn as MOV pc, rn for ARMv4\n"
 msgstr ""
 
-#: earmelf.c:1125 earmelf_fbsd.c:1125 earmelf_fuchsia.c:1130
-#: earmelf_linux.c:1130 earmelf_linux_eabi.c:1130
-#: earmelf_linux_fdpiceabi.c:1130 earmelf_nacl.c:1130 earmelf_nbsd.c:1125
-#: earmelf_phoenix.c:1130 earmelf_vxworks.c:1165 earmelfb.c:1125
-#: earmelfb_fbsd.c:1125 earmelfb_fuchsia.c:1130 earmelfb_linux.c:1130
-#: earmelfb_linux_eabi.c:1130 earmelfb_linux_fdpiceabi.c:1130
-#: earmelfb_nacl.c:1130 earmelfb_nbsd.c:1125 earmnto.c:1100 earmsymbian.c:1125
+#: earmelf.c:1120 earmelf_fbsd.c:1120 earmelf_fuchsia.c:1125
+#: earmelf_linux.c:1125 earmelf_linux_eabi.c:1125
+#: earmelf_linux_fdpiceabi.c:1125 earmelf_nacl.c:1125 earmelf_nbsd.c:1120
+#: earmelf_phoenix.c:1125 earmelf_vxworks.c:1160 earmelfb.c:1120
+#: earmelfb_fbsd.c:1120 earmelfb_fuchsia.c:1125 earmelfb_linux.c:1125
+#: earmelfb_linux_eabi.c:1125 earmelfb_linux_fdpiceabi.c:1125
+#: earmelfb_nacl.c:1125 earmelfb_nbsd.c:1120 earmnto.c:1095 earmsymbian.c:1120
 #, c-format
 msgid ""
-"  --long-plt                  Generate long .plt entries\n"
-"                              to handle large .plt/.got displacements\n"
+"  --fix-v4bx-interworking     Rewrite BX rn branch to ARMv4 interworking "
+"veneer\n"
+msgstr ""
+
+#: earmelf.c:1121 earmelf_fbsd.c:1121 earmelf_fuchsia.c:1126
+#: earmelf_linux.c:1126 earmelf_linux_eabi.c:1126
+#: earmelf_linux_fdpiceabi.c:1126 earmelf_nacl.c:1126 earmelf_nbsd.c:1121
+#: earmelf_phoenix.c:1126 earmelf_vxworks.c:1161 earmelfb.c:1121
+#: earmelfb_fbsd.c:1121 earmelfb_fuchsia.c:1126 earmelfb_linux.c:1126
+#: earmelfb_linux_eabi.c:1126 earmelfb_linux_fdpiceabi.c:1126
+#: earmelfb_nacl.c:1126 earmelfb_nbsd.c:1121 earmnto.c:1096 earmsymbian.c:1121
+#, c-format
+msgid "  --use-blx                   Enable use of BLX instructions\n"
+msgstr ""
+
+#: earmelf.c:1122 earmelf_fbsd.c:1122 earmelf_fuchsia.c:1127
+#: earmelf_linux.c:1127 earmelf_linux_eabi.c:1127
+#: earmelf_linux_fdpiceabi.c:1127 earmelf_nacl.c:1127 earmelf_nbsd.c:1122
+#: earmelf_phoenix.c:1127 earmelf_vxworks.c:1162 earmelfb.c:1122
+#: earmelfb_fbsd.c:1122 earmelfb_fuchsia.c:1127 earmelfb_linux.c:1127
+#: earmelfb_linux_eabi.c:1127 earmelfb_linux_fdpiceabi.c:1127
+#: earmelfb_nacl.c:1127 earmelfb_nbsd.c:1122 earmnto.c:1097 earmsymbian.c:1122
+#, c-format
+msgid "  --vfp11-denorm-fix          Specify how to fix VFP11 denorm erratum\n"
 msgstr ""
 
-#: earmelf.c:1127 earmelf_fbsd.c:1127 earmelf_fuchsia.c:1132
-#: earmelf_linux.c:1132 earmelf_linux_eabi.c:1132
-#: earmelf_linux_fdpiceabi.c:1132 earmelf_nacl.c:1132 earmelf_nbsd.c:1127
-#: earmelf_phoenix.c:1132 earmelf_vxworks.c:1167 earmelfb.c:1127
-#: earmelfb_fbsd.c:1127 earmelfb_fuchsia.c:1132 earmelfb_linux.c:1132
-#: earmelfb_linux_eabi.c:1132 earmelfb_linux_fdpiceabi.c:1132
-#: earmelfb_nacl.c:1132 earmelfb_nbsd.c:1127 earmnto.c:1102 earmsymbian.c:1127
+#: earmelf.c:1123 earmelf_fbsd.c:1123 earmelf_fuchsia.c:1128
+#: earmelf_linux.c:1128 earmelf_linux_eabi.c:1128
+#: earmelf_linux_fdpiceabi.c:1128 earmelf_nacl.c:1128 earmelf_nbsd.c:1123
+#: earmelf_phoenix.c:1128 earmelf_vxworks.c:1163 earmelfb.c:1123
+#: earmelfb_fbsd.c:1123 earmelfb_fuchsia.c:1128 earmelfb_linux.c:1128
+#: earmelfb_linux_eabi.c:1128 earmelfb_linux_fdpiceabi.c:1128
+#: earmelfb_nacl.c:1128 earmelfb_nbsd.c:1123 earmnto.c:1098 earmsymbian.c:1123
 #, c-format
 msgid ""
-"  --cmse-implib               Make import library to be a secure gateway "
-"import\n"
-"                                library as per ARMv8-M Security Extensions\n"
+"  --fix-stm32l4xx-629360      Specify how to fix STM32L4XX 629360 erratum\n"
 msgstr ""
 
 #: earmelf.c:1129 earmelf_fbsd.c:1129 earmelf_fuchsia.c:1134
@@ -4341,41 +4418,68 @@ msgstr ""
 #: earmelfb_nacl.c:1134 earmelfb_nbsd.c:1129 earmnto.c:1104 earmsymbian.c:1129
 #, c-format
 msgid ""
+"  --long-plt                  Generate long .plt entries\n"
+"                              to handle large .plt/.got displacements\n"
+msgstr ""
+
+#: earmelf.c:1131 earmelf_fbsd.c:1131 earmelf_fuchsia.c:1136
+#: earmelf_linux.c:1136 earmelf_linux_eabi.c:1136
+#: earmelf_linux_fdpiceabi.c:1136 earmelf_nacl.c:1136 earmelf_nbsd.c:1131
+#: earmelf_phoenix.c:1136 earmelf_vxworks.c:1171 earmelfb.c:1131
+#: earmelfb_fbsd.c:1131 earmelfb_fuchsia.c:1136 earmelfb_linux.c:1136
+#: earmelfb_linux_eabi.c:1136 earmelfb_linux_fdpiceabi.c:1136
+#: earmelfb_nacl.c:1136 earmelfb_nbsd.c:1131 earmnto.c:1106 earmsymbian.c:1131
+#, c-format
+msgid ""
+"  --cmse-implib               Make import library to be a secure gateway "
+"import\n"
+"                                library as per ARMv8-M Security Extensions\n"
+msgstr ""
+
+#: earmelf.c:1133 earmelf_fbsd.c:1133 earmelf_fuchsia.c:1138
+#: earmelf_linux.c:1138 earmelf_linux_eabi.c:1138
+#: earmelf_linux_fdpiceabi.c:1138 earmelf_nacl.c:1138 earmelf_nbsd.c:1133
+#: earmelf_phoenix.c:1138 earmelf_vxworks.c:1173 earmelfb.c:1133
+#: earmelfb_fbsd.c:1133 earmelfb_fuchsia.c:1138 earmelfb_linux.c:1138
+#: earmelfb_linux_eabi.c:1138 earmelfb_linux_fdpiceabi.c:1138
+#: earmelfb_nacl.c:1138 earmelfb_nbsd.c:1133 earmnto.c:1108 earmsymbian.c:1133
+#, c-format
+msgid ""
 "  --in-implib                 Import library whose symbols address must\n"
 "                                remain stable\n"
 msgstr ""
 
-#: earmelf.c:1140 earmelf_fbsd.c:1140 earmelf_fuchsia.c:1145
-#: earmelf_linux.c:1145 earmelf_linux_eabi.c:1145
-#: earmelf_linux_fdpiceabi.c:1145 earmelf_nacl.c:1145 earmelf_nbsd.c:1140
-#: earmelf_phoenix.c:1145 earmelf_vxworks.c:1180 earmelfb.c:1140
-#: earmelfb_fbsd.c:1140 earmelfb_fuchsia.c:1145 earmelfb_linux.c:1145
-#: earmelfb_linux_eabi.c:1145 earmelfb_linux_fdpiceabi.c:1145
-#: earmelfb_nacl.c:1145 earmelfb_nbsd.c:1140 earmnto.c:1115 earmsymbian.c:1140
+#: earmelf.c:1144 earmelf_fbsd.c:1144 earmelf_fuchsia.c:1149
+#: earmelf_linux.c:1149 earmelf_linux_eabi.c:1149
+#: earmelf_linux_fdpiceabi.c:1149 earmelf_nacl.c:1149 earmelf_nbsd.c:1144
+#: earmelf_phoenix.c:1149 earmelf_vxworks.c:1184 earmelfb.c:1144
+#: earmelfb_fbsd.c:1144 earmelfb_fuchsia.c:1149 earmelfb_linux.c:1149
+#: earmelfb_linux_eabi.c:1149 earmelfb_linux_fdpiceabi.c:1149
+#: earmelfb_nacl.c:1149 earmelfb_nbsd.c:1144 earmnto.c:1119 earmsymbian.c:1144
 #, c-format
 msgid ""
 "  --[no-]fix-cortex-a8        Disable/enable Cortex-A8 Thumb-2 branch "
 "erratum fix\n"
 msgstr ""
 
-#: earmelf.c:1141 earmelf_fbsd.c:1141 earmelf_fuchsia.c:1146
-#: earmelf_linux.c:1146 earmelf_linux_eabi.c:1146
-#: earmelf_linux_fdpiceabi.c:1146 earmelf_nacl.c:1146 earmelf_nbsd.c:1141
-#: earmelf_phoenix.c:1146 earmelf_vxworks.c:1181 earmelfb.c:1141
-#: earmelfb_fbsd.c:1141 earmelfb_fuchsia.c:1146 earmelfb_linux.c:1146
-#: earmelfb_linux_eabi.c:1146 earmelfb_linux_fdpiceabi.c:1146
-#: earmelfb_nacl.c:1146 earmelfb_nbsd.c:1141 earmnto.c:1116 earmsymbian.c:1141
+#: earmelf.c:1145 earmelf_fbsd.c:1145 earmelf_fuchsia.c:1150
+#: earmelf_linux.c:1150 earmelf_linux_eabi.c:1150
+#: earmelf_linux_fdpiceabi.c:1150 earmelf_nacl.c:1150 earmelf_nbsd.c:1145
+#: earmelf_phoenix.c:1150 earmelf_vxworks.c:1185 earmelfb.c:1145
+#: earmelfb_fbsd.c:1145 earmelfb_fuchsia.c:1150 earmelfb_linux.c:1150
+#: earmelfb_linux_eabi.c:1150 earmelfb_linux_fdpiceabi.c:1150
+#: earmelfb_nacl.c:1150 earmelfb_nbsd.c:1145 earmnto.c:1120 earmsymbian.c:1145
 #, c-format
 msgid "  --no-merge-exidx-entries    Disable merging exidx entries\n"
 msgstr ""
 
-#: earmelf.c:1142 earmelf_fbsd.c:1142 earmelf_fuchsia.c:1147
-#: earmelf_linux.c:1147 earmelf_linux_eabi.c:1147
-#: earmelf_linux_fdpiceabi.c:1147 earmelf_nacl.c:1147 earmelf_nbsd.c:1142
-#: earmelf_phoenix.c:1147 earmelf_vxworks.c:1182 earmelfb.c:1142
-#: earmelfb_fbsd.c:1142 earmelfb_fuchsia.c:1147 earmelfb_linux.c:1147
-#: earmelfb_linux_eabi.c:1147 earmelfb_linux_fdpiceabi.c:1147
-#: earmelfb_nacl.c:1147 earmelfb_nbsd.c:1142 earmnto.c:1117 earmsymbian.c:1142
+#: earmelf.c:1146 earmelf_fbsd.c:1146 earmelf_fuchsia.c:1151
+#: earmelf_linux.c:1151 earmelf_linux_eabi.c:1151
+#: earmelf_linux_fdpiceabi.c:1151 earmelf_nacl.c:1151 earmelf_nbsd.c:1146
+#: earmelf_phoenix.c:1151 earmelf_vxworks.c:1186 earmelfb.c:1146
+#: earmelfb_fbsd.c:1146 earmelfb_fuchsia.c:1151 earmelfb_linux.c:1151
+#: earmelfb_linux_eabi.c:1151 earmelfb_linux_fdpiceabi.c:1151
+#: earmelfb_nacl.c:1151 earmelfb_nbsd.c:1146 earmnto.c:1121 earmsymbian.c:1146
 #, c-format
 msgid ""
 "  --[no-]fix-arm1176          Disable/enable ARM1176 BLX immediate erratum "
@@ -4394,9 +4498,9 @@ msgstr ""
 msgid "%X%P: dynamic sections created in non-dynamic link\n"
 msgstr ""
 
-#: earmelf_vxworks.c:1184 eelf32_sparc_vxworks.c:487 eelf32ebmipvxworks.c:745
-#: eelf32elmipvxworks.c:745 eelf32ppcvxworks.c:810 eelf_i386_vxworks.c:564
-#: eshelf_vxworks.c:457 eshlelf_vxworks.c:457
+#: earmelf_vxworks.c:1188 eelf32_sparc_vxworks.c:491 eelf32ebmipvxworks.c:749
+#: eelf32elmipvxworks.c:749 eelf32ppcvxworks.c:814 eelf_i386_vxworks.c:568
+#: eshelf_vxworks.c:461 eshlelf_vxworks.c:461
 #, c-format
 msgid "  --force-dynamic             Always create dynamic sections\n"
 msgstr ""
@@ -4415,10 +4519,10 @@ msgstr ""
 msgid "%X%P: can not create stub BFD: %E\n"
 msgstr ""
 
-#: eavr1.c:527 eavr2.c:527 eavr25.c:527 eavr3.c:527 eavr31.c:527 eavr35.c:527
-#: eavr4.c:527 eavr5.c:527 eavr51.c:527 eavr6.c:527 eavrtiny.c:527
-#: eavrxmega1.c:527 eavrxmega2.c:527 eavrxmega3.c:527 eavrxmega4.c:527
-#: eavrxmega5.c:527 eavrxmega6.c:527 eavrxmega7.c:527
+#: eavr1.c:531 eavr2.c:531 eavr25.c:531 eavr3.c:531 eavr31.c:531 eavr35.c:531
+#: eavr4.c:531 eavr5.c:531 eavr51.c:531 eavr6.c:531 eavrtiny.c:531
+#: eavrxmega1.c:531 eavrxmega2.c:531 eavrxmega3.c:531 eavrxmega4.c:531
+#: eavrxmega5.c:531 eavrxmega6.c:531 eavrxmega7.c:531
 #, c-format
 msgid ""
 "  --pmem-wrap-around=<val>    Make the linker relaxation machine assume that "
@@ -4429,10 +4533,10 @@ msgid ""
 "64k.\n"
 msgstr ""
 
-#: eavr1.c:533 eavr2.c:533 eavr25.c:533 eavr3.c:533 eavr31.c:533 eavr35.c:533
-#: eavr4.c:533 eavr5.c:533 eavr51.c:533 eavr6.c:533 eavrtiny.c:533
-#: eavrxmega1.c:533 eavrxmega2.c:533 eavrxmega3.c:533 eavrxmega4.c:533
-#: eavrxmega5.c:533 eavrxmega6.c:533 eavrxmega7.c:533
+#: eavr1.c:537 eavr2.c:537 eavr25.c:537 eavr3.c:537 eavr31.c:537 eavr35.c:537
+#: eavr4.c:537 eavr5.c:537 eavr51.c:537 eavr6.c:537 eavrtiny.c:537
+#: eavrxmega1.c:537 eavrxmega2.c:537 eavrxmega3.c:537 eavrxmega4.c:537
+#: eavrxmega5.c:537 eavrxmega6.c:537 eavrxmega7.c:537
 #, c-format
 msgid ""
 "  --no-call-ret-replacement   The relaxation machine normally will\n"
@@ -4442,10 +4546,10 @@ msgid ""
 "                                This option disables this optimization.\n"
 msgstr ""
 
-#: eavr1.c:541 eavr2.c:541 eavr25.c:541 eavr3.c:541 eavr31.c:541 eavr35.c:541
-#: eavr4.c:541 eavr5.c:541 eavr51.c:541 eavr6.c:541 eavrtiny.c:541
-#: eavrxmega1.c:541 eavrxmega2.c:541 eavrxmega3.c:541 eavrxmega4.c:541
-#: eavrxmega5.c:541 eavrxmega6.c:541 eavrxmega7.c:541
+#: eavr1.c:545 eavr2.c:545 eavr25.c:545 eavr3.c:545 eavr31.c:545 eavr35.c:545
+#: eavr4.c:545 eavr5.c:545 eavr51.c:545 eavr6.c:545 eavrtiny.c:545
+#: eavrxmega1.c:545 eavrxmega2.c:545 eavrxmega3.c:545 eavrxmega4.c:545
+#: eavrxmega5.c:545 eavrxmega6.c:545 eavrxmega7.c:545
 #, c-format
 msgid ""
 "  --no-stubs                  If the linker detects to attempt to access\n"
@@ -4455,18 +4559,18 @@ msgid ""
 "switch.\n"
 msgstr ""
 
-#: eavr1.c:549 eavr2.c:549 eavr25.c:549 eavr3.c:549 eavr31.c:549 eavr35.c:549
-#: eavr4.c:549 eavr5.c:549 eavr51.c:549 eavr6.c:549 eavrtiny.c:549
-#: eavrxmega1.c:549 eavrxmega2.c:549 eavrxmega3.c:549 eavrxmega4.c:549
-#: eavrxmega5.c:549 eavrxmega6.c:549 eavrxmega7.c:549
+#: eavr1.c:553 eavr2.c:553 eavr25.c:553 eavr3.c:553 eavr31.c:553 eavr35.c:553
+#: eavr4.c:553 eavr5.c:553 eavr51.c:553 eavr6.c:553 eavrtiny.c:553
+#: eavrxmega1.c:553 eavrxmega2.c:553 eavrxmega3.c:553 eavrxmega4.c:553
+#: eavrxmega5.c:553 eavrxmega6.c:553 eavrxmega7.c:553
 #, c-format
 msgid "  --debug-stubs               Used for debugging avr-ld.\n"
 msgstr ""
 
-#: eavr1.c:551 eavr2.c:551 eavr25.c:551 eavr3.c:551 eavr31.c:551 eavr35.c:551
-#: eavr4.c:551 eavr5.c:551 eavr51.c:551 eavr6.c:551 eavrtiny.c:551
-#: eavrxmega1.c:551 eavrxmega2.c:551 eavrxmega3.c:551 eavrxmega4.c:551
-#: eavrxmega5.c:551 eavrxmega6.c:551 eavrxmega7.c:551
+#: eavr1.c:555 eavr2.c:555 eavr25.c:555 eavr3.c:555 eavr31.c:555 eavr35.c:555
+#: eavr4.c:555 eavr5.c:555 eavr51.c:555 eavr6.c:555 eavrtiny.c:555
+#: eavrxmega1.c:555 eavrxmega2.c:555 eavrxmega3.c:555 eavrxmega4.c:555
+#: eavrxmega5.c:555 eavrxmega6.c:555 eavrxmega7.c:555
 #, c-format
 msgid "  --debug-relax               Used for debugging avr-ld.\n"
 msgstr ""
@@ -4479,14 +4583,14 @@ msgstr ""
 msgid "%X%P: cannot build stubs: %E\n"
 msgstr ""
 
-#: ecskyelf.c:544 ecskyelf_linux.c:707
+#: ecskyelf.c:548 ecskyelf_linux.c:711
 #, c-format
 msgid ""
 "  --[no-]branch-stub          Disable/enable use of stubs to expand branch\n"
 "                                instructions that cannot reach the target.\n"
 msgstr ""
 
-#: ecskyelf.c:548 ecskyelf_linux.c:711
+#: ecskyelf.c:552 ecskyelf_linux.c:715
 #, c-format
 msgid ""
 "  --stub-group-size=N         Maximum size of a group of input sections\n"
@@ -4545,118 +4649,118 @@ msgstr ""
 msgid "running: %s \"%s\" \"%s\" \"%s\" \"%s\"\n"
 msgstr ""
 
-#: eelf32_spu.c:1021
+#: eelf32_spu.c:1025
 msgid "%F%P: invalid --local-store address range `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:1057
+#: eelf32_spu.c:1061
 msgid "%F%P: invalid --num-lines/--num-regions `%u'\n"
 msgstr ""
 
-#: eelf32_spu.c:1062
+#: eelf32_spu.c:1066
 msgid "%F%P: invalid --line-size/--region-size `%u'\n"
 msgstr ""
 
-#: eelf32_spu.c:1083
+#: eelf32_spu.c:1087
 msgid "%F%P: invalid --num-lines/--num-regions `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:1096
+#: eelf32_spu.c:1100
 msgid "%F%P: invalid --line-size/--region-size `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:1105
+#: eelf32_spu.c:1109
 msgid "%F%P: invalid --fixed-space value `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:1114
+#: eelf32_spu.c:1118
 msgid "%F%P: invalid --reserved-space value `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:1123
+#: eelf32_spu.c:1127
 msgid "%F%P: invalid --extra-stack-space value `%s'\n"
 msgstr ""
 
-#: eelf32_spu.c:1160
+#: eelf32_spu.c:1164
 #, c-format
 msgid "  --plugin                    Make SPU plugin\n"
 msgstr ""
 
-#: eelf32_spu.c:1162
+#: eelf32_spu.c:1166
 #, c-format
 msgid "  --no-overlays               No overlay handling\n"
 msgstr ""
 
-#: eelf32_spu.c:1164
+#: eelf32_spu.c:1168
 #, c-format
 msgid ""
 "  --compact-stubs             Use smaller and possibly slower call stubs\n"
 msgstr ""
 
-#: eelf32_spu.c:1166
+#: eelf32_spu.c:1170
 #, c-format
 msgid "  --emit-stub-syms            Add symbols on overlay call stubs\n"
 msgstr ""
 
-#: eelf32_spu.c:1168
+#: eelf32_spu.c:1172
 #, c-format
 msgid ""
 "  --extra-overlay-stubs       Add stubs on all calls out of overlay regions\n"
 msgstr ""
 
-#: eelf32_spu.c:1170
+#: eelf32_spu.c:1174
 #, c-format
 msgid "  --local-store=lo:hi         Valid address range\n"
 msgstr ""
 
-#: eelf32_spu.c:1172
+#: eelf32_spu.c:1176
 #, c-format
 msgid "  --stack-analysis            Estimate maximum stack requirement\n"
 msgstr ""
 
-#: eelf32_spu.c:1174
+#: eelf32_spu.c:1178
 #, c-format
 msgid ""
 "  --emit-stack-syms           Add sym giving stack needed for each func\n"
 msgstr ""
 
-#: eelf32_spu.c:1176
+#: eelf32_spu.c:1180
 #, c-format
 msgid ""
 "  --auto-overlay [=filename]  Create an overlay script in filename if\n"
 "                                executable does not fit in local store\n"
 msgstr ""
 
-#: eelf32_spu.c:1179
+#: eelf32_spu.c:1183
 #, c-format
 msgid "  --auto-relink               Rerun linker using auto-overlay script\n"
 msgstr ""
 
-#: eelf32_spu.c:1181
+#: eelf32_spu.c:1185
 #, c-format
 msgid ""
 "  --overlay-rodata            Place read-only data with associated function\n"
 "                                code in overlays\n"
 msgstr ""
 
-#: eelf32_spu.c:1184
+#: eelf32_spu.c:1188
 #, c-format
 msgid "  --num-regions               Number of overlay buffers (default 1)\n"
 msgstr ""
 
-#: eelf32_spu.c:1186
+#: eelf32_spu.c:1190
 #, c-format
 msgid ""
 "  --region-size               Size of overlay buffers (default 0, auto)\n"
 msgstr ""
 
-#: eelf32_spu.c:1188
+#: eelf32_spu.c:1192
 #, c-format
 msgid ""
 "  --fixed-space=bytes         Local store for non-overlay code and data\n"
 msgstr ""
 
-#: eelf32_spu.c:1190
+#: eelf32_spu.c:1194
 #, c-format
 msgid ""
 "  --reserved-space=bytes      Local store for stack and heap.  If not "
@@ -4665,7 +4769,7 @@ msgid ""
 "heap\n"
 msgstr ""
 
-#: eelf32_spu.c:1193
+#: eelf32_spu.c:1197
 #, c-format
 msgid ""
 "  --extra-stack-space=bytes   Space for negative sp access (default 2000) "
@@ -4673,28 +4777,28 @@ msgid ""
 "                                --reserved-space not given\n"
 msgstr ""
 
-#: eelf32_spu.c:1196
+#: eelf32_spu.c:1200
 #, c-format
 msgid "  --soft-icache               Generate software icache overlays\n"
 msgstr ""
 
-#: eelf32_spu.c:1198
+#: eelf32_spu.c:1202
 #, c-format
 msgid ""
 "  --num-lines                 Number of soft-icache lines (default 32)\n"
 msgstr ""
 
-#: eelf32_spu.c:1200
+#: eelf32_spu.c:1204
 #, c-format
 msgid "  --line-size                 Size of soft-icache lines (default 1k)\n"
 msgstr ""
 
-#: eelf32_spu.c:1202
+#: eelf32_spu.c:1206
 #, c-format
 msgid "  --non-ia-text               Allow non-icache code in icache lines\n"
 msgstr ""
 
-#: eelf32_spu.c:1204
+#: eelf32_spu.c:1208
 #, c-format
 msgid "  --lrlive-analysis           Scan function prologue for lr liveness\n"
 msgstr ""
@@ -4704,197 +4808,197 @@ msgstr ""
 msgid "%F%P: invalid --dsbt-index %d, outside DSBT size\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:550 eelf32_tic6x_elf_be.c:550 eelf32_tic6x_elf_le.c:550
-#: eelf32_tic6x_le.c:550 eelf32_tic6x_linux_be.c:550
-#: eelf32_tic6x_linux_le.c:550
+#: eelf32_tic6x_be.c:554 eelf32_tic6x_elf_be.c:554 eelf32_tic6x_elf_le.c:554
+#: eelf32_tic6x_le.c:554 eelf32_tic6x_linux_be.c:554
+#: eelf32_tic6x_linux_le.c:554
 msgid "%F%P: invalid --dsbt-index %s\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:560 eelf32_tic6x_elf_be.c:560 eelf32_tic6x_elf_le.c:560
-#: eelf32_tic6x_le.c:560 eelf32_tic6x_linux_be.c:560
-#: eelf32_tic6x_linux_le.c:560
+#: eelf32_tic6x_be.c:564 eelf32_tic6x_elf_be.c:564 eelf32_tic6x_elf_le.c:564
+#: eelf32_tic6x_le.c:564 eelf32_tic6x_linux_be.c:564
+#: eelf32_tic6x_linux_le.c:564
 msgid "%F%P: invalid --dsbt-size %s\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:576 eelf32_tic6x_elf_be.c:576 eelf32_tic6x_elf_le.c:576
-#: eelf32_tic6x_le.c:576 eelf32_tic6x_linux_be.c:576
-#: eelf32_tic6x_linux_le.c:576
+#: eelf32_tic6x_be.c:580 eelf32_tic6x_elf_be.c:580 eelf32_tic6x_elf_le.c:580
+#: eelf32_tic6x_le.c:580 eelf32_tic6x_linux_be.c:580
+#: eelf32_tic6x_linux_le.c:580
 #, c-format
 msgid ""
 "  --dsbt-index <index>    Use this as the DSBT index for the output object\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:577 eelf32_tic6x_elf_be.c:577 eelf32_tic6x_elf_le.c:577
-#: eelf32_tic6x_le.c:577 eelf32_tic6x_linux_be.c:577
-#: eelf32_tic6x_linux_le.c:577
+#: eelf32_tic6x_be.c:581 eelf32_tic6x_elf_be.c:581 eelf32_tic6x_elf_le.c:581
+#: eelf32_tic6x_le.c:581 eelf32_tic6x_linux_be.c:581
+#: eelf32_tic6x_linux_le.c:581
 #, c-format
 msgid ""
 "  --dsbt-size <index>     Use this as the number of entries in the DSBT "
 "table\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:578 eelf32_tic6x_elf_be.c:578 eelf32_tic6x_elf_le.c:578
-#: eelf32_tic6x_le.c:578 eelf32_tic6x_linux_be.c:578
-#: eelf32_tic6x_linux_le.c:578
+#: eelf32_tic6x_be.c:582 eelf32_tic6x_elf_be.c:582 eelf32_tic6x_elf_le.c:582
+#: eelf32_tic6x_le.c:582 eelf32_tic6x_linux_be.c:582
+#: eelf32_tic6x_linux_le.c:582
 #, c-format
 msgid "  --no-merge-exidx-entries\n"
 msgstr ""
 
-#: eelf32_tic6x_be.c:579 eelf32_tic6x_elf_be.c:579 eelf32_tic6x_elf_le.c:579
-#: eelf32_tic6x_le.c:579 eelf32_tic6x_linux_be.c:579
-#: eelf32_tic6x_linux_le.c:579
+#: eelf32_tic6x_be.c:583 eelf32_tic6x_elf_be.c:583 eelf32_tic6x_elf_le.c:583
+#: eelf32_tic6x_le.c:583 eelf32_tic6x_linux_be.c:583
+#: eelf32_tic6x_linux_le.c:583
 #, c-format
 msgid "                          Disable merging exidx entries\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5398 eelf_i386.c:5017 eelf_i386_be.c:452
-#: eelf_i386_fbsd.c:492 eelf_i386_ldso.c:467 eelf_i386_sol2.c:623
-#: eelf_i386_vxworks.c:519 eelf_iamcu.c:4995 eelf_k1om.c:5351
-#: eelf_k1om_fbsd.c:5331 eelf_l1om.c:5351 eelf_l1om_fbsd.c:5331
-#: eelf_x86_64.c:5398 eelf_x86_64_cloudabi.c:495 eelf_x86_64_fbsd.c:495
-#: eelf_x86_64_sol2.c:626
+#: eelf32_x86_64.c:5402 eelf_i386.c:5021 eelf_i386_be.c:456
+#: eelf_i386_fbsd.c:496 eelf_i386_ldso.c:471 eelf_i386_sol2.c:627
+#: eelf_i386_vxworks.c:523 eelf_iamcu.c:4999 eelf_k1om.c:5355
+#: eelf_k1om_fbsd.c:5335 eelf_l1om.c:5355 eelf_l1om_fbsd.c:5335
+#: eelf_x86_64.c:5402 eelf_x86_64_cloudabi.c:499 eelf_x86_64_fbsd.c:499
+#: eelf_x86_64_sol2.c:630
 msgid "%F%P: invalid number for -z call-nop=prefix-: %s\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5407 eelf_i386.c:5026 eelf_i386_be.c:461
-#: eelf_i386_fbsd.c:501 eelf_i386_ldso.c:476 eelf_i386_sol2.c:632
-#: eelf_i386_vxworks.c:528 eelf_iamcu.c:5004 eelf_k1om.c:5360
-#: eelf_k1om_fbsd.c:5340 eelf_l1om.c:5360 eelf_l1om_fbsd.c:5340
-#: eelf_x86_64.c:5407 eelf_x86_64_cloudabi.c:504 eelf_x86_64_fbsd.c:504
-#: eelf_x86_64_sol2.c:635
+#: eelf32_x86_64.c:5411 eelf_i386.c:5030 eelf_i386_be.c:465
+#: eelf_i386_fbsd.c:505 eelf_i386_ldso.c:480 eelf_i386_sol2.c:636
+#: eelf_i386_vxworks.c:532 eelf_iamcu.c:5008 eelf_k1om.c:5364
+#: eelf_k1om_fbsd.c:5344 eelf_l1om.c:5364 eelf_l1om_fbsd.c:5344
+#: eelf_x86_64.c:5411 eelf_x86_64_cloudabi.c:508 eelf_x86_64_fbsd.c:508
+#: eelf_x86_64_sol2.c:639
 msgid "%F%P: invalid number for -z call-nop=suffix-: %s\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5412 eelf_i386.c:5031 eelf_i386_be.c:466
-#: eelf_i386_fbsd.c:506 eelf_i386_ldso.c:481 eelf_i386_sol2.c:637
-#: eelf_i386_vxworks.c:533 eelf_iamcu.c:5009 eelf_k1om.c:5365
-#: eelf_k1om_fbsd.c:5345 eelf_l1om.c:5365 eelf_l1om_fbsd.c:5345
-#: eelf_x86_64.c:5412 eelf_x86_64_cloudabi.c:509 eelf_x86_64_fbsd.c:509
-#: eelf_x86_64_sol2.c:640
+#: eelf32_x86_64.c:5416 eelf_i386.c:5035 eelf_i386_be.c:470
+#: eelf_i386_fbsd.c:510 eelf_i386_ldso.c:485 eelf_i386_sol2.c:641
+#: eelf_i386_vxworks.c:537 eelf_iamcu.c:5013 eelf_k1om.c:5369
+#: eelf_k1om_fbsd.c:5349 eelf_l1om.c:5369 eelf_l1om_fbsd.c:5349
+#: eelf_x86_64.c:5416 eelf_x86_64_cloudabi.c:513 eelf_x86_64_fbsd.c:513
+#: eelf_x86_64_sol2.c:644
 msgid "%F%P: unsupported option: -z %s\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5434 eelf_i386.c:5053 eelf_i386_fbsd.c:528
-#: eelf_x86_64.c:5434 eelf_x86_64_cloudabi.c:531 eelf_x86_64_fbsd.c:531
-#: eelf_x86_64_sol2.c:662
+#: eelf32_x86_64.c:5438 eelf_i386.c:5057 eelf_i386_fbsd.c:532
+#: eelf_x86_64.c:5438 eelf_x86_64_cloudabi.c:535 eelf_x86_64_fbsd.c:535
+#: eelf_x86_64_sol2.c:666
 msgid "%F%P: invalid option for -z cet-report=: %s\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5471 eelf_i386.c:5090 eelf_i386_be.c:482
-#: eelf_i386_fbsd.c:565 eelf_i386_ldso.c:506 eelf_i386_sol2.c:662
-#: eelf_i386_vxworks.c:554 eelf_iamcu.c:5034 eelf_k1om.c:5390
-#: eelf_k1om_fbsd.c:5370 eelf_l1om.c:5390 eelf_l1om_fbsd.c:5370
-#: eelf_x86_64.c:5474 eelf_x86_64_cloudabi.c:571 eelf_x86_64_fbsd.c:571
-#: eelf_x86_64_sol2.c:702
+#: eelf32_x86_64.c:5449 eelf_i386.c:5068 eelf_i386_fbsd.c:543
+#: eelf_x86_64.c:5449 eelf_x86_64_cloudabi.c:546 eelf_x86_64_fbsd.c:546
+#: eelf_x86_64_sol2.c:677
+msgid "%F%P: invalid x86-64 ISA level: %s\n"
+msgstr ""
+
+#: eelf32_x86_64.c:5486 eelf_i386.c:5105 eelf_i386_be.c:486
+#: eelf_i386_fbsd.c:580 eelf_i386_ldso.c:510 eelf_i386_sol2.c:666
+#: eelf_i386_vxworks.c:558 eelf_iamcu.c:5038 eelf_k1om.c:5394
+#: eelf_k1om_fbsd.c:5374 eelf_l1om.c:5394 eelf_l1om_fbsd.c:5374
+#: eelf_x86_64.c:5489 eelf_x86_64_cloudabi.c:586 eelf_x86_64_fbsd.c:586
+#: eelf_x86_64_sol2.c:717
 #, c-format
 msgid ""
 "  -z noextern-protected-data  Do not treat protected data symbol as "
 "external\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5474 eelf32lppc.c:802 eelf32lppclinux.c:802
-#: eelf32lppcnto.c:802 eelf32lppcsim.c:802 eelf32ppc.c:802 eelf32ppc_fbsd.c:802
-#: eelf32ppclinux.c:802 eelf32ppcnto.c:802 eelf32ppcsim.c:802
-#: eelf32ppcvxworks.c:780 eelf32ppcwindiss.c:802 eelf64lppc.c:1282
-#: eelf64ppc.c:1282 eelf64ppc_fbsd.c:1282 eelf_i386.c:5093 eelf_i386_be.c:485
-#: eelf_i386_fbsd.c:568 eelf_i386_ldso.c:509 eelf_i386_sol2.c:665
-#: eelf_i386_vxworks.c:557 eelf_iamcu.c:5037 eelf_k1om.c:5393
-#: eelf_k1om_fbsd.c:5373 eelf_l1om.c:5393 eelf_l1om_fbsd.c:5373
-#: eelf_x86_64.c:5477 eelf_x86_64_cloudabi.c:574 eelf_x86_64_fbsd.c:574
-#: eelf_x86_64_sol2.c:705 eppclynx.c:802
+#: eelf32_x86_64.c:5489 eelf32lppc.c:806 eelf32lppclinux.c:806
+#: eelf32lppcnto.c:806 eelf32lppcsim.c:806 eelf32ppc.c:806 eelf32ppc_fbsd.c:806
+#: eelf32ppclinux.c:806 eelf32ppcnto.c:806 eelf32ppcsim.c:806
+#: eelf32ppcvxworks.c:784 eelf32ppcwindiss.c:806 eelf64lppc.c:1330
+#: eelf64lppc_fbsd.c:1330 eelf64ppc.c:1330 eelf64ppc_fbsd.c:1330
+#: eelf_i386.c:5108 eelf_i386_be.c:489 eelf_i386_fbsd.c:583
+#: eelf_i386_ldso.c:513 eelf_i386_sol2.c:669 eelf_i386_vxworks.c:561
+#: eelf_iamcu.c:5041 eelf_k1om.c:5397 eelf_k1om_fbsd.c:5377 eelf_l1om.c:5397
+#: eelf_l1om_fbsd.c:5377 eelf_x86_64.c:5492 eelf_x86_64_cloudabi.c:589
+#: eelf_x86_64_fbsd.c:589 eelf_x86_64_sol2.c:720
 #, c-format
 msgid ""
 "  -z dynamic-undefined-weak   Make undefined weak symbols dynamic\n"
 "  -z nodynamic-undefined-weak Do not make undefined weak symbols dynamic\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5478 eelf_x86_64.c:5481 eelf_x86_64_cloudabi.c:578
-#: eelf_x86_64_fbsd.c:578 eelf_x86_64_sol2.c:709
+#: eelf32_x86_64.c:5493 eelf_x86_64.c:5496 eelf_x86_64_cloudabi.c:593
+#: eelf_x86_64_fbsd.c:593 eelf_x86_64_sol2.c:724
 #, c-format
 msgid "  -z noreloc-overflow         Disable relocation overflow check\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5481 eelf_i386.c:5097 eelf_i386_be.c:489
-#: eelf_i386_fbsd.c:572 eelf_i386_ldso.c:513 eelf_i386_sol2.c:669
-#: eelf_i386_vxworks.c:561 eelf_iamcu.c:5041 eelf_k1om.c:5397
-#: eelf_k1om_fbsd.c:5377 eelf_l1om.c:5397 eelf_l1om_fbsd.c:5377
-#: eelf_x86_64.c:5484 eelf_x86_64_cloudabi.c:581 eelf_x86_64_fbsd.c:581
-#: eelf_x86_64_sol2.c:712
+#: eelf32_x86_64.c:5496 eelf_i386.c:5112 eelf_i386_be.c:493
+#: eelf_i386_fbsd.c:587 eelf_i386_ldso.c:517 eelf_i386_sol2.c:673
+#: eelf_i386_vxworks.c:565 eelf_iamcu.c:5045 eelf_k1om.c:5401
+#: eelf_k1om_fbsd.c:5381 eelf_l1om.c:5401 eelf_l1om_fbsd.c:5381
+#: eelf_x86_64.c:5499 eelf_x86_64_cloudabi.c:596 eelf_x86_64_fbsd.c:596
+#: eelf_x86_64_sol2.c:727
 #, c-format
 msgid "  -z call-nop=PADDING         Use PADDING as 1-byte NOP for branch\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5484 eelf_i386.c:5100 eelf_i386_fbsd.c:575
-#: eelf_x86_64.c:5487 eelf_x86_64_cloudabi.c:584 eelf_x86_64_fbsd.c:584
-#: eelf_x86_64_sol2.c:715
+#: eelf32_x86_64.c:5499 eelf_i386.c:5115 eelf_i386_fbsd.c:590
+#: eelf_x86_64.c:5502 eelf_x86_64_cloudabi.c:599 eelf_x86_64_fbsd.c:599
+#: eelf_x86_64_sol2.c:730
 #, c-format
 msgid "  -z ibtplt                   Generate IBT-enabled PLT entries\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5486 eelf_i386.c:5102 eelf_i386_fbsd.c:577
-#: eelf_x86_64.c:5489 eelf_x86_64_cloudabi.c:586 eelf_x86_64_fbsd.c:586
-#: eelf_x86_64_sol2.c:717
+#: eelf32_x86_64.c:5501 eelf_i386.c:5117 eelf_i386_fbsd.c:592
+#: eelf_x86_64.c:5504 eelf_x86_64_cloudabi.c:601 eelf_x86_64_fbsd.c:601
+#: eelf_x86_64_sol2.c:732
 #, c-format
 msgid "  -z ibt                      Generate GNU_PROPERTY_X86_FEATURE_1_IBT\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5488 eelf_i386.c:5104 eelf_i386_fbsd.c:579
-#: eelf_x86_64.c:5491 eelf_x86_64_cloudabi.c:588 eelf_x86_64_fbsd.c:588
-#: eelf_x86_64_sol2.c:719
+#: eelf32_x86_64.c:5503 eelf_i386.c:5119 eelf_i386_fbsd.c:594
+#: eelf_x86_64.c:5506 eelf_x86_64_cloudabi.c:603 eelf_x86_64_fbsd.c:603
+#: eelf_x86_64_sol2.c:734
 #, c-format
 msgid ""
 "  -z shstk                    Generate GNU_PROPERTY_X86_FEATURE_1_SHSTK\n"
 msgstr ""
 
-#: eelf32_x86_64.c:5490 eelf_i386.c:5106 eelf_i386_fbsd.c:581
-#: eelf_x86_64.c:5493 eelf_x86_64_cloudabi.c:590 eelf_x86_64_fbsd.c:590
-#: eelf_x86_64_sol2.c:721
+#: eelf32_x86_64.c:5505 eelf_i386.c:5121 eelf_i386_fbsd.c:596
+#: eelf_x86_64.c:5508 eelf_x86_64_cloudabi.c:605 eelf_x86_64_fbsd.c:605
+#: eelf_x86_64_sol2.c:736
 #, c-format
 msgid ""
 "  -z cet-report=[none|warning|error] (default: none)\n"
 "                              Report missing IBT and SHSTK properties\n"
 msgstr ""
 
-#: eelf32b4300.c:685 eelf32bmip.c:685 eelf32bmipn32.c:699 eelf32bsmip.c:699
-#: eelf32btsmip.c:685 eelf32btsmip_fbsd.c:685 eelf32btsmipn32.c:685
-#: eelf32btsmipn32_fbsd.c:685 eelf32ebmip.c:685 eelf32ebmipvxworks.c:724
-#: eelf32elmip.c:685 eelf32elmipvxworks.c:724 eelf32l4300.c:685
-#: eelf32lmip.c:685 eelf32lr5900.c:548 eelf32lr5900n32.c:547 eelf32lsmip.c:685
-#: eelf32ltsmip.c:685 eelf32ltsmip_fbsd.c:685 eelf32ltsmipn32.c:685
-#: eelf32ltsmipn32_fbsd.c:685 eelf32mipswindiss.c:522 eelf64bmip.c:699
-#: eelf64btsmip.c:685 eelf64btsmip_fbsd.c:685 eelf64ltsmip.c:685
-#: eelf64ltsmip_fbsd.c:685
+#: eelf32_x86_64.c:5509 eelf_i386.c:5125 eelf_i386_fbsd.c:600
+#: eelf_x86_64.c:5512 eelf_x86_64_cloudabi.c:609 eelf_x86_64_fbsd.c:609
+#: eelf_x86_64_sol2.c:740
 #, c-format
 msgid ""
-"  --insn32                    Only generate 32-bit microMIPS instructions\n"
+"  -z x86-64-{baseline|v[234]} Mark x86-64-{baseline|v[234]} ISA level as "
+"needed\n"
 msgstr ""
 
-#: eelf32b4300.c:688 eelf32bmip.c:688 eelf32bmipn32.c:702 eelf32bsmip.c:702
-#: eelf32btsmip.c:688 eelf32btsmip_fbsd.c:688 eelf32btsmipn32.c:688
-#: eelf32btsmipn32_fbsd.c:688 eelf32ebmip.c:688 eelf32ebmipvxworks.c:727
-#: eelf32elmip.c:688 eelf32elmipvxworks.c:727 eelf32l4300.c:688
-#: eelf32lmip.c:688 eelf32lr5900.c:551 eelf32lr5900n32.c:550 eelf32lsmip.c:688
-#: eelf32ltsmip.c:688 eelf32ltsmip_fbsd.c:688 eelf32ltsmipn32.c:688
-#: eelf32ltsmipn32_fbsd.c:688 eelf32mipswindiss.c:525 eelf64bmip.c:702
-#: eelf64btsmip.c:688 eelf64btsmip_fbsd.c:688 eelf64ltsmip.c:688
-#: eelf64ltsmip_fbsd.c:688
+#: eelf32b4300.c:689 eelf32bmip.c:689 eelf32bmipn32.c:703 eelf32bsmip.c:703
+#: eelf32btsmip.c:689 eelf32btsmip_fbsd.c:689 eelf32btsmipn32.c:689
+#: eelf32btsmipn32_fbsd.c:689 eelf32ebmip.c:689 eelf32ebmipvxworks.c:728
+#: eelf32elmip.c:689 eelf32elmipvxworks.c:728 eelf32l4300.c:689
+#: eelf32lmip.c:689 eelf32lr5900.c:552 eelf32lr5900n32.c:551 eelf32lsmip.c:689
+#: eelf32ltsmip.c:689 eelf32ltsmip_fbsd.c:689 eelf32ltsmipn32.c:689
+#: eelf32ltsmipn32_fbsd.c:689 eelf32mipswindiss.c:526 eelf64bmip.c:703
+#: eelf64btsmip.c:689 eelf64btsmip_fbsd.c:689 eelf64ltsmip.c:689
+#: eelf64ltsmip_fbsd.c:689
 #, c-format
-msgid "  --no-insn32                 Generate all microMIPS instructions\n"
+msgid ""
+"  --insn32                    Only generate 32-bit microMIPS instructions\n"
 msgstr ""
 
-#: eelf32b4300.c:691 eelf32bmip.c:691 eelf32bmipn32.c:705 eelf32bsmip.c:705
-#: eelf32btsmip.c:691 eelf32btsmip_fbsd.c:691 eelf32btsmipn32.c:691
-#: eelf32btsmipn32_fbsd.c:691 eelf32ebmip.c:691 eelf32ebmipvxworks.c:730
-#: eelf32elmip.c:691 eelf32elmipvxworks.c:730 eelf32l4300.c:691
-#: eelf32lmip.c:691 eelf32lr5900.c:554 eelf32lr5900n32.c:553 eelf32lsmip.c:691
-#: eelf32ltsmip.c:691 eelf32ltsmip_fbsd.c:691 eelf32ltsmipn32.c:691
-#: eelf32ltsmipn32_fbsd.c:691 eelf32mipswindiss.c:528 eelf64bmip.c:705
-#: eelf64btsmip.c:691 eelf64btsmip_fbsd.c:691 eelf64ltsmip.c:691
-#: eelf64ltsmip_fbsd.c:691
+#: eelf32b4300.c:692 eelf32bmip.c:692 eelf32bmipn32.c:706 eelf32bsmip.c:706
+#: eelf32btsmip.c:692 eelf32btsmip_fbsd.c:692 eelf32btsmipn32.c:692
+#: eelf32btsmipn32_fbsd.c:692 eelf32ebmip.c:692 eelf32ebmipvxworks.c:731
+#: eelf32elmip.c:692 eelf32elmipvxworks.c:731 eelf32l4300.c:692
+#: eelf32lmip.c:692 eelf32lr5900.c:555 eelf32lr5900n32.c:554 eelf32lsmip.c:692
+#: eelf32ltsmip.c:692 eelf32ltsmip_fbsd.c:692 eelf32ltsmipn32.c:692
+#: eelf32ltsmipn32_fbsd.c:692 eelf32mipswindiss.c:529 eelf64bmip.c:706
+#: eelf64btsmip.c:692 eelf64btsmip_fbsd.c:692 eelf64ltsmip.c:692
+#: eelf64ltsmip_fbsd.c:692
 #, c-format
-msgid ""
-"  --ignore-branch-isa         Accept invalid branch relocations requiring\n"
-"                              an ISA mode switch\n"
+msgid "  --no-insn32                 Generate all microMIPS instructions\n"
 msgstr ""
 
 #: eelf32b4300.c:695 eelf32bmip.c:695 eelf32bmipn32.c:709 eelf32bsmip.c:709
@@ -4908,7 +5012,7 @@ msgstr ""
 #: eelf64ltsmip_fbsd.c:695
 #, c-format
 msgid ""
-"  --no-ignore-branch-isa      Reject invalid branch relocations requiring\n"
+"  --ignore-branch-isa         Accept invalid branch relocations requiring\n"
 "                              an ISA mode switch\n"
 msgstr ""
 
@@ -4923,30 +5027,45 @@ msgstr ""
 #: eelf64ltsmip_fbsd.c:699
 #, c-format
 msgid ""
+"  --no-ignore-branch-isa      Reject invalid branch relocations requiring\n"
+"                              an ISA mode switch\n"
+msgstr ""
+
+#: eelf32b4300.c:703 eelf32bmip.c:703 eelf32bmipn32.c:717 eelf32bsmip.c:717
+#: eelf32btsmip.c:703 eelf32btsmip_fbsd.c:703 eelf32btsmipn32.c:703
+#: eelf32btsmipn32_fbsd.c:703 eelf32ebmip.c:703 eelf32ebmipvxworks.c:742
+#: eelf32elmip.c:703 eelf32elmipvxworks.c:742 eelf32l4300.c:703
+#: eelf32lmip.c:703 eelf32lr5900.c:566 eelf32lr5900n32.c:565 eelf32lsmip.c:703
+#: eelf32ltsmip.c:703 eelf32ltsmip_fbsd.c:703 eelf32ltsmipn32.c:703
+#: eelf32ltsmipn32_fbsd.c:703 eelf32mipswindiss.c:540 eelf64bmip.c:717
+#: eelf64btsmip.c:703 eelf64btsmip_fbsd.c:703 eelf64ltsmip.c:703
+#: eelf64ltsmip_fbsd.c:703
+#, c-format
+msgid ""
 "  --compact-branches          Generate compact branches/jumps for MIPS R6\n"
 msgstr ""
 
-#: eelf32b4300.c:702 eelf32bmip.c:702 eelf32bmipn32.c:716 eelf32bsmip.c:716
-#: eelf32btsmip.c:702 eelf32btsmip_fbsd.c:702 eelf32btsmipn32.c:702
-#: eelf32btsmipn32_fbsd.c:702 eelf32ebmip.c:702 eelf32ebmipvxworks.c:741
-#: eelf32elmip.c:702 eelf32elmipvxworks.c:741 eelf32l4300.c:702
-#: eelf32lmip.c:702 eelf32lr5900.c:565 eelf32lr5900n32.c:564 eelf32lsmip.c:702
-#: eelf32ltsmip.c:702 eelf32ltsmip_fbsd.c:702 eelf32ltsmipn32.c:702
-#: eelf32ltsmipn32_fbsd.c:702 eelf32mipswindiss.c:539 eelf64bmip.c:716
-#: eelf64btsmip.c:702 eelf64btsmip_fbsd.c:702 eelf64ltsmip.c:702
-#: eelf64ltsmip_fbsd.c:702
+#: eelf32b4300.c:706 eelf32bmip.c:706 eelf32bmipn32.c:720 eelf32bsmip.c:720
+#: eelf32btsmip.c:706 eelf32btsmip_fbsd.c:706 eelf32btsmipn32.c:706
+#: eelf32btsmipn32_fbsd.c:706 eelf32ebmip.c:706 eelf32ebmipvxworks.c:745
+#: eelf32elmip.c:706 eelf32elmipvxworks.c:745 eelf32l4300.c:706
+#: eelf32lmip.c:706 eelf32lr5900.c:569 eelf32lr5900n32.c:568 eelf32lsmip.c:706
+#: eelf32ltsmip.c:706 eelf32ltsmip_fbsd.c:706 eelf32ltsmipn32.c:706
+#: eelf32ltsmipn32_fbsd.c:706 eelf32mipswindiss.c:543 eelf64bmip.c:720
+#: eelf64btsmip.c:706 eelf64btsmip_fbsd.c:706 eelf64ltsmip.c:706
+#: eelf64ltsmip_fbsd.c:706
 #, c-format
 msgid ""
 "  --no-compact-branches       Generate delay slot branches/jumps for MIPS "
 "R6\n"
 msgstr ""
 
-#: eelf32bfin.c:441 eelf32bfinfd.c:466
+#: eelf32bfin.c:445 eelf32bfinfd.c:470
 #, c-format
 msgid "  --code-in-l1                Put code in L1\n"
 msgstr ""
 
-#: eelf32bfin.c:443 eelf32bfinfd.c:468
+#: eelf32bfin.c:447 eelf32bfinfd.c:472
 #, c-format
 msgid "  --data-in-l1                Put data in L1\n"
 msgstr ""
@@ -4974,178 +5093,180 @@ msgstr ""
 
 #: eelf32lppc.c:96 eelf32lppclinux.c:96 eelf32lppcnto.c:96 eelf32lppcsim.c:96
 #: eelf32ppc.c:96 eelf32ppc_fbsd.c:96 eelf32ppclinux.c:96 eelf32ppcnto.c:96
-#: eelf32ppcsim.c:96 eelf32ppcwindiss.c:96 eppclynx.c:96
+#: eelf32ppcsim.c:96 eelf32ppcwindiss.c:96
 msgid "%X%P: select_plt_layout problem %E\n"
 msgstr ""
 
 #: eelf32lppc.c:160 eelf32lppclinux.c:160 eelf32lppcnto.c:160
 #: eelf32lppcsim.c:160 eelf32ppc.c:160 eelf32ppc_fbsd.c:160
 #: eelf32ppclinux.c:160 eelf32ppcnto.c:160 eelf32ppcsim.c:160
-#: eelf32ppcvxworks.c:105 eelf32ppcwindiss.c:160 eelf64lppc.c:319
-#: eelf64ppc.c:319 eelf64ppc_fbsd.c:319 eppclynx.c:160
+#: eelf32ppcvxworks.c:105 eelf32ppcwindiss.c:160 eelf64lppc.c:321
+#: eelf64lppc_fbsd.c:321 eelf64ppc.c:321 eelf64ppc_fbsd.c:321
 msgid "%X%P: inline PLT: %E\n"
 msgstr ""
 
 #: eelf32lppc.c:168 eelf32lppclinux.c:168 eelf32lppcnto.c:168
 #: eelf32lppcsim.c:168 eelf32ppc.c:168 eelf32ppc_fbsd.c:168
 #: eelf32ppclinux.c:168 eelf32ppcnto.c:168 eelf32ppcsim.c:168
-#: eelf32ppcvxworks.c:113 eelf32ppcwindiss.c:168 eelf64lppc.c:330
-#: eelf64ppc.c:330 eelf64ppc_fbsd.c:330 eppclynx.c:168
+#: eelf32ppcvxworks.c:113 eelf32ppcwindiss.c:168 eelf64lppc.c:325
+#: eelf64lppc.c:344 eelf64lppc_fbsd.c:325 eelf64lppc_fbsd.c:344 eelf64ppc.c:325
+#: eelf64ppc.c:344 eelf64ppc_fbsd.c:325 eelf64ppc_fbsd.c:344
 msgid "%X%P: TLS problem %E\n"
 msgstr ""
 
 #: eelf32lppc.c:255 eelf32lppclinux.c:255 eelf32lppcnto.c:255
 #: eelf32lppcsim.c:255 eelf32ppc.c:255 eelf32ppc_fbsd.c:255
 #: eelf32ppclinux.c:255 eelf32ppcnto.c:255 eelf32ppcsim.c:255
-#: eelf32ppcvxworks.c:200 eelf32ppcwindiss.c:255 eppclynx.c:255
+#: eelf32ppcvxworks.c:200 eelf32ppcwindiss.c:255
 msgid "%X%P: ppc_finish_symbols problem %E\n"
 msgstr ""
 
-#: eelf32lppc.c:743 eelf32lppclinux.c:743 eelf32lppcnto.c:743
-#: eelf32lppcsim.c:743 eelf32ppc.c:743 eelf32ppc_fbsd.c:743
-#: eelf32ppclinux.c:743 eelf32ppcnto.c:743 eelf32ppcsim.c:743
-#: eelf32ppcvxworks.c:717 eelf32ppcwindiss.c:743 eelf64lppc.c:1175
-#: eelf64ppc.c:1175 eelf64ppc_fbsd.c:1175 eppclynx.c:743
+#: eelf32lppc.c:747 eelf32lppclinux.c:747 eelf32lppcnto.c:747
+#: eelf32lppcsim.c:747 eelf32ppc.c:747 eelf32ppc_fbsd.c:747
+#: eelf32ppclinux.c:747 eelf32ppcnto.c:747 eelf32ppcsim.c:747
+#: eelf32ppcvxworks.c:721 eelf32ppcwindiss.c:747 eelf64lppc.c:1197
+#: eelf64lppc_fbsd.c:1197 eelf64ppc.c:1197 eelf64ppc_fbsd.c:1197
 msgid "%F%P: invalid --plt-align `%s'\n"
 msgstr ""
 
-#: eelf32lppc.c:776 eelf32lppclinux.c:776 eelf32lppcnto.c:776
-#: eelf32lppcsim.c:776 eelf32ppc.c:776 eelf32ppc_fbsd.c:776
-#: eelf32ppclinux.c:776 eelf32ppcnto.c:776 eelf32ppcsim.c:776
-#: eelf32ppcvxworks.c:750 eelf32ppcwindiss.c:776 eppclynx.c:776
+#: eelf32lppc.c:780 eelf32lppclinux.c:780 eelf32lppcnto.c:780
+#: eelf32lppcsim.c:780 eelf32ppc.c:780 eelf32ppc_fbsd.c:780
+#: eelf32ppclinux.c:780 eelf32ppcnto.c:780 eelf32ppcsim.c:780
+#: eelf32ppcvxworks.c:754 eelf32ppcwindiss.c:780
 msgid "%F%P: invalid pagesize `%s'\n"
 msgstr ""
 
-#: eelf32lppc.c:806 eelf32lppclinux.c:806 eelf32lppcnto.c:806
-#: eelf32lppcsim.c:806 eelf32ppc.c:806 eelf32ppc_fbsd.c:806
-#: eelf32ppclinux.c:806 eelf32ppcnto.c:806 eelf32ppcsim.c:806
-#: eelf32ppcvxworks.c:784 eelf32ppcwindiss.c:806 eelf64lppc.c:1320
-#: eelf64ppc.c:1320 eelf64ppc_fbsd.c:1320 eppclynx.c:806
+#: eelf32lppc.c:810 eelf32lppclinux.c:810 eelf32lppcnto.c:810
+#: eelf32lppcsim.c:810 eelf32ppc.c:810 eelf32ppc_fbsd.c:810
+#: eelf32ppclinux.c:810 eelf32ppcnto.c:810 eelf32ppcsim.c:810
+#: eelf32ppcvxworks.c:788 eelf32ppcwindiss.c:810 eelf64lppc.c:1377
+#: eelf64lppc_fbsd.c:1377 eelf64ppc.c:1377 eelf64ppc_fbsd.c:1377
 #, c-format
 msgid "  --emit-stub-syms            Label linker stubs with a symbol\n"
 msgstr ""
 
-#: eelf32lppc.c:809 eelf32lppclinux.c:809 eelf32lppcnto.c:809
-#: eelf32lppcsim.c:809 eelf32ppc.c:809 eelf32ppc_fbsd.c:809
-#: eelf32ppclinux.c:809 eelf32ppcnto.c:809 eelf32ppcsim.c:809
-#: eelf32ppcvxworks.c:787 eelf32ppcwindiss.c:809 eelf64lppc.c:1323
-#: eelf64ppc.c:1323 eelf64ppc_fbsd.c:1323 eppclynx.c:809
+#: eelf32lppc.c:813 eelf32lppclinux.c:813 eelf32lppcnto.c:813
+#: eelf32lppcsim.c:813 eelf32ppc.c:813 eelf32ppc_fbsd.c:813
+#: eelf32ppclinux.c:813 eelf32ppcnto.c:813 eelf32ppcsim.c:813
+#: eelf32ppcvxworks.c:791 eelf32ppcwindiss.c:813 eelf64lppc.c:1380
+#: eelf64lppc_fbsd.c:1380 eelf64ppc.c:1380 eelf64ppc_fbsd.c:1380
 #, c-format
 msgid "  --no-emit-stub-syms         Don't label linker stubs with a symbol\n"
 msgstr ""
 
-#: eelf32lppc.c:812 eelf32lppclinux.c:812 eelf32lppcnto.c:812
-#: eelf32lppcsim.c:812 eelf32ppc.c:812 eelf32ppc_fbsd.c:812
-#: eelf32ppclinux.c:812 eelf32ppcnto.c:812 eelf32ppcsim.c:812
-#: eelf32ppcvxworks.c:790 eelf32ppcwindiss.c:812 eelf64lppc.c:1343
-#: eelf64ppc.c:1343 eelf64ppc_fbsd.c:1343 eppclynx.c:812
+#: eelf32lppc.c:816 eelf32lppclinux.c:816 eelf32lppcnto.c:816
+#: eelf32lppcsim.c:816 eelf32ppc.c:816 eelf32ppc_fbsd.c:816
+#: eelf32ppclinux.c:816 eelf32ppcnto.c:816 eelf32ppcsim.c:816
+#: eelf32ppcvxworks.c:794 eelf32ppcwindiss.c:816 eelf64lppc.c:1400
+#: eelf64lppc_fbsd.c:1400 eelf64ppc.c:1400 eelf64ppc_fbsd.c:1400
 #, c-format
 msgid "  --no-tls-optimize           Don't try to optimize TLS accesses\n"
 msgstr ""
 
-#: eelf32lppc.c:815 eelf32lppclinux.c:815 eelf32lppcnto.c:815
-#: eelf32lppcsim.c:815 eelf32ppc.c:815 eelf32ppc_fbsd.c:815
-#: eelf32ppclinux.c:815 eelf32ppcnto.c:815 eelf32ppcsim.c:815
-#: eelf32ppcvxworks.c:793 eelf32ppcwindiss.c:815 eelf64lppc.c:1349
-#: eelf64ppc.c:1349 eelf64ppc_fbsd.c:1349 eppclynx.c:815
+#: eelf32lppc.c:819 eelf32lppclinux.c:819 eelf32lppcnto.c:819
+#: eelf32lppcsim.c:819 eelf32ppc.c:819 eelf32ppc_fbsd.c:819
+#: eelf32ppclinux.c:819 eelf32ppcnto.c:819 eelf32ppcsim.c:819
+#: eelf32ppcvxworks.c:797 eelf32ppcwindiss.c:819 eelf64lppc.c:1406
+#: eelf64lppc_fbsd.c:1406 eelf64ppc.c:1406 eelf64ppc_fbsd.c:1406
 #, c-format
 msgid "  --no-tls-get-addr-optimize  Don't use a special __tls_get_addr call\n"
 msgstr ""
 
-#: eelf32lppc.c:818 eelf32lppclinux.c:818 eelf32lppcnto.c:818
-#: eelf32lppcsim.c:818 eelf32ppc.c:818 eelf32ppc_fbsd.c:818
-#: eelf32ppclinux.c:818 eelf32ppcnto.c:818 eelf32ppcsim.c:818
-#: eelf32ppcwindiss.c:818 eppclynx.c:818
+#: eelf32lppc.c:822 eelf32lppclinux.c:822 eelf32lppcnto.c:822
+#: eelf32lppcsim.c:822 eelf32ppc.c:822 eelf32ppc_fbsd.c:822
+#: eelf32ppclinux.c:822 eelf32ppcnto.c:822 eelf32ppcsim.c:822
+#: eelf32ppcwindiss.c:822
 #, c-format
 msgid "  --secure-plt                Use new-style PLT if possible\n"
 msgstr ""
 
-#: eelf32lppc.c:821 eelf32lppclinux.c:821 eelf32lppcnto.c:821
-#: eelf32lppcsim.c:821 eelf32ppc.c:821 eelf32ppc_fbsd.c:821
-#: eelf32ppclinux.c:821 eelf32ppcnto.c:821 eelf32ppcsim.c:821
-#: eelf32ppcwindiss.c:821 eppclynx.c:821
+#: eelf32lppc.c:825 eelf32lppclinux.c:825 eelf32lppcnto.c:825
+#: eelf32lppcsim.c:825 eelf32ppc.c:825 eelf32ppc_fbsd.c:825
+#: eelf32ppclinux.c:825 eelf32ppcnto.c:825 eelf32ppcsim.c:825
+#: eelf32ppcwindiss.c:825
 #, c-format
 msgid "  --bss-plt                   Force old-style BSS PLT\n"
 msgstr ""
 
-#: eelf32lppc.c:824 eelf32lppclinux.c:824 eelf32lppcnto.c:824
-#: eelf32lppcsim.c:824 eelf32ppc.c:824 eelf32ppc_fbsd.c:824
-#: eelf32ppclinux.c:824 eelf32ppcnto.c:824 eelf32ppcsim.c:824
-#: eelf32ppcwindiss.c:824 eppclynx.c:824
+#: eelf32lppc.c:828 eelf32lppclinux.c:828 eelf32lppcnto.c:828
+#: eelf32lppcsim.c:828 eelf32ppc.c:828 eelf32ppc_fbsd.c:828
+#: eelf32ppclinux.c:828 eelf32ppcnto.c:828 eelf32ppcsim.c:828
+#: eelf32ppcwindiss.c:828
 #, c-format
 msgid "  --plt-align                 Align PLT call stubs to fit cache lines\n"
 msgstr ""
 
-#: eelf32lppc.c:827 eelf32lppclinux.c:827 eelf32lppcnto.c:827
-#: eelf32lppcsim.c:827 eelf32ppc.c:827 eelf32ppc_fbsd.c:827
-#: eelf32ppclinux.c:827 eelf32ppcnto.c:827 eelf32ppcsim.c:827
-#: eelf32ppcwindiss.c:827 eelf64lppc.c:1311 eelf64ppc.c:1311
-#: eelf64ppc_fbsd.c:1311 eppclynx.c:827
+#: eelf32lppc.c:831 eelf32lppclinux.c:831 eelf32lppcnto.c:831
+#: eelf32lppcsim.c:831 eelf32ppc.c:831 eelf32ppc_fbsd.c:831
+#: eelf32ppclinux.c:831 eelf32ppcnto.c:831 eelf32ppcsim.c:831
+#: eelf32ppcwindiss.c:831 eelf64lppc.c:1359 eelf64lppc_fbsd.c:1359
+#: eelf64ppc.c:1359 eelf64ppc_fbsd.c:1359
 #, c-format
 msgid "  --no-plt-align              Dont't align individual PLT call stubs\n"
 msgstr ""
 
-#: eelf32lppc.c:830 eelf32lppclinux.c:830 eelf32lppcnto.c:830
-#: eelf32lppcsim.c:830 eelf32ppc.c:830 eelf32ppc_fbsd.c:830
-#: eelf32ppclinux.c:830 eelf32ppcnto.c:830 eelf32ppcsim.c:830
-#: eelf32ppcwindiss.c:830 eelf64lppc.c:1361 eelf64ppc.c:1361
-#: eelf64ppc_fbsd.c:1361 eppclynx.c:830
+#: eelf32lppc.c:834 eelf32lppclinux.c:834 eelf32lppcnto.c:834
+#: eelf32lppcsim.c:834 eelf32ppc.c:834 eelf32ppc_fbsd.c:834
+#: eelf32ppclinux.c:834 eelf32ppcnto.c:834 eelf32ppcsim.c:834
+#: eelf32ppcwindiss.c:834 eelf64lppc.c:1418 eelf64lppc_fbsd.c:1418
+#: eelf64ppc.c:1418 eelf64ppc_fbsd.c:1418
 #, c-format
 msgid ""
 "  --no-inline-optimize        Don't convert inline PLT to direct calls\n"
 msgstr ""
 
-#: eelf32lppc.c:833 eelf32lppclinux.c:833 eelf32lppcnto.c:833
-#: eelf32lppcsim.c:833 eelf32ppc.c:833 eelf32ppc_fbsd.c:833
-#: eelf32ppclinux.c:833 eelf32ppcnto.c:833 eelf32ppcsim.c:833
-#: eelf32ppcwindiss.c:833 eppclynx.c:833
+#: eelf32lppc.c:837 eelf32lppclinux.c:837 eelf32lppcnto.c:837
+#: eelf32lppcsim.c:837 eelf32ppc.c:837 eelf32ppc_fbsd.c:837
+#: eelf32ppclinux.c:837 eelf32ppcnto.c:837 eelf32ppcsim.c:837
+#: eelf32ppcwindiss.c:837
 #, c-format
 msgid "  --sdata-got                 Force GOT location just before .sdata\n"
 msgstr ""
 
-#: eelf32lppc.c:836 eelf32lppclinux.c:836 eelf32lppcnto.c:836
-#: eelf32lppcsim.c:836 eelf32ppc.c:836 eelf32ppc_fbsd.c:836
-#: eelf32ppclinux.c:836 eelf32ppcnto.c:836 eelf32ppcsim.c:836
-#: eelf32ppcvxworks.c:796 eelf32ppcwindiss.c:836 eppclynx.c:836
+#: eelf32lppc.c:840 eelf32lppclinux.c:840 eelf32lppcnto.c:840
+#: eelf32lppcsim.c:840 eelf32ppc.c:840 eelf32ppc_fbsd.c:840
+#: eelf32ppclinux.c:840 eelf32ppcnto.c:840 eelf32ppcsim.c:840
+#: eelf32ppcvxworks.c:800 eelf32ppcwindiss.c:840
 #, c-format
 msgid ""
 "  --ppc476-workaround [=pagesize]\n"
 "                              Avoid a cache bug on ppc476\n"
 msgstr ""
 
-#: eelf32lppc.c:840 eelf32lppclinux.c:840 eelf32lppcnto.c:840
-#: eelf32lppcsim.c:840 eelf32ppc.c:840 eelf32ppc_fbsd.c:840
-#: eelf32ppclinux.c:840 eelf32ppcnto.c:840 eelf32ppcsim.c:840
-#: eelf32ppcvxworks.c:800 eelf32ppcwindiss.c:840 eppclynx.c:840
+#: eelf32lppc.c:844 eelf32lppclinux.c:844 eelf32lppcnto.c:844
+#: eelf32lppcsim.c:844 eelf32ppc.c:844 eelf32ppc_fbsd.c:844
+#: eelf32ppclinux.c:844 eelf32ppcnto.c:844 eelf32ppcsim.c:844
+#: eelf32ppcvxworks.c:804 eelf32ppcwindiss.c:844
 #, c-format
 msgid "  --no-ppc476-workaround      Disable workaround\n"
 msgstr ""
 
-#: eelf32lppc.c:843 eelf32lppclinux.c:843 eelf32lppcnto.c:843
-#: eelf32lppcsim.c:843 eelf32ppc.c:843 eelf32ppc_fbsd.c:843
-#: eelf32ppclinux.c:843 eelf32ppcnto.c:843 eelf32ppcsim.c:843
-#: eelf32ppcvxworks.c:803 eelf32ppcwindiss.c:843 eppclynx.c:843
+#: eelf32lppc.c:847 eelf32lppclinux.c:847 eelf32lppcnto.c:847
+#: eelf32lppcsim.c:847 eelf32ppc.c:847 eelf32ppc_fbsd.c:847
+#: eelf32ppclinux.c:847 eelf32ppcnto.c:847 eelf32ppcsim.c:847
+#: eelf32ppcvxworks.c:807 eelf32ppcwindiss.c:847
 #, c-format
 msgid "  --no-pic-fixup              Don't edit non-pic to pic\n"
 msgstr ""
 
-#: eelf32lppc.c:846 eelf32lppclinux.c:846 eelf32lppcnto.c:846
-#: eelf32lppcsim.c:846 eelf32ppc.c:846 eelf32ppc_fbsd.c:846
-#: eelf32ppclinux.c:846 eelf32ppcnto.c:846 eelf32ppcsim.c:846
-#: eelf32ppcvxworks.c:806 eelf32ppcwindiss.c:846 eppclynx.c:846
+#: eelf32lppc.c:850 eelf32lppclinux.c:850 eelf32lppcnto.c:850
+#: eelf32lppcsim.c:850 eelf32ppc.c:850 eelf32ppc_fbsd.c:850
+#: eelf32ppclinux.c:850 eelf32ppcnto.c:850 eelf32ppcsim.c:850
+#: eelf32ppcvxworks.c:810 eelf32ppcwindiss.c:850
 #, c-format
 msgid ""
 "  --vle-reloc-fixup           Correct old object file 16A/16D relocation\n"
 msgstr ""
 
-#: eelf32mcore.c:295
+#: eelf32mcore.c:299
 #, c-format
 msgid ""
 "  --base_file <basefile>      Generate a base file for relocatable DLLs\n"
 msgstr ""
 
-#: eelf32metag.c:704 eelf64lppc.c:1286 eelf64ppc.c:1286 eelf64ppc_fbsd.c:1286
-#: ehppaelf.c:568 ehppalinux.c:746 ehppanbsd.c:746 ehppaobsd.c:746
+#: eelf32metag.c:708 eelf64lppc.c:1334 eelf64lppc_fbsd.c:1334 eelf64ppc.c:1334
+#: eelf64ppc_fbsd.c:1334 ehppaelf.c:572 ehppalinux.c:750 ehppanbsd.c:750
+#: ehppaobsd.c:750
 #, c-format
 msgid ""
 "  --stub-group-size=N         Maximum size of a group of input sections "
@@ -5162,28 +5283,28 @@ msgid ""
 "                                choose suitable defaults.\n"
 msgstr ""
 
-#: eelf32rx.c:327
+#: eelf32rx.c:331
 #, c-format
 msgid ""
 "  --no-flag-mismatch-warnings Don't warn about objects with incompatible\n"
 "                                endian or dsp settings\n"
 msgstr ""
 
-#: eelf32rx.c:329
+#: eelf32rx.c:333
 #, c-format
 msgid ""
 "  --flag-mismatch-warnings    Warn about objects with incompatible\n"
 "                                endian, dsp or ABI settings\n"
 msgstr ""
 
-#: eelf32rx.c:331
+#: eelf32rx.c:335
 #, c-format
 msgid ""
 "  --ignore-lma                Ignore segment LMAs [default]\n"
 "                                (for Renesas Tools compatibility)\n"
 msgstr ""
 
-#: eelf32rx.c:333
+#: eelf32rx.c:337
 #, c-format
 msgid "  --no-ignore-lma             Don't ignore segment LMAs\n"
 msgstr ""
@@ -5246,20 +5367,20 @@ msgstr ""
 msgid "%F%P: Relaxation not supported with --enable-non-contiguous-regions.\n"
 msgstr ""
 
-#: eelf32xtensa.c:2383
+#: eelf32xtensa.c:2387
 #, c-format
 msgid ""
 "  --size-opt                  When relaxing longcalls, prefer size\n"
 "                                optimization over branch target alignment\n"
 msgstr ""
 
-#: eelf32xtensa.c:2386
+#: eelf32xtensa.c:2390
 #, c-format
 msgid ""
 "  --abi-windowed              Choose windowed ABI for the output object\n"
 msgstr ""
 
-#: eelf32xtensa.c:2388
+#: eelf32xtensa.c:2392
 #, c-format
 msgid "  --abi-call0                 Choose call0 ABI for the output object\n"
 msgstr ""
@@ -5268,23 +5389,24 @@ msgstr ""
 msgid "%F%P: %pB: Instruction sets of object files incompatible\n"
 msgstr ""
 
-#: eelf64_ia64.c:477 eelf64_ia64_fbsd.c:477
+#: eelf64_ia64.c:481 eelf64_ia64_fbsd.c:481
 #, c-format
 msgid ""
 "  --itanium                   Generate code for Intel Itanium processor\n"
 msgstr ""
 
-#: eelf64_s390.c:63 eelf64lppc.c:127 eelf64ppc.c:127 eelf64ppc_fbsd.c:127
+#: eelf64_s390.c:63 eelf64lppc.c:129 eelf64lppc_fbsd.c:129 eelf64ppc.c:129
+#: eelf64ppc_fbsd.c:129
 msgid "%F%P: can not init BFD: %E\n"
 msgstr ""
 
-#: eelf64_s390.c:520
+#: eelf64_s390.c:524
 #, c-format
 msgid ""
 "  --s390-pgste                Tell the kernel to allocate 4k page tables\n"
 msgstr ""
 
-#: eelf64alpha.c:549 eelf64alpha_fbsd.c:549 eelf64alpha_nbsd.c:549
+#: eelf64alpha.c:553 eelf64alpha_fbsd.c:553 eelf64alpha_nbsd.c:553
 #, c-format
 msgid ""
 "  --taso                      Load executable in the lower 31-bit "
@@ -5292,68 +5414,100 @@ msgid ""
 "                                virtual address range\n"
 msgstr ""
 
-#: eelf64alpha.c:552 eelf64alpha_fbsd.c:552 eelf64alpha_nbsd.c:552
+#: eelf64alpha.c:556 eelf64alpha_fbsd.c:556 eelf64alpha_nbsd.c:556
 #, c-format
 msgid "  --secureplt                 Force PLT in text segment\n"
 msgstr ""
 
-#: eelf64alpha.c:554 eelf64alpha_fbsd.c:554 eelf64alpha_nbsd.c:554
+#: eelf64alpha.c:558 eelf64alpha_fbsd.c:558 eelf64alpha_nbsd.c:558
 #, c-format
 msgid "  --no-secureplt              Force PLT in data segment\n"
 msgstr ""
 
-#: eelf64lppc.c:311 eelf64lppc.c:339 eelf64ppc.c:311 eelf64ppc.c:339
-#: eelf64ppc_fbsd.c:311 eelf64ppc_fbsd.c:339
+#: eelf64lppc.c:313 eelf64lppc.c:353 eelf64lppc_fbsd.c:313
+#: eelf64lppc_fbsd.c:353 eelf64ppc.c:313 eelf64ppc.c:353 eelf64ppc_fbsd.c:313
+#: eelf64ppc_fbsd.c:353
 msgid "%X%P: can not edit %s: %E\n"
 msgstr ""
 
-#: eelf64lppc.c:504 eelf64ppc.c:504 eelf64ppc_fbsd.c:504
+#: eelf64lppc.c:516 eelf64lppc_fbsd.c:516 eelf64ppc.c:516 eelf64ppc_fbsd.c:516
 msgid "%X%P: linker script separates .got and .toc\n"
 msgstr ""
 
-#: eelf64lppc.c:565 eelf64ppc.c:565 eelf64ppc_fbsd.c:565
+#: eelf64lppc.c:577 eelf64lppc_fbsd.c:577 eelf64ppc.c:577 eelf64ppc_fbsd.c:577
 msgid "%P: .init/.fini fragments use differing TOC pointers\n"
 msgstr ""
 
-#: eelf64lppc.c:1296 eelf64ppc.c:1296
+#: eelf64lppc.c:1226 eelf64lppc_fbsd.c:1226 eelf64ppc.c:1226
+#: eelf64ppc_fbsd.c:1226
+msgid "%F%P: invalid --power10-stubs argument `%s'\n"
+msgstr ""
+
+#: eelf64lppc.c:1344 eelf64ppc.c:1344
 #, c-format
 msgid ""
 "  --plt-static-chain          PLT call stubs should load r11 (default)\n"
 msgstr ""
 
-#: eelf64lppc.c:1299 eelf64ppc.c:1299
+#: eelf64lppc.c:1347 eelf64ppc.c:1347
 #, c-format
 msgid "  --no-plt-static-chain       PLT call stubs should not load r11\n"
 msgstr ""
 
-#: eelf64lppc.c:1302 eelf64ppc.c:1302 eelf64ppc_fbsd.c:1302
+#: eelf64lppc.c:1350 eelf64lppc_fbsd.c:1350 eelf64ppc.c:1350
+#: eelf64ppc_fbsd.c:1350
 #, c-format
 msgid "  --plt-thread-safe           PLT call stubs with load-load barrier\n"
 msgstr ""
 
-#: eelf64lppc.c:1305 eelf64ppc.c:1305 eelf64ppc_fbsd.c:1305
+#: eelf64lppc.c:1353 eelf64lppc_fbsd.c:1353 eelf64ppc.c:1353
+#: eelf64ppc_fbsd.c:1353
 #, c-format
 msgid "  --no-plt-thread-safe        PLT call stubs without barrier\n"
 msgstr ""
 
-#: eelf64lppc.c:1308 eelf64ppc.c:1308 eelf64ppc_fbsd.c:1308
+#: eelf64lppc.c:1356 eelf64lppc_fbsd.c:1356 eelf64ppc.c:1356
+#: eelf64ppc_fbsd.c:1356
 #, c-format
 msgid "  --plt-align [=<align>]      Align PLT call stubs to fit cache lines\n"
 msgstr ""
 
-#: eelf64lppc.c:1314 eelf64ppc.c:1314 eelf64ppc_fbsd.c:1314
+#: eelf64lppc.c:1362 eelf64lppc_fbsd.c:1362 eelf64ppc.c:1362
+#: eelf64ppc_fbsd.c:1362
 #, c-format
 msgid ""
 "  --plt-localentry            Optimize calls to ELFv2 localentry:0 "
 "functions\n"
 msgstr ""
 
-#: eelf64lppc.c:1317 eelf64ppc.c:1317 eelf64ppc_fbsd.c:1317
+#: eelf64lppc.c:1365 eelf64lppc_fbsd.c:1365 eelf64ppc.c:1365
+#: eelf64ppc_fbsd.c:1365
 #, c-format
 msgid "  --no-plt-localentry         Don't optimize ELFv2 calls\n"
 msgstr ""
 
-#: eelf64lppc.c:1326 eelf64ppc.c:1326 eelf64ppc_fbsd.c:1326
+#: eelf64lppc.c:1368 eelf64lppc_fbsd.c:1368 eelf64ppc.c:1368
+#: eelf64ppc_fbsd.c:1368
+#, c-format
+msgid ""
+"  --power10-stubs [=auto]     Use Power10 PLT call stubs (default auto)\n"
+msgstr ""
+
+#: eelf64lppc.c:1371 eelf64lppc_fbsd.c:1371 eelf64ppc.c:1371
+#: eelf64ppc_fbsd.c:1371
+#, c-format
+msgid ""
+"  --no-pcrel-optimize         Don't perform R_PPC64_PCREL_OPT optimization\n"
+msgstr ""
+
+#: eelf64lppc.c:1374 eelf64lppc_fbsd.c:1374 eelf64ppc.c:1374
+#: eelf64ppc_fbsd.c:1374
+#, c-format
+msgid "  --no-power10-stubs          Don't use Power10 PLT call stubs\n"
+msgstr ""
+
+#: eelf64lppc.c:1383 eelf64lppc_fbsd.c:1383 eelf64ppc.c:1383
+#: eelf64ppc_fbsd.c:1383
 #, c-format
 msgid ""
 "  --dotsyms                   For every version pattern \"foo\" in a "
@@ -5363,13 +5517,15 @@ msgid ""
 "                                descriptor symbols.  Defaults to on.\n"
 msgstr ""
 
-#: eelf64lppc.c:1332 eelf64ppc.c:1332 eelf64ppc_fbsd.c:1332
+#: eelf64lppc.c:1389 eelf64lppc_fbsd.c:1389 eelf64ppc.c:1389
+#: eelf64ppc_fbsd.c:1389
 #, c-format
 msgid ""
 "  --no-dotsyms                Don't do anything special in version scripts\n"
 msgstr ""
 
-#: eelf64lppc.c:1335 eelf64ppc.c:1335 eelf64ppc_fbsd.c:1335
+#: eelf64lppc.c:1392 eelf64lppc_fbsd.c:1392 eelf64ppc.c:1392
+#: eelf64ppc_fbsd.c:1392
 #, c-format
 msgid ""
 "  --save-restore-funcs        Provide register save and restore routines "
@@ -5378,56 +5534,76 @@ msgid ""
 "                                final link, off for ld -r.\n"
 msgstr ""
 
-#: eelf64lppc.c:1340 eelf64ppc.c:1340 eelf64ppc_fbsd.c:1340
+#: eelf64lppc.c:1397 eelf64lppc_fbsd.c:1397 eelf64ppc.c:1397
+#: eelf64ppc_fbsd.c:1397
 #, c-format
 msgid "  --no-save-restore-funcs     Don't provide these routines\n"
 msgstr ""
 
-#: eelf64lppc.c:1346 eelf64ppc.c:1346 eelf64ppc_fbsd.c:1346
+#: eelf64lppc.c:1403 eelf64lppc_fbsd.c:1403 eelf64ppc.c:1403
+#: eelf64ppc_fbsd.c:1403
 #, c-format
 msgid ""
 "  --tls-get-addr-optimize     Force use of special __tls_get_addr call\n"
 msgstr ""
 
-#: eelf64lppc.c:1352 eelf64ppc.c:1352 eelf64ppc_fbsd.c:1352
+#: eelf64lppc.c:1409 eelf64lppc_fbsd.c:1409 eelf64ppc.c:1409
+#: eelf64ppc_fbsd.c:1409
 #, c-format
 msgid "  --tls-get-addr-regsave      Force register save __tls_get_addr stub\n"
 msgstr ""
 
-#: eelf64lppc.c:1355 eelf64ppc.c:1355 eelf64ppc_fbsd.c:1355
+#: eelf64lppc.c:1412 eelf64lppc_fbsd.c:1412 eelf64ppc.c:1412
+#: eelf64ppc_fbsd.c:1412
 #, c-format
 msgid ""
 "  --no-tls-get-addr-regsave   Don't use register save __tls_get_addr stub\n"
 msgstr ""
 
-#: eelf64lppc.c:1358 eelf64ppc.c:1358 eelf64ppc_fbsd.c:1358
+#: eelf64lppc.c:1415 eelf64lppc_fbsd.c:1415 eelf64ppc.c:1415
+#: eelf64ppc_fbsd.c:1415
 #, c-format
 msgid "  --no-opd-optimize           Don't optimize the OPD section\n"
 msgstr ""
 
-#: eelf64lppc.c:1364 eelf64ppc.c:1364 eelf64ppc_fbsd.c:1364
+#: eelf64lppc.c:1421 eelf64lppc_fbsd.c:1421 eelf64ppc.c:1421
+#: eelf64ppc_fbsd.c:1421
 #, c-format
 msgid "  --no-toc-optimize           Don't optimize the TOC section\n"
 msgstr ""
 
-#: eelf64lppc.c:1367 eelf64ppc.c:1367 eelf64ppc_fbsd.c:1367
+#: eelf64lppc.c:1424 eelf64lppc_fbsd.c:1424 eelf64ppc.c:1424
+#: eelf64ppc_fbsd.c:1424
 #, c-format
 msgid ""
 "  --no-multi-toc              Disallow automatic multiple toc sections\n"
 msgstr ""
 
-#: eelf64lppc.c:1370 eelf64ppc.c:1370 eelf64ppc_fbsd.c:1370
+#: eelf64lppc.c:1427 eelf64lppc_fbsd.c:1427 eelf64ppc.c:1427
+#: eelf64ppc_fbsd.c:1427
 #, c-format
 msgid "  --no-toc-sort               Don't sort TOC and GOT sections\n"
 msgstr ""
 
-#: eelf64lppc.c:1373 eelf64ppc.c:1373 eelf64ppc_fbsd.c:1373
+#: eelf64lppc.c:1430 eelf64lppc_fbsd.c:1430 eelf64ppc.c:1430
+#: eelf64ppc_fbsd.c:1430
 #, c-format
 msgid ""
 "  --non-overlapping-opd       Canonicalize .opd, so that there are no\n"
 "                                overlapping .opd entries\n"
 msgstr ""
 
+#: eelf64lppc_fbsd.c:1344 eelf64ppc_fbsd.c:1344
+#, c-format
+msgid "  --plt-static-chain          PLT call stubs should load r111\n"
+msgstr ""
+
+#: eelf64lppc_fbsd.c:1347 eelf64ppc_fbsd.c:1347
+#, c-format
+msgid ""
+"  --no-plt-static-chain       PLT call stubs should not load r11 (default)\n"
+msgstr ""
+
 #: eelf64mmix.c:81 emmo.c:84
 msgid "%X%P: internal problems setting up section %s"
 msgstr ""
@@ -5441,19 +5617,8 @@ msgstr ""
 msgid "%F%P: can't finalize linker-allocated global registers\n"
 msgstr ""
 
-#: eelf64ppc_fbsd.c:1296
-#, c-format
-msgid "  --plt-static-chain          PLT call stubs should load r111\n"
-msgstr ""
-
-#: eelf64ppc_fbsd.c:1299
-#, c-format
-msgid ""
-"  --no-plt-static-chain       PLT call stubs should not load r11 (default)\n"
-msgstr ""
-
-#: eelf_x86_64.c:5497 eelf_x86_64_cloudabi.c:594 eelf_x86_64_fbsd.c:594
-#: eelf_x86_64_sol2.c:725
+#: eelf_x86_64.c:5515 eelf_x86_64_cloudabi.c:612 eelf_x86_64_fbsd.c:612
+#: eelf_x86_64_sol2.c:743
 #, c-format
 msgid ""
 "  -z bndplt                   Always generate BND prefix in PLT entries\n"
@@ -5463,7 +5628,7 @@ msgstr ""
 msgid "%X%P: can not set gp\n"
 msgstr ""
 
-#: ehppaelf.c:564 ehppalinux.c:742 ehppanbsd.c:742 ehppaobsd.c:742
+#: ehppaelf.c:568 ehppalinux.c:746 ehppanbsd.c:746 ehppaobsd.c:746
 #, c-format
 msgid ""
 "  --multi-subspace            Generate import and export stubs to support\n"
@@ -5478,29 +5643,29 @@ msgstr ""
 msgid "%F%P: %pB: can't read contents of section .idata: %E\n"
 msgstr ""
 
-#: ei386beos.c:680
+#: ei386beos.c:663
 msgid "%F%P: section %s has '$' as first character\n"
 msgstr ""
 
-#: ei386beos.c:712
+#: ei386beos.c:693
 msgid "%F%P: *(%s$) missing from linker script\n"
 msgstr ""
 
-#: ei386pep.c:377
+#: ei386pep.c:399
 #, c-format
 msgid ""
 "  --[no-]insert-timestamp            Use a real timestamp rather than zero "
 "(default)\n"
 msgstr ""
 
-#: ei386pep.c:388
+#: ei386pep.c:410
 #, c-format
 msgid ""
 "                                     export, place into import library "
 "instead\n"
 msgstr ""
 
-#: ei386pep.c:393
+#: ei386pep.c:415
 #, c-format
 msgid ""
 "  --compat-implib                    Create backward compatible import "
@@ -5508,7 +5673,7 @@ msgid ""
 "                                       create __imp_<SYMBOL> as well\n"
 msgstr ""
 
-#: ei386pep.c:394
+#: ei386pep.c:416
 #, c-format
 msgid ""
 "  --enable-auto-image-base           Automatically choose image base for "
@@ -5516,14 +5681,14 @@ msgid ""
 "                                       unless user specifies one\n"
 msgstr ""
 
-#: ei386pep.c:395
+#: ei386pep.c:417
 #, c-format
 msgid ""
 "  --disable-auto-image-base          Do not auto-choose image base "
 "(default)\n"
 msgstr ""
 
-#: ei386pep.c:399
+#: ei386pep.c:421
 #, c-format
 msgid ""
 "  --enable-runtime-pseudo-reloc      Work around auto-import limitations by\n"
@@ -5532,7 +5697,7 @@ msgid ""
 "                                       runtime\n"
 msgstr ""
 
-#: ei386pep.c:400
+#: ei386pep.c:422
 #, c-format
 msgid ""
 "  --disable-runtime-pseudo-reloc     Do not add runtime pseudo-relocations "
@@ -5540,7 +5705,7 @@ msgid ""
 "                                       auto-imported DATA\n"
 msgstr ""
 
-#: ei386pep.c:401
+#: ei386pep.c:423
 #, c-format
 msgid ""
 "  --enable-extra-pep-debug            Enable verbose debug output when "
@@ -5549,28 +5714,29 @@ msgid ""
 "import)\n"
 msgstr ""
 
-#: ei386pep.c:404
+#: ei386pep.c:426
 #, c-format
 msgid ""
-"  --high-entropy-va                  Image is compatible with 64-bit address "
+"  --[disable-]high-entropy-va        Image is compatible with 64-bit address "
 "space\n"
 "                                       layout randomization (ASLR)\n"
 msgstr ""
 
-#: ei386pep.c:410
+#: ei386pep.c:433
 #, c-format
 msgid ""
-"  --no-seh                   Image does not use SEH; no SE handler may\n"
+"  --[disable-]no-seh                 Image does not use SEH; no SE handler "
+"may\n"
 "                                       be called in this image\n"
 msgstr ""
 
-#: ei386pep.c:912
+#: ei386pep.c:965
 msgid ""
 "%P: warning: --export-dynamic is not supported for PE+ targets, did you mean "
 "--export-all-symbols?\n"
 msgstr ""
 
-#: ei386pep.c:980 ei386pep.c:1007
+#: ei386pep.c:1033 ei386pep.c:1060
 #, c-format
 msgid "warning: resolving %s by linking to %s\n"
 msgstr ""
@@ -5585,7 +5751,7 @@ msgstr ""
 msgid "%X%P: changing output format whilst linking is not supported\n"
 msgstr ""
 
-#: em68hc11elf.c:561 em68hc11elfb.c:561 em68hc12elf.c:561 em68hc12elfb.c:561
+#: em68hc11elf.c:565 em68hc11elfb.c:565 em68hc12elf.c:565 em68hc12elfb.c:565
 #, c-format
 msgid ""
 "  --no-trampoline             Do not generate the far trampolines used to "
@@ -5593,7 +5759,7 @@ msgid ""
 "                                a far function using jsr or bsr\n"
 msgstr ""
 
-#: em68hc11elf.c:564 em68hc11elfb.c:564 em68hc12elf.c:564 em68hc12elfb.c:564
+#: em68hc11elf.c:568 em68hc11elfb.c:568 em68hc12elf.c:568 em68hc12elfb.c:568
 #, c-format
 msgid ""
 "  --bank-window NAME          Specify the name of the memory region "
@@ -5605,11 +5771,11 @@ msgstr ""
 msgid "%F%P: %pB: all input objects must be ELF for --embedded-relocs\n"
 msgstr ""
 
-#: em68kelf.c:603 em68kelfnbsd.c:603
+#: em68kelf.c:607 em68kelfnbsd.c:607
 msgid "%P: unrecognized --got argument '%s'\n"
 msgstr ""
 
-#: em68kelf.c:616 em68kelfnbsd.c:616
+#: em68kelf.c:620 em68kelfnbsd.c:620
 #, c-format
 msgid "  --got=<type>                Specify GOT handling scheme\n"
 msgstr ""
@@ -5622,15 +5788,15 @@ msgstr ""
 msgid "%P: error: unhandled data_statement size\n"
 msgstr ""
 
-#: emsp430X.c:300 emsp430elf.c:300
+#: emsp430X.c:299 emsp430elf.c:299
 msgid "%P: error: no section named %s or %s in linker script\n"
 msgstr ""
 
-#: emsp430X.c:309 emsp430elf.c:309
+#: emsp430X.c:308 emsp430elf.c:308
 msgid "%P: error: no section named %s in linker script\n"
 msgstr ""
 
-#: emsp430X.c:452 emsp430elf.c:452
+#: emsp430X.c:458 emsp430elf.c:458
 #, c-format
 msgid ""
 "  --code-region={either,lower,upper,none}\n"
@@ -5638,7 +5804,7 @@ msgid ""
 "sections\n"
 msgstr ""
 
-#: emsp430X.c:453 emsp430elf.c:453
+#: emsp430X.c:459 emsp430elf.c:459
 #, c-format
 msgid ""
 "  --data-region={either,lower,upper,none}\n"
@@ -5646,7 +5812,7 @@ msgid ""
 "        {either,lower,upper,none}.{bss,data,rodata}* sections\n"
 msgstr ""
 
-#: emsp430X.c:454 emsp430elf.c:454
+#: emsp430X.c:460 emsp430elf.c:460
 #, c-format
 msgid ""
 "  --disable-sec-transformation\n"
@@ -5654,19 +5820,19 @@ msgid ""
 "        add the {either,lower,upper,none} prefixes\n"
 msgstr ""
 
-#: emsp430X.c:473 emsp430elf.c:473
+#: emsp430X.c:479 emsp430elf.c:479
 msgid "%P: --code-region requires an argument: {upper,lower,either,none}\n"
 msgstr ""
 
-#: emsp430X.c:479 emsp430elf.c:479
+#: emsp430X.c:485 emsp430elf.c:485
 msgid "%P: error: unrecognized argument to --code-region= option: \"%s\"\n"
 msgstr ""
 
-#: emsp430X.c:496 emsp430elf.c:496
+#: emsp430X.c:502 emsp430elf.c:502
 msgid "%P: --data-region requires an argument: {upper,lower,either,none}\n"
 msgstr ""
 
-#: emsp430X.c:502 emsp430elf.c:502
+#: emsp430X.c:508 emsp430elf.c:508
 msgid "%P: error: unrecognized argument to --data-region= option: \"%s\"\n"
 msgstr ""
 
@@ -5676,50 +5842,50 @@ msgstr ""
 msgid "%F%P: %pB: ABI version of object files mismatched\n"
 msgstr ""
 
-#: ends32belf.c:395 ends32belf16m.c:395 ends32belf_linux.c:524 ends32elf.c:395
-#: ends32elf16m.c:395 ends32elf_linux.c:524
+#: ends32belf.c:399 ends32belf16m.c:399 ends32belf_linux.c:528 ends32elf.c:399
+#: ends32elf16m.c:399 ends32elf_linux.c:528
 msgid "%P: --mbaseline is not used anymore\n"
 msgstr ""
 
-#: ends32belf.c:406 ends32belf16m.c:406 ends32belf_linux.c:535 ends32elf.c:406
-#: ends32elf16m.c:406 ends32elf_linux.c:535
+#: ends32belf.c:410 ends32belf16m.c:410 ends32belf_linux.c:539 ends32elf.c:410
+#: ends32elf16m.c:410 ends32elf_linux.c:539
 msgid "%P: --relax-[no-]reduce-fp-updat is not used anymore\n"
 msgstr ""
 
-#: ends32belf.c:410 ends32belf16m.c:410 ends32belf_linux.c:539 ends32elf.c:410
-#: ends32elf16m.c:410 ends32elf_linux.c:539
+#: ends32belf.c:414 ends32belf16m.c:414 ends32belf_linux.c:543 ends32elf.c:414
+#: ends32elf16m.c:414 ends32elf_linux.c:543
 msgid "%P: missing file for --mexport-symbols\n"
 msgstr ""
 
-#: ends32belf.c:423 ends32belf.c:432 ends32belf16m.c:423 ends32belf16m.c:432
-#: ends32belf_linux.c:552 ends32belf_linux.c:561 ends32elf.c:423
-#: ends32elf.c:432 ends32elf16m.c:423 ends32elf16m.c:432 ends32elf_linux.c:552
-#: ends32elf_linux.c:561
+#: ends32belf.c:427 ends32belf.c:436 ends32belf16m.c:427 ends32belf16m.c:436
+#: ends32belf_linux.c:556 ends32belf_linux.c:565 ends32elf.c:427
+#: ends32elf.c:436 ends32elf16m.c:427 ends32elf16m.c:436 ends32elf_linux.c:556
+#: ends32elf_linux.c:565
 msgid "%P: valid arguments to --mhyper-relax=(low|medium|high)\n"
 msgstr ""
 
-#: ends32belf.c:452 ends32belf16m.c:452 ends32belf_linux.c:581 ends32elf.c:452
-#: ends32elf16m.c:452 ends32elf_linux.c:581
+#: ends32belf.c:456 ends32belf16m.c:456 ends32belf_linux.c:585 ends32elf.c:456
+#: ends32elf16m.c:456 ends32elf_linux.c:585
 #, c-format
 msgid "  --m[no-]fp-as-gp            Disable/enable fp-as-gp relaxation\n"
 msgstr ""
 
-#: ends32belf.c:454 ends32belf16m.c:454 ends32belf_linux.c:583 ends32elf.c:454
-#: ends32elf16m.c:454 ends32elf_linux.c:583
+#: ends32belf.c:458 ends32belf16m.c:458 ends32belf_linux.c:587 ends32elf.c:458
+#: ends32elf16m.c:458 ends32elf_linux.c:587
 #, c-format
 msgid "  --mexport-symbols=FILE      Exporting symbols in linker script\n"
 msgstr ""
 
-#: ends32belf.c:456 ends32belf16m.c:456 ends32belf_linux.c:585 ends32elf.c:456
-#: ends32elf16m.c:456 ends32elf_linux.c:585
+#: ends32belf.c:460 ends32belf16m.c:460 ends32belf_linux.c:589 ends32elf.c:460
+#: ends32elf16m.c:460 ends32elf_linux.c:589
 #, c-format
 msgid ""
 "  --mhyper-relax=level        Adjust relax level (low|medium|high). default: "
 "medium\n"
 msgstr ""
 
-#: ends32belf.c:458 ends32belf16m.c:458 ends32belf_linux.c:587 ends32elf.c:458
-#: ends32elf16m.c:458 ends32elf_linux.c:587
+#: ends32belf.c:462 ends32belf16m.c:462 ends32belf_linux.c:591 ends32elf.c:462
+#: ends32elf16m.c:462 ends32elf_linux.c:591
 #, c-format
 msgid "  --m[no-]tlsdesc-trampoline  Disable/enable TLS DESC trampoline\n"
 msgstr ""