Commit Graph

29 Commits

Author SHA1 Message Date
Jakub Jelinek
6ee5892638 lto-plugin: Use GNU ld or Solaris ld version script in preference to -export-symbols-regex [PR102426]
As reported, libtool -export-symbols-regex doesn't work on Solaris
when using GNU ld instead of Sun ld, libtool just always assumes Sun ld.
As I'm unsure what is the maintainance status of libtool right now,
this patch solves it on the lto-plugin side instead, tests at configure time
similar way how libssp and other target libraries test for symbol versioning
(except omitting the symbol version because we just want one GLOBAL symbol
and rest of them LOCAL), and will use the current way of
-export-symbols-regex onload as fallback when this doesn't work.

2022-03-22  Jakub Jelinek  <jakub@redhat.com>

	PR lto/102426
lto-plugin/
	* configure.ac (LTO_PLUGIN_USE_SYMVER, LTO_PLUGIN_USE_SYMVER_GNU,
	LTO_PLUGIN_USE_SYMVER_SUN): New test for symbol versioning support.
	* Makefile.am (version_arg, version_dep): Set conditionally based
	on LTO_PLUGIN_USE_SYMVER*.
	(liblto_plugin_la_LDFLAGS): Use $(version_arg) instead of
	-export-symbols-regex onload.
	(liblto_plugin_la_DEPENDENCIES): Depend on $(version_dep).
	* lto-plugin.map: New file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
2022-03-22 11:03:54 +01:00
Andrew Pinski
9e58de3ce0 Fix PR lto/49664: liblto_plugin.so exports too many symbols
So right now liblto_plugin.so exports many libiberty symbols and
simple_object file symbols but really it just needs to export onload.

This fixes the problem by using "-export-symbols-regex onload" on
the libtool link line.

lto-plugin/ChangeLog:

	PR lto/49664
	* Makefile.am: Export only onload.
	* Makefile.in: Regenerate.
2021-09-13 15:16:56 +00:00
Matthew Malcomson
170e618ef5 libsanitizer: Add option to bootstrap using HWASAN
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.
2020-11-25 16:35:37 +00:00
Jonathan Yong
ae6cf62861 Cygwin/MinGW: Do not version lto plugins
GCC on Linux already uses liblto_plugin.so directly without
the libtool version suffix, adjust windows GCC to do the same.

gcc/ChangeLog:

	* config.host: Adjust plugin name for Windows.

lto-plugin/ChangeLog:

	* Makefile.am: drop versioning from libtool completely.
	* Makefile.in: regenerate.
2020-09-10 11:54:28 +00:00
H.J. Lu
8fc8bf801e Enable Intel CET in liblto_plugin.so on Intel CET enabled host
Since ld is Intel CET enabled on Intel CET enabled host, dlopen fails on
liblto_plugin.so if it isn't Intel CET enabled.  Add GCC_CET_HOST_FLAGS
to cet.m4, use it in libiberty and lto-plugin to always enable Intel
CET in liblto_plugin.so on Intel CET enabled host.

On Linux/x86 host, enable Intel CET by default if assembler and compiler
support Intel CET so that the generated liblto_plugin.so can be used on
both CET and non-CET machines.  It is an error to disable Intel CET in
liblto_plugin.so on Intel CET enabled host.

config/

	PR bootstrap/94739
	* cet.m4 (GCC_CET_HOST_FLAGS): New.

libiberty/

	PR bootstrap/94739
	* Makefile.in (COMPILE.c): Add @CET_HOST_FLAGS@.
	(configure_deps): Add $(srcdir)/../config/cet.m4 and
	$(srcdir)/../config/enable.m4.
	* aclocal.m4: Include ../config/cet.m4 and ../config/enable.m4.
	* configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and
	AC_SUBST(CET_HOST_FLAGS).
	* configure: Regenerated.

lto-plugin/

	PR bootstrap/94739
	* Makefile.am (AM_CFLAGS): Add $(CET_HOST_FLAGS).
	* configure.ac: Add GCC_CET_HOST_FLAGS(CET_HOST_FLAGS) and
	AC_SUBST(CET_HOST_FLAGS).
	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.
2020-04-25 10:07:16 -07:00
Jakub Jelinek
3c36aa6ba2 re PR other/79046 (g++ -print-file-name=plugin uses full version number in path)
PR other/79046
	* configure: Regenerated.
