libtool: update to libtool-2.4

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2010-09-26 04:02:10 +02:00
parent 828c2cd6de
commit 3ea1e304f9
6 changed files with 13 additions and 593 deletions

View File

@ -1,99 +0,0 @@
diff -Naur libtool-2.2.10-old/ChangeLog libtool-2.2.10-new/ChangeLog
--- libtool-2.2.10-old/ChangeLog 2010-06-09 06:04:52.000000000 -0700
+++ libtool-2.2.10-new/ChangeLog 2010-07-04 15:48:14.000000000 -0700
@@ -236,6 +236,21 @@
2010-04-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+ Support GCC LTO on GNU/Linux.
+ * NEWS: Update.
+ * libltdl/config/ltmain.m4sh (func_mode_link): Allow through
+ flags matching -O*, -flto*, -fwhopr, -fuse-linker-plugin.
+ * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Drop symbols
+ starting with __gnu_lto.
+ (_LT_LINKER_SHLIBS) [linux] <archive_cmds, archive_expsyms_cmds>:
+ Add $pic_flag for GCC.
+ (_LT_LANG_CXX_CONFIG) [linux] <archive_cmds, archive_expsyms_cmds>:
+ Likewise.
+ <output_verbose_link_cmd>: Only list lines starting with a space
+ and containing 'collect'.
+ (_LT_SYS_HIDDEN_LIBDEPS): Ignore files matching *.lto.o.
+ Suggested by Török Edwin and Simon Richter.
+
Use linker_flags not compiler_flags with $LD.
* libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS) [linux]
<archive_cmds, archive_expsym_cmds>: With xlf and bgxlf
diff -Naur libtool-2.2.10-old/libltdl/config/ltmain.m4sh libtool-2.2.10-new/libltdl/config/ltmain.m4sh
--- libtool-2.2.10-old/libltdl/config/ltmain.m4sh 2010-06-09 06:06:43.000000000 -0700
+++ libtool-2.2.10-new/libltdl/config/ltmain.m4sh 2010-07-04 15:48:14.000000000 -0700
@@ -4494,8 +4494,10 @@
# -p, -pg, --coverage, -fprofile-* profiling flags for GCC
# @file GCC response files
# -tp=* Portland pgcc target processor selection
+ # -O*, -flto*, -fwhopr, -fuse-linker-plugin GCC link-time optimization
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
- -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*)
+ -t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*| \
+ -O*|-flto*|-fwhopr|-fuse-linker-plugin)
func_quote_for_eval "$arg"
arg="$func_quote_for_eval_result"
func_append compile_command " $arg"
diff -Naur libtool-2.2.10-old/libltdl/m4/libtool.m4 libtool-2.2.10-new/libltdl/m4/libtool.m4
--- libtool-2.2.10-old/libltdl/m4/libtool.m4 2010-05-20 14:22:02.000000000 -0700
+++ libtool-2.2.10-new/libltdl/m4/libtool.m4 2010-07-04 15:48:14.000000000 -0700
@@ -3436,6 +3436,7 @@
else
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
fi
+ lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed -e '/ __gnu_lto/d'"
# Check to see that the pipe works correctly.
pipe_works=no
@@ -4453,7 +4454,7 @@
if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
&& test "$tmp_diet" = no
then
- tmp_addflag=
+ tmp_addflag=' $pic_flag'
tmp_sharedflag='-shared'
case $cc_basename,$host_cpu in
pgcc*) # Portland Group C compiler
@@ -5523,8 +5524,8 @@
# Check if GNU C++ uses GNU ld as the underlying linker, since the
# archiving commands below assume that GNU ld is being used.
if test "$with_gnu_ld" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC $pic_flag -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
@@ -5556,7 +5557,7 @@
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "^ .*collect"'
else
GXX=no
@@ -6549,6 +6550,7 @@
fi
;;
+ *.lto.$objext) ;; # Ignore GCC LTO objects
*.$objext)
# This assumes that the test object file only shows up
# once in the compiler output.
diff -Naur libtool-2.2.10-old/NEWS libtool-2.2.10-new/NEWS
--- libtool-2.2.10-old/NEWS 2010-06-09 07:02:19.000000000 -0700
+++ libtool-2.2.10-new/NEWS 2010-07-04 15:48:14.000000000 -0700
@@ -53,6 +53,7 @@
- With binutils 2.19.50+, shared libraries can be built on AIX.
- Initial support for the Cuda Compiler Driver on GNU/Linux.
- Support for Haiku (i586-pc-haiku).
+ - Support for GCC link-time optimization (LTO) flags.
* Bug fixes:

