Skip to content
Snippets Groups Projects
  1. Nov 16, 2021
  2. Oct 28, 2021
    • Richard Purdie's avatar
      [PATCH 1/5] Makefile.in: Ensure build CPP/CPPFLAGS is used for build targets · 84401ce5
      Richard Purdie authored
      
      During cross compiling, CPP is being set to the target compiler even for
      build targets. As an example, when building a cross compiler targetting
      mingw, the config.log for libiberty in
      build.x86_64-pokysdk-mingw32.i586-poky-linux/build-x86_64-linux/libiberty/config.log
      shows:
      
      configure:3786: checking how to run the C preprocessor
      configure:3856: result: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32
      configure:3876: x86_64-pokysdk-mingw32-gcc -E --sysroot=[sysroot]/x86_64-nativesdk-mingw32-pokysdk-mingw32 conftest.c
      configure:3876: $? = 0
      
      This is libiberty being built for the build environment, not the target one
      (i.e. in build-x86_64-linux). As such it should be using the build environment's
      gcc and not the target one. In the mingw case the system headers are quite
      different leading to build failures related to not being able to include a
      process.h file for pem-unix.c.
      
      Further analysis shows the same issue occuring for CPPFLAGS too.
      
      Fix this by adding support for CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD which
      for example, avoids mixing the mingw headers for host binaries on linux
      systems.
      
      2021-10-27 Richard Purdie <richard.purdie@linuxfoundation.org>
      
      ChangeLog:
      
      	* Makefile.tpl: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* configure.ac: Add CPP_FOR_BUILD and CPPFLAGS_FOR_BUILD support
      
      gcc/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Use CPPFLAGS_FOR_BUILD for GMPINC
      
      Signed-off-by: default avatarRichard Purdie <richard.purdie@linuxfoundation.org>
      84401ce5
  3. Sep 28, 2021
    • Andrew Burgess's avatar
      top-level configure: setup target_configdirs based on repository · dc614a83
      Andrew Burgess authored
      The top-level configure script is shared between the gcc repository
      and the binutils-gdb repository.
      
      The target_configdirs variable in the configure.ac script, defines
      sub-directories that contain components that should be built for the
      target using the target tools.
      
      Some components, e.g. zlib, are built as both host and target
      libraries.
      
      This causes problems for binutils-gdb.  If we run 'make all' in the
      binutils-gdb repository we end up trying to build a target version of
      the zlib library, which requires the target compiler be available.
      Often the target compiler isn't immediately available, and so the
      build fails.
      
      The problem with zlib impacted a previous attempt to synchronise the
      top-level configure scripts from gcc to binutils-gdb, see this thread:
      
        https://sourceware.org/pipermail/binutils/2019-May/107094.html
      
      And I'm in the process of importing libbacktrace in to binutils-gdb,
      which is also a host and target library, and triggers the same issues.
      
      I believe that for binutils-gdb, at least at the moment, there are no
      target libraries that we need to build.
      
      In the configure script we build three lists of things we want to
      build, $configdirs, $build_configdirs, and $target_configdirs, we also
      build two lists of things we don't want to build, $skipdirs and
      $noconfigdirs.  We then remove anything that is in the lists of things
      not to build, from the list of things that should be built.
      
      My proposal is to add everything in target_configdirs into skipdirs,
      if the source tree doesn't contain a gcc/ sub-directory.  The result
      is that for binutils-gdb no target tools or libraries will be built,
      while for the gcc repository, nothing should change.
      
      If a user builds a unified source tree, then the target tools and
      libraries should still be built as the gcc/ directory will be present.
      
      I've tested a build of gcc on x86-64, and the same set of target
      libraries still seem to get built.  On binutils-gdb this change
      resolves the issues with 'make all'.
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac (skipdirs): Add the contents of target_configdirs if
      	we are not building gcc.
      dc614a83
  4. Jul 09, 2021
    • Iain Sandoe's avatar
      Darwin, config: Revise host config fragment. · 54258e22
      Iain Sandoe authored
      
      There were two uses for the Darwin host config fragment:
      
      The first is to arrange for targets that support mdynamic-no-pic
      to be built with that enabled (since it makes a significant
      difference to the compiler performance).  We can be more specific
      in the application of this, since it only applies to 32b hosts
      plus powerpc64-darwin9.
      
      The second was to work around a tool bug where -fno-PIE was not
      propagated to the link stage.  This second use is redundant,
      since the buggy toolchain cannot bootstrap current GCC sources
      anyway.
      
      This makes the host fragment more specific and reduces the number
      of toolchains for which it is included which reduces clutter in
      configure lines.
      
      Signed-off-by: default avatarIain Sandoe <iain@sandoe.co.uk>
      
      config/ChangeLog:
      
      	* mh-darwin: Make this specific to handling the
      	mdynamic-no-pic case.
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Adjust cases for which it is necessary to
      	include the Darwin host config fragment.
      54258e22
  5. Jul 05, 2021
    • Iain Sandoe's avatar
      Darwin, configury : Allow for specification and detection of dsymutil. · 3b5e8ee4
      Iain Sandoe authored
      
      In order to enable DWARF versions > 2 we need a sufficiently modern
      version of dsymutil (in addition to the assembler / linker).  This
      allows the user to configure a different path from the installed one.
      
      In addition, there are several sources of dsymutil so we differentiate
      these in order to be get accurate version information.
      
      Signed-off-by: default avatarIain Sandoe <iain@sandoe.co.uk>
      
      gcc/ChangeLog:
      
      	* configure.ac: Handle --with-dsymutil in the same way as we
      	do for the assembler and linker.  (DEFAULT_DSYMUTIL): New.
      	Extract the type and version for the dsymutil configured or
      	found by the default searches.
      	* config.in: Regenerated.
      	* configure: Regenerated.
      	* collect2.c (do_dsymutil): Handle locating dsymutil in the
      	same way as for the assembler and  linker.
      	* config/darwin.h (DSYMUTIL): Delete.
      	* gcc.c: Report a configured dsymutil correctly.
      	* exec-tool.in: Allow for dsymutil.
      
      ChangeLog:
      
      	* Makefile.def: Add dsymutil defs.
      	* Makefile.in: Regenerated.
      	* Makefile.tpl: Add dsymutil to flags.
      	* configure: Regenerated.
      	* configure.ac: Add dsymutil to target and build recipes.
      3b5e8ee4
  6. May 29, 2021
    • Mike Frysinger's avatar
      sim: leverage gnulib · f14c9bd4
      Mike Frysinger authored
      We use getline, so leverage gnulib to provide fallback implementation.
      
      ChangeLog:
      
      	* configure.ac: Add gnulib to configdirs for sim.
      	* configure: Regenerate.
      f14c9bd4
  7. May 11, 2021
    • Martin Liska's avatar
      Remove libhsail-rt. · 814d86dd
      Martin Liska authored
      ChangeLog:
      
      	* Makefile.def: Remove libhsail-rt.
      	* Makefile.in: Likewise.
      	* configure.ac: Likewise.
      	* configure: Regenerate.
      	* libhsail-rt/ChangeLog: Removed.
      	* libhsail-rt/Makefile.am: Removed.
      	* libhsail-rt/Makefile.in: Removed.
      	* libhsail-rt/README: Removed.
      	* libhsail-rt/aclocal.m4: Removed.
      	* libhsail-rt/configure: Removed.
      	* libhsail-rt/configure.ac: Removed.
      	* libhsail-rt/configure.tgt: Removed.
      	* libhsail-rt/include/internal/fibers.h: Removed.
      	* libhsail-rt/include/internal/phsa-queue-interface.h: Removed.
      	* libhsail-rt/include/internal/phsa-rt.h: Removed.
      	* libhsail-rt/include/internal/workitems.h: Removed.
      	* libhsail-rt/rt/arithmetic.c: Removed.
      	* libhsail-rt/rt/atomics.c: Removed.
      	* libhsail-rt/rt/bitstring.c: Removed.
      	* libhsail-rt/rt/fbarrier.c: Removed.
      	* libhsail-rt/rt/fibers.c: Removed.
      	* libhsail-rt/rt/fp16.c: Removed.
      	* libhsail-rt/rt/misc.c: Removed.
      	* libhsail-rt/rt/multimedia.c: Removed.
      	* libhsail-rt/rt/queue.c: Removed.
      	* libhsail-rt/rt/sat_arithmetic.c: Removed.
      	* libhsail-rt/rt/segment.c: Removed.
      	* libhsail-rt/rt/workitems.c: Removed.
      	* libhsail-rt/target-config.h.in: Removed.
      
      contrib/ChangeLog:
      
      	* gcc_update: Remove libhsail-rt folder.
      	* update-copyright.py: Likewise.
      814d86dd
  8. May 04, 2021
  9. Apr 28, 2021
    • Tobias Burnus's avatar
      offload-defaulted: Config option to silently ignore uninstalled offload compilers · fe5bfa67
      Tobias Burnus authored
      If configured with --enable-offload-defaulted, configured but not installed
      offload compilers and libgomp plugins are silently ignored.  Useful for
      distribution compilers where those are in separate optional packages.
      
      2021-04-28  Jakub Jelinek  <jakub@redhat.com>
      	    Tobias Burnus  <tobias@codesourcery.com>
      
      ChangeLog:
      
      	* configure.ac (--enable-offload-defaulted): New.
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      	* configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
      	* gcc.c (process_command): New variable.
      	(driver::maybe_putenv_OFFLOAD_TARGETS): If OFFLOAD_DEFAULTED,
      	set it if -foffload is defaulted.
      	* lto-wrapper.c (OFFLOAD_TARGET_DEFAULT_ENV): Define.
      	(compile_offload_image): If OFFLOAD_DEFAULTED and
      	OFFLOAD_TARGET_DEFAULT is in the environment, don't fail
      	if corresponding mkoffload can't be found.
      	(compile_images_for_offload_targets): Likewise.  Free and clear
      	offload_names if no valid offload is found.
      	* config.in: Regenerate.
      	* configure: Regenerate.
      
      libgomp/ChangeLog:
      
      	* configure.ac (OFFLOAD_DEFAULTED): AC_DEFINE if offload-defaulted.
      	* target.c (gomp_load_plugin_for_device): If set and if a plugin
      	can't be dlopened, silently assume it has no devices.
      	* Makefile.in: Regenerate.
      	* config.h.in: Regenerate.
      	* configure: Regenerate.
      fe5bfa67
  10. Dec 15, 2020
    • Nathan Sidwell's avatar
      Add C++tools · 2efd8b1f
      Nathan Sidwell authored
      These are the toplevel directory changes to add c++tools
      
      ChangeLog:
      
      	* Makefile.def
      	* Makefile.in
      	* Makefile.tpl
      	* configure
      	* configure.ac
      2efd8b1f
    • Nathan Sidwell's avatar
      Add libcody · 36230329
      Nathan Sidwell authored
      In order to separate compiler from build system, C++ Modules, as
      implemented in GCC introduces a communication channel between those
      two entities.  This is implemented by libcody.  It is anticipated that
      other implementations will also implement this protocol, or use
      libcody to provide it.
      
      	* Makefile.def: Add libcody.
      	* configure.ac: Add libcody.
      	* Makefile.in: Regenerated.
      	* configure: Regenerated.
      	gcc/
      	* Makefile.in (CODYINC, CODYLIB, CODYLIB_H): New. Use them.
      	libcody/
      	* configure.ac: New.
      	* CMakeLists.txt: New.
      	* CODING.md: New.
      	* CONTRIB.md: New.
      	* LICENSE: New.
      	* LICENSE.gcc: New.
      	* Makefile.in: New.
      	* Makesub.in: New.
      	* README.md: New.
      	* buffer.cc: New.
      	* build-aux/config.guess: New.
      	* build-aux/config.sub: New.
      	* build-aux/install-sh: New.
      	* client.cc: New.
      	* cmake/libcody-config-ix.cmake
      	* cody.hh: New.
      	* config.h.in: New.
      	* config.m4: New.
      	* configure: New.
      	* configure.ac: New.
      	* dox.cfg.in: New.
      	* fatal.cc: New.
      	* gdbinit.in: New.
      	* internal.hh: New.
      	* netclient.cc: New.
      	* netserver.cc: New.
      	* packet.cc: New.
      	* resolver.cc: New.
      	* server.cc: New.
      	* tests/01-serialize/connect.cc: New.
      	* tests/01-serialize/decoder.cc: New.
      	* tests/01-serialize/encoder.cc: New.
      	* tests/02-comms/client-1.cc: New.
      	* tests/02-comms/pivot-1.cc: New.
      	* tests/02-comms/server-1.cc: New.
      	* tests/Makesub.in: New.
      	* tests/jouster: New.
      36230329
  11. Nov 29, 2020
  12. Nov 25, 2020
    • Matthew Malcomson's avatar
      libsanitizer: Add option to bootstrap using HWASAN · 170e618e
      Matthew Malcomson authored
      This is an analogous option to --bootstrap-asan to configure.  It allows
      bootstrapping GCC using HWASAN.
      
      For the same reasons as for ASAN we have to avoid using the HWASAN
      sanitizer when compiling libiberty and the lto-plugin.
      
      Also add a function to query whether -fsanitize=hwaddress has been
      passed.
      
      ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Add --bootstrap-hwasan option.
      
      config/ChangeLog:
      
      	* bootstrap-hwasan.mk: New file.
      
      gcc/ChangeLog:
      
      	* doc/install.texi: Document new option.
      
      libiberty/ChangeLog:
      
      	* configure: Regenerate.
      	* configure.ac: Avoid using sanitizer.
      
      lto-plugin/ChangeLog:
      
      	* Makefile.am: Avoid using sanitizer.
      	* Makefile.in: Regenerate.
      170e618e
  13. Oct 06, 2020
  14. Aug 20, 2020
  15. Jun 08, 2020
    • Jason Merrill's avatar
      bootstrap: Fix --disable-bootstrap with older g++. · ffac9597
      Jason Merrill authored
      Previously I had AX_CXX_COMPILE_STDCXX in the gcc directory configure, which
      added -std=c++11 to CXX if needed, but then CXX is overridden from the
      toplevel directory, so it didn't have the desired effect.  Fixed by moving
      the check to the toplevel.  Currently it is only used when building GCC
      without bootstrapping; other packages that share the toplevel directory
      can adjust the condition if they also want to require C++11 support.
      
      /ChangeLog:
      
      	* configure.ac: Check AX_CXX_COMPILE_STDCXX if not bootstrapping.
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      	* aclocal.m4: Remove ax_cxx_compile_stdcxx.m4.
      	* configure.ac: Remove AX_CXX_COMPILE_STDCXX.
      	* configure: Regenerate.
      ffac9597
  16. May 28, 2020
    • Nicolás Bértolo's avatar
      jit: port libgccjit to Windows · c83027f3
      Nicolás Bértolo authored
      2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>
      
      /ChangeLog:
      	* configure.ac: Don't require --enable-host-shared when building
      	for Mingw.
      	* configure: Regenerate.
      
      2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>
      
      gcc/ChangeLog:
      	* Makefile.in: don't look for libiberty in the "pic" subdirectory
      	when building for Mingw. Add dependency on xgcc with the proper
      	extension.
      
      2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>
      
      gcc/c/ChangeLog:
      	* Make-lang.in: Remove extra slash.
      
      2020-05-28  Nicolas Bértolo  <nicolasbertolo@gmail.com>
      
      gcc/jit/ChangeLog:
      	* Make-lang.in: Remove extra slash. Build libgccjit.dll and its
      	import library in Windows.
      	* config-lang.in: Update comment about --enable-host-shared.
      	* jit-w32.h: New file.
      	* jit-w32.c: New file.
      	(print_last_error): New function that prints the error
      	string corresponding to GetLastError().
      	(get_TOKEN_USER_current_user): Helper function used for getting
      	the SID belonging to the current user.
      	(create_directory_for_current_user): Helper function to create
      	a directory with permissions such that only the current user can
      	access it.
      	(win_mkdtemp): Create a temporary directory using Windows APIs.
      	* jit-playback.c: Do not chmod files in Windows. Use LoadLibrary,
      	FreeLibrary and GetProcAddress instead of libdl.
      	* jit-result.h, jit-result.c: Introduce result::handle_t to
      	abstract over the types used for dynamic library handles.
      	* jit-tempdir.c: Do not use mkdtemp() in Windows, use
      	win_mkdtemp().
      c83027f3
  17. May 18, 2020
    • Jason Merrill's avatar
      bootstrap: Update requirement to C++11. · 5329b59a
      Jason Merrill authored
      There was general agreement last November that we would move to allowing
      C++11 features to be used in GCC 11; this patch implements that direction.
      
      ChangeLog
      2020-05-18  Jason Merrill  <jason@redhat.com>
      
      	* configure.ac: Update bootstrap dialect to -std=c++11.
      
      config/ChangeLog
      2020-05-18  Jason Merrill  <jason@redhat.com>
      
      	* ax_cxx_compile_stdcxx.m4: Import from autoconf archive with
      	an adjustment to try the default mode.
      
      gcc/ChangeLog
      2020-05-18  Jason Merrill  <jason@redhat.com>
      
      	* aclocal.m4: Add ax_cxx_compile_stdcxx.m4.
      	* configure.ac: Use AX_CXX_COMPILE_STDCXX(11).
      5329b59a
  18. Apr 29, 2020
    • Thomas Schwinge's avatar
      [gcn] Don't default to building target-libstdc++-v3 [PR92713] · afa3d80e
      Thomas Schwinge authored
      ... which hasn't been ported/fails to build when using newlib (with GCC commit
      b73f6902 sources, and newlib commit
      6d79e0a58866548f435527798fbd4a6849d05bc7, tag: newlib-3.3.0 sources):
      
          In file included from [...]/build-gcc-offload-amdgcn-amdhsa/amdgcn-amdhsa/libstdc++-v3/include/csetjmp:42,
                           from [...]/source-gcc/libstdc++-v3/include/precompiled/stdc++.h:42:
          [...]/source-gcc/newlib/libc/include/setjmp.h:15:6: error: variable or field 'longjmp' declared void
             15 | void longjmp (jmp_buf __jmpb, int __retval)
                |      ^~~~~~~
          [...]
          Makefile:1824: recipe for target 'amdgcn-amdhsa/bits/stdc++.h.gch/O2ggnu++0x.gch' failed
          make[3]: *** [amdgcn-amdhsa/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1
      
      	PR target/92713
      	* configure.ac ["${ENABLE_LIBSTDCXX}" = "default" && amdgcn*-*-*]
      	(noconfigdirs): Add 'target-libstdc++-v3'.
      	* configure: Regenerate.
      afa3d80e
  19. Apr 21, 2020
  20. Apr 09, 2020
    • Tom Tromey's avatar
      Merge top-level configury changes from gdb · f9d09df0
      Tom Tromey authored
      We recently rearranged the gdb source tree to move a common library
      and gdbserver to the top-level.  This made the build more uniform and
      also a bit faster (due to sharing of built objects).
      
      This patch re-syncs these changes the top-level configury back to gcc.
      
      ChangeLog:
      	* configure: Rebuild.
      	* Makefile.in: Rebuild.
      	* Makefile.def (gdbsupport, gdbserver): New host modules.
      	(configure-gdb): Depend on all-gdbsupport.
      	(all-gdb): Depend on all-gdbsupport, all-libctf.
      	* configure.ac (host_tools): Add gdbserver.
      	Conditionally build gdbserver and gdbsupport.
      f9d09df0
  21. Mar 09, 2020
  22. Dec 11, 2019
  23. Nov 27, 2019
    • Tobias Burnus's avatar
      PR 92463 - Cleanups due to minimum MPFR version bump to 3.1.0 · 90ca6847
      Tobias Burnus authored
              PR middle-end/92463
              * configure.ac: Use MPFR_RNDN instead of GMP's MP_RNDN.
              * configure: Regenerate
      
              gcc/
              PR middle-end/92463
              * builtins.c (do_mpfr_ckconv, do_mpc_ckconv, do_mpfr_remquo,
              do_mpfr_lgamma_r, do_mpc_arg2): Use MPFR_RNDx instead of GMP_RNDx,
              mpfr_rnd_t instead of mp_rnd_t.
              * fold-const-call.c (do_mpfr_ckconv, do_mpfr_arg1, do_mpfr_sincos,
              do_mpfr_arg2, do_mpfr_arg3, do_mpc_arg1, do_mpc_arg2): Likewise.
              * gimple-ssa-sprintf.c (format_floating_max, format_floating):
              Use mpfr_exp_t instead of mp_exp_t.
              * real.c (real_from_string, dconst_e_ptr, dconst_sqrt2_ptr): Use
              MPFR_RNDx instead of GMP_RNDx.
              * realmpfr.c (real_from_mpfr, mpfr_from_real): Use mpfr_rnd_t and
              mpfr_exp_t instead mp_rnd_t and mp_exp_t, respectively.
              * realmpfr.h (real_from_mpfr, mpfr_from_real): Use mpfr_rnd_t instead
              of mp_rnd_t and remove MPFR_RNDx poisoning.
              * ubsan.c (ubsan_instrument_float_cast): MPFR_RNDx instead of GMP_RNDx.
      
              fortran/
              PR middle-end/92463
              * arith.c (gfc_check_real_range): Replace mp_exp_t by mpfr_exp_t.
      
      From-SVN: r278761
      90ca6847
  24. Nov 20, 2019
    • Janne Blomqvist's avatar
      Switch gcc ftp URL's to https · aeebd94c
      Janne Blomqvist authored
      The FTP protocol is getting long in the tooth, and we should emphasize
      HTTPS where that is available. This patch changes various gcc.gnu.org
      URL's to instead use HTTPS.
      
      For instance, kernel.org shut down FTP access in 2017, with the
      explanation:
      
      - The protocol is inefficient and requires adding awkward kludges to
        firewalls and load-balancing daemons
      - FTP servers have no support for caching or accelerators, which has
        significant performance impacts
      - Most software implementations have stagnated and see infrequent
        updates
      
      ChangeLog:
      
      2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>
      
              * configure.ac: Use https for gcc.gnu.org.
              * configure: Regenerated.
      
      gcc/ChangeLog:
      
      2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>
      
              * configure.ac: Use https for gcc.gnu.org.
              * configure: Regenerated.
              * doc/install.texi: Use https for gcc.gnu.org.
              * doc/sourcebuild.texi: Likewise.
      
      gcc/testsuite/ChangeLog:
      
      2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>
      
              * README: Use https for gcc.gnu.org.
      
      libstdc++-v3/ChangeLog:
      
      2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>
      
              * doc/html/api.html: Use https for gcc.gnu.org.
              * doc/xml/api.xml: Likewise.
      
      maintainer-scripts/ChangeLog:
      
      2019-11-20  Janne Blomqvist  <jb@gcc.gnu.org>
      
              * gcc_release: Use https for gcc.gnu.org.
      
      From-SVN: r278526
      aeebd94c
  25. Nov 11, 2019
    • Janne Blomqvist's avatar
      Bump minimum MPFR version to 3.1.0 · 8be34204
      Janne Blomqvist authored
      Bump the minimum MPFR version to 3.1.0, released 2011-10-03. With this
      requirement one can still build GCC with the operating system provided
      MPFR on old but still supported operating systems like SLES 12 (MPFR
      3.1.2) or RHEL/CentOS 7.x (MPFR 3.1.1).
      
      This allows removing some code in the Fortran frontend, as well as
      fixing PR 91828.
      
      ChangeLog:
      
      2019-11-11  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/91828
      	* configure.ac: Bump minimum MPFR to 3.1.0, recommended to 3.1.6+.
      	* configure: Regenerated.
      
      gcc/ChangeLog:
      
      2019-11-11  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/91828
      	* doc/install.texi: Document that the minimum MPFR version is
      	3.1.0.
      
      gcc/fortran/ChangeLog:
      
      2019-11-11  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	PR fortran/91828
      	* simplify.c (gfc_simplify_fraction): Remove fallback path for
      	MPFR < 3.1.0.
      
      From-SVN: r278058
      8be34204
  26. Sep 09, 2019
    • Jose E. Marchesi's avatar
      GCC port for eBPF · 91dfef96
      Jose E. Marchesi authored
      This patch series introduces a port of GCC to eBPF, which is a virtual
      machine that resides in the Linux kernel.  Initially intended for
      user-level packet capture and filtering, eBPF is nowadays generalized
      to serve as a general-purpose infrastructure also for non-networking
      purposes.
      
      The binutils support is already upstream.  See
      https://sourceware.org/ml/binutils/2019-05/msg00306.html.
      
      ChangeLog:
      
      	* MAINTAINERS: Add myself as the maintainer of the eBPF port.
      	Remove myself from Write After Approval section.
      	* configure.ac: Support for bpf-*-* targets.
      	* configure: Regenerate.
      
      contrib/ChangeLog:
      
      	* config-list.mk (LIST): Disable go in bpf-*-* targets.
      
      gcc/ChangeLog:
      
      	* doc/invoke.texi (Option Summary): Cover eBPF.
      	(eBPF Options): New section.
      	* doc/extend.texi (BPF Built-in Functions): Likewise.
      	(BPF Kernel Helpers): Likewise.
      	* config.gcc: Support for bpf-*-* targets.
      	* common/config/bpf/bpf-common.c: New file.
      	* config/bpf/t-bpf: Likewise.
      	* config/bpf/predicates.md: Likewise.
      	* config/bpf/constraints.md: Likewise.
      	* config/bpf/bpf.opt: Likewise.
      	* config/bpf/bpf.md: Likewise.
      	* config/bpf/bpf.h: Likewise.
      	* config/bpf/bpf.c: Likewise.
      	* config/bpf/bpf-protos.h: Likewise.
      	* config/bpf/bpf-opts.h: Likewise.
      	* config/bpf/bpf-helpers.h: Likewise.
      	* config/bpf/bpf-helpers.def: Likewise.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.dg/builtins-config.h: eBPF doesn't support C99 standard
      	functions.
      	* gcc.c-torture/compile/20101217-1.c: Add a function prototype for
      	printf.
      	* gcc.c-torture/compile/20000211-1.c: Skip if target bpf-*-*.
      	* gcc.c-torture/compile/poor.c: Likewise.
      	* gcc.c-torture/compile/pr25311.c: Likewise.
      	* gcc.c-torture/compile/pr39928-1.c: Likewise.
      	* gcc.c-torture/compile/pr70061.c: Likewise.
      	* gcc.c-torture/compile/920501-7.c: Likewise.
      	* gcc.c-torture/compile/20000403-1.c: Likewise.
      	* gcc.c-torture/compile/20001226-1.c: Likewise.
      	* gcc.c-torture/compile/20030903-1.c: Likewise.
      	* gcc.c-torture/compile/20031125-1.c: Likewise.
      	* gcc.c-torture/compile/20040101-1.c: Likewise.
      	* gcc.c-torture/compile/20040317-2.c: Likewise.
      	* gcc.c-torture/compile/20040726-1.c: Likewise.
      	* gcc.c-torture/compile/20051216-1.c: Likewise.
      	* gcc.c-torture/compile/900313-1.c: Likewise.
      	* gcc.c-torture/compile/920625-1.c: Likewise.
      	* gcc.c-torture/compile/930421-1.c: Likewise.
      	* gcc.c-torture/compile/930623-1.c: Likewise.
      	* gcc.c-torture/compile/961004-1.c: Likewise.
      	* gcc.c-torture/compile/980504-1.c: Likewise.
      	* gcc.c-torture/compile/980816-1.c: Likewise.
      	* gcc.c-torture/compile/990625-1.c: Likewise.
      	* gcc.c-torture/compile/DFcmp.c: Likewise.
      	* gcc.c-torture/compile/HIcmp.c: Likewise.
      	* gcc.c-torture/compile/HIset.c: Likewise.
      	* gcc.c-torture/compile/QIcmp.c: Likewise.
      	* gcc.c-torture/compile/QIset.c: Likewise.
      	* gcc.c-torture/compile/SFset.c: Likewise.
      	* gcc.c-torture/compile/SIcmp.c: Likewise.
      	* gcc.c-torture/compile/SIset.c: Likewise.
      	* gcc.c-torture/compile/UHIcmp.c: Likewise.
      	* gcc.c-torture/compile/UQIcmp.c: Likewise.
      	* gcc.c-torture/compile/USIcmp.c: Likewise.
      	* gcc.c-torture/compile/consec.c: Likewise.
      	* gcc.c-torture/compile/limits-fndefn.c: Likewise.
      	* gcc.c-torture/compile/lll.c: Likewise.
      	* gcc.c-torture/compile/parms.c: Likewise.
      	* gcc.c-torture/compile/pass.c: Likewise.
      	* gcc.c-torture/compile/pp.c: Likewise.
      	* gcc.c-torture/compile/pr32399.c: Likewise.
      	* gcc.c-torture/compile/pr34091.c: Likewise.
      	* gcc.c-torture/compile/pr34688.c: Likewise.
      	* gcc.c-torture/compile/pr37258.c: Likewise.
      	* gcc.c-torture/compile/pr37327.c: Likewise.
      	* gcc.c-torture/compile/pr37381.c: Likewise.
      	* gcc.c-torture/compile/pr37669-2.c: Likewise.
      	* gcc.c-torture/compile/pr37669.c: Likewise.
      	* gcc.c-torture/compile/pr37742-3.c: Likewise.
      	* gcc.c-torture/compile/pr44063.c: Likewise.
      	* gcc.c-torture/compile/pr48596.c: Likewise.
      	* gcc.c-torture/compile/pr51856.c: Likewise.
      	* gcc.c-torture/compile/pr54428.c: Likewise.
      	* gcc.c-torture/compile/pr54713-1.c: Likewise.
      	* gcc.c-torture/compile/pr54713-2.c: Likewise.
      	* gcc.c-torture/compile/pr54713-3.c: Likewise.
      	* gcc.c-torture/compile/pr55921.c: Likewise.
      	* gcc.c-torture/compile/pr70240.c: Likewise.
      	* gcc.c-torture/compile/pr70355.c: Likewise.
      	* gcc.c-torture/compile/pr82052.c: Likewise.
      	* gcc.c-torture/compile/pr83487.c: Likewise.
      	* gcc.c-torture/compile/pr86122.c: Likewise.
      	* gcc.c-torture/compile/pret-arg.c: Likewise.
      	* gcc.c-torture/compile/regs-arg-size.c: Likewise.
      	* gcc.c-torture/compile/structret.c: Likewise.
      	* gcc.c-torture/compile/uuarg.c: Likewise.
      	* gcc.dg/20001009-1.c: Likewise.
      	* gcc.dg/20020418-1.c: Likewise.
      	* gcc.dg/20020426-2.c: Likewise.
      	* gcc.dg/20020430-1.c: Likewise.
      	* gcc.dg/20040306-1.c: Likewise.
      	* gcc.dg/20040622-2.c: Likewise.
      	* gcc.dg/20050603-2.c: Likewise.
      	* gcc.dg/20050629-1.c: Likewise.
      	* gcc.dg/20061026.c: Likewise.
      	* gcc.dg/Warray-bounds-3.c: Likewise.
      	* gcc.dg/Warray-bounds-30.c: Likewise.
      	* gcc.dg/Wframe-larger-than-2.c: Likewise.
      	* gcc.dg/Wframe-larger-than.c: Likewise.
      	* gcc.dg/Wrestrict-11.c: Likewise.
      	* gcc.c-torture/compile/20000804-1.c: Likewise.
      	* lib/target-supports.exp (check_effective_target_trampolines):
      	Adapt to eBPF.
      	(check_effective_target_indirect_jumps): Likewise.
      	(check_effective_target_nonlocal_goto): Likewise.
      	(check_effective_target_global_constructor): Likewise.
      	(check_effective_target_return_address): Likewise.
      	* gcc.target/bpf/bpf.exp: New file.
      	* gcc.target/bpf/builtin-load.c: Likewise.
      	* cc.target/bpf/constant-calls.c: Likewise.
      	* gcc.target/bpf/diag-funargs.c: Likewise.
      	* gcc.target/bpf/diag-funargs-2.c: Likewise.
      	* gcc.target/bpf/diag-funargs-3.c: Likewise.
      	* gcc.target/bpf/diag-indcalls.c: Likewise.
      	* gcc.target/bpf/helper-bind.c: Likewise.
      	* gcc.target/bpf/helper-bpf-redirect.c: Likewise.
      	* gcc.target/bpf/helper-clone-redirect.c: Likewise.
      	* gcc.target/bpf/helper-csum-diff.c: Likewise.
      	* gcc.target/bpf/helper-csum-update.c: Likewise.
      	* gcc.target/bpf/helper-current-task-under-cgroup.c: Likewise.
      	* gcc.target/bpf/helper-fib-lookup.c: Likewise.
      	* gcc.target/bpf/helper-get-cgroup-classid.c: Likewise.
      	* gcc.target/bpf/helper-get-current-cgroup-id.c: Likewise.
      	* gcc.target/bpf/helper-get-current-comm.c: Likewise.
      	* gcc.target/bpf/helper-get-current-pid-tgid.c: Likewise.
      	* gcc.target/bpf/helper-get-current-task.c: Likewise.
      	* gcc.target/bpf/helper-get-current-uid-gid.c: Likewise.
      	* gcc.target/bpf/helper-get-hash-recalc.c: Likewise.
      	* gcc.target/bpf/helper-get-listener-sock.c: Likewise.
      	* gcc.target/bpf/helper-get-local-storage.c: Likewise.
      	* gcc.target/bpf/helper-get-numa-node-id.c: Likewise.
      	* gcc.target/bpf/helper-get-prandom-u32.c: Likewise.
      	* gcc.target/bpf/helper-get-route-realm.c: Likewise.
      	* gcc.target/bpf/helper-get-smp-processor-id.c: Likewise.
      	* gcc.target/bpf/helper-get-socket-cookie.c: Likewise.
      	* gcc.target/bpf/helper-get-socket-uid.c: Likewise.
      	* gcc.target/bpf/helper-getsockopt.c: Likewise.
      	* gcc.target/bpf/helper-get-stack.c: Likewise.
      	* gcc.target/bpf/helper-get-stackid.c: Likewise.
      	* gcc.target/bpf/helper-ktime-get-ns.c: Likewise.
      	* gcc.target/bpf/helper-l3-csum-replace.c: Likewise.
      	* gcc.target/bpf/helper-l4-csum-replace.c: Likewise.
      	* gcc.target/bpf/helper-lwt-push-encap.c: Likewise.
      	* gcc.target/bpf/helper-lwt-seg6-action.c: Likewise.
      	* gcc.target/bpf/helper-lwt-seg6-adjust-srh.c: Likewise.
      	* gcc.target/bpf/helper-lwt-seg6-store-bytes.c: Likewise.
      	* gcc.target/bpf/helper-map-delete-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-lookup-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-peek-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-pop-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-push-elem.c: Likewise.
      	* gcc.target/bpf/helper-map-update-elem.c: Likewise.
      	* gcc.target/bpf/helper-msg-apply-bytes.c: Likewise.
      	* gcc.target/bpf/helper-msg-cork-bytes.c: Likewise.
      	* gcc.target/bpf/helper-msg-pop-data.c: Likewise.
      	* gcc.target/bpf/helper-msg-pull-data.c: Likewise.
      	* gcc.target/bpf/helper-msg-push-data.c: Likewise.
      	* gcc.target/bpf/helper-msg-redirect-hash.c: Likewise.
      	* gcc.target/bpf/helper-msg-redirect-map.c: Likewise.
      	* gcc.target/bpf/helper-override-return.c: Likewise.
      	* gcc.target/bpf/helper-perf-event-output.c: Likewise.
      	* gcc.target/bpf/helper-perf-event-read.c: Likewise.
      	* gcc.target/bpf/helper-perf-event-read-value.c: Likewise.
      	* gcc.target/bpf/helper-perf-prog-read-value.c: Likewise.
      	* gcc.target/bpf/helper-probe-read.c: Likewise.
      	* gcc.target/bpf/helper-probe-read-str.c: Likewise.
      	* gcc.target/bpf/helper-probe-write-user.c: Likewise.
      	* gcc.target/bpf/helper-rc-keydown.c: Likewise.
      	* gcc.target/bpf/helper-rc-pointer-rel.c: Likewise.
      	* gcc.target/bpf/helper-rc-repeat.c: Likewise.
      	* gcc.target/bpf/helper-redirect-map.c: Likewise.
      	* gcc.target/bpf/helper-set-hash.c: Likewise.
      	* gcc.target/bpf/helper-set-hash-invalid.c: Likewise.
      	* gcc.target/bpf/helper-setsockopt.c: Likewise.
      	* gcc.target/bpf/helper-skb-adjust-room.c: Likewise.
      	* gcc.target/bpf/helper-skb-cgroup-id.c: Likewise.
      	* gcc.target/bpf/helper-skb-change-head.c: Likewise.
      	* gcc.target/bpf/helper-skb-change-proto.c: Likewise.
      	* gcc.target/bpf/helper-skb-change-tail.c: Likewise.
      	* gcc.target/bpf/helper-skb-change-type.c: Likewise.
      	* gcc.target/bpf/helper-skb-ecn-set-ce.c: Likewise.
      	* gcc.target/bpf/helper-skb-get-tunnel-key.c: Likewise.
      	* gcc.target/bpf/helper-skb-get-tunnel-opt.c: Likewise.
      	* gcc.target/bpf/helper-skb-get-xfrm-state.c: Likewise.
      	* gcc.target/bpf/helper-skb-load-bytes.c: Likewise.
      	* gcc.target/bpf/helper-skb-load-bytes-relative.c: Likewise.
      	* gcc.target/bpf/helper-skb-pull-data.c: Likewise.
      	* gcc.target/bpf/helper-skb-set-tunnel-key.c: Likewise.
      	* gcc.target/bpf/helper-skb-set-tunnel-opt.c: Likewise.
      	* gcc.target/bpf/helper-skb-store-bytes.c: Likewise.
      	* gcc.target/bpf/helper-skb-under-cgroup.c: Likewise.
      	* gcc.target/bpf/helper-skb-vlan-pop.c: Likewise.
      	* gcc.target/bpf/helper-skb-vlan-push.c: Likewise.
      	* gcc.target/bpf/helper-skc-lookup-tcp.c: Likewise.
      	* gcc.target/bpf/helper-sk-fullsock.c: Likewise.
      	* gcc.target/bpf/helper-sk-lookup-tcp.c: Likewise.
      	* gcc.target/bpf/helper-sk-lookup-upd.c: Likewise.
      	* gcc.target/bpf/helper-sk-redirect-hash.c: Likewise.
      	* gcc.target/bpf/helper-sk-redirect-map.c: Likewise.
      	* gcc.target/bpf/helper-sk-release.c: Likewise.
      	* gcc.target/bpf/helper-sk-select-reuseport.c: Likewise.
      	* gcc.target/bpf/helper-sk-storage-delete.c: Likewise.
      	* gcc.target/bpf/helper-sk-storage-get.c: Likewise.
      	* gcc.target/bpf/helper-sock-hash-update.c: Likewise.
      	* gcc.target/bpf/helper-sock-map-update.c: Likewise.
      	* gcc.target/bpf/helper-sock-ops-cb-flags-set.c: Likewise.
      	* gcc.target/bpf/helper-spin-lock.c: Likewise.
      	* gcc.target/bpf/helper-spin-unlock.c: Likewise.
      	* gcc.target/bpf/helper-strtol.c: Likewise.
      	* gcc.target/bpf/helper-strtoul.c: Likewise.
      	* gcc.target/bpf/helper-sysctl-get-current-value.c: Likewise.
      	* gcc.target/bpf/helper-sysctl-get-name.c: Likewise.
      	* gcc.target/bpf/helper-sysctl-get-new-value.c: Likewise.
      	* gcc.target/bpf/helper-sysctl-set-new-value.c: Likewise.
      	* gcc.target/bpf/helper-tail-call.c: Likewise.
      	* gcc.target/bpf/helper-tcp-check-syncookie.c: Likewise.
      	* gcc.target/bpf/helper-tcp-sock.c: Likewise.
      	* gcc.target/bpf/helper-trace-printk.c: Likewise.
      	* gcc.target/bpf/helper-xdp-adjust-head.c: Likewise.
      	* gcc.target/bpf/helper-xdp-adjust-meta.c: Likewise.
      	* gcc.target/bpf/helper-xdp-adjust-tail.c: Likewise.
      	* gcc.target/bpf/skb-ancestor-cgroup-id.c: Likewise.
      	* gcc.target/bpf/sync-fetch-and-add.c: Likewise.
      
      libgcc/ChangeLog:
      
      	* config.host: Set cpu_type for bpf-*-* targets.
      	* config/bpf/t-bpf: Likewise.
      	* config/bpf/crtn.S: Likewise.
      	* config/bpf/crti.S: New file.
      
      From-SVN: r275506
      91dfef96
  27. Aug 19, 2019
    • Tom Tromey's avatar
      Add --with-static-standard-libraries to the top level · aac9103b
      Tom Tromey authored
      gdb should normally not be linked with -static-libstdc++.  Currently
      this has not caused problems, but it's incompatible with catching an
      exception thrown from a shared library -- and a subsequent patch
      changes gdb to do just this.
      
      This patch adds a new --with-static-standard-libraries flag to the
      top-level configure.  It defaults to "auto", which means enabled if
      gcc is being built, and disabled otherwise.
      
      ChangeLog
      2019-08-19  Tom Tromey  <tom@tromey.com>
      
      	* configure: Rebuild.
      	* configure.ac: Add --with-static-standard-libraries.
      
      From-SVN: r274673
      aac9103b
  28. Jun 15, 2019
    • Tom Tromey's avatar
      Sync top-level change from gdb · 98e5be21
      Tom Tromey authored
      This patch syncs a change to the top-level configury from gdb.  It
      should not affect the gcc build at all.  Tested by rebuilding.
      
      ChangeLog
      2019-06-15  Tom Tromey  <tom@tromey.com>
      
      	* configure.ac (host_libs): Add gnulib.
      	* configure: Rebuild.
      	* Makefile.def (host_modules, dependencies): Add gnulib.
      	* Makefile.in: Rebuild.
      
      From-SVN: r272332
      98e5be21
  29. Jun 12, 2019
    • Dimitar Dimitrov's avatar
      Initial TI PRU GCC port · 8d2af3a2
      Dimitar Dimitrov authored
      ChangeLog:
      
      2019-06-19  Dimitar Dimitrov  <dimitar@dinux.eu>
      
      	* configure: Regenerate.
      	* configure.ac: Add PRU target.
      
      gcc/ChangeLog:
      
      2019-06-19  Dimitar Dimitrov  <dimitar@dinux.eu>
      
      	* common/config/pru/pru-common.c: New file.
      	* config.gcc: Add PRU target.
      	* config/pru/alu-zext.md: New file.
      	* config/pru/constraints.md: New file.
      	* config/pru/predicates.md: New file.
      	* config/pru/pru-opts.h: New file.
      	* config/pru/pru-passes.c: New file.
      	* config/pru/pru-pragma.c: New file.
      	* config/pru/pru-protos.h: New file.
      	* config/pru/pru.c: New file.
      	* config/pru/pru.h: New file.
      	* config/pru/pru.md: New file.
      	* config/pru/pru.opt: New file.
      	* config/pru/t-pru: New file.
      	* doc/extend.texi: Document PRU pragmas.
      	* doc/invoke.texi: Document PRU-specific options.
      	* doc/md.texi: Document PRU asm constraints.
      
      From-SVN: r272202
      8d2af3a2
  30. Jun 11, 2019
    • Nick Clifton's avatar
      Import these changes from the binutils/gdb repository: · de6abd85
      Nick Clifton authored
      	2019-05-28  Nick Alcock  <nick.alcock@oracle.com>
      
      	* Makefile.def (dependencies): configure-libctf depends on all-bfd
      	and all its deps.
      	* Makefile.in: Regenerated.
      
      	2019-05-28  Nick Alcock  <nick.alcock@oracle.com>
      
      	* Makefile.def (host_modules): Add libctf.
      	* Makefile.def (dependencies): Likewise.
      	libctf depends on zlib, libiberty, and bfd.
      	* Makefile.in: Regenerated.
      	* configure.ac (host_libs): Add libctf.
      	* configure: Regenerated.
      
      From-SVN: r272148
      de6abd85
  31. Apr 14, 2019
    • Johannes Pfau's avatar
      PR d/87799 Fix D build on windows hosts · 4d024c32
      Johannes Pfau authored
      PR d/87799
      * d-system.h (_mkdir): Forward _mkdir on MinGW to mkdir in system.h.
      * configure.ac: Remove d from unsupported languages on mingw and cygwin.
      * configure: Regenerate.
      
      From-SVN: r270349
      4d024c32
    • Rainer Orth's avatar
      Enable libphobos on Solaris 11/x86 · 7d31d331
      Rainer Orth authored
      	toplevel:
      	* configure.ac (enable_libphobos): Check LIBPHOBOS_SUPPORTED.
      	* configure: Regenerate.
      
      	libphobos:
      	* configure.tgt (LIBPHOBOS_SUPPORTED): Default to no.
      	Set to yes explicitly.
      	* configure.ac: Handle --enable-libphobos.
      	(x86_64-*-solaris2.* | i?86-*-solaris2.*): Only mark supported
      	with gas.
      	(ENABLE_LIBPHOBOS): New conditional.
      	* configure: Regenerate.
      	* Makefile.am (SUBDIRS): Only set if ENABLE_LIBPHOBOS.
      	* Makefile.in: Regenerate.
      
      From-SVN: r270348
      7d31d331
  32. Apr 12, 2019
    • Iain Buclaw's avatar
      libphobos: Add target-zlib to top-level configure · bb50312e
      Iain Buclaw authored
      Removes the building of zlib from within libphobos, using instead the
      libz_convenience.a library.
      
      ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* configure.ac: Add target-zlib to target_libraries.
      	* configure: Regenerate.
      
      gcc/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* doc/install.texi: Document --with-target-system-zlib.
      
      libphobos/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* m4/druntime/libraries.m4 (DRUNTIME_LIBRARIES_ZLIB): Use
      	libz_convenience.a if not using system zlib.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* libdruntime/Makefile.in: Regenerate.
      	* src/Makefile.am: Remove ZLIB_CSOURCES and AM_CFLAGS.
      	* src/Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      From-SVN: r270328
      bb50312e
  33. Jan 17, 2019
    • Andrew Stubbs's avatar
      GCN back-end config · 7431c1a1
      Andrew Stubbs authored
      
      This patch contains the configuration adjustments needed to enable the GCN
      back-end.
      
      The new configure check for dlopen is required to allow building the new
      gcn-run tool.  This tool uses libdl to load the HSA runtime libraries, which
      are required to run programs on the GPU.  The tool is disabled if libdl is not
      available.
      
      2019-01-17  Andrew Stubbs  <ams@codesourcery.com>
      	    Kwok Cheung Yeung  <kcy@codesourcery.com>
      	    Julian Brown  <julian@codesourcery.com>
      	    Tom de Vries  <tom@codesourcery.com>
      	    Jan Hubicka  <hubicka@ucw.cz>
      	    Martin Jambor  <mjambor@suse.cz>
      
      	* configure.ac: Likewise.
      	* configure: Regenerate.
      	* contrib/config-list.mk: Add amdgcn-amdhsa.
      
      	gcc/
      	* config.gcc: Add amdgcn*-*-amdhsa configuration.
      	* configure.ac: Check for dlopen.
      	* configure: Regenerate.
      
      
      Co-Authored-By: default avatarJan Hubicka <hubicka@ucw.cz>
      Co-Authored-By: default avatarJulian Brown <julian@codesourcery.com>
      Co-Authored-By: default avatarKwok Cheung Yeung <kcy@codesourcery.com>
      Co-Authored-By: default avatarMartin Jambor <mjambor@suse.cz>
      Co-Authored-By: default avatarTom de Vries <tom@codesourcery.com>
      
      From-SVN: r268024
      7431c1a1
  34. Dec 05, 2018
    • Iain Sandoe's avatar
      darwin - add configuration support for 'otool' · e4a9a572
      Iain Sandoe authored
      2018-12-05  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* configure.ac (NCN_STRICT_CHECK_TOOLS): Check otool.
      	(ACX_CHECK_INSTALLED_TARGET_TOOL): Likewise
      	(GCC_TARGET_TOOL): Likewise.
      	* Makefile.tpl (HOST_EXPORTS): Add OTOOL, OTOOL_FOR_TARGET.
      	(BASE_TARGET_EXPORTS): OTOOL, export OTOOL_FOR_TARGET.
      	OTOOL, OTOOL_FOR_TARGET: New substitutions. 
      	(EXTRA_HOST_FLAGS, EXTRA_TARGET_FLAGS): Add OTOOL.
      	* configure: Regenerate. 
      	* Makefile.in: Likewise.
      
      gcc/
      
      	* configure.ac (gcc_cv_otool): Set.
      	* configure: Regenerate.
      
      From-SVN: r266831
      e4a9a572
  35. Oct 31, 2018
    • Joseph Myers's avatar
      Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). · 22e05272
      Joseph Myers authored
      This patch updates GCC to use autoconf 2.69 and automake 1.15.1.
      (That's not the latest automake version, but it's the one used by
      binutils-gdb, with which consistency is desirable, and in any case
      seems a useful incremental update that should make a future update to
      1.16.1 easier.)
      
      The changes are generally similar to the binutils-gdb ones, and are
      copied from there where shared files and directories are involved
      (there are some further changes to such shared directories, however,
      which I'd expect to apply to binutils-gdb once this patch is in GCC).
      Largely, obsolete AC_PREREQ calls are removed, while many
      AC_LANG_SOURCE calls are added to avoid warnings from aclocal and
      autoconf.  Multilib support is no longer included in core automake,
      meaning that multilib.am needs copying from automake's contrib
      directory into the GCC source tree.  Autoconf 2.69 has Go support, so
      local copies of that support are removed.  I hope the D support will
      soon be submitted to upstream autoconf so the local copy of that can
      be removed in a future update.  Changes to how automake generates
      runtest calls mean quotes are removed from RUNTEST definitions in five
      lib*/testsuite/Makefile.am files (libatomic, libgomp, libitm,
      libphobos, libvtv; some others have RUNTEST definitions without
      quotes, which are still OK); libgo and libphobos also get
      -Wno-override added to AM_INIT_AUTOMAKE so those overrides of RUNTEST
      do not generate automake warnings.
      
      Note that the regeneration did not include regeneration of
      fixincludes/config.h.in (attempting such regeneration resulted in all
      the USED_FOR_TARGET conditionals disappearing; and I don't see
      anything in the fixincludes/ directory that would result in such
      conditionals being generated, unlike in the gcc/ directory).  Also
      note that libvtv/testsuite/other-tests/Makefile.in was not
      regenerated; that directory is not listed as a subdirectory for which
      Makefile.in gets regenerated by calling "automake" in libvtv/, so I'm
      not sure how it's meant to be regenerated.
      
      While I mostly fixed warnings should running aclocal / automake /
      autoconf, there were various such warnings from automake in the
      libgfortran, libgo, libgomp, liboffloadmic, libsanitizer, libphobos
      directories that I did not fix, preferring to leave those to the
      relevant subsystem maintainers.  Specifically, most of those warnings
      were of the following form (example from libgfortran):
      
      Makefile.am:48: warning: source file 'caf/single.c' is in a subdirectory,
      Makefile.am:48: but option 'subdir-objects' is disabled
      automake: warning: possible forward-incompatibility.
      automake: At least a source file is in a subdirectory, but the 'subdir-objects'
      automake: automake option hasn't been enabled.  For now, the corresponding output
      automake: object file(s) will be placed in the top-level directory.  However,
      automake: this behaviour will change in future Automake versions: they
      will
      automake: unconditionally cause object files to be placed in the same subdirectory
      automake: of the corresponding sources.
      automake: You are advised to start using 'subdir-objects' option throughout your
      automake: project, to avoid future incompatibilities.
      
      I think it's best for the relevant maintainers to add subdir-objects
      and do any other associated Makefile.am changes needed.  In some cases
      the paths in the warnings involved ../; I don't know if that adds any
      extra complications to the use of subdir-objects.
      
      I've tested this with native, cross and Canadian cross builds.  The
      risk of any OS-specific issues should I hope be rather lower than if a
      libtool upgrade were included (we *should* do such an upgrade at some
      point, but it's more complicated - it involves identifying all our
      local libtool changes to see if any aren't included in the upstream
      version we update to, and reverting an upstream libtool patch that's
      inappropriate for use in GCC); I think it would be better to get this
      update into GCC so that people can test in different configurations
      and we can fix any issues found, rather than to try to get more and
      more testing done before it goes in.
      
      top level:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* multilib.am: New file.  From automake.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* libtool.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ, use AC_LANG_SOURCE.
      	* ar-lib: New file.
      	* test-driver: New file.
      	* configure: Re-generate.
      
      config:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* math.m4, tls.m4: Use AC_LANG_SOURCE.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* override.m4 (_GCC_AUTOCONF_VERSION): Bump from 2.64 to 2.69.
      
      fixincludes:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* aclocal.m4, configure: Regenerate.
      
      gcc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use single
      	line for second argument of AC_DEFINE_UNQUOTED.
      	* doc/install.texi (Tools/packages necessary for modifying GCC):
      	Update to autoconf 2.69 and automake 1.15.1.
      	* aclocal.m4, config.in, configure: Regenerate.
      
      gnattools:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Regenerate.
      
      gotools:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* config/go.m4: Remove file.
      	* Makefile.am (ACLOCAL_AMFLAGS): Do not use -I ./config.
      	* configure.ac:  Remove AC_PREREQ.  Do not include config/go.m4.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      intl:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Add AC_USE_SYSTEM_EXTENSIONS, remove AC_PREREQ.
      	* configure: Re-generate.
      	* config.h.in: Re-generate.
      	* aclocal.m4: Re-generate.
      
      libada:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Regenerate.
      
      libatomic:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* acinclude.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libbacktrace:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libcc1:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libcpp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* aclocal.m4, config.in, configure: Regenerate.
      
      libdecnumber:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Re-generate.
      	* aclocal.m4.
      
      libffi:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove doc/libffi.info.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, fficonfig.h.in,
      	include/Makefile.in, man/Makefile.in, testsuite/Makefile.in:
      	Regenerate.
      
      libgcc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* configure: Regenerate.
      
      libgfortran:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libgo [logically part of this change but omitted from the commit]:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* config/go.m4: Remove file.
      	* config/libtool.m4: Use AC_LANG_SOURCE.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.  Use
      	-Wno-override in AM_INIT_AUTOMAKE call.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libgomp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove libgomp.info.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libhsail-rt:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libiberty:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Remove AC_PREREQ.
      	* configure: Re-generate.
      	* config.in: Re-generate.
      
      libitm:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Add info-in-builddir.
      	(CLEANFILES): Remove libitm.info.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      libobjc:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.
      	* aclocal.m4, config.h.in, configure: Regenerate.
      
      liboffloadmic:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* plugin/Makefile.am: Include multilib.am.
      	* plugin/configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, plugin/Makefile.in,
      	plugin/aclocal.m4, plugin/configure: Regenerate.
      
      libphobos:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use -Wno-override in
      	AM_INIT_AUTOMAKE call.
      	* m4/autoconf.m4: Add extra argument to AC_LANG_DEFINE call.
      	* m4/druntime/os.m4: Use AC_LANG_SOURCE.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, libdruntime/Makefile.in,
      	src/Makefile.in, testsuite/Makefile.in: Regenerate.
      
      libquadmath:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Remove 1.8.  Add info-in-builddir.
      	(all-local): Define outside conditional code.
      	(CLEANFILES): Remove libquadmath.info.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      libsanitizer:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, asan/Makefile.in, configure,
      	interception/Makefile.in, libbacktrace/Makefile.in,
      	lsan/Makefile.in, sanitizer_common/Makefile.in, tsan/Makefile.in,
      	ubsan/Makefile.in: Regenerate.
      
      libssp:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	(AUTOMAKE_OPTIONS): Remove 1.9.5.
      	* configure.ac: Remove AC_PREREQ.  Quote argument to
      	AC_RUN_IFELSE.
      	* Makefile.in, aclocal.m4, configure: Regenerate.
      
      libstdc++-v3:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* Makefile.in, aclocal.m4, configure, doc/Makefile.in,
      	include/Makefile.in, libsupc++/Makefile.in, po/Makefile.in,
      	python/Makefile.in, src/Makefile.in, src/c++11/Makefile.in,
      	src/c++17/Makefile.in, src/c++98/Makefile.in,
      	src/filesystem/Makefile.in, testsuite/Makefile.in: Regenerate.
      
      libvtv:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      	* configure.ac: Remove AC_PREREQ.
      	* testsuite/Makefile.am (RUNTEST): Remove quotes.
      	* Makefile.in, aclocal.m4, configure, testsuite/Makefile.in:
      	Regenerate.
      
      lto-plugin:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* configure.ac: Remove AC_PREREQ.  Use AC_LANG_SOURCE.
      	* Makefile.in, aclocal.m4, config.h.in, configure: Regenerate.
      
      zlib:
      2018-10-31  Joseph Myers  <joseph@codesourcery.com>
      
      	PR bootstrap/82856
      	* Makefile.am: Include multilib.am.
      
      	Merge from binutils-gdb:
      	2018-06-19  Simon Marchi  <simon.marchi@ericsson.com>
      
      	* configure.ac: Modernize AC_INIT call, remove AC_PREREQ.
      	* Makefile.am (AUTOMAKE_OPTIONS): Remove 1.8, cygnus, add foreign.
      	* Makefile.in: Re-generate.
      	* aclocal.m4: Re-generate.
      	* configure: Re-generate.
      
      From-SVN: r265695
      22e05272
    • Iain Buclaw's avatar
      re PR d/87788 (Support D on x86_64-apple-darwin*) · 260eedb9
      Iain Buclaw authored
      ChangeLog:
      
      2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR bootstrap/87788
      	PR d/87799
      	* configure: Rebuild.
      	* configure.ac: Disable D on systems where it is known not to work.
      
      libphobos/ChangeLog:
      
      2018-10-31  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR bootstrap/87789
      	PR d/87818
      	PR d/87819
      	* configure.tgt: New file.
      
      From-SVN: r265658
      260eedb9
  36. Oct 28, 2018
    • Iain Buclaw's avatar
      Add D front-end, libphobos library, and D2 testsuite. · b4c522fa
      Iain Buclaw authored
      ChangeLog:
      
      	* Makefile.def (target_modules): Add libphobos.
      	(flags_to_pass): Add GDC, GDCFLAGS, GDC_FOR_TARGET and
      	GDCFLAGS_FOR_TARGET.
      	(dependencies): Make libphobos depend on libatomic, libbacktrace
      	configure, and zlib configure.
      	(language): Add language d.
      	* Makefile.in: Rebuild.
      	* Makefile.tpl (BUILD_EXPORTS): Add GDC and GDCFLAGS.
      	(HOST_EXPORTS): Add GDC.
      	(POSTSTAGE1_HOST_EXPORTS): Add GDC and GDC_FOR_BUILD.
      	(BASE_TARGET_EXPORTS): Add GDC.
      	(GDC_FOR_BUILD, GDC, GDCFLAGS): New variables.
      	(GDC_FOR_TARGET, GDC_FLAGS_FOR_TARGET): New variables.
      	(EXTRA_HOST_FLAGS): Add GDC.
      	(STAGE1_FLAGS_TO_PASS): Add GDC.
      	(EXTRA_TARGET_FLAGS): Add GDC and GDCFLAGS.
      	* config-ml.in: Treat GDC and GDCFLAGS like other compiler/flag
      	environment variables.
      	* configure: Rebuild.
      	* configure.ac: Add target-libphobos to target_libraries.  Set and
      	substitute GDC_FOR_BUILD and GDC_FOR_TARGET.
      
      config/ChangeLog:
      
      	* multi.m4: Set GDC.
      
      gcc/ChangeLog:
      
      	* Makefile.in (tm_d_file_list, tm_d_include_list): New variables.
      	(TM_D_H, D_TARGET_DEF, D_TARGET_H, D_TARGET_OBJS): New variables.
      	(tm_d.h, cs-tm_d.h, default-d.o): New rules.
      	(d/d-target-hooks-def.h, s-d-target-hooks-def-h): New rules.
      	(s-tm-texi): Also check timestamp on d-target.def.
      	(generated_files): Add TM_D_H and d-target-hooks-def.h.
      	(build/genhooks.o): Also depend on D_TARGET_DEF.
      	* config.gcc (tm_d_file, d_target_objs, target_has_targetdm): New
      	variables.
      	* config/aarch64/aarch64-d.c: New file.
      	* config/aarch64/aarch64-linux.h (GNU_USER_TARGET_D_CRITSEC_SIZE):
      	Define.
      	* config/aarch64/aarch64-protos.h (aarch64_d_target_versions): New
      	prototype.
      	* config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/aarch64/t-aarch64 (aarch64-d.o): New rule.
      	* config/arm/arm-d.c: New file.
      	* config/arm/arm-protos.h (arm_d_target_versions): New prototype.
      	* config/arm/arm.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
      	* config/arm/t-arm (arm-d.o): New rule.
      	* config/default-d.c: New file.
      	* config/glibc-d.c: New file.
      	* config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/i386/i386-d.c: New file.
      	* config/i386/i386-protos.h (ix86_d_target_versions): New prototype.
      	* config/i386/i386.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
      	(GNU_USER_TARGET_D_CRITSEC_SIZE): Define.
      	* config/i386/t-i386 (i386-d.o): New rule.
      	* config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Define.
      	* config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Define.
      	* config/mips/mips-d.c: New file.
      	* config/mips/mips-protos.h (mips_d_target_versions): New prototype.
      	* config/mips/mips.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/mips/t-mips (mips-d.o): New rule.
      	* config/powerpcspe/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/powerpcspe/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/powerpcspe/powerpcspe-d.c: New file.
      	* config/powerpcspe/powerpcspe-protos.h (rs6000_d_target_versions):
      	New prototype.
      	* config/powerpcspe/powerpcspe.c (rs6000_output_function_epilogue):
      	Support GNU D by using 0 as the language type.
      	* config/powerpcspe/powerpcspe.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/powerpcspe/t-powerpcspe (powerpcspe-d.o): New rule.
      	* config/riscv/riscv-d.c: New file.
      	* config/riscv/riscv-protos.h (riscv_d_target_versions): New
      	prototype.
      	* config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/riscv/t-riscv (riscv-d.o): New rule.
      	* config/rs6000/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/rs6000/linux64.h (GNU_USER_TARGET_D_OS_VERSIONS): Define.
      	* config/rs6000/rs6000-d.c: New file.
      	* config/rs6000/rs6000-protos.h (rs6000_d_target_versions): New
      	prototype.
      	* config/rs6000/rs6000.c (rs6000_output_function_epilogue):
      	Support GNU D by using 0 as the language type.
      	* config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/rs6000/t-rs6000 (rs6000-d.o): New rule.
      	* config/s390/s390-d.c: New file.
      	* config/s390/s390-protos.h (s390_d_target_versions): New prototype.
      	* config/s390/s390.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/s390/t-s390 (s390-d.o): New rule.
      	* config/sparc/sparc-d.c: New file.
      	* config/sparc/sparc-protos.h (sparc_d_target_versions): New
      	prototype.
      	* config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Define.
      	* config/sparc/t-sparc (sparc-d.o): New rule.
      	* config/t-glibc (glibc-d.o): New rule.
      	* configure: Regenerated.
      	* configure.ac (tm_d_file): New variable.
      	(tm_d_file_list, tm_d_include_list, d_target_objs): Add substitutes.
      	* doc/contrib.texi (Contributors): Add self for the D frontend.
      	* doc/frontends.texi (G++ and GCC): Mention D as a supported language.
      	* doc/install.texi (Configuration): Mention libphobos as an option for
      	--enable-shared.  Mention d as an option for --enable-languages.
      	(Testing): Mention check-d as a target.
      	* doc/invoke.texi (Overall Options): Mention .d, .dd, and .di as file
      	name suffixes.  Mention d as a -x option.
      	* doc/sourcebuild.texi (Top Level): Mention libphobos.
      	* doc/standards.texi (Standards): Add section on D language.
      	* doc/tm.texi: Regenerated.
      	* doc/tm.texi.in: Add @node for D language and ABI, and @hook for
      	TARGET_CPU_VERSIONS, TARGET_D_OS_VERSIONS, and TARGET_D_CRITSEC_SIZE.
      	* dwarf2out.c (is_dlang): New function.
      	(gen_compile_unit_die): Use DW_LANG_D for D.
      	(declare_in_namespace): Return module die for D, instead of adding
      	extra declarations into the namespace.
      	(gen_namespace_die): Generate DW_TAG_module for D.
      	(gen_decl_die): Handle CONST_DECLSs for D.
      	(dwarf2out_decl): Likewise.
      	(prune_unused_types_walk_local_classes): Handle DW_tag_interface_type.
      	(prune_unused_types_walk): Handle DW_tag_interface_type same as other
      	kinds of aggregates.
      	* gcc.c (default_compilers): Add entries for .d, .dd and .di.
      	* genhooks.c: Include d/d-target.def.
      
      gcc/po/ChangeLog:
      
      	* EXCLUDES: Add sources from d/dmd.
      
      gcc/testsuite/ChangeLog:
      
      	* gcc.misc-tests/help.exp: Add D to option descriptions check.
      	* gdc.dg/asan/asan.exp: New file.
      	* gdc.dg/asan/gdc272.d: New test.
      	* gdc.dg/compilable.d: New test.
      	* gdc.dg/dg.exp: New file.
      	* gdc.dg/gdc254.d: New test.
      	* gdc.dg/gdc260.d: New test.
      	* gdc.dg/gdc270a.d: New test.
      	* gdc.dg/gdc270b.d: New test.
      	* gdc.dg/gdc282.d: New test.
      	* gdc.dg/gdc283.d: New test.
      	* gdc.dg/imports/gdc170.d: New test.
      	* gdc.dg/imports/gdc231.d: New test.
      	* gdc.dg/imports/gdc239.d: New test.
      	* gdc.dg/imports/gdc241a.d: New test.
      	* gdc.dg/imports/gdc241b.d: New test.
      	* gdc.dg/imports/gdc251a.d: New test.
      	* gdc.dg/imports/gdc251b.d: New test.
      	* gdc.dg/imports/gdc253.d: New test.
      	* gdc.dg/imports/gdc254a.d: New test.
      	* gdc.dg/imports/gdc256.d: New test.
      	* gdc.dg/imports/gdc27.d: New test.
      	* gdc.dg/imports/gdcpkg256/package.d: New test.
      	* gdc.dg/imports/runnable.d: New test.
      	* gdc.dg/link.d: New test.
      	* gdc.dg/lto/lto.exp: New file.
      	* gdc.dg/lto/ltotests_0.d: New test.
      	* gdc.dg/lto/ltotests_1.d: New test.
      	* gdc.dg/runnable.d: New test.
      	* gdc.dg/simd.d: New test.
      	* gdc.test/gdc-test.exp: New file.
      	* lib/gdc-dg.exp: New file.
      	* lib/gdc.exp: New file.
      
      libphobos/ChangeLog:
      
      	* Makefile.am: New file.
      	* Makefile.in: New file.
      	* acinclude.m4: New file.
      	* aclocal.m4: New file.
      	* config.h.in: New file.
      	* configure: New file.
      	* configure.ac: New file.
      	* d_rules.am: New file.
      	* libdruntime/Makefile.am: New file.
      	* libdruntime/Makefile.in: New file.
      	* libdruntime/__entrypoint.di: New file.
      	* libdruntime/__main.di: New file.
      	* libdruntime/gcc/attribute.d: New file.
      	* libdruntime/gcc/backtrace.d: New file.
      	* libdruntime/gcc/builtins.d: New file.
      	* libdruntime/gcc/config.d.in: New file.
      	* libdruntime/gcc/deh.d: New file.
      	* libdruntime/gcc/libbacktrace.d.in: New file.
      	* libdruntime/gcc/unwind/arm.d: New file.
      	* libdruntime/gcc/unwind/arm_common.d: New file.
      	* libdruntime/gcc/unwind/c6x.d: New file.
      	* libdruntime/gcc/unwind/generic.d: New file.
      	* libdruntime/gcc/unwind/package.d: New file.
      	* libdruntime/gcc/unwind/pe.d: New file.
      	* m4/autoconf.m4: New file.
      	* m4/druntime.m4: New file.
      	* m4/druntime/cpu.m4: New file.
      	* m4/druntime/libraries.m4: New file.
      	* m4/druntime/os.m4: New file.
      	* m4/gcc_support.m4: New file.
      	* m4/gdc.m4: New file.
      	* m4/libtool.m4: New file.
      	* src/Makefile.am: New file.
      	* src/Makefile.in: New file.
      	* src/libgphobos.spec.in: New file.
      	* testsuite/Makefile.am: New file.
      	* testsuite/Makefile.in: New file.
      	* testsuite/config/default.exp: New file.
      	* testsuite/lib/libphobos-dg.exp: New file.
      	* testsuite/lib/libphobos.exp: New file.
      	* testsuite/testsuite_flags.in: New file.
      
      From-SVN: r265573
      b4c522fa
  37. Jun 30, 2018
    • Alexandre Oliva's avatar
      Introduce @unless/@endunless and postbootstrap Makefile targets · da34ca3f
      Alexandre Oliva authored
      This patch turns dependencies of non-bootstrap targets on bootstrap
      targets for bootstrap builds into dependencies on stage_last.  This
      arrangement gets stage1-bubble to run from stage_last if we haven't
      started a bootstrap yet, and to use the current stage otherwise.  This
      was already the case of target libs, just not of non-bootstrapped host
      modules.
      
      In order to retain preexisting dependencies in non-bootstrap builds,
      or in gcc-less builds, this introduces support for @unless/@endunless
      pairs in Makefile.in.
      
      There is a remaining possibility of problem if activating, in a tree
      configured for bootstrap, a parallel build of two or more modules, at
      least one bootstrapped and one not.  In this case, make might decide
      to build stage_current and stage_last in parallel, the latter will
      start a submake to build stage1 while the initial make, having
      satisfied stage_current, proceeds to build the bootstrapped module in
      non-bootstrapped configurations.  The two builds will overlap and will
      likely conflict.  This situation does NOT arise in normal settings,
      however: a post-bootstrap build of all-host all-target will indeed
      activate such targets concurrently, but only after building all
      bootstrapped modules successfully, and it will have both stage_last
      and stage_current targets already satisfied, so the potential race
      between builds will not arise.
      
      Another remaining problem, that is slightly expanded with this patch,
      is that of an interrupted build in a tree configured for bootstrap,
      continued with a non-bootstrapped target.  Target modules that were
      not bootstrapped would already fail to complete the current stage when
      activated explicitly in the command line for a retry; host modules,
      however, would attempt to build their bootstrapped dependencies, which
      is what led to the problem of concurrent builds addressed with this
      patch.  An interrupted or failed build might still recover correctly,
      if the non-bootstrapped target is activated in both builds, because
      then make will remove stage_last when its build command is
      interrupted, so that it will attempt to recreate it with stage1-bubble
      in the second try.  A bootstrap build, however, will not be attempting
      to build stage_last, so the file will remain and the retry won't go
      through stage1-bubble.  We have lived with that for target modules, so
      we can probably live with that for host modules too.
      
      Another undesirable consequence of this change is that non-boostrapped
      host modules, in a tree configured for bootstrap, when activated as
      make all-<module>, will build all of stage1 instead of only the
      module's usual dependencies.  This is intentional and necessary to fix
      the parallel-build problem.  If it's not desirable, disabling the
      unnecessary bootstrap configuration will suffice to restore the
      original set of dependencies.
      
      
      for  ChangeLog
      
      	* configure.ac: Introduce support for @unless/@endunless.
      	* Makefile.tpl (dep-kind): Rewrite with cond; return
      	postbootstrap in some cases.
      	(make-postboot-dep, postboot-targets): New.
      	(dependencies): Do not output postbootstrap dependencies at
      	first.  Output non-target ones changed for configure to depend
      	on stage_last @if gcc-bootstrap, and the original deps @unless
      	gcc-bootstrap.
      	* configure.in, Makefile.in: Rebuilt.
      
      From-SVN: r262267
      da34ca3f
Loading