config/
	* acx.m4 (GCC_BASE_VER): New m4 function.
	(ACX_TOOL_DIRS): Require GCC_BASE_VER, for
	--with-gcc-major-version-only use just major number from BASE-VER.
gcc/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
	version from BASE-VER file.
	(CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
	(gcc.o): Depend on $(BASEVER).
	* common.opt (dumpfullversion): New option.
	* gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
	* doc/invoke.texi: Document -dumpfullversion.
	* doc/install.texi: Document --with-gcc-major-version-only.
	* configure: Regenerated.
libatomic/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libgomp/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libgcc/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
	version from BASE-VER file.
	* configure: Regenerated.
libssp/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
liboffloadmic/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* aclocal.m4: Include ../config/acx.m4.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libquadmath/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libmpx/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libada/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
	version from BASE-VER file.
	* configure: Regenerated.
lto-plugin/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libitm/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
fixincludes/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
libcilkrts/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* aclocal.m4: Include ../config/acx.m4.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libcc1/
	* configure.ac: Add GCC_BASE_VER.  For --with-gcc-major-version-only
	use just major number from BASE-VER.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libobjc/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.in (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
libstdc++-v3/
	* configure.ac: Add GCC_BASE_VER.
	* fragment.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* po/Makefile.in: Regenerated.
	* libsupc++/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* include/Makefile.in: Regenerated.
	* doc/Makefile.in: Regenerated.
	* python/Makefile.in: Regenerated.
	* src/c++11/Makefile.in: Regenerated.
	* src/c++98/Makefile.in: Regenerated.
	* src/filesystem/Makefile.in: Regenerated.
libvtv/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* testsuite/Makefile.in: Regenerated.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
libsanitizer/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* libbacktrace/Makefile.in: Regenerated.
	* interception/Makefile.in: Regenerated.
	* asan/Makefile.in: Regenerated.
	* ubsan/Makefile.in: Regenerated.
	* configure: Regenerated.
	* sanitizer_common/Makefile.in: Regenerated.
	* lsan/Makefile.in: Regenerated.
	* Makefile.in: Regenerated.
	* tsan/Makefile.in: Regenerated.
libgfortran/
	* configure.ac: Add GCC_BASE_VER.
	* Makefile.am (gcc_version): Use @get_gcc_base_ver@ instead of cat to
	get version from BASE-VER file.
	* configure: Regenerated.
	* Makefile.in: Regenerated.

From-SVN: r244521
2017-01-17 10:38:48 +01:00
Michael Haubenwallner
ed9b4ae358 lto-plugin: Bump to automake 1.11.6
2015-05-13  Michael Haubenwallner  <michael.haubenwallner@ssi-schaefer.com>

	* Makefile.am: Drop 'by automake version' from top-level comment.
	* Makefile.in: Regenerated with automake-1.11.6.
	* aclocal.m4: Likewise.
	* configure: Likewise.

From-SVN: r223150
2015-05-13 11:30:22 +00:00
Bernd Schmidt
85c64bbee9 [PATCH 1/7] OpenMP 4.0 offloading infrastructure: configure and make
* configure: Regenerate.
	* configure.ac (--enable-as-accelerator-for)
	(--enable-offload-targets): New configure options.
gcc/
	* Makefile.in (real_target_noncanonical, accel_dir_suffix)
	(enable_as_accelerator): New variables substituted by configure.
	(libsubdir, libexecsubdir, unlibsubdir): Tweak for the possibility of
	being configured as an offload compiler.
	(DRIVER_DEFINES): Pass new defines DEFAULT_REAL_TARGET_MACHINE and
	ACCEL_DIR_SUFFIX.
	(install-cpp, install-common, install_driver, install-gcc-ar): Do not
	install for the offload compiler.
	* config.in: Regenerate.
	* configure: Regenerate.
	* configure.ac (real_target_noncanonical, accel_dir_suffix)
	(enable_as_accelerator): Compute new variables.
	(ACCEL_COMPILER): Define if the compiler is built as the accel compiler.
	(OFFLOAD_TARGETS): List of target names suitable for offloading.
	(ENABLE_OFFLOADING): Define if list of offload targets is not empty.
gcc/cp/
	* Make-lang.in (c++.install-common): Do not install for the offload
	compiler.
gcc/doc/
	* install.texi (Options specification): Document
	--enable-as-accelerator-for and --enable-offload-targets.
gcc/fortran/
	* Make-lang.in (fortran.install-common): Do not install for the offload
	compiler.
libgcc/
	* Makefile.in (crtoffloadbegin$(objext)): New rule.
	(crtoffloadend$(objext)): Likewise.
	* configure: Regenerate.
	* configure.ac (accel_dir_suffix): Compute new variable.
	(extra_parts): Add crtoffloadbegin.o and crtoffloadend.o
	if enable_offload_targets is not empty.
	* offloadstuff.c: New file.
libgomp/
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* configure.ac: Check for libdl, required for plugin support.
	(PLUGIN_SUPPORT): Define if plugins are supported.
	(enable_offload_targets): Support Intel MIC targets.
	(OFFLOAD_TARGETS): List of target names suitable for offloading.
lto-plugin/
	* Makefile.am (libexecsubdir): Tweak for the possibility of being
	configured for offload compiler.
	(accel_dir_suffix, real_target_noncanonical): New variables substituted
	by configure.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* configure.ac (accel_dir_suffix, real_target_noncanonical): Compute new
	variables.


Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com>
Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com>
Co-Authored-By: Thomas Schwinge <thomas@codesourcery.com>

From-SVN: r217485
2014-11-13 13:28:56 +00:00
H.J. Lu
43f4a446c2 Properly set gcc_build_dir for in-tree build
PR bootstrap/62260
	* Makefile.am (gcc_build_dir): Set to @gcc_build_dir@.
	* configure.ac (gcc_build_dir): Set and AC_SUBST according to
	$host_subdir.
	* Makefile.in: Regenerated.
	* configure: Likewise.

From-SVN: r214524
2014-08-26 07:47:15 -07:00
Thomas Schwinge
2a7a8388e2 Allow overriding the libiberty used for building the LTO plugin.
lto-plugin/
	* configure.ac (--with-libiberty): New configure option.
	* configure: Regenerate.
	* Makefile.am (libiberty, libiberty_noasan, libiberty_pic): New
	variables.
	(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS)
	(liblto_plugin_la_DEPENDENCIES): Use them.
	* Makefile.in: Regenerate.

From-SVN: r211642
2014-06-13 16:30:46 +02:00
Jakub Jelinek
4f148bbc73 re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
lto-plugin/
	* Makefile.am (CFLAGS, LDFLAGS): Filter out -fsanitize=address.
	(liblto_plugin_la_LIBADD, liblto_plugin_la_LDFLAGS,
	liblto_plugin_la_DEPENDENCIES): Prefer ../libiberty/noasan/libiberty.a
	over ../libiberty/pic/libiberty.a if the former exists.
	* Makefile.in: Regenerated.
libiberty/
	* maint-tool: Also emit rule for noasan/ subdirectory.
	* configure.ac (NOASANFLAG): Set and substitute.
	* Makefile.in: Regenerated.
	(NOASANFLAG): Set.
	(all, $(TARGETLIB), mostlyclean): Handle noasan subdir like pic
	subdir.
	(stamp-noasandir): New goal.
	* configure: Regenerated.

From-SVN: r209476
2014-04-17 14:25:25 +02:00
Jakub Jelinek
ffe7f7a75f re PR sanitizer/56781 (boostrap-asan failure: fixincl fails to link (missing -lasan))
PR sanitizer/56781
	* libtool-ldflags: Also prefix -static-lib*, -shared-lib*
	and -B* options with -Xcompiler.
lto-plugin/
	* Makefile.am (LTLDFLAGS, liblto_plugin_la_LINK): New variables.
	* Makefile.in: Regenerated.

From-SVN: r209475
2014-04-17 14:23:28 +02:00
Rainer Orth
5523efdf24 Fix Solaris bootstrap with GNU ld/LTO
* configure.ac (ac_lto_plugin_ldflags): Set to -Wc,-static-libgcc
	for gcc.
	* configure: Regenerate.
	* Makefile.am (AM_LDFLAGS): New variable.
	(liblto_plugin_la_LDFLAGS): Add it.
	* Makefile.in: Regenerate.

From-SVN: r208614
2014-03-17 13:04:12 +00:00
Richard Guenther
f3016c478e re PR bootstrap/49907 (lto-plugin -Wall in stage1)
2011-08-10  Richard Guenther  <rguenther@suse.de>

	PR bootstrap/49907
	lto-plugin/
	* configure.ac: Use ACX_PROG_CC_WARNING_OPTS to detect -Wall presence.
	* Makefile.am (AM_CFLAGS): Adjust.  Do not build with -Werror.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* aclocal.m4: Likewise.

From-SVN: r177614
2011-08-10 08:48:37 +00:00
Ralf Wildenhues
3917813c64 Fix minor build system issues in lto-plugin.
lto-plugin/:
	* Makefile.am (all-local): Rename from 'all'.
	(gcc_build_dir): Use $(host_subdir).
	* Makefile.in: Regenerate.

From-SVN: r170075
2011-02-12 15:48:15 +00:00
Alexandre Oliva
f3d533d3b5 re PR lto/47225 (cross-compile fails while configuring libgcc with "xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found")
ChangeLog:
PR lto/47225
* Makefile.def (lto-plugin): Double dash for enable-shared.
(configure-gcc): Depend on all-lto-plugin.
* Makefile.in: Rebuilt.
lto-plugin/ChangeLog:
PR lto/47225
* Makefile.am (gcc_build_dir, in_gcc_libs): New.
(liblto_plugin_la_LDFLAGS): Add -module.
(copy_lto_plugin): Renamed to...
($(in_gcc_libs)): ... this.  Add mkinstalldirs.  Skip copying
of static modules.
* Makefile.in: Rebuild.
gcc/ChangeLog:
PR lto/47225
* configure.ac (gcc_cv_lto_plugin): Test for liblto_plugin.la
in the current directory.
* configure: Rebuilt.

From-SVN: r170070
2011-02-12 12:02:24 +00:00
Kai Tietz
f43c39352e re PR lto/47225 (cross-compile fails while configuring libgcc with "xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found")
2011-02-07  Kai Tietz  <kai.tietz@onevision.com>

        PR lto/47225
        * Makefile.am (Wc): New helper for encoding -Wc,.
        (liblto_plugin_la_LIBADD): Use Wc for libiberty library.
        (liblto_plugin_la_DEPENDENCIES): Special case pic libiberty.
        * Makefile.in: Regenerated.

From-SVN: r169900
2011-02-07 21:32:17 +01:00
Paolo Bonzini
e6d926d7d3 revert r169877 patch for PR47225
From-SVN: r169878
2011-02-07 10:26:48 +00:00
Kai Tietz
c7b5125d1f re PR lto/47225 (cross-compile fails while configuring libgcc with "xgcc: fatal error: -fuse-linker-plugin, but liblto_plugin.so not found")
2011-02-07  Kai Tietz  <kai.tietz@onevision.com>

        PR lto/47225
        * Makefile.am (Wl): New helper for encoding -Wl,.
        (liblto_plugin_la_LIBADD): Use -Wl for libiberty library.
        * Makefile.in: Regenerated.

From-SVN: r169877
2011-02-07 09:20:56 +01:00
Dave Korn
5b64bab91c Makefile.am (AM_LIBTOOLFLAGS): Define, adding disable-static tag.
* Makefile.am (AM_LIBTOOLFLAGS): Define, adding disable-static tag.
	* Makefile.in: Regenerate.

From-SVN: r168087
2010-12-20 17:03:10 +00:00
Rainer Orth
be3ea0c8c9 Revert last change.
From-SVN: r167859
2010-12-15 16:56:26 +00:00
Rainer Orth
dd8587d668 Makefile.am (liblto_plugin_la_DEPENDENCIES): Define.
* Makefile.am (liblto_plugin_la_DEPENDENCIES): Define.
	(liblto_plugin_la_LIBADD): Use -L../libiberty/pic -liberty.
	(liblto_plugin_la_LDFLAGS): Use -L../libiberty -liberty.
	* Makefile.in: Regenerate.

From-SVN: r167850
2010-12-15 10:29:01 +00:00
Dave Korn
7de6ba7a0b re PR target/40125 (libgcc_s DLL installed in wrong directory in cross toolchain)
config/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* lthostflags.m4: New file.
	(ACX_LT_HOST_FLAGS): Define.

libgfortran/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* Makefile.am (LTLDFLAGS): Use lt_host_flags.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

libgomp/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* Makefile.am (libgomp_la_LDFLAGS): Use lt_host_flags.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* configure.host (libgcj_sublib_ltflags): Use lt_host_flags.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libobjc/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac (extra_ldflags_libobjc): Invoke ACX_LT_HOST_FLAGS.
	* Makefile.in (lt_host_flags): Import AC_SUBST'd value.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

libquadmath/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* Makefile.am (libquadmath_la_LDFLAGS): Use lt_host_flags.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

libssp/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* Makefile.am (libssp_la_LDFLAGS): Use lt_host_flags.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

libstdc++-v3/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* configure.host (OPT_LDFLAGS): Use lt_host_flags for cygming.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: 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.
	* testsuite/Makefile.in: Regenerate.

lto-plugin/ChangeLog:

2010-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR target/40125
	PR lto/46695
	* configure.ac: Invoke ACX_LT_HOST_FLAGS.
	* Makefile.am (liblto_plugin_la_LDFLAGS): Use lt_host_flags but
	override -bindir setting.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

From-SVN: r167480
2010-12-06 00:50:04 +00:00
Dave Korn
48215350c2 re PR lto/46273 (Failed to bootstrap)
ChangeLog:

2010-11-03  Ian Lance Taylor  <iant@google.com>
	    Dave Korn  <dave.korn.cygwin@gmail.com>

	PR lto/46273
	* configure.ac: Remove libelf tests.  Build lto-plugin on ELF always
	and on other supported platforms whenever LTO is enabled.
	* configure: Rebuild.

gcc/ChangeLog:

2010-11-03  Ian Lance Taylor  <iant@google.com>

	PR lto/46273
	* gcc/config.gcc: Don't set lto_binary_reader.
	* doc/install.texi (Prerequisites): Remove libelf paragraphs.
	(Configuration): Mention --disable-lto.  Remove --with-libelf
	paragraph.

lto-plugin/ChangeLog:

2010-11-03  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR lto/46273
	* lto-plugin.h: Delete.
	* lto-plugin-elf.c: Likewise.
	* lto-plugin-coff.c: Likewise.
	* configure.ac: Don't use libelf, don't source config.gcc.
	(LIBELFLIBS): Delete.
	(LIBELFINC): Delete.
	(LTO_FORMAT): Delete.
	(SYM_STYLE): Add AC_DEFINE var, set based on $target.
	(config.h): Add AC_CONFIG_HEADERS directive.
	* Makefile.am (LIBELFLIBS): Delete.
	(LIBELFINC): Delete.
	(LTO_FORMAT): Delete.
	(DEFS): Import.
	(AM_CPPFLAGS): Use it.  Don't use LIBELFINC.
	(liblto_plugin_la_SOURCES): Don't use LTO_FORMAT, don't include
	any object-format-specific source file in the link.
	(liblto_plugin_la_LIBADD): Don't use LIBELFLIBS.
	* config.h.in: Generate.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* lto-plugin.c (O_BINARY): Definition moved here from lto-plugin.h.
	(LTO_SEGMENT_NAME): New definition.
	(LTO_SECTION_PREFIX): Definition moved here from lto-plugin.h.
	(LTO_SECTION_PREFIX_LEN): New definition.
	(struct sym_aux): Struct definition moved here from lto-plugin.h.
	(struct plugin_symtab): Likewise.
	(struct plugin_objfile): Likewise.
	(struct plugin_objfile): New struct def.
	(enum symbol_style): New enum type.
	(add_symbols): Make static.
	(claimed_files): Likewise.
	(num_claimed_files): Likewise.
	(sym_style): New global.
	(check): Make static.
	(parse_table_entry): Likewise.  Respect sym_style when extracting
	symbol from symtab entry.
	(translate): Make static.
	(resolve_conflicts): Likewise.
	(process_symtab): New function, per-section callback version of
	old object-format-specific handling from deleted lto-plugin-elf.c.
	(claim_file_handler): Convert ELF-specific version from deleted
	lto-plugin-elf.c to simple_object interface and move here.
	(process_options): Allow new '-sym-style=' option.
	(onload): Don't call deleted onload_format_checks hook.

From-SVN: r166233
2010-11-03 09:14:32 +00:00
Dave Korn
1cd0b7167e configure.ac (build_lto_plugin): New shell variable.
ChangeLog:

2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>

	* configure.ac (build_lto_plugin): New shell variable.
	(--enable-lto): Turn on by default for all non-ELF platforms that
	have had LTO support added so far.  Set build_lto_plugin appropriately
	for both ELF and non-ELF.
	(configdirs): Add lto-plugin or not based on build_lto_plugin.
	* configure: Regenerate.

gcc/ChangeLog:

2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>

	* config.host (host_lto_plugin_soname): New shell variable.
	* configure.ac (LTOPLUGINSONAME): Add an AC_DEFINE for the above.
	* config.in: Regenerate.
	* configure: Regenerate.
	* gcc.c (main): Use LTOPLUGINSONAME instead of hard-coding name of
	LTO plugin shared library.

lto-plugin/ChangeLog:

2010-10-07  Dave Korn  <dave.korn.cygwin@gmail.com>

	* configure.ac: Source config.gcc to determine lto_binary_reader.
	(LTO_FORMAT): New AC_SUBST variable inferred from lto_binary_reader.
	* Makefile.am (LTO_FORMAT): Import.
	(liblto_plugin_la_SOURCES): Add object format dependent module
	defined by LTO_FORMAT.
	(liblto_plugin_la_LIBADD): Allow for both PIC and non-PIC libiberty,
	and work around libtool warning.
	* configure: Regenerate.
	* Makefile.in: Likewise.
	* lto-plugin.c (struct sym_aux): Move to new lto-plugin.h.
	(struct sym_aux): Likewise.
	(struct plugin_symtab): Likewise.
	(struct plugin_file_info): Likewise.
	(LTO_SECTION_PREFIX): Likewise.
	(add_symbols):  Make non-static.
	(claimed_files): Likewise.
	(num_claimed_files): Likewise.
	(check): Likewise.
	(parse_table_entry): Likewise.
	(translate): Likewise.
	(resolve_conflicts): Likewise.
	(process_symtab): Move to new lto-plugin-elf.c object format dependent
	source file.
	(claim_file_handler): Likewise, and make non-static.
	(onload): Call new onload_format_checks function.
	* lto-plugin.h: New file.
	(LTO_SECTION_PREFIX): Move here.
	(struct sym_aux): Likewise.
	(struct plugin_symtab): Likewise.
	(struct plugin_file_info): Likewise.
	(claim_file_handler): Add new function prototype.
	(onload_format_checks): Likewise.
	(check): Declare extern.
	(translate): Likewise.
	(parse_table_entry): Likewise.
	(resolve_conflicts): Likewise.
	(add_symbols):  Likewise.
	(claimed_files): Likewise.
	(num_claimed_files): Likewise.
	* lto-plugin-elf.c (process_symtab): Move here.
	(claim_file_handler): Likewise, and make non-static.
	(onload_format_checks): New function factored out from onload.
	* lto-plugin-coff.c (claim_file_handler): New function stub.
	(onload_format_checks): Likewise.

From-SVN: r165133
2010-10-07 20:28:59 +00:00
Richard Guenther
553fc58230 Makefile.am: New copy_lto_plugin rule to install the plugin into ../gcc.
2010-07-22  Richard Guenther  <rguenther@suse.de>

	lto-plugin/
	* Makefile.am: New copy_lto_plugin rule to install the plugin
	into ../gcc.
	* Makefile.in: Regenerated.

From-SVN: r162412
2010-07-22 12:50:00 +00:00
Richard Guenther
c164615b36 re PR lto/41569 (.../prev-gcc/xgcc used for the install step of the lto-plugin)
2010-01-11  Richard Guenther  <rguenther@suse.de>

	PR lto/41569
	* Makefile.def (all-lto-plugin): Depend on all-gcc.
	* Makefile.in: Regenerated.

	lto-plugin/
	* Makefile.am: Disable dependencies.
	* Makefile.in: Regenerated.

From-SVN: r155809
2010-01-11 12:38:09 +00:00
Richard Guenther
076c7ebe99 Makefile.am (liblto_plugin_la_LIBADD): Link against the correct libiberty.
2009-10-13  Richard Guenther  <rguenther@suse.de>

	* Makefile.am (liblto_plugin_la_LIBADD): Link against the
	correct libiberty.
	* Makefile.in: Regenerated.

From-SVN: r152698
2009-10-13 09:15:00 +00:00
Diego Novillo
d7f09764d7 Merge lto branch into trunk.
From-SVN: r152434
2009-10-03 17:10:11 -04:00