Skip to content
Snippets Groups Projects
  1. Oct 23, 2023
  2. Oct 22, 2023
    • Iain Sandoe's avatar
      Config,Darwin: Allow for configuring Darwin to use embedded runpath. · 6a6d3817
      Iain Sandoe authored
      Recent Darwin versions place contraints on the use of run paths
      specified in environment variables.  This breaks some assumptions
      in the GCC build.
      
      This change allows the user to configure a Darwin build to use
      '@rpath/libraryname.dylib' in library names and then to add an
      embedded runpath to executables (and libraries with dependents).
      
      The embedded runpath is added by default unless the user adds
      '-nodefaultrpaths' to the link line.
      
      For an installed compiler, it means that any executable built with
      that compiler will reference the runtimes installed with the
      compiler (equivalent to hard-coding the library path into the name
      of the library).
      
      During build-time configurations  any "-B" entries will be added to
      the runpath thus the newly-built libraries will be found by exes.
      
      Since the install name is set in libtool, that decision needs to be
      available here (but might also cause dependent ones in Makefiles,
      so we need to export a conditional).
      
      This facility is not available for Darwin 8 or earlier, however the
      existing environment variable runpath does work there.
      
      We default this on for systems where the external DYLD_LIBRARY_PATH
      does not work and off for Darwin 8 or earlier.  For systems that can
      use either method, if the value is unset, we use the default (which
      is currently DYLD_LIBRARY_PATH).
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Do not add default runpaths to GCC exes
      	when we are building -static-libstdc++/-static-libgcc (the
      	default).
      	* libtool.m4: Add 'enable-darwin-at-runpath'.  Act  on the
      	enable flag to alter Darwin libraries to use @rpath names.
      
      gcc/ChangeLog:
      
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      	* config/darwin.h: Handle Darwin rpaths.
      	* config/darwin.opt: Handle Darwin rpaths.
      	* Makefile.in:  Handle Darwin rpaths.
      
      gcc/ada/ChangeLog:
      
      	* gcc-interface/Makefile.in: Handle Darwin rpaths.
      
      gcc/jit/ChangeLog:
      	* Make-lang.in: Handle Darwin rpaths.
      
      libatomic/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      
      libgcc/ChangeLog:
      
      	* config/t-slibgcc-darwin: Generate libgcc_s
      	with an @rpath name.
      	* config.host: Handle Darwin rpaths.
      
      libgfortran/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths
      
      libgm2/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      	* libm2cor/Makefile.am: Handle Darwin rpaths.
      	* libm2cor/Makefile.in: Regenerate.
      	* libm2iso/Makefile.am: Handle Darwin rpaths.
      	* libm2iso/Makefile.in: Regenerate.
      	* libm2log/Makefile.am: Handle Darwin rpaths.
      	* libm2log/Makefile.in: Regenerate.
      	* libm2min/Makefile.am: Handle Darwin rpaths.
      	* libm2min/Makefile.in: Regenerate.
      	* libm2pim/Makefile.am: Handle Darwin rpaths.
      	* libm2pim/Makefile.in: Regenerate.
      
      libgomp/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths
      
      libitm/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      	* libdruntime/Makefile.am: Handle Darwin rpaths.
      	* libdruntime/Makefile.in: Regenerate.
      	* src/Makefile.am: Handle Darwin rpaths.
      	* src/Makefile.in: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libsanitizer/ChangeLog:
      
      	* asan/Makefile.am: Handle Darwin rpaths.
      	* asan/Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* hwasan/Makefile.am: Handle Darwin rpaths.
      	* hwasan/Makefile.in: Regenerate.
      	* lsan/Makefile.am: Handle Darwin rpaths.
      	* lsan/Makefile.in: Regenerate.
      	* tsan/Makefile.am: Handle Darwin rpaths.
      	* tsan/Makefile.in: Regenerate.
      	* ubsan/Makefile.am: Handle Darwin rpaths.
      	* ubsan/Makefile.in: Regenerate.
      
      libssp/ChangeLog:
      
      	* Makefile.am: Handle Darwin rpaths.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      	* src/Makefile.am: Handle Darwin rpaths.
      	* src/Makefile.in: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      lto-plugin/ChangeLog:
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      
      zlib/ChangeLog:
      	* configure: Regenerate.
      	* configure.ac: Handle Darwin rpaths.
      6a6d3817
  3. Aug 08, 2023
  4. Aug 07, 2023
    • Nick Alcock's avatar
      libtool.m4: augment symcode for Solaris 11 · dc17ceb3
      Nick Alcock authored
      This reports common symbols like GNU nm, via a type code of 'C'.
      
      ChangeLog:
      
      	* libtool.m4 (lt_cv_sys_global_symbol_pipe): Augment symcode for
      	Solaris 11.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      dc17ceb3
    • Alexander von Gluck IV's avatar
      Add support for the haiku operating system · ead5103c
      Alexander von Gluck IV authored
      These are the os support patches we have been grooming and maintaining
      for quite a few years over on git.haiku-os.org.  All of these
      architectures are working and most have been stable for quite some time.
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Add Haiku to list of ELF OSes
      	* libtool.m4: Update sys_lib_dlsearch_path_spec on Haiku.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      ead5103c
    • Nick Alcock's avatar
      libtool.m4: fix the NM="/nm/over/here -B/option/with/path" case · f3307109
      Nick Alcock authored
      My previous nm patch handled all cases but one -- if the user set NM in
      the environment to a path which contained an option, libtool's nm
      detection tries to run nm against a copy of nm with the options in it:
      e.g. if NM was set to "nm --blargle", and nm was found in /usr/bin, the
      test would try to run "/usr/bin/nm --blargle /usr/bin/nm --blargle".
      This is unlikely to be desirable: in this case we should run
      "/usr/bin/nm --blargle /usr/bin/nm".
      
      Furthermore, as part of this nm has to detect when the passed-in $NM
      contains a path, and in that case avoid doing a path search itself.
      This too was thrown off if an option contained something that looked
      like a path, e.g. NM="nm -B../prev-gcc"; libtool then tries to run
      "nm -B../prev-gcc nm" which rarely works well (and indeed it looks
      to see whether that nm exists, finds it doesn't, and wrongly concludes
      that nm -p or whatever does not work).
      
      Fix all of these by clipping all options (defined as everything
      including and after the first " -") before deciding whether nm
      contains a path (but not using the clipped value for anything else),
      and then removing all options from the path-modified nm before
      looking to see whether that nm existed.
      
      NM=my-nm now does a path search and runs e.g.
        /usr/bin/my-nm -B /usr/bin/my-nm
      
      NM=/usr/bin/my-nm now avoids a path search and runs e.g.
        /usr/bin/my-nm -B /usr/bin/my-nm
      
      NM="my-nm -p../wombat" now does a path search and runs e.g.
        /usr/bin/my-nm -p../wombat -B /usr/bin/my-nm
      
      NM="../prev-binutils/new-nm -B../prev-gcc" now avoids a path search:
        ../prev-binutils/my-nm -B../prev-gcc -B ../prev-binutils/my-nm
      
      This seems to be all combinations, including those used by GCC bootstrap
      (which, before this commit, fails to bootstrap when configured
      --with-build-config=bootstrap-lto, because the lto plugin is now using
      --export-symbols-regex, which requires libtool to find a working nm,
      while also using -B../prev-gcc to point at the lto plugin associated
      with the GCC just built.)
      
      Regenerate all affected configure scripts.
      
      ChangeLog:
      
      	* libtool.m4 (LT_PATH_NM): Handle user-specified NM with
      	options, including options containing paths.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      f3307109
    • Nick Alcock's avatar
      libtool.m4: fix nm BSD flag detection · ab422974
      Nick Alcock authored
      Libtool needs to get BSD-format (or MS-format) output out of the system
      nm, so that it can scan generated object files for symbol names for
      -export-symbols-regex support.  Some nms need specific flags to turn on
      BSD-formatted output, so libtool checks for this in its AC_PATH_NM.
      Unfortunately the code to do this has a pair of interlocking flaws:
      
       - it runs the test by doing an nm of /dev/null.  Some platforms
         reasonably refuse to do an nm on a device file, but before now this
         has only been worked around by assuming that the error message has a
         specific textual form emitted by Tru64 nm, and that getting this
         error means this is Tru64 nm and that nm -B would work to produce
         BSD-format output, even though the test never actually got anything
         but an error message out of nm -B.  This is fixable by nm'ing *nm
         itself* (since we necessarily have a path to it).
      
       - the test is entirely skipped if NM is set in the environment, on the
         grounds that the user has overridden the test: but the user cannot
         reasonably be expected to know that libtool wants not only nm but
         also flags forcing BSD-format output.  Worse yet, one such "user" is
         the top-level Cygnus configure script, which neither tests for
         nor specifies any BSD-format flags.  So platforms needing BSD-format
         flags always fail to set them when run in a Cygnus tree, breaking
         -export-symbols-regex on such platforms.  Libtool also needs to
         augment $LD on some platforms, but this is done unconditionally,
         augmenting whatever the user specified: the nm check should do the
         same.
      
         One wrinkle: if the user has overridden $NM, a path might have been
         provided: so we use the user-specified path if there was one, and
         otherwise do the path search as usual.  (If the nm specified doesn't
         work, this might lead to a few extra pointless path searches -- but
         the test is going to fail anyway, so that's not a problem.)
      
      (Tested with NM unset, and set to nm, /usr/bin/nm, my-nm where my-nm is a
      symlink to /usr/bin/nm on the PATH, and /not-on-the-path/my-nm where
      *that* is a symlink to /usr/bin/nm.)
      
      ChangeLog:
      
      	* libtool.m4 (LT_PATH_NM): Try BSDization flags with a user-provided
      	NM, if there is one.  Run nm on itself, not on /dev/null, to avoid
      	errors from nms that refuse to work on non-regular files.  Remove
      	other workarounds for this problem.  Strip out blank lines from the
      	nm output.
      
      fixincludes/ChangeLog:
      
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      ab422974
    • H.J. Lu's avatar
      GCC: Check if AR works with --plugin and rc · 9c7797a8
      H.J. Lu authored
      AR from older binutils doesn't work with --plugin and rc:
      
      [hjl@gnu-cfl-2 bin]$ touch foo.c
      [hjl@gnu-cfl-2 bin]$ ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c
      [hjl@gnu-cfl-2 bin]$ ./ar --plugin /usr/libexec/gcc/x86_64-redhat-linux/10/liblto_plugin.so rc libfoo.a foo.c
      ./ar: no operation specified
      [hjl@gnu-cfl-2 bin]$ ./ar --version
      GNU ar (Linux/GNU Binutils) 2.29.51.0.1.20180112
      Copyright (C) 2018 Free Software Foundation, Inc.
      This program is free software; you may redistribute it under the terms of
      the GNU General Public License version 3 or (at your option) any later version.
      This program has absolutely no warranty.
      [hjl@gnu-cfl-2 bin]$
      
      Check if AR works with --plugin and rc before passing --plugin to AR and
      RANLIB.
      
      ChangeLog:
      
      	* configure: Regenerated.
      	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Check if AR works with
      	--plugin and rc before enabling --plugin.
      
      config/ChangeLog:
      
      	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): Check if AR works with
      	--plugin and rc before enabling --plugin.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libiberty/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      9c7797a8
    • H.J. Lu's avatar
      Sync with binutils: GCC: Pass --plugin to AR and RANLIB · 126f707e
      H.J. Lu authored
      Sync with binutils for building binutils with LTO:
      
      50ad1254d50 GCC: Pass --plugin to AR and RANLIB
      
      Detect GCC LTO plugin.  Pass --plugin to AR and RANLIB to support LTO
      build.
      
      ChangeLog:
      
      	* Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@
      	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
      	* configure.ac: Include config/gcc-plugin.m4.
      	AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.
      	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Pass --plugin to AR and
      	RANLIB if possible.
      	* Makefile.in: Regenerated.
      	* configure: Likewise.
      
      config/ChangeLog:
      
      	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): New.
      
      libiberty/ChangeLog:
      
      	* Makefile.in (AR): Add @AR_PLUGIN_OPTION@
      	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
      	(configure_deps): Depend on ../config/gcc-plugin.m4.
      	* configure.ac: AC_SUBST AR_PLUGIN_OPTION and
      	RANLIB_PLUGIN_OPTION.
      	* aclocal.m4: Regenerated.
      	* configure: Likewise.
      
      zlib/ChangeLog:
      
      	* configure: Regenerated.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgm2/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      126f707e
  5. Jun 17, 2023
  6. Jun 16, 2023
  7. Jun 15, 2023
    • Marek Polacek's avatar
      configure: Implement --enable-host-pie · b6cb10af
      Marek Polacek authored
      [ This is my third attempt to add this configure option.  The first
      version was approved but it came too late in the development cycle.
      The second version was also approved, but I had to revert it:
      <https://gcc.gnu.org/pipermail/gcc-patches/2022-November/607082.html>.
      I've fixed the problem (by moving $(PICFLAG) from INTERNAL_CFLAGS to
      ALL_COMPILERFLAGS).  Another change is that since r13-4536 I no longer
      need to touch Makefile.def, so this patch is simplified. ]
      
      This patch implements the --enable-host-pie configure option which
      makes the compiler executables PIE.  This can be used to enhance
      protection against ROP attacks, and can be viewed as part of a wider
      trend to harden binaries.
      
      It is similar to the option --enable-host-shared, except that --e-h-s
      won't add -shared to the linker flags whereas --e-h-p will add -pie.
      It is different from --enable-default-pie because that option just
      adds an implicit -fPIE/-pie when the compiler is invoked, but the
      compiler itself isn't PIE.
      
      Since r12-5768-gfe7c3ecf, PCH works well with PIE, so there are no PCH
      regressions.
      
      When building the compiler, the build process may use various in-tree
      libraries; these need to be built with -fPIE so that it's possible to
      use them when building a PIE.  For instance, when --with-included-gettext
      is in effect, intl object files must be compiled with -fPIE.  Similarly,
      when building in-tree gmp, isl, mpfr and mpc, they must be compiled with
      -fPIE.
      
      With this patch and --enable-host-pie used to configure gcc:
      
      $ file gcc/cc1{,plus,obj,gm2} gcc/f951 gcc/lto1 gcc/cpp gcc/go1 gcc/rust1 gcc/gnat1
      gcc/cc1:     ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=98e22cde129d304aa6f33e61b1c39e144aeb135e, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/cc1plus: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=859d1ea37e43dfe50c18fd4e3dd9a34bb1db8f77, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/cc1obj:  ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1964f8ecee6163182bc26134e2ac1f324816e434, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/cc1gm2:  ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=a396672c7ff913d21855829202e7b02ecf42ff4c, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/f951:    ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=59c523db893186547ac75c7a71f48be0a461c06b, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/lto1:    ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=084a7b77df7be2d63c2d4c655b5bbc3fcdb6038d, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/cpp:     ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3503bf8390d219a10d6653b8560aa21158132168, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/go1:     ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=988cc673af4fba5dcb482f4b34957b99050a68c5, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/rust1:   ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b6a5d3d514446c4dcdee0707f086ab9b274a8a3c, for GNU/Linux 3.2.0, with debug_info, not stripped
      gcc/gnat1:   ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=bb11ccdc2c366fe3fe0980476bcd8ca19b67f9dc, for GNU/Linux 3.2.0, with debug_info, not stripped
      
      I plan to add an option to link with -Wl,-z,now.
      
      Bootstrapped on x86_64-pc-linux-gnu with --with-included-gettext
      --enable-host-pie as well as without --enable-host-pie.  Also tested
      on a Debian system where the system gcc was configured with
      --enable-default-pie.
      
      Co-Authored by: Iain Sandoe  <iain@sandoe.co.uk>
      
      ChangeLog:
      
      	* configure.ac (--enable-host-pie): New check.  Set PICFLAG after this
      	check.
      	* configure: Regenerate.
      
      c++tools/ChangeLog:
      
      	* Makefile.in: Rename PIEFLAG to PICFLAG.  Set LD_PICFLAG.  Use it.
      	Use pic/libiberty.a if PICFLAG is set.
      	* configure.ac (--enable-default-pie): Set PICFLAG instead of PIEFLAG.
      	(--enable-host-pie): New check.
      	* configure: Regenerate.
      
      fixincludes/ChangeLog:
      
      	* Makefile.in: Set and use PICFLAG and LD_PICFLAG.  Use the "pic"
      	build of libiberty if PICFLAG is set.
      	* configure.ac:
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      	* Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
      	Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
      	ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
      	check.
      	* configure: Regenerate.
      	* doc/install.texi: Document --enable-host-pie.
      
      gcc/ada/ChangeLog:
      
      	* gcc-interface/Make-lang.in (ALL_ADAFLAGS): Remove NO_PIE_CFLAGS.  Add
      	PICFLAG.  Use PICFLAG when building ada/b_gnat1.o and ada/b_gnatb.o.
      	* gcc-interface/Makefile.in: Use pic/libiberty.a if PICFLAG is set.
      	Remove NO_PIE_FLAG.
      
      gcc/m2/ChangeLog:
      
      	* Make-lang.in: New var, GM2_PICFLAGS.  Use it.
      
      gcc/d/ChangeLog:
      
      	* Make-lang.in: Remove NO_PIE_CFLAGS.
      
      intl/ChangeLog:
      
      	* Makefile.in: Use @PICFLAG@ in COMPILE as well.
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG after this check.
      	* configure: Regenerate.
      
      libcody/ChangeLog:
      
      	* Makefile.in: Pass LD_PICFLAG to LDFLAGS.
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
      	check.
      	* configure: Regenerate.
      
      libcpp/ChangeLog:
      
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG after this check.
      	* configure: Regenerate.
      
      libdecnumber/ChangeLog:
      
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG after this check.
      	* configure: Regenerate.
      
      libiberty/ChangeLog:
      
      	* configure.ac: Also set shared when enable_host_pie.
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG after this check.
      	* configure: Regenerate.
      b6cb10af
  8. Nov 24, 2022
  9. Nov 23, 2022
    • Marek Polacek's avatar
      Revert "configure: Implement --enable-host-pie" · 04711f51
      Marek Polacek authored
      This reverts commit 251c72a6.
      04711f51
    • Marek Polacek's avatar
      configure: Implement --enable-host-pie · 251c72a6
      Marek Polacek authored
      This patch implements the --enable-host-pie configure option which
      makes the compiler executables PIE.  This can be used to enhance
      protection against ROP attacks, and can be viewed as part of a wider
      trend to harden binaries.
      
      It is similar to the option --enable-host-shared, except that --e-h-s
      won't add -shared to the linker flags whereas --e-h-p will add -pie.
      It is different from --enable-default-pie because that option just
      adds an implicit -fPIE/-pie when the compiler is invoked, but the
      compiler itself isn't PIE.
      
      Since r12-5768-gfe7c3ecf, PCH works well with PIE, so there are no PCH
      regressions.
      
      When building the compiler, the build process may use various in-tree
      libraries; these need to be built with -fPIE so that it's possible to
      use them when building a PIE.  For instance, when --with-included-gettext
      is in effect, intl object files must be compiled with -fPIE.  Similarly,
      when building in-tree gmp, isl, mpfr and mpc, they must be compiled with
      -fPIE.
      
      I plan to add an option to link with -Wl,-z,now.
      
      ChangeLog:
      
      	* Makefile.def: Pass $(PICFLAG) to AM_CFLAGS for gmp, mpfr, mpc, and
      	isl.
      	* Makefile.in: Regenerate.
      	* Makefile.tpl: Set PICFLAG.
      	* configure.ac (--enable-host-pie): New check.  Set PICFLAG after this
      	check.
      	* configure: Regenerate.
      
      c++tools/ChangeLog:
      
      	* Makefile.in: Rename PIEFLAG to PICFLAG.  Set LD_PICFLAG.  Use it.
      	Use pic/libiberty.a if PICFLAG is set.
      	* configure.ac (--enable-default-pie): Set PICFLAG instead of PIEFLAG.
      	(--enable-host-pie): New check.
      	* configure: Regenerate.
      
      fixincludes/ChangeLog:
      
      	* Makefile.in: Set and use PICFLAG and LD_PICFLAG.  Use the "pic"
      	build of libiberty if PICFLAG is set.
      	* configure.ac:
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      	* Makefile.in: Set LD_PICFLAG.  Use it.  Set enable_host_pie.
      	Remove NO_PIE_CFLAGS and NO_PIE_FLAG.  Pass LD_PICFLAG to
      	ALL_LINKERFLAGS.  Use the "pic" build of libiberty if --enable-host-pie.
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
      	check.
      	* configure: Regenerate.
      	* doc/install.texi: Document --enable-host-pie.
      
      gcc/d/ChangeLog:
      
      	* Make-lang.in: Remove NO_PIE_CFLAGS.
      
      intl/ChangeLog:
      
      	* Makefile.in: Use @PICFLAG@ in COMPILE as well.
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG after this check.
      	* configure: Regenerate.
      
      libcody/ChangeLog:
      
      	* Makefile.in: Pass LD_PICFLAG to LDFLAGS.
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG and LD_PICFLAG after this
      	check.
      	* configure: Regenerate.
      
      libcpp/ChangeLog:
      
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG after this check.
      	* configure: Regenerate.
      
      libdecnumber/ChangeLog:
      
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG after this check.
      	* configure: Regenerate.
      
      libiberty/ChangeLog:
      
      	* configure.ac: Also set shared when enable_host_pie.
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure.ac (--enable-host-shared): Don't set PICFLAG here.
      	(--enable-host-pie): New check.  Set PICFLAG after this check.
      	* configure: Regenerate.
      251c72a6
  10. Oct 13, 2022
  11. Oct 12, 2022
    • Martin Liska's avatar
      regenerate configure files · 6d2294a8
      Martin Liska authored
      Needed after a recent change.
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      liboffloadmic/ChangeLog:
      
      	* configure: Regenerate.
      	* plugin/configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      6d2294a8
    • GCC Administrator's avatar
      Daily bump. · ab332cd7
      GCC Administrator authored
      ab332cd7
  12. Oct 11, 2022
    • Olivier Hainque's avatar
      Generic configury support for shared libs on VxWorks · 0ecd0f1c
      Olivier Hainque authored
      This change adds the configury bits to activate the build of
      shared libs on VxWorks ports configured with --enable-shared,
      for libraries variants where this is generally supported (rtp,
      code model !large - currently not compatible with -fPIC).
      
      Set lt_cv_deplibs_check_method in libtool.m4, so the build of
      libraries know how to establish dependencies.  This is useful in
      configurations such as aarch64 where proper support of LSE relies
      on accurate dependency information between libstdc++ and libgcc_s
      to begin with.
      
      Regenerate configure scripts to reflect libtool.m4 change.
      
      2022-10-09  Olivier Hainque  <hainque@adacore.com>
      
      	* libtool.m4 (*vxworks*): When enable_shared, set dynamic_linker
      	and friends for rtp !large. Assume the linker has the required
      	abilities and set lt_cv_deplibs_check_method.
      
      gcc/
      	* config.gcc (*vxworks*): Add t-slibgcc fragment
      	if enable_shared.
      
      libgcc/
      	* config.host (*vxworks*): When enable_shared, add
      	libgcc and crtstuff "shared" fragments for rtp except
      	large code model.
      	(aarch64*-wrs-vxworks7*): Remove t-slibgcc-libgcc from
      	the list of fragments.
      
      2022-10-09  Olivier Hainque  <hainque@adacore.com>
      
      gcc/
      	* configure: Regenerate.
      
      libatomic/
      	* configure: Regenerate.
      
      libbacktrace/
      	* configure: Regenerate.
      
      libcc1/
      	* configure: Regenerate.
      
      libffi/
      	* configure: Regenerate.
      
      libgfortran/
      	* configure: Regenerate.
      
      libgomp/
      	* configure: Regenerate.
      
      libitm/
      	* configure: Regenerate.
      
      libobjc/
      	* configure: Regenerate.
      
      liboffloadmic/
      	* configure: Regenerate.
      
      liboffloadmic/
      	* plugin/configure: Regenerate.
      
      libphobos/
      	* configure: Regenerate.
      
      libquadmath/
      	* configure: Regenerate.
      
      libsanitizer/
      	* configure: Regenerate.
      
      libssp/
      	* configure: Regenerate.
      
      libstdc++-v3/
      	* configure: Regenerate.
      
      libvtv/
      	* configure: Regenerate.
      
      lto-plugin/
      	* configure: Regenerate.
      
      zlib/
      	* configure: Regenerate.
      0ecd0f1c
  13. Aug 26, 2022
  14. Aug 25, 2022
    • Martin Liska's avatar
      regenerate configure files and config.h.in files · b1a3d2b7
      Martin Liska authored
      fixincludes/ChangeLog:
      
      	* config.h.in: Regenerate.
      	* configure: Regenerate.
      
      libada/ChangeLog:
      
      	* configure: Regenerate.
      
      libiberty/ChangeLog:
      
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	* configure: Regenerate.
      
      liboffloadmic/ChangeLog:
      
      	* configure: Regenerate.
      	* plugin/configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	* configure: Regenerate.
      b1a3d2b7
  15. Dec 17, 2021
  16. Dec 16, 2021
  17. Dec 15, 2021
    • H.J. Lu's avatar
      Sync with binutils: GCC: Pass --plugin to AR and RANLIB · bf8cdd35
      H.J. Lu authored
      Sync with binutils for building binutils with LTO:
      
      50ad1254d50 GCC: Pass --plugin to AR and RANLIB
      
      Detect GCC LTO plugin.  Pass --plugin to AR and RANLIB to support LTO
      build.
      
      ChangeLog:
      
      	* Makefile.tpl (AR): Add @AR_PLUGIN_OPTION@
      	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
      	* configure.ac: Include config/gcc-plugin.m4.
      	AC_SUBST AR_PLUGIN_OPTION and RANLIB_PLUGIN_OPTION.
      	* libtool.m4 (_LT_CMD_OLD_ARCHIVE): Pass --plugin to AR and
      	RANLIB if possible.
      	* Makefile.in: Regenerated.
      	* configure: Likewise.
      
      config/
      
      	* gcc-plugin.m4 (GCC_PLUGIN_OPTION): New.
      
      libiberty/
      
      	* Makefile.in (AR): Add @AR_PLUGIN_OPTION@
      	(RANLIB): Add @RANLIB_PLUGIN_OPTION@.
      	(configure_deps): Depend on ../config/gcc-plugin.m4.
      	* configure.ac: AC_SUBST AR_PLUGIN_OPTION and
      	RANLIB_PLUGIN_OPTION.
      	* aclocal.m4: Regenerated.
      	* configure: Likewise.
      
      zlib/
      
      	* configure: Regenerated.
      bf8cdd35
  18. Jan 06, 2021
  19. Jan 05, 2021
    • Samuel Thibault's avatar
      Update GNU/Hurd configure support · f56de355
      Samuel Thibault authored
      ChangeLog:
      
      	* libtool.m4: Match gnu* along other GNU systems.
      	* libgo/config/libtool.m4: Match gnu* along other GNU systems.
      	* libgo/configure: Re-generate.
      
      libffi/
      	* configure: Re-generate.
      
      libgomp/
      	* configure: Re-generate.
      
      gcc/
      
      	* configure: Re-generate.
      
      libatomic/
      
      	* configure: Re-generate.
      
      libbacktrace/
      
      	* configure: Re-generate.
      
      libcc1/
      
      	* configure: Re-generate.
      
      libgfortran/
      
      	* configure: Re-generate.
      
      libgomp/
      
      	* configure: Re-generate.
      
      libhsail-rt/
      
      	* configure: Re-generate.
      
      libitm/
      
      	* configure: Re-generate.
      
      libobjc/
      
      	* configure: Re-generate.
      
      liboffloadmic/
      
      	* configure: Re-generate.
      	* plugin/configure: Re-generate.
      
      libphobos/
      
      	* configure: Re-generate.
      
      libquadmath/
      
      	* configure: Re-generate.
      
      libsanitizer/
      
      	* configure: Re-generate.
      
      libssp/
      
      	* configure: Re-generate.
      
      libstdc++-v3/
      
      	* configure: Re-generate.
      
      libvtv/
      
      	* configure: Re-generate.
      
      lto-plugin/
      
      	* configure: Re-generate.
      
      zlib/
      
      	* configure: Re-generate.
      f56de355
  20. Dec 06, 2020
  21. Dec 05, 2020
    • Iain Sandoe's avatar
      Darwin : Update libtool and dependencies for Darwin20 [PR97865] · 1352bc88
      Iain Sandoe authored
      The change in major version (and the increment from Darwin19 to 20)
      caused libtool tests to fail which resulted in incorrect build settings
      for shared libraries.
      
      We take this opportunity to sort out the shared undefined symbols state
      rather than propagating the current unsound behaviour into a new rev.
      
      This change means that we default to the case that missing symbols are
      considered an error, and if one wants to allow this intentionally, the
      confiuration for that case should be set appropriately.
      
      Three existing cases need undefined dynamic lookup:
       libitm, where there is already a configuration mechanism to add the
               flags.
       libcc1, where we add simple configuration to add the flags for Darwin.
       libsanitizer, where we can add to the existing extra flags.
      
      libcc1/ChangeLog:
      
      	PR target/97865
      	* Makefile.am: Add dynamic_lookup to LD flags for Darwin.
      	* configure.ac: Test for Darwin host and set a flag.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      
      	PR target/97865
      	* configure.tgt: Add dynamic_lookup to XLDFLAGS for Darwin.
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      
      	PR target/97865
      	* configure.tgt: Add dynamic_lookup to EXTRA_CXXFLAGS for
      	Darwin.
      	* configure: Regenerate.
      
      ChangeLog:
      
      	PR target/97865
      	* libtool.m4: Update handling of Darwin platform link flags
      	for Darwin20.
      
      gcc/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libatomic/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libhsail-rt/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libphobos/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libquadmath/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      
      	PR target/97865
      	* configure: Regenerate.
      1352bc88
  22. Nov 30, 2020
  23. Nov 29, 2020
    • John David Anglin's avatar
      Fix hppa64-hpux11 build to remove source paths from embedded path. · 4e4ba647
      John David Anglin authored
      This change adds the +nodefaultrpath ld option to remove all library
      paths that were specified with the -L option from the embedded path.
      
      2020-11-29  John David Anglin  <danglin@gcc.gnu.org>
      
      ChangeLog:
      	* libtool.m4 (archive_cmds): Add +nodefaultrpath ld option on
      	hppa64-*-hpux11*.
      
      libatomic/ChangeLog:
      	* configure: Regenerate.
      
      libbacktrace/ChangeLog:
      	* configure: Regenerate.
      
      libcc1/ChangeLog:
      	* configure: Regenerate.
      
      libffi/ChangeLog:
      	* configure: Regenerate.
      
      libgfortran/ChangeLog:
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      	* configure: Regenerate.
      
      libhsail-rt/ChangeLog:
      	* configure: Regenerate.
      
      libitm/ChangeLog:
      	* configure: Regenerate.
      
      libobjc/ChangeLog:
      	* configure: Regenerate.
      
      liboffloadmic/ChangeLog:
      	* configure: Regenerate.
      	* plugin/configure: Regenerate.
      
      libquadmath/ChangeLog:
      	* configure: Regenerate.
      
      libsanitizer/ChangeLog:
      	* configure: Regenerate.
      
      libssp/ChangeLog:
      	* configure: Regenerate.
      
      libstdc++-v3/ChangeLog:
      	* configure: Regenerate.
      
      libvtv/ChangeLog:
      	* configure: Regenerate.
      
      lto-plugin/ChangeLog:
      	* configure: Regenerate.
      
      zlib/ChangeLog:
      	* configure: Regenerate.
      4e4ba647
  24. May 30, 2020
  25. May 29, 2020
    • H.J. Lu's avatar
      Avoid nested save_CFLAGS and save_LDFLAGS · 9051b548
      H.J. Lu authored
      Avoid nested save_CFLAGS and save_LDFLAGS by replacing save_CFLAGS and
      save_LDFLAGS with cet_save_CFLAGS and cet_save_LDFLAGS in cet.m4.
      
      config/
      
      	PR bootstrap/95413
      	* cet.m4: Replace save_CFLAGS and save_LDFLAGS with
      	cet_save_CFLAGS and cet_save_LDFLAGS.
      
      gcc/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libatomic/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libbacktrace/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libcc1/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libcpp/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libdecnumber/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libgcc/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libgfortran/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libgomp/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libiberty/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libitm/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libobjc/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libphobos/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libquadmath/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libsanitizer/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libssp/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libstdc++-v3/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      libvtv/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      lto-plugin/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      
      zlib/
      
      	PR bootstrap/95413
      	* configure: Regenerated.
      9051b548
  26. May 15, 2020
    • H.J. Lu's avatar
      x86: Also check if -fcf-protection works · 4c1a5d8b
      H.J. Lu authored
      When defaulting CET run-time support to auto, check if -fcf-protection
      works.  Even if the stage1 GCC doesn't support -fcf-protection, since
      the final GCC does, CET run-time support will be enabled by default if
      binutils support CET.
      
      config/
      
      	PR bootstrap/95147
      	* cet.m4 (GCC_CET_FLAGS): Also check if -fcf-protection works
      	when defaulting to auto.
      
      libatomic/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libbacktrace/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libgcc/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libgfortran/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libgomp/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libitm/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libobjc/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libphobos/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libquadmath/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libsanitizer/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libssp/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libstdc++-v3/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      libvtv/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      
      zlib/
      
      	PR bootstrap/95147
      	* configure: Regenerated.
      4c1a5d8b
  27. May 14, 2020
    • H.J. Lu's avatar
      x86: Default CET run-time support to auto · 8d286dd1
      H.J. Lu authored
      CET has been added since GCC 8.  This patch defaults CET run-time support
      to auto.  It enables CET run-time support if asssembler supports CET
      instructions and multi-byte NOPs are enabled via SSE2.
      
      config/
      
      	* cet.m4 (GCC_CET_FLAGS): Change default to auto.
      
      gcc/
      
      	* configure: Regenerated.
      
      libatomic/
      
      	* configure: Regenerated.
      
      libbacktrace/
      
      	* configure: Regenerated.
      
      libcc1/
      
      	* configure: Regenerated.
      
      libcpp/
      
      	* configure: Regenerated.
      
      libdecnumber/
      
      	* configure: Regenerated.
      
      libgcc/
      
      	* configure: Regenerated.
      
      libgfortran/
      
      	* configure: Regenerated.
      
      libgomp/
      
      	* configure: Regenerated.
      
      libitm/
      
      	* configure: Regenerated.
      
      libobjc/
      
      	* configure: Regenerated.
      
      libquadmath/
      
      	* configure: Regenerated.
      
      libsanitizer/
      
      	* configure: Regenerated.
      
      libssp/
      
      	* configure: Regenerated.
      
      libstdc++-v3/
      
      	* configure: Regenerated.
      
      libvtv/
      
      	* configure: Regenerated.
      
      zlib/
      
      	* configure: Regenerated.
      8d286dd1
  28. May 12, 2020
    • H.J. Lu's avatar
      zlib: Add --enable-cet to configure · c0827870
      H.J. Lu authored
      When --enable-cet is used to configure GCC, enable Intel CET in target
      zlib.
      
      	* Makefile.am (AM_CFLAGS): New.
      	* configure.ac (CET_FLAGS): Add GCC_CET_FLAGS and AC_SUBST.
      	* Makefile.in: Regenerated.
      	* aclocal.m4: Likewise.
      	* configure.ac: Likewise.
      c0827870
  29. Jan 24, 2020
    • Maciej W. Rozycki's avatar
      Add `--with-toolexeclibdir=' configuration option · e8e66971
      Maciej W. Rozycki authored
      Provide means, in the form of a `--with-toolexeclibdir=' configuration
      option, to override the default installation directory for target
      libraries, otherwise known as $toolexeclibdir.  This is so that it is
      possible to get newly-built libraries, particularly the shared ones,
      installed in a common place, so that they can be readily used by the
      target system as their host libraries, possibly over NFS, without a need
      to manually copy them over from the currently hardcoded location they
      would otherwise be installed in.
      
      In the presence of the `--enable-version-specific-runtime-libs' option
      and for configurations building native GCC the option is ignored.
      
      	config/
      	* toolexeclibdir.m4: New file.
      
      	gcc/
      	* doc/install.texi (Cross-Compiler-Specific Options): Document
      	`--with-toolexeclibdir' option.
      
      	libada/
      	* Makefile.in (configure_deps): Add `toolexeclibdir.m4'.
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* configure: Regenerate.
      
      	libatomic/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      	libffi/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* include/Makefile.in: Regenerate.
      	* man/Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      	libgcc/
      	* Makefile.in (configure_deps): Add `toolexeclibdir.m4'.
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* configure: Regenerate.
      
      	libgfortran/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      
      	libgomp/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      	libhsail-rt/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      
      	libitm/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      	libobjc/
      	* Makefile.in (aclocal_deps): Add `toolexeclibdir.m4'.
      	* aclocal.m4: Include `toolexeclibdir.m4'.
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* configure: Regenerate.
      
      	liboffloadmic/
      	* plugin/configure.ac: Handle `--with-toolexeclibdir='.
      	* plugin/Makefile.in: Regenerate.
      	* plugin/aclocal.m4: Regenerate.
      	* plugin/configure: Regenerate.
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      
      	libphobos/
      	* m4/druntime.m4: Handle `--with-toolexeclibdir='.
      	* m4/Makefile.in: Regenerate.
      	* libdruntime/Makefile.in: Regenerate.
      	* src/Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      
      	libquadmath/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      
      	libsanitizer/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* asan/Makefile.in: Regenerate.
      	* interception/Makefile.in: Regenerate.
      	* libbacktrace/Makefile.in: Regenerate.
      	* lsan/Makefile.in: Regenerate.
      	* sanitizer_common/Makefile.in: Regenerate.
      	* tsan/Makefile.in: Regenerate.
      	* ubsan/Makefile.in: Regenerate.
      
      	libssp/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      
      	libstdc++-v3/
      	* acinclude.m4: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* doc/Makefile.in: Regenerate.
      	* include/Makefile.in: Regenerate.
      	* libsupc++/Makefile.in: Regenerate.
      	* po/Makefile.in: Regenerate.
      	* python/Makefile.in: Regenerate.
      	* src/Makefile.in: Regenerate.
      	* src/c++11/Makefile.in: Regenerate.
      	* src/c++17/Makefile.in: Regenerate.
      	* src/c++98/Makefile.in: Regenerate.
      	* src/filesystem/Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      	libvtv/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      	zlib/
      	* configure.ac: Handle `--with-toolexeclibdir='.
      	* Makefile.in: Regenerate.
      	* aclocal.m4: Regenerate.
      	* configure: Regenerate.
      e8e66971
  30. Sep 27, 2019
    • Maciej W. Rozycki's avatar
      Regenerate `configure' scripts for `uclinuxfdpiceabi' libtool.m4 update · e9085da5
      Maciej W. Rozycki authored
      A change made with r275564 ("[ARM/FDPIC v6 02/24] [ARM] FDPIC: Handle 
      arm*-*-uclinuxfdpiceabi in configure scripts") to libtool.m4 has not 
      regenerated all the `configure' scripts affected.  Fix it.
      
      	gcc/
      	* configure: Regenerate.
      
      	libatomic/
      	* configure: Regenerate.
      
      	libbacktrace/
      	* configure: Regenerate.
      
      	libcc1/
      	* configure: Regenerate.
      
      	libffi/
      	* configure: Regenerate.
      
      	libgfortran/
      	* configure: Regenerate.
      
      	libgomp/
      	* configure: Regenerate.
      
      	libhsail-rt/
      	* configure: Regenerate.
      
      	libitm/
      	* configure: Regenerate.
      
      	libobjc/
      	* configure: Regenerate.
      
      	liboffloadmic/
      	* configure: Regenerate.
      
      	libphobos/
      	* configure: Regenerate.
      
      	libquadmath/
      	* configure: Regenerate.
      
      	libsanitizer/
      	* configure: Regenerate.
      
      	libssp/
      	* configure: Regenerate.
      
      	libstdc++-v3/
      	* configure: Regenerate.
      
      	libvtv/
      	* configure: Regenerate.
      
      	lto-plugin/
      	* configure: Regenerate.
      
      	zlib/
      	* configure: Regenerate.
      
      From-SVN: r276213
      e9085da5
  31. Jan 21, 2019
Loading