summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorskrll <skrll>2000-10-12 19:07:06 +0000
committerskrll <skrll>2000-10-12 19:07:06 +0000
commit3519fb54c24ae550da95efd682ebd98b73f57fcf (patch)
tree595fe27e6abd37e19ffdd17f89cb463b7eba2e60
parentd76b5ea898bd092ac00d2c57e75f2b773238f23b (diff)
downloadpkgsrc-3519fb54c24ae550da95efd682ebd98b73f57fcf.tar.gz
Make sure that -Wl does the right thing on a.out.
Make sure that an -fPIC c++rt0 is pulled in for sparc<1.4.3 Fixes: pkg/11166, pkg/10190, pkg/11189, and port-sparc/10846
-rw-r--r--devel/libtool/Makefile9
-rw-r--r--devel/libtool/files/patch-sum4
-rw-r--r--devel/libtool/patches/patch-aa29
-rw-r--r--sysutils/c++rt0/Makefile4
-rw-r--r--sysutils/c++rt0/pkg/PLIST6
5 files changed, 28 insertions, 24 deletions
diff --git a/devel/libtool/Makefile b/devel/libtool/Makefile
index ae0bd518930..9bfd62891ab 100644
--- a/devel/libtool/Makefile
+++ b/devel/libtool/Makefile
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.20 2000/09/14 10:20:46 skrll Exp $
+# $NetBSD: Makefile,v 1.21 2000/10/12 19:07:06 skrll Exp $
#
DISTNAME= libtool-1.3.5
-PKGNAME= libtool-1.3.5nb5
+PKGNAME= libtool-1.3.5nb6
CATEGORIES= devel pkgtools
MASTER_SITES= ${MASTER_SITE_GNU:=libtool/}
@@ -17,6 +17,11 @@ test check: build
.include "../../mk/bsd.prefs.mk"
+.if ${MACHINE_PLATFORM:MNetBSD-1.4-sparc} != "" || \
+ ${MACHINE_PLATFORM:MNetBSD-1.4.[12]-sparc} != ""
+DEPENDS+= c++rt0>=1.0:../../sysutils/c++rt0
+.endif
+
.if ${OPSYS} == "NetBSD"
.if !exists(/usr/libexec/ld.so) && !exists(/usr/libexec/ld.elf_so)
CONFIGURE_ARGS= --disable-shared
diff --git a/devel/libtool/files/patch-sum b/devel/libtool/files/patch-sum
index aa13a423330..b1cea244856 100644
--- a/devel/libtool/files/patch-sum
+++ b/devel/libtool/files/patch-sum
@@ -1,5 +1,5 @@
-$NetBSD: patch-sum,v 1.11 2000/09/14 10:20:46 skrll Exp $
+$NetBSD: patch-sum,v 1.12 2000/10/12 19:07:07 skrll Exp $
-MD5 (patch-aa) = 40127f6b3bfe5747ccb450017417487c
+MD5 (patch-aa) = f8cff8ebe275632555d567076adf514c
MD5 (patch-ab) = b550fbb6345a031c6ea34ee66ec257e1
MD5 (patch-ac) = be7e8b63e245f3d9ba4e19c5fd928d00
diff --git a/devel/libtool/patches/patch-aa b/devel/libtool/patches/patch-aa
index a3fcc8992ba..3c89a35ed88 100644
--- a/devel/libtool/patches/patch-aa
+++ b/devel/libtool/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.13 2000/09/14 10:20:46 skrll Exp $
+$NetBSD: patch-aa,v 1.14 2000/10/12 19:07:07 skrll Exp $
--- ltconfig.in.orig Sat May 27 02:58:57 2000
+++ ltconfig.in
-@@ -1194,11 +1194,15 @@
+@@ -1194,11 +1194,17 @@
netbsd*)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
@@ -10,8 +10,10 @@ $NetBSD: patch-aa,v 1.13 2000/09/14 10:20:46 skrll Exp $
- archive_expsym_cmds='$CC -shared $libobjs $deplibs $linkopts ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
+ wlarc=
-+ if test -f /usr/lib/c++rt0.o; then
-+ # Add in C++ constructor/destructor support
++ # Add in C++ constructor/destructor support
++ if test -f ${PREFIX}/lib/c++rt0/c++rt0.o.PIC; then
++ archive_cmds="$archive_cmds ${PREFIX}/lib/c++rt0/c++rt0.o.PIC"
++ elif test -f /usr/lib/c++rt0.o; then
+ archive_cmds="$archive_cmds /usr/lib/c++rt0.o"
+ fi
else
@@ -22,26 +24,29 @@ $NetBSD: patch-aa,v 1.13 2000/09/14 10:20:46 skrll Exp $
fi
;;
-@@ -1392,9 +1396,17 @@
+@@ -1392,11 +1398,19 @@
netbsd*)
if echo __ELF__ | $CC -E - | grep __ELF__ >/dev/null; then
- archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts' # a.out
+ archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linkopts'
-+ wl=
-+ if test -f /usr/lib/c++rt0.o; then
-+ # Add in C++ constructor/destructor support
++ # Add in C++ constructor/destructor support
++ if test -f ${PREFIX}/lib/c++rt0/c++rt0.o.PIC; then
++ archive_cmds="$archive_cmds ${PREFIX}/lib/c++rt0/c++rt0.o.PIC"
++ elif test -f /usr/lib/c++rt0.o; then
+ archive_cmds="$archive_cmds /usr/lib/c++rt0.o"
+ fi
else
+ # I don't think there are any ELF toolchains with non-gnu ld.
+ # I'm not touching this just in case!
archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linkopts' # ELF
-+ wl=
fi
- hardcode_libdir_flag_spec='${wl}-R$libdir'
+- hardcode_libdir_flag_spec='${wl}-R$libdir'
++ hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
-@@ -2012,6 +2024,9 @@
+ hardcode_shlibpath_var=no
+ ;;
+@@ -2012,6 +2026,9 @@
finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
dynamic_linker='NetBSD (a.out) ld.so'
else
@@ -51,7 +56,7 @@ $NetBSD: patch-aa,v 1.13 2000/09/14 10:20:46 skrll Exp $
library_names_spec='${libname}${release}.so$versuffix ${libname}${release}.so$major ${libname}${release}.so ${libname}.so'
soname_spec='${libname}${release}.so$major'
dynamic_linker='NetBSD ld.elf_so'
-@@ -2069,7 +2084,7 @@
+@@ -2069,7 +2086,7 @@
;;
solaris*)
diff --git a/sysutils/c++rt0/Makefile b/sysutils/c++rt0/Makefile
index 8c90de2199a..552f189c44a 100644
--- a/sysutils/c++rt0/Makefile
+++ b/sysutils/c++rt0/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.2 2000/10/05 14:11:57 hubertf Exp $
+# $NetBSD: Makefile,v 1.3 2000/10/12 19:07:07 skrll Exp $
#
DISTNAME= c++rt0-1.0
@@ -22,7 +22,5 @@ do-install:
${INSTALL_DATA} ${_DISTDIR}/c++rt0.o.pic ${PREFIX}/lib/c++rt0
${INSTALL_DATA} ${_DISTDIR}/c++rt0.o.PIC ${PREFIX}/lib/c++rt0
${INSTALL_DATA} ${_DISTDIR}/README ${PREFIX}/lib/c++rt0
- ${MV} /usr/lib/c++rt0.o /usr/lib/c++rt0.o.unPKGd
- ${INSTALL} -c -m 444 -o root -g wheel ${PREFIX}/lib/c++rt0/c++rt0.o.PIC /usr/lib/c++rt0.o
.include "../../mk/bsd.pkg.mk"
diff --git a/sysutils/c++rt0/pkg/PLIST b/sysutils/c++rt0/pkg/PLIST
index 7e32cfbb331..405d4f1fe3f 100644
--- a/sysutils/c++rt0/pkg/PLIST
+++ b/sysutils/c++rt0/pkg/PLIST
@@ -1,9 +1,5 @@
-@comment $NetBSD: PLIST,v 1.1.1.1 2000/10/04 15:13:03 hubertf Exp $
-@unexec rm -f /usr/lib/c++rt0.o
-@unexec mv /usr/lib/c++rt0.o.unPKGd /usr/lib/c++rt0.o
+@comment $NetBSD: PLIST,v 1.2 2000/10/12 19:07:07 skrll Exp $
lib/c++rt0/c++rt0.o.PIC
lib/c++rt0/c++rt0.o.pic
lib/c++rt0/README
-@exec mv /usr/lib/c++rt0.o /usr/lib/c++rt0.o.unPKGd
-@exec install -c -m 444 -o root -g wheel %B/c++rt0.o.PIC /usr/lib/c++rt0.o
@dirrm lib/c++rt0