diff options
author | skrll <skrll> | 2000-10-12 19:07:06 +0000 |
---|---|---|
committer | skrll <skrll> | 2000-10-12 19:07:06 +0000 |
commit | 3519fb54c24ae550da95efd682ebd98b73f57fcf (patch) | |
tree | 595fe27e6abd37e19ffdd17f89cb463b7eba2e60 | |
parent | d76b5ea898bd092ac00d2c57e75f2b773238f23b (diff) | |
download | pkgsrc-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/Makefile | 9 | ||||
-rw-r--r-- | devel/libtool/files/patch-sum | 4 | ||||
-rw-r--r-- | devel/libtool/patches/patch-aa | 29 | ||||
-rw-r--r-- | sysutils/c++rt0/Makefile | 4 | ||||
-rw-r--r-- | sysutils/c++rt0/pkg/PLIST | 6 |
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 |