Commit Graph

41 Commits

Author SHA1 Message Date
Sam James
ed6dccd00d
ltmain.sh: allow more flags at link-time
libtool defaults to filtering flags passed at link-time.

This brings the filtering in GCC's 'fork' of libtool into sync with
upstream libtool commit 22a7e547e9857fc94fe5bc7c921d9a4b49c09f8e.

In particular, this now allows some harmless diagnostic flags (especially
useful for things like -Werror=odr), more optimization flags, and some
Clang-specific options.

GCC's -flto documentation mentions:
> To use the link-time optimizer, -flto and optimization options should be
> specified at compile time and during the final link. It is recommended
> that you compile all the files participating in the same link with the
> same options and also specify those options at link time.

This allows compliance with that.

	* ltmain.sh (func_mode_link): Allow various flags through filter.
2024-09-25 19:05:24 +01:00
Martin Liska
e9f799d259
Do not use HAVE_DOS_BASED_FILE_SYSTEM for Cygwin.
PR gcov-profile/94570
	* ltmain.sh: Do not define HAVE_DOS_BASED_FILE_SYSTEM
	for CYGWIN.

	PR gcov-profile/94570
	* coverage.c (coverage_init): Use separator properly.

	PR gcov-profile/94570
	* filenames.h (defined): Do not define HAVE_DOS_BASED_FILE_SYSTEM
	for CYGWIN.

Co-Authored-By: Jonathan Yong <10walls@gmail.com>
2020-04-17 09:22:51 +02:00
Bernhard M. Wiedemann
d41cd173e2 libtool.m4: Sort output of 'find' to enable deterministic builds.
* libtool.m4: Sort output of 'find' to enable deterministic builds.
	* ltmain.sh: Likewise.

From-SVN: r262451
2018-07-05 13:13:45 -06:00
Rainer Orth
91da048112 Ensure libgcc_s unwinder is always used on 64-bit Solaris 10+/x86 (PR target/59788)
gcc:
	PR target/59788
	* config/sol2.h (LINK_LIBGCC_MAPFILE_SPEC): Define.
	(LINK_SPEC): Use it for -shared, -shared-libgcc.

	libgcc:
	PR target/59788
	* config/t-slibgcc-sld (libgcc-unwind.map): New target.
	(install-libgcc-unwind-map-forbuild): New target.
	(all): Depend on install-libgcc-unwind-map-forbuild.
	(install-libgcc-unwind-map): New target.
	(install): Depend on install-libgcc-unwind-map.

	gcc/testsuite:
	PR target/59788
	* g++.dg/eh/unwind-direct.C: New test.

	toplevel:
	PR target/59788
	* ltmain.sh (opt_duplicate_compiler_generated_deps): Enable on
	*solaris2*.

From-SVN: r207454
2014-02-04 09:31:38 +00:00
John David Anglin
3752f75a6d backport: ltmain.sh (relink): Use absolute path when hardcoding with -L.
Backport from Libtool: Fix relink mode to use absolute path if hardcode_minus_L.

/:
	* ltmain.sh (relink): Use absolute path when hardcoding with -L.

From-SVN: r168762
2011-01-13 18:51:10 +00:00
Ralf Wildenhues
43e02a8a71 Sync from git Libtool and regenerate.
/:
	PR target/38384
	PR bootstrap/40972
	* libtool.m4: Sync from git Libtool.
	* ltoptions.m4: Likewise.
	* ltversion.m4: Likewise.
	* lt~obsolete.m4: Likewise.
	* ltmain.sh: Likewise.

boehm-gc/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.

fixincludes/:
	* configure: Regenerate.

gcc/:
	* configure: Regenerate.

libffi/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* include/Makefile.in: Regenerate.
	* man/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libgfortran/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

