summaryrefslogtreecommitdiff
path: root/lang/gcc34
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2014-09-10 12:18:54 +0000
committerjoerg <joerg@pkgsrc.org>2014-09-10 12:18:54 +0000
commitfe028f93a87d33235b55d14c120a75a2ecc7c9d0 (patch)
treea594f00efea52bfb245121b9a6c9946c6cdeb448 /lang/gcc34
parent1aa828abab365cdf57ec9c68f2bd96872ad59056 (diff)
downloadpkgsrc-fe028f93a87d33235b55d14c120a75a2ecc7c9d0.tar.gz
Fix build on NetBSD 7+
Diffstat (limited to 'lang/gcc34')
-rw-r--r--lang/gcc34/distinfo6
-rw-r--r--lang/gcc34/patches/patch-ac40
-rw-r--r--lang/gcc34/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h13
-rw-r--r--lang/gcc34/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h57
4 files changed, 101 insertions, 15 deletions
diff --git a/lang/gcc34/distinfo b/lang/gcc34/distinfo
index f763eae454e..05049a09070 100644
--- a/lang/gcc34/distinfo
+++ b/lang/gcc34/distinfo
@@ -1,11 +1,11 @@
-$NetBSD: distinfo,v 1.25 2014/07/02 22:10:40 asau Exp $
+$NetBSD: distinfo,v 1.26 2014/09/10 12:18:54 joerg Exp $
SHA1 (gcc-3.4.6.tar.bz2) = 97b290fdc572c8e490b3b39f243e69bacad23c2b
RMD160 (gcc-3.4.6.tar.bz2) = b15003368cedc7964f6ceaee0c39ddc43a46c442
Size (gcc-3.4.6.tar.bz2) = 28193401 bytes
SHA1 (patch-aa) = 40ba26c4af81ecc0effce3b7ac3c74bdfe4b56a6
SHA1 (patch-ab) = 53fa4226d3ee30a2d165aa1ef8f64e0da03cadd4
-SHA1 (patch-ac) = 3366f3f779771a9b0aad013ce23a257f11d9ae70
+SHA1 (patch-ac) = 83ffa3ecd0938e435aa19437f8d4cf855c43825e
SHA1 (patch-ae) = 928fa6155e614ca85b02359cf893d6c62231b192
SHA1 (patch-af) = cdd6b0d13c557996cb6582d7fa5dc651d37ee0ee
SHA1 (patch-ag) = beee5294d387faafa640ab048823499da629e715
@@ -23,3 +23,5 @@ SHA1 (patch-cc) = 0af9845a62f9a6f8ec27657d0ae0c16394e9fc12
SHA1 (patch-cd) = a22078951e1369900fcb58a281c75b3a86edd3ea
SHA1 (patch-gcc_config_freebsd-spec.h) = 447c789c1162c4f7e6a132a630a6f6b360026b0e
SHA1 (patch-gcc_config_sol2.h) = 2c701850bc752e73b2b8c1eb46f123c5c6fa1d93
+SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = cb1aff0b78e46c62c9e419b8db75527c3bcfb7ae
+SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = 42260bd6dfbd67cef270258d96b0dd914291ac0e
diff --git a/lang/gcc34/patches/patch-ac b/lang/gcc34/patches/patch-ac
index 779478f8d54..ee9b1b42847 100644
--- a/lang/gcc34/patches/patch-ac
+++ b/lang/gcc34/patches/patch-ac
@@ -1,20 +1,26 @@
-$NetBSD: patch-ac,v 1.3 2012/06/08 15:42:28 joerg Exp $
+$NetBSD: patch-ac,v 1.4 2014/09/10 12:18:54 joerg Exp $
---- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2002-06-24 07:50:58.000000000 +0200
+--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2002-06-24 05:50:58.000000000 +0000
+++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h
-@@ -44,6 +44,7 @@
+@@ -43,6 +43,33 @@
+
// 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 !defined(_CTYPE_U)
- static const mask upper = _U;
- static const mask lower = _L;
- static const mask alpha = _U | _L;
-@@ -55,4 +56,17 @@
- static const mask cntrl = _C;
- static const mask punct = _P;
- static const mask alnum = _U | _L | _N;
-+#else
++#if defined(_CTYPE_BL)
++ typedef unsigned short mask;
++ static const mask upper = _CTYPE_U;
++ static const mask lower = _CTYPE_L;
++ static const mask alpha = _CTYPE_A;
++ static const mask digit = _CTYPE_D;
++ static const mask xdigit = _CTYPE_X;
++ static const mask space = _CTYPE_S;
++ static const mask print = _CTYPE_R;
++ static const mask graph = _CTYPE_G;
++ static const mask cntrl = _CTYPE_C;
++ static const mask punct = _CTYPE_P;
++ static const mask alnum = _CTYPE_A | _CTYPE_D;
++#elif defined(_CTYPE_U)
++ typedef unsigned char mask;
+ static const mask upper = _CTYPE_U;
+ static const mask lower = _CTYPE_L;
+ static const mask alpha = _CTYPE_U | _CTYPE_L;
@@ -26,5 +32,13 @@ $NetBSD: patch-ac,v 1.3 2012/06/08 15:42:28 joerg Exp $
+ static const mask cntrl = _CTYPE_C;
+ static const mask punct = _CTYPE_P;
+ static const mask alnum = _CTYPE_U | _CTYPE_L | _CTYPE_N;
++#else
+ typedef unsigned char mask;
+ static const mask upper = _U;
+ static const mask lower = _L;
+@@ -55,4 +82,5 @@
+ static const mask cntrl = _C;
+ static const mask punct = _P;
+ static const mask alnum = _U | _L | _N;
+#endif
};
diff --git a/lang/gcc34/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h b/lang/gcc34/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h
new file mode 100644
index 00000000000..5d59cc2296e
--- /dev/null
+++ b/lang/gcc34/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h
@@ -0,0 +1,13 @@
+$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h,v 1.1 2014/09/10 12:18:54 joerg Exp $
+
+--- libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h.orig 2002-06-24 05:50:58.000000000 +0000
++++ libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h
+@@ -44,7 +44,7 @@
+ is(const char* __low, const char* __high, mask* __vec) const
+ {
+ while (__low < __high)
+- *__vec++ = _M_table[*__low++];
++ *__vec++ = _M_table[(unsigned char)*__low++];
+ return __high;
+ }
+
diff --git a/lang/gcc34/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h b/lang/gcc34/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h
new file mode 100644
index 00000000000..19a0206c44f
--- /dev/null
+++ b/lang/gcc34/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h
@@ -0,0 +1,57 @@
+$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h,v 1.1 2014/09/10 12:18:54 joerg Exp $
+
+--- libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h.orig 2003-12-16 01:57:03.000000000 +0000
++++ libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h
+@@ -33,11 +33,17 @@
+
+ // Information as gleaned from /usr/include/ctype.h
+
++#ifndef _CTYPE_BL
+ extern "C" const u_int8_t _C_ctype_[];
++#endif
+
+ const ctype_base::mask*
+ ctype<char>::classic_table() throw()
+- { return _C_ctype_ + 1; }
++#ifdef _CTYPE_BL
++ { return _C_ctype_tab_ + 1; }
++#else
++ { return _C_ctype_ + 1; }
++#endif
+
+ ctype<char>::ctype(__c_locale, const mask* __table, bool __del,
+ size_t __refs)
+@@ -64,14 +70,14 @@
+
+ char
+ ctype<char>::do_toupper(char __c) const
+- { return ::toupper((int) __c); }
++ { return ::toupper((int)(unsigned char) __c); }
+
+ const char*
+ ctype<char>::do_toupper(char* __low, const char* __high) const
+ {
+ while (__low < __high)
+ {
+- *__low = ::toupper((int) *__low);
++ *__low = ::toupper((int)(unsigned char) *__low);
+ ++__low;
+ }
+ return __high;
+@@ -79,14 +85,14 @@
+
+ char
+ ctype<char>::do_tolower(char __c) const
+- { return ::tolower((int) __c); }
++ { return ::tolower((int)(unsigned char) __c); }
+
+ const char*
+ ctype<char>::do_tolower(char* __low, const char* __high) const
+ {
+ while (__low < __high)
+ {
+- *__low = ::tolower((int) *__low);
++ *__low = ::tolower((int)(unsigned char) *__low);
+ ++__low;
+ }
+ return __high;