diff options
author | hans <hans@pkgsrc.org> | 2011-03-03 18:02:53 +0000 |
---|---|---|
committer | hans <hans@pkgsrc.org> | 2011-03-03 18:02:53 +0000 |
commit | 727feac37dba4acef8de9e7dfaaa52addb5cf34d (patch) | |
tree | eb9ad2a1b841f029c75aa5b38aa3ece49f6f5533 | |
parent | e13183e61d153519baf667516ec656e8aaa3d7d3 (diff) | |
download | pkgsrc-727feac37dba4acef8de9e7dfaaa52addb5cf34d.tar.gz |
Add patches to fix build on NetBSD 5.99.41 and newer (pkg/44598).
Patches came from Kai-Uwe Eckhardt.
-rw-r--r-- | lang/gcc44/distinfo | 7 | ||||
-rw-r--r-- | lang/gcc44/patches/patch-ah | 11 | ||||
-rw-r--r-- | lang/gcc44/patches/patch-ai | 20 | ||||
-rw-r--r-- | lang/gcc44/patches/patch-aj | 39 | ||||
-rw-r--r-- | lang/gcc44/patches/patch-ak | 12 | ||||
-rw-r--r-- | lang/gcc44/patches/patch-al | 14 |
6 files changed, 102 insertions, 1 deletions
diff --git a/lang/gcc44/distinfo b/lang/gcc44/distinfo index 3c286af52e5..261e5b7414c 100644 --- a/lang/gcc44/distinfo +++ b/lang/gcc44/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.5 2011/02/25 13:34:56 hans Exp $ +$NetBSD: distinfo,v 1.6 2011/03/03 18:02:53 hans Exp $ SHA1 (gcc-4.4.5.tar.bz2) = 2b1427a932a620c909d74f1e4821ed90c90fd350 RMD160 (gcc-4.4.5.tar.bz2) = 87d6fa77d50f23a3359e24bf5b0ddfafa7088478 @@ -10,3 +10,8 @@ SHA1 (patch-ad) = 86dc05e6ea977ad869e5d63beb493750ab01a807 SHA1 (patch-ae) = 831481496b5b5f246f51d9a4fe9314f07f81a842 SHA1 (patch-af) = 12f58f01e973f5684e8443ab402a70291bb6d621 SHA1 (patch-ag) = 077bed181ee4bad36eb23c817a1708950b69a1ad +SHA1 (patch-ah) = f931e56bdc9aac160d5320f33c3af3b0d76c6d22 +SHA1 (patch-ai) = a7329ed9f8bb533c4bf0c2f4cc97b6c49d737148 +SHA1 (patch-aj) = 65ba5e1160a3c5934a7098db2f870fa5db63a267 +SHA1 (patch-ak) = 891dab9be4f76fef17027c70daee3afcfb720fee +SHA1 (patch-al) = 7b21a8968302a3da1c4cfd881cfe8eac1341fa11 diff --git a/lang/gcc44/patches/patch-ah b/lang/gcc44/patches/patch-ah new file mode 100644 index 00000000000..211cd315125 --- /dev/null +++ b/lang/gcc44/patches/patch-ah @@ -0,0 +1,11 @@ +--- libgfortran/intrinsics/c99_functions.c.orig 2009-04-10 01:23:07.000000000 +0200 ++++ libgfortran/intrinsics/c99_functions.c +@@ -538,7 +538,7 @@ + if (x > DBL_MAX || x < -DBL_MAX) + { + #ifdef HAVE_NEXTAFTERL +- static long double prechalf = nexafterl (0.5L, LDBL_MAX); ++ long double prechalf = nextafterl (0.5L, LDBL_MAX); + #else + static long double prechalf = 0.5L; + #endif diff --git a/lang/gcc44/patches/patch-ai b/lang/gcc44/patches/patch-ai new file mode 100644 index 00000000000..dacbe969345 --- /dev/null +++ b/lang/gcc44/patches/patch-ai @@ -0,0 +1,20 @@ +--- gcc/fortran/f95-lang.c.orig 2010-04-21 23:26:11.000000000 +0200 ++++ gcc/fortran/f95-lang.c +@@ -871,10 +871,17 @@ + + gfc_define_builtin ("__builtin_cabsl", func_clongdouble_longdouble, + BUILT_IN_CABSL, "cabsl", true); ++#if defined (__NetBSD__) ++ gfc_define_builtin ("__builtin_cabs", func_cdouble_double, ++ BUILT_IN_CABS, "__c99_cabs", true); ++ gfc_define_builtin ("__builtin_cabsf", func_cfloat_float, ++ BUILT_IN_CABSF, "__c99_cabsf", true); ++#else + gfc_define_builtin ("__builtin_cabs", func_cdouble_double, + BUILT_IN_CABS, "cabs", true); + gfc_define_builtin ("__builtin_cabsf", func_cfloat_float, + BUILT_IN_CABSF, "cabsf", true); ++#endif + + gfc_define_builtin ("__builtin_copysignl", mfunc_longdouble[1], + BUILT_IN_COPYSIGNL, "copysignl", true); diff --git a/lang/gcc44/patches/patch-aj b/lang/gcc44/patches/patch-aj new file mode 100644 index 00000000000..df99ab51b12 --- /dev/null +++ b/lang/gcc44/patches/patch-aj @@ -0,0 +1,39 @@ +--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2009-04-10 01:23:07.000000000 +0200 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h 2011-03-03 13:57:27.000000000 +0100 +@@ -30,6 +30,8 @@ + // Full details can be found from the CVS files at: + // anoncvs@anoncvs.netbsd.org:/cvsroot/basesrc/include/ctype.h + // See www.netbsd.org for details of access. ++ ++#include <sys/param.h> + + _GLIBCXX_BEGIN_NAMESPACE(std) + +@@ -42,6 +44,19 @@ _GLIBCXX_BEGIN_NAMESPACE(std) + // NB: Offsets into ctype<char>::_M_table force a particular size + // on the mask type. Because of this, we don't use an enum. + typedef unsigned char mask; ++#if __NetBSD_Version__ >= 599004100 ++ static const mask upper = _CTYPE_U; ++ static const mask lower = _CTYPE_L; ++ static const mask alpha = _CTYPE_U | _CTYPE_L; ++ static const mask digit = _CTYPE_N; ++ static const mask xdigit = _CTYPE_N | _CTYPE_X; ++ static const mask space = _CTYPE_S; ++ static const mask print = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B; ++ static const mask graph = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N; ++ static const mask cntrl = _CTYPE_C; ++ static const mask punct = _CTYPE_P; ++ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N; ++#else + static const mask upper = _U; + static const mask lower = _L; + static const mask alpha = _U | _L; +@@ -53,6 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) + static const mask cntrl = _C; + static const mask punct = _P; + static const mask alnum = _U | _L | _N; ++#endif + }; + + _GLIBCXX_END_NAMESPACE diff --git a/lang/gcc44/patches/patch-ak b/lang/gcc44/patches/patch-ak new file mode 100644 index 00000000000..391ef4bf04c --- /dev/null +++ b/lang/gcc44/patches/patch-ak @@ -0,0 +1,12 @@ +--- libjava/configure.host.orig 2011-02-25 16:07:42.000000000 +0100 ++++ libjava/configure.host +@@ -310,6 +310,9 @@ + *-*-freebsd*) + slow_pthread_self= + ;; ++ *-*-netbsd*) ++ slow_pthread_self= ++ ;; + *-mingw*) + libgcj_flags="${libgcj_flags} -fno-omit-frame-pointer" + # FIXME: win32_exception_handler( ) in win32.cc does not do the diff --git a/lang/gcc44/patches/patch-al b/lang/gcc44/patches/patch-al new file mode 100644 index 00000000000..b6174a620f8 --- /dev/null +++ b/lang/gcc44/patches/patch-al @@ -0,0 +1,14 @@ +--- libjava/configure.ac.orig 2011-02-25 16:08:27.000000000 +0100 ++++ libjava/configure.ac +@@ -1011,6 +1011,11 @@ + THREADLDFLAGS=-pthread + THREADSPEC=-lpthread + ;; ++ *-*-netbsd*) ++ # NetBSD should work with pthread. ++ THREADLDFLAGS=-pthread ++ THREADSPEC=-lpthread ++ ;; + alpha*-dec-osf* | hppa*-hp-hpux*) + THREADCXXFLAGS=-pthread + # boehm-gc needs some functions from librt, so link that too. |