View File

@ -1,282 +0,0 @@
diff -Naur libtool-2.2.10-old/ChangeLog libtool-2.2.10-new/ChangeLog
--- libtool-2.2.10-old/ChangeLog 2010-07-04 15:48:14.000000000 -0700
+++ libtool-2.2.10-new/ChangeLog 2010-07-04 16:17:47.000000000 -0700
@@ -225,6 +225,32 @@
2010-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+ Uniform const'ness of symlist variable lt_preloaded_symbols.
+ On some systems, lt_preloaded_symbols may not be declared
+ const due to relocation issues. C99 requires qualification to
+ match for compatible declarations, so ensure we declare
+ const'ness in the same way everywhere; link-time optimization
+ may otherwise rightfully complain about inconsistencies.
+ Since ltdl.h may not depend upon config.h, rely on system
+ defines for choosing const'ness.
+ * NEWS: Update.
+ * doc/libtool.texi (Dlpreopening): Document this issue.
+ * libltdl/config/ltmain.m4sh (func_generate_dlsyms):
+ [__WINDOWS__, __CYGWIN__, _WIN32_WCE]: Define LT_DLSYM_CONST
+ according to system defines. Remove old shell cruft. Use
+ LT_DLSYM_CONST for lt_${my_prefix}_LTX_preloaded_symbols.
+ * libltdl/libltdl/lt_system.h (LT_DLSYM_CONST): Likewise,
+ define LT_DLSYM_CONST according to system defines.
+ * tests/demo/foo.h (LT_DLSYM_CONST): Likewise.
+ * tests/pdemo/foo.h (LT_DLSYM_CONST): Likewise.
+ * tests/demo/dlmain.c (lt_dlsymlist): Use LT_DLSYM_CONST.
+ * tests/pdemo/longer_file_name_dlmain.c (lt_dlsymlist):
+ Likewise.
+ * libltdl/m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise
+ for configure test code.
+ * libltdl/ltdl.c (preloaded_symbols): Use LT_DLSYM_CONST.
+ * libltdl/ltdl.h (LTDL_SET_PRELOADED_SYMBOLS): Likewise.
+
Fix incompatible struct declarations.
* doc/libtool.texi (Dlpreopening): Remove broken documentation
of lt_dlsymbol and lt_dlsymlist. Document typedef lt_dlsymlist
diff -Naur libtool-2.2.10-old/doc/libtool.texi libtool-2.2.10-new/doc/libtool.texi
--- libtool-2.2.10-old/doc/libtool.texi 2010-07-04 15:48:11.000000000 -0700
+++ libtool-2.2.10-new/doc/libtool.texi 2010-07-04 16:17:47.000000000 -0700
@@ -3408,6 +3408,9 @@
To facilitate inclusion of symbol lists into libraries,
@code{lt_preloaded_symbols} is @samp{#define}d to a suitably unique name
in @file{ltdl.h}.
+
+This variable may not be declared @code{const} on some systems due to
+relocation issues.
@end deftypevar
Some compilers may allow identifiers that are not valid in ANSI C, such
diff -Naur libtool-2.2.10-old/libltdl/config/ltmain.m4sh libtool-2.2.10-new/libltdl/config/ltmain.m4sh
--- libtool-2.2.10-old/libltdl/config/ltmain.m4sh 2010-07-04 15:48:14.000000000 -0700
+++ libtool-2.2.10-new/libltdl/config/ltmain.m4sh 2010-07-04 16:17:47.000000000 -0700
@@ -1952,6 +1952,18 @@
#pragma GCC diagnostic ignored \"-Wstrict-prototypes\"
#endif
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(__WINDOWS__) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
/* External symbol declarations for the compiler. */\
"
@@ -2054,26 +2066,9 @@
const char *name;
void *address;
} lt_dlsymlist;
-"
- case $host in
- *cygwin* | *mingw* | *cegcc* )
- echo >> "$output_objdir/$my_dlsyms" "\
-/* DATA imports from DLLs on WIN32 con't be const, because
- runtime relocations are performed -- see ld's documentation
- on pseudo-relocs. */"
- lt_dlsym_const= ;;
- *osf5*)
- echo >> "$output_objdir/$my_dlsyms" "\
-/* This system does not cope well with relocations in const data */"
- lt_dlsym_const= ;;
- *)
- lt_dlsym_const=const ;;
- esac
-
- echo >> "$output_objdir/$my_dlsyms" "\
-extern $lt_dlsym_const lt_dlsymlist
+extern LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[];
-$lt_dlsym_const lt_dlsymlist
+LT_DLSYM_CONST lt_dlsymlist
lt_${my_prefix}_LTX_preloaded_symbols[] =
{\
{ \"$my_originator\", (void *) 0 },"
diff -Naur libtool-2.2.10-old/libltdl/libltdl/lt_system.h libtool-2.2.10-new/libltdl/libltdl/lt_system.h
--- libtool-2.2.10-old/libltdl/libltdl/lt_system.h 2010-07-04 15:48:11.000000000 -0700
+++ libtool-2.2.10-new/libltdl/libltdl/lt_system.h 2010-07-04 16:17:47.000000000 -0700
@@ -1,6 +1,6 @@
/* lt_system.h -- system portability abstraction layer
- Copyright (C) 2004, 2007 Free Software Foundation, Inc.
+ Copyright (C) 2004, 2007, 2010 Free Software Foundation, Inc.
Written by Gary V. Vaughan, 2004
NOTE: The canonical source of this file is maintained with the
@@ -76,6 +76,18 @@
# endif
#endif
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(__WINDOWS__) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
/* Canonicalise Windows and Cygwin recognition macros.
To match the values set by recent Cygwin compilers, make sure that if
__CYGWIN__ is defined (after canonicalisation), __WINDOWS__ is NOT! */
diff -Naur libtool-2.2.10-old/libltdl/ltdl.c libtool-2.2.10-new/libltdl/ltdl.c
--- libtool-2.2.10-old/libltdl/ltdl.c 2010-07-04 15:48:11.000000000 -0700
+++ libtool-2.2.10-new/libltdl/ltdl.c 2010-07-04 16:17:47.000000000 -0700
@@ -208,7 +208,7 @@
LT_SCOPE const lt_dlvtable * get_vtable (lt_user_data data);
LT_END_C_DECLS
#ifdef HAVE_LIBDLLOADER
-extern lt_dlsymlist preloaded_symbols[];
+extern LT_DLSYM_CONST lt_dlsymlist preloaded_symbols[];
#endif
/* Initialize libltdl. */
diff -Naur libtool-2.2.10-old/libltdl/ltdl.h libtool-2.2.10-new/libltdl/ltdl.h
--- libtool-2.2.10-old/libltdl/ltdl.h 2010-07-04 15:48:11.000000000 -0700
+++ libtool-2.2.10-new/libltdl/ltdl.h 2010-07-04 16:17:47.000000000 -0700
@@ -103,7 +103,7 @@
#define lt_preloaded_symbols lt__PROGRAM__LTX_preloaded_symbols
#define LTDL_SET_PRELOADED_SYMBOLS() LT_STMT_START{ \
- extern const lt_dlsymlist lt_preloaded_symbols[]; \
+ extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[]; \
lt_dlpreload_default(lt_preloaded_symbols); \
}LT_STMT_END
diff -Naur libtool-2.2.10-old/libltdl/m4/libtool.m4 libtool-2.2.10-new/libltdl/m4/libtool.m4
--- libtool-2.2.10-old/libltdl/m4/libtool.m4 2010-07-04 15:48:14.000000000 -0700
+++ libtool-2.2.10-new/libltdl/m4/libtool.m4 2010-07-04 16:17:47.000000000 -0700
@@ -3470,6 +3470,18 @@
if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
cat <<_LT_EOF > conftest.$ac_ext
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(__WINDOWS__) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT@&t@_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT@&t@_DLSYM_CONST
+#else
+# define LT@&t@_DLSYM_CONST const
+#endif
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -3481,7 +3493,7 @@
cat <<_LT_EOF >> conftest.$ac_ext
/* The mapping between symbol names and symbols. */
-const struct {
+LT@&t@_DLSYM_CONST struct {
const char *name;
void *address;
}
diff -Naur libtool-2.2.10-old/NEWS libtool-2.2.10-new/NEWS
--- libtool-2.2.10-old/NEWS 2010-07-04 15:48:14.000000000 -0700
+++ libtool-2.2.10-new/NEWS 2010-07-04 16:17:47.000000000 -0700
@@ -42,6 +42,9 @@
options that begin with '--lt-*' from the argument list before launching
(uninstalled) programs. Any '--lt-*' option on the command line not
recognized by the wrapper will result in an error.
+ - The type of the symbol lists variables (lt_*_LTX_preloaded_symbols) has
+ been fixed in the manual and in a couple of tests to match the actual
+ implementation.
* Changes in supported systems or compilers:
diff -Naur libtool-2.2.10-old/tests/demo/dlmain.c libtool-2.2.10-new/tests/demo/dlmain.c
--- libtool-2.2.10-old/tests/demo/dlmain.c 2010-07-04 15:48:11.000000000 -0700
+++ libtool-2.2.10-new/tests/demo/dlmain.c 2010-07-04 16:17:47.000000000 -0700
@@ -34,7 +34,7 @@
lt_ptr_t address;
} lt_dlsymlist;
-extern const lt_dlsymlist lt_preloaded_symbols[];
+extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[];
int
main ()
diff -Naur libtool-2.2.10-old/tests/demo/foo.h libtool-2.2.10-new/tests/demo/foo.h
--- libtool-2.2.10-old/tests/demo/foo.h 2010-07-04 15:48:11.000000000 -0700
+++ libtool-2.2.10-new/tests/demo/foo.h 2010-07-04 16:17:47.000000000 -0700
@@ -1,6 +1,6 @@
/* foo.h -- interface to the libfoo library
- Copyright (C) 1996-1999 Free Software Foundation, Inc.
+ Copyright (C) 1996-1999, 2010 Free Software Foundation, Inc.
Written by Gord Matzigkeit, 1996
This file is part of GNU Libtool.
@@ -62,6 +62,18 @@
# define lt_ptr_t char*
#endif
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(__WINDOWS__) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
/* Silly constants that the functions return. */
#define HELLO_RET 0xe110
#define FOO_RET 0xf00
diff -Naur libtool-2.2.10-old/tests/pdemo/foo.h libtool-2.2.10-new/tests/pdemo/foo.h
--- libtool-2.2.10-old/tests/pdemo/foo.h 2010-07-04 15:48:11.000000000 -0700
+++ libtool-2.2.10-new/tests/pdemo/foo.h 2010-07-04 16:17:47.000000000 -0700
@@ -1,6 +1,6 @@
/* foo.h -- interface to the libfoo library
- Copyright (C) 1996-1999 Free Software Foundation, Inc.
+ Copyright (C) 1996-1999, 2010 Free Software Foundation, Inc.
Written by Gord Matzigkeit, 1996
This file is part of GNU Libtool.
@@ -61,6 +61,18 @@
# define lt_ptr_t char*
#endif
+/* Keep this code in sync between libtool.m4, ltmain, lt_system.h, and tests. */
+#if defined(__WINDOWS__) || defined(__CYGWIN__) || defined(_WIN32_WCE)
+/* DATA imports from DLLs on WIN32 con't be const, because runtime
+ relocations are performed -- see ld's documentation on pseudo-relocs. */
+# define LT_DLSYM_CONST
+#elif defined(__osf__)
+/* This system does not cope well with relocations in const data. */
+# define LT_DLSYM_CONST
+#else
+# define LT_DLSYM_CONST const
+#endif
+
#ifdef __CYGWIN32__
# ifdef LIBFOO_DLL
/* need some (as yet non-existant) automake magic to tell
diff -Naur libtool-2.2.10-old/tests/pdemo/longer_file_name_dlmain.c libtool-2.2.10-new/tests/pdemo/longer_file_name_dlmain.c
--- libtool-2.2.10-old/tests/pdemo/longer_file_name_dlmain.c 2010-07-04 15:48:11.000000000 -0700
+++ libtool-2.2.10-new/tests/pdemo/longer_file_name_dlmain.c 2010-07-04 16:17:47.000000000 -0700
@@ -34,7 +34,7 @@
lt_ptr_t address;
} lt_dlsymlist;
-extern const lt_dlsymlist lt_preloaded_symbols[];
+extern LT_DLSYM_CONST lt_dlsymlist lt_preloaded_symbols[];
int
main (int argc, char **argv)

View File

@ -1,199 +0,0 @@
diff -Naur libtool-2.2.10-old/ChangeLog libtool-2.2.10-new/ChangeLog
--- libtool-2.2.10-old/ChangeLog 2010-07-04 16:17:47.000000000 -0700
+++ libtool-2.2.10-new/ChangeLog 2010-07-04 16:24:58.000000000 -0700
@@ -225,6 +225,26 @@
2010-04-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+ Add $pic_flag to archive_cmds and archive_expsym_cmds.
+ * libltdl/m4/libtool.m4 (_LT_LINKER_SHLIBS)
+ <archive_cmds, archive_expsym_cmds>
+ [GNU ld, netbsd]: Add $pic_flag if ELF.
+ [GNU ld, solaris]: Likewise.
+ [GNU ld, default case]: Likewise.
+ [!GNU ld, freebsd, dragonfly]: Add $pic_flag.
+ [!GNU ld, GCC, hpux9]: Add $pic_flag.
+ [!GNU ld, GCC, hpux10]: Replace -fPIC with $pic_flag
+ [!GNU ld, GCC, hpux11, !hppa*64]: Replace -fPIC with $pic_flag.
+ [!GNU ld, GCC, irix5, irix6, nonstopux]: Add $pic_flag.
+ [!GNU ld, GCC, osf4, osf5]: Likewise.
+ [!GNU ld, GCC, solaris]: Likewise.
+ (_LT_LANG_CXX_CONFIG) <archive_cmds, archive_expsym_cmds>
+ [hpux9]: Add $pic_flag if $GXX.
+ [hpux10, hpux11, !hppa*64]: Replace -fPIC with $pic_flag.
+ [irix5, irix6]: Add $pic_flag if $GXX.
+ [osf4, osf5]: Likewise.
+ [solaris]: Add $pic_flag if $GXX and not GCC 2.7.
+
Uniform const'ness of symlist variable lt_preloaded_symbols.
On some systems, lt_preloaded_symbols may not be declared
const due to relocation issues. C99 requires qualification to
diff -Naur libtool-2.2.10-old/libltdl/m4/libtool.m4 libtool-2.2.10-new/libltdl/m4/libtool.m4
--- libtool-2.2.10-old/libltdl/m4/libtool.m4 2010-07-04 16:17:47.000000000 -0700
+++ libtool-2.2.10-new/libltdl/m4/libtool.m4 2010-07-04 16:24:58.000000000 -0700
@@ -4536,8 +4536,8 @@
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
fi
;;
@@ -4555,8 +4555,8 @@
_LT_EOF
elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4602,8 +4602,8 @@
*)
if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
else
_LT_TAGVAR(ld_shlibs, $1)=no
fi
@@ -4839,7 +4839,7 @@
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -4847,7 +4847,7 @@
hpux9*)
if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
_LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
fi
@@ -4863,7 +4863,7 @@
hpux10*)
if test "$GCC" = yes && test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
else
_LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
fi
@@ -4887,10 +4887,10 @@
_LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
;;
esac
else
@@ -4937,14 +4937,14 @@
irix5* | irix6* | nonstopux*)
if test "$GCC" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
# Try to use the -exported_symbol ld option, if it does not
# work, assume that -exports_file does not work either and
# implicitly export all symbols.
save_LDFLAGS="$LDFLAGS"
LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
AC_LINK_IFELSE(int foo(void) {},
- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
)
LDFLAGS="$save_LDFLAGS"
else
@@ -5031,7 +5031,7 @@
osf4* | osf5*) # as osf3* with the addition of -msym flag
if test "$GCC" = yes; then
_LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $pic_flag $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
else
_LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
@@ -5050,9 +5050,9 @@
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
if test "$GCC" = yes; then
wlarc='${wl}'
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
else
case `$CC -V 2>&1` in
*"Compilers 5.0"*)
@@ -5829,7 +5829,7 @@
;;
*)
if test "$GXX" = yes; then
- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib $pic_flag ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
else
# FIXME: insert proper C++ library support
_LT_TAGVAR(ld_shlibs, $1)=no
@@ -5900,10 +5900,10 @@
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
ia64*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $pic_flag ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
;;
esac
fi
@@ -5944,9 +5944,9 @@
*)
if test "$GXX" = yes; then
if test "$with_gnu_ld" = no; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
else
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` -o $lib'
fi
fi
_LT_TAGVAR(link_all_deplibs, $1)=yes
@@ -6224,7 +6224,7 @@
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
*)
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
;;
esac
@@ -6311,9 +6311,9 @@
if test "$GXX" = yes && test "$with_gnu_ld" = no; then
_LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
if $CC --version | $GREP -v '^2\.7' > /dev/null; then
- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
+ $CC -shared $pic_flag -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when

View File

@ -1,12 +0,0 @@
diff -Naur libtool-2.2.10-old/libltdl/config/ltmain.m4sh libtool-2.2.10-new/libltdl/config/ltmain.m4sh
--- libtool-2.2.10-old/libltdl/config/ltmain.m4sh 2010-07-04 16:25:41.000000000 -0700
+++ libtool-2.2.10-new/libltdl/config/ltmain.m4sh 2010-07-04 16:37:36.000000000 -0700
@@ -4492,7 +4492,7 @@
# -O*, -flto*, -fwhopr, -fuse-linker-plugin GCC link-time optimization
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*| \
- -O*|-flto*|-fwhopr|-fuse-linker-plugin)
+ -O*|-flto*|-fwhopr|-fuse-linker-plugin|-fuse-ld=*)
func_quote_for_eval "$arg"
arg="$func_quote_for_eval_result"
func_append compile_command " $arg"

View File

@ -0,0 +1,12 @@
diff -Naur libtool-2.4-old/libltdl/config/ltmain.m4sh libtool-2.4-new/libltdl/config/ltmain.m4sh
--- libtool-2.4-old/libltdl/config/ltmain.m4sh 2010-09-22 13:16:41.000000000 -0700
+++ libtool-2.4-new/libltdl/config/ltmain.m4sh 2010-09-22 13:21:52.000000000 -0700
@@ -5051,7 +5051,7 @@
# -O*, -flto*, -fwhopr*, -fuse-linker-plugin GCC link-time optimization
-64|-mips[0-9]|-r[0-9][0-9]*|-xarch=*|-xtarget=*|+DA*|+DD*|-q*|-m*| \
-t[45]*|-txscale*|-p|-pg|--coverage|-fprofile-*|-F*|@*|-tp=*|--sysroot=*| \
- -O*|-flto*|-fwhopr*|-fuse-linker-plugin)
+ -O*|-flto*|-fwhopr*|-fuse-linker-plugin|-fuse-ld=*)
func_quote_for_eval "$arg"
arg="$func_quote_for_eval_result"
func_append compile_command " $arg"

View File

@ -1 +1 @@
http://ftp.gnu.org/gnu/libtool/libtool-2.2.10.tar.gz
http://ftp.gnu.org/gnu/libtool/libtool-2.4.tar.gz