libgomp/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libjava/classpath/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* doc/api/Makefile.in: Regenerate.
	* examples/Makefile.in: Regenerate.
	* external/Makefile.in: Regenerate.
	* external/jsr166/Makefile.in: Regenerate.
	* external/relaxngDatatype/Makefile.in: Regenerate.
	* external/sax/Makefile.in: Regenerate.
	* external/w3c_dom/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* lib/Makefile.in: Regenerate.
	* native/Makefile.in: Regenerate.
	* native/fdlibm/Makefile.in: Regenerate.
	* native/jawt/Makefile.in: Regenerate.
	* native/jni/Makefile.in: Regenerate.
	* native/jni/classpath/Makefile.in: Regenerate.
	* native/jni/gconf-peer/Makefile.in: Regenerate.
	* native/jni/gstreamer-peer/Makefile.in: Regenerate.
	* native/jni/gtk-peer/Makefile.in: Regenerate.
	* native/jni/java-io/Makefile.in: Regenerate.
	* native/jni/java-lang/Makefile.in: Regenerate.
	* native/jni/java-math/Makefile.in: Regenerate.
	* native/jni/java-net/Makefile.in: Regenerate.
	* native/jni/java-nio/Makefile.in: Regenerate.
	* native/jni/java-util/Makefile.in: Regenerate.
	* native/jni/midi-alsa/Makefile.in: Regenerate.
	* native/jni/midi-dssi/Makefile.in: Regenerate.
	* native/jni/native-lib/Makefile.in: Regenerate.
	* native/jni/qt-peer/Makefile.in: Regenerate.
	* native/jni/xmlj/Makefile.in: Regenerate.
	* native/plugin/Makefile.in: Regenerate.
	* resource/Makefile.in: Regenerate.
	* scripts/Makefile.in: Regenerate.
	* tools/Makefile.in: Regenerate.

libjava/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* gcj/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libmudflap/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* testsuite/Makefile.in: Regenerate.

libobjc/:
	* configure: Regenerate.

libssp/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

libstdc++-v3/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* include/Makefile.in: Regenerate.
	* libsupc++/Makefile.in: Regenerate.
	* po/Makefile.in: Regenerate.
	* python/Makefile.in: Regenerate.
	* src/Makefile.in: Regenerate.
	* testsuite/Makefile.in: Regenerate.

lto-plugin/:
	* configure: Regenerate.
	* Makefile.in: Regenerate.

zlib/:
	* Makefile.in: Regenerate.
	* configure: Regenerate.

From-SVN: r155012
2009-12-05 17:18:53 +00:00
Dave Korn
68ccd57c8c ltmain.sh (removedotparts): Don't use comma as 's' separator.
ChangeLog:

	* ltmain.sh (removedotparts): Don't use comma as 's' separator.
	(collapseslashes): Likewise.

libjava/classpath/ChangeLog:

	* ltmain.sh (removedotparts): Don't use comma as 's' separator.
	(collapseslashes): Likewise.

From-SVN: r151124
2009-08-26 14:52:45 +00:00
Dave Korn
197c68cc97 Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
libgomp/ChangeLog:

	* Makefile.am (libgomp_la_LDFLAGS): Add -bindir flag.
	* Makefile.in: Regenerate.

ChangeLog:

	* ltmain.sh (func_normal_abspath): New function.
	(func_relative_path): Likewise.
	(func_mode_help): Document new -bindir option for link mode.
	(func_mode_link): Add new -bindir option, and use it to place
	output DLL if specified.

libgfortran/ChangeLog:

	* Makefile.am (LTLDFLAGS): Add -bindir flag.
	* Makefile.in: Regenerate.

libssp/ChangeLog:

	* Makefile.am (libssp_la_LDFLAGS): Add -bindir flag.
	* Makefile.in: Regenerate.

libjava/libltdl/ChangeLog:

	* Makefile.am (libltdl_la_LDFLAGS): Add -bindir flag.
	* Makefile.in: Regenerate.

libjava/classpath/ChangeLog:

	* ltmain.sh (func_normal_abspath): New function.
	(func_relative_path): Likewise.
	(func_mode_help): Document new -bindir option for link mode.
	(func_mode_link): Add new -bindir option, and use it to place
	output DLL if specified.

From-SVN: r150960
2009-08-20 11:11:34 +00:00
Peter O'Gorman
ae11dff459 libtool.m4: Update to libtool 2.2.6.
* libtool.m4: Update to libtool 2.2.6.
        * lt~obsolete.m4: Update to libtool 2.2.6.
        * ltmain.sh: Update to libtool 2.2.6.
        * ltsugar.m4: Update to libtool 2.2.6.
        * ltversion.m4: Update to libtool 2.2.6.
        * ltoptions.m4: Update to libtool 2.2.6.
        * ltgcc.m4: Update to match changes from libtool 2.2.6.

From-SVN: r140698
2008-09-26 16:21:02 +00:00
Andreas Tobler
86ef8528be ltmain.sh: Fix Darwin verstring, remove ${wl}.
2007-05-25  Andreas Tobler  <a.tobler@schweiz.org>

	* ltmain.sh: Fix Darwin verstring, remove ${wl}.

From-SVN: r125066
2007-05-25 21:26:27 +02:00
Steve Ellcey
1cf3d07da6 ltmain.sh: Update from ToT Libtool.
* ltmain.sh: Update from ToT Libtool.
        * libtool.m4: Update from ToT Libtool.
        * ltsugar.m4: New. Update from ToT Libtool.
        * ltversion.m4: New. Update from ToT Libtool.
        * ltoptions.m4: New. Update from ToT Libtool.
        * ltconfig: Remove.
        * ltcf-c.sh: Remove.
        * ltcf-cxx.sh: Remove.
        * ltcf-gcj.sh: Remove.
	* Regenerate all subdirs

From-SVN: r125032
2007-05-24 16:37:27 +00:00
Paul Eggert
27b56ba6cc Port to hosts whose 'sort' and 'tail' implementations treat operands with leading '+' as file names...
Port to hosts whose 'sort' and 'tail' implementations
	treat operands with leading '+' as file names, as POSIX
	has required since 2001.  However, make sure the code still
	works on pre-POSIX hosts.
	* ltmain.sh: Don't assume "sort +2" is equivalent to
	"sort -k 3", since POSIX 1003.1-2001 no longer requires this.

contrib:
	* compare_tests: Don't assume "sort +2" is equivalent to
	"sort -k 3", since POSIX 1003.1-2001 no longer requires this.
gcc:
	* Makefile.in (slowcompare): Port to POSIX 1003.1-2001,
	which says you should use "tail -c +N" rather than "tail +Nc".
	Fix a bug: the old code incorrectly skipped 15 bytes, not 16.

From-SVN: r115234
2006-07-06 23:24:51 +00:00
H.J. Lu
54a1703906 re PR libgcj/17311 (Wrong libgcc_s.so.1 is used by lt-gij)
2006-03-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR libgcj/17311
	* ltmain.sh: Don't use "$finalize_rpath" for compile.

