1a86a78db2
actually are CTORS/DTORS in the objects that go into the library. This makes pkgsrc under 1.3.x not blow up on C libraries that were built with libtool. E.g. everything that linked against -lintl would dump core.
75 lines
2 KiB
Text
75 lines
2 KiB
Text
$NetBSD: patch-ab,v 1.13 2001/01/09 18:37:46 bad Exp $
|
|
|
|
--- ltmain.in.orig0 Sat May 27 03:53:15 2000
|
|
+++ ltmain.in Tue Jan 9 19:21:17 2001
|
|
@@ -819,6 +819,7 @@
|
|
old_convenience=
|
|
deplibs=
|
|
linkopts=
|
|
+ wllinkopts=
|
|
|
|
if test -n "$shlibpath_var"; then
|
|
# get the directories listed in $shlibpath_var
|
|
@@ -1154,6 +1155,25 @@
|
|
continue
|
|
;;
|
|
|
|
+ -Wl,*)
|
|
+ args=`$echo "X$arg" | $Xsed -e "$sed_quote_subst" -e 's/^-Wl,//'`
|
|
+ arg=
|
|
+ IFS="${IFS= }"; save_ifs="$IFS"; IFS=','
|
|
+ for flag in $args; do
|
|
+ IFS="$save_ifs"
|
|
+ case "$flag" in
|
|
+ *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"")
|
|
+ flag="\"$flag\""
|
|
+ ;;
|
|
+ esac
|
|
+ arg="$arg $wl$flag"
|
|
+ linkopts="$linkopts $flag"
|
|
+ wllinkopts="$wllinkopts $wl$flag"
|
|
+ done
|
|
+ IFS="$save_ifs"
|
|
+ arg=`$echo "X$arg" | $Xsed -e "s/^ //"`
|
|
+ ;;
|
|
+
|
|
# Some other compiler flag.
|
|
-* | +*)
|
|
# Unknown arguments in both finalize_command and compile_command need
|
|
@@ -1772,7 +1792,7 @@
|
|
fi
|
|
|
|
# Remove version info from name if versioning should be avoided
|
|
- if test "$avoid_version" = yes && test "$need_version" = no; then
|
|
+ if test "$avoid_version" = yes; then
|
|
major=
|
|
versuffix=
|
|
verstring=""
|
|
@@ -1799,6 +1819,9 @@
|
|
# rhapsody is a little odd...
|
|
deplibs="$deplibs -framework System"
|
|
;;
|
|
+ *-*-netbsd*)
|
|
+ # Don't link with libc until the a.out ld.so is fixed.
|
|
+ ;;
|
|
*)
|
|
# Add libc to deplibs on all other systems.
|
|
deplibs="$deplibs -lc"
|
|
@@ -2146,6 +2169,17 @@
|
|
if test "$thread_safe" = yes && test -n "$thread_safe_flag_spec"; then
|
|
eval flag=\"$thread_safe_flag_spec\"
|
|
linkopts="$linkopts $flag"
|
|
+ wllinkopts="$wllinkopts $wl$flag"
|
|
+ fi
|
|
+
|
|
+ # Check whether we need to link in c++rt0.o on a.out because of
|
|
+ # constructors/destructors
|
|
+ if test -n "$ctor_check_cmd"; then
|
|
+ eval cmd=\"$ctor_check_cmd\"
|
|
+ #$show "$cmd"
|
|
+ if $run eval "$cmd" ; then
|
|
+ cppopts="$cpprt0"
|
|
+ fi
|
|
fi
|
|
|
|
# Do each of the archive commands.
|