From-SVN: r111607
2006-03-01 09:39:35 -08:00
Andreas Schwab
1767cc4fa9 Fix misapplied hunk.
From-SVN: r104982
2005-10-05 09:19:53 +00:00
Andreas Schwab
3715008050 backport: ltmain.sh: add support for installing into temporary staging area (e.g.
Backport from libtool CVS:
	2002-11-03  Ossama Othman  <ossama@doc.ece.uci.edu>

	* ltmain.sh: add support for installing into temporary
	staging area (e.g. 'make install DESTDIR=...')

From-SVN: r104913
2005-10-03 21:50:17 +00:00
Kelley Cook
539df1554b all files: Update FSF address.
2005-07-16  Kelley Cook  <kcook@gcc.gnu.org>

	* all files: Update FSF address.

From-SVN: r102083
2005-07-16 02:30:53 +00:00
David Edelsohn
c9392a2bf8 ltconfig: Define file_list_spec.
* ltconfig: Define file_list_spec.  Pass file_list_spec and
        with_gnu_ld to libtool.
        * ltcf-c.sh (aix[45]): Define file_list_spec.
        * ltcf-cxx.sh (aix[45]): Same.
        * ltcf-gcj.sh (aix[45]): Same.
        * ltmain.sh: If command exceeds max_cmd_len and file_list_spec
        exists, write list of input files to temporary file.

From-SVN: r99268
2005-05-05 11:04:39 -04:00
Alexandre Oliva
e73ed25c41 re PR libgcj/20160 (link errors building libgcj tests)
PR libgcj/20160
* ltmain.sh: Avoid creating archives with components that have
duplicate basenames.

From-SVN: r95756
2005-03-01 22:27:43 +00:00
David Edelsohn
5f4a098e05 ltmain.sh: Use $pic_object as $non_pic_object if $non_pic_object=none.
* ltmain.sh: Use $pic_object as $non_pic_object if
        $non_pic_object=none.

From-SVN: r87191
2004-09-08 11:43:46 -04:00
Geoffrey Keating
892629bc47 Partial merge from upstream:
* ltmain.in: When setting IFS to '~', be careful about user
	arguments that contain '~'.

From-SVN: r77279
2004-02-04 23:58:48 +00:00
Andreas Tobler
43d8d958ce libtool.m4: Sync darwin bits from libtool cvs to build a gcc with shared/dylibed libraries.
2003-11-19  Andreas Tobler  <a.tobler@schweiz.ch>

	* libtool.m4: Sync darwin bits from libtool cvs to build a gcc with
	shared/dylibed libraries.
	* ltmain.sh: Likewise.
	* ltcf-c.sh: Likewise, disable shared library build for OS-X < 10.3.
	* ltcf-cxx.sh: Likewise.
	* ltcf-gcj.sh: Likewise.
	* ltconfig: Likewise.

From-SVN: r73729
2003-11-19 06:29:32 +01:00
Rainer Orth
e6226a2f87 ltconfig (osf[345]): Append $major to soname_spec.
* ltconfig (osf[345]): Append $major to soname_spec.
	Reflect this in library_names_spec.
	* ltmain.sh (osf): Prefix $major with . for use as extension.

	boehm-gc:
	* ltconfig (osf[345]): Append $major to soname_spec.
	Reflect this in library_names_spec.
	* ltmain.sh (osf): Prefix $major with . for use as extension.

From-SVN: r59306
2002-11-20 15:59:07 +00:00
Loren J. Rittle
97320a3f23 ltmain.sh: Detect and handle object name conflicts while piecewise linking a static library.
* ltmain.sh: Detect and handle object name conflicts
	while piecewise linking a static library.

From-SVN: r53237
2002-05-06 21:26:49 +00:00
Alexandre Oliva
28eca9e87b * ltmain.sh (relink_command): Fix typo in previous change.
From-SVN: r50887
2002-03-16 14:42:17 +00:00
Alexandre Oliva
e67e72c7cb ltmain.sh (taglist): Initialized.
* ltmain.sh (taglist): Initialized.  Don't let `CC' tag out of it.
(relink_command): Added --tag flags.
(mode=install): If relinking fails; error out.

From-SVN: r50855
2002-03-15 23:02:08 +00:00
Alexandre Oliva
898c7238df backport: ltcf-c.sh: Use $objext, not $ac_objext.
Merged from gcc-3_0-branch:
2001-07-30  Jeff Sturm  <jsturm@one-pont.com>
* ltcf-c.sh: Use $objext, not $ac_objext.
2001-07-27  Mark Kettenis  <kettenis@gnu.org>
* ltcf-cxx.sh: Add support for GNU.
2001-07-22  Timothy Wall  <twall@redhat.com>
* ltcf-c.sh: Don't disable shared libraries for AIX5/IA64.  Preserve
default settings if using GNU tools with that configuration.
* ltcf-cxx.sh: Ditto.
* ltcf-gcj.sh: Ditto.
2001-07-21  Michael Chastain  <chastain@redhat.com>
* ltconfig: Set max_cmd_len to a maximum of 512Kb, as it seems some
HPUX 11.0 systems have trouble with 1MB.  Mark as gcc-local.
* ltmain.sh: Mark as gcc-local.

From-SVN: r45341
2001-09-01 00:47:19 +00:00
Alexandre Oliva
5f7de4b812 * ltconfig, ltmain.sh: Upgrade to libtool 1.4a 1.641.2.256.
From-SVN: r42677
2001-05-28 20:49:42 +00:00
Alexandre Oliva
334564454e ltconfig, [...]: Upgraded to libtool 1.4a 1.641.2.254.
* ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.254.  Rebuilt a number
of subdir/configure scripts to use the new libtool.m4.

From-SVN: r42351
2001-05-20 18:55:59 +00:00
Alexandre Oliva
99ffe40fe7 ltconfig, [...]: Upgraded to libtool 1.4a 1.641.2.228.
* ltconfig, ltmain.sh, ltcf-cxx.sh: Upgraded to libtool 1.4a
1.641.2.228.

From-SVN: r41452
2001-04-20 09:26:56 +00:00
Alexandre Oliva
75b9074c18 ltconfig, [...]: Upgraded to libtool 1.4a 1.641.2.226.
* ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.226.

From-SVN: r41299
2001-04-12 12:28:03 +00:00
Alexandre Oliva
82e232360d ltconfig, [...]: Upgraded to libtool 1.4a 1.641.2.198.
* ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Upgraded to libtool 1.4a 1.641.2.198.

From-SVN: r40731
2001-03-22 06:48:32 +00:00
Alexandre Oliva
9bad11e125 ltmain.sh (TAG disable-shared, [...]): Make sure we keep at least one of build_libtool_libs or build_old_libs set to yes.
* ltmain.sh (TAG disable-shared, TAG disable-static): Make sure we
keep at least one of build_libtool_libs or build_old_libs set to
yes.

From-SVN: r39245
2001-01-24 20:08:50 +00:00
Alexandre Oliva
3dd7094e20 ltconfig, [...]: Updated from libtool multi-language branch, to work around Solaris' /bin/sh bug.
* ltconfig, ltmain.sh, libtool.m4, ltcf-cxx.sh: Updated from libtool
multi-language branch, to work around Solaris' /bin/sh bug.  Rebuilt
all affected `configure' scripts.

From-SVN: r36672
2000-09-30 06:02:57 +00:00
Alexandre Oliva
06298abdb6 ltconfig, [...]: Updated from libtool multi-language branch.
* ltconfig, ltmain.sh, libtool.m4, ltcf-c.sh, ltcf-cxx.sh,
ltcf-gcj.sh: Updated from libtool multi-language branch.

From-SVN: r36198
2000-09-06 13:59:29 +00:00
Alexandre Oliva
89820b4331 ltconfig, ltmain.sh: Update from libtool multi-language branch.
* ltconfig, ltmain.sh: Update from libtool multi-language branch.
* ltcf-c.sh (need_lc): Fix test message.  Set wl for archive_cmds.
(ac_cv_prog_cc_pic): Don't print `cached' without `checking'.
* ltcf-cxx.sh (need_lc): Set based on postdeps.

From-SVN: r35405
2000-08-01 04:45:34 +00:00
Alexandre Oliva
4f4caf92a3 libtool.m4, [...]: New files from the libtool CVS tree multi-language branch.
2000-07-28  Alexandre Oliva  <aoliva@redhat.com>

        * libtool.m4, ltcf-c.sh, ltcf-cxx.sh, ltcf-gcj.sh: New files from
	the libtool CVS tree multi-language branch.
	* ltconfig, ltmain.sh: Updated.

From-SVN: r35323
2000-07-28 18:04:21 +00:00
Jason Merrill
d207ebef02 merge with /cvs/src
From-SVN: r35188
2000-07-22 04:08:22 -04:00
Tom Tromey
90fb0c2498 * ltconfig, ltmain.sh: Update to libtool 1.2f.
From-SVN: r27699
1999-06-21 20:36:09 -06:00
Ian Lance Taylor
fbd836fca0 Various libtool updates from devo, including update to libtool 1.2b
From-SVN: r22947
1998-10-08 17:32:31 -06:00
Jeff Law
cf4ccd63bc #
* mpw-* Delete.  Not used.
	* ltconfig, ltmain.sh: Update to libtool 1.2a.
	* Makefile.in (CC_FOR_TARGET): Use $(TARGET_SUBDIR) when passing -B
	for newlib directory.
	(CXX_FOR_TARGET): Likewise.
Bring over from devo.

From-SVN: r19691
1998-05-11 17:00:52 -06:00
Jason Merrill
6599da043e Initial revision
From-SVN: r14877
1997-08-21 18:57:35 -04:00