diff options
author | joerg <joerg> | 2013-04-30 22:24:15 +0000 |
---|---|---|
committer | joerg <joerg> | 2013-04-30 22:24:15 +0000 |
commit | 36d946a90ec00c6f18fe28df4655da3a3d03c247 (patch) | |
tree | 9a55ef242bced8094b1c36cd45a231c679939a7e | |
parent | e21f0a2fd3523110a8baea71ac70dcd8c52cf3a6 (diff) | |
download | pkgsrc-36d946a90ec00c6f18fe28df4655da3a3d03c247.tar.gz |
Deal with 16bit ctype table change in NetBSD/current.
8 files changed, 267 insertions, 14 deletions
diff --git a/lang/gcc46/distinfo b/lang/gcc46/distinfo index dc5962096a9..426362cea5a 100644 --- a/lang/gcc46/distinfo +++ b/lang/gcc46/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.12 2013/04/02 22:31:40 jmcneill Exp $ +$NetBSD: distinfo,v 1.13 2013/04/30 22:24:15 joerg Exp $ SHA1 (gcc-4.6.3.tar.bz2) = ce317ca5c8185b58bc9300182b534608c578637f RMD160 (gcc-4.6.3.tar.bz2) = 9abb2f940d08fc84f2d91b6a6ce8d662ca889269 @@ -14,4 +14,6 @@ SHA1 (patch-ak) = 377d6ab5d454f0af2709680dd656f0449228aca9 SHA1 (patch-al) = 20d16fba8c1b9e578c9df6523397e29a94409990 SHA1 (patch-gcc_config_arm_elf.h) = 28c67bb698ebe9a3aa45c4cff29f028c82cc7606 SHA1 (patch-gcc_config_arm_t-netbsd) = a1682f4f8dc7e393446f19f615737ddfc98fcb7f -SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = 10bc7a2bad0367c3e13c71606beca429029d098a +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = 7e8413cf45d49890ad7634f9276188413c8ed30a +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 830038744cbbb713ecc3f960a9509bef16176db9 +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = ce481809b051cb281772a0ad4d561241731f7556 diff --git a/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h b/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h index 4e073b5cd18..14a36d29990 100644 --- a/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h +++ b/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h @@ -1,22 +1,69 @@ -$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h,v 1.1 2012/06/08 15:42:29 joerg Exp $ +$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h,v 1.2 2013/04/30 22:24:16 joerg Exp $ --- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2011-01-30 22:39:36.000000000 +0000 +++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h -@@ -31,8 +31,6 @@ +@@ -30,8 +30,6 @@ + // 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> -- + namespace std _GLIBCXX_VISIBILITY(default) { - _GLIBCXX_BEGIN_NAMESPACE_VERSION -@@ -47,7 +45,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION +@@ -45,21 +43,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + // NB: Offsets into ctype<char>::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. ++#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; - +- -#if __NetBSD_Version__ < 599004100 -+#if !defined(_CTYPE_U) - static const mask upper = _U; - static const mask lower = _L; - static const mask alpha = _U | _L; +- static const mask upper = _U; +- static const mask lower = _L; +- static const mask alpha = _U | _L; +- static const mask digit = _N; +- static const mask xdigit = _N | _X; +- static const mask space = _S; +- static const mask print = _P | _U | _L | _N | _B; +- static const mask graph = _P | _U | _L | _N; +- static const mask cntrl = _C; +- static const mask punct = _P; +- static const mask alnum = _U | _L | _N; +-#else + static const mask upper = _CTYPE_U; + static const mask lower = _CTYPE_L; + static const mask alpha = _CTYPE_U | _CTYPE_L; +@@ -71,6 +69,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + 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; ++ static const mask alpha = _U | _L; ++ static const mask digit = _N; ++ static const mask xdigit = _N | _X; ++ static const mask space = _S; ++ static const mask print = _P | _U | _L | _N | _B; ++ static const mask graph = _P | _U | _L | _N; ++ static const mask cntrl = _C; ++ static const mask punct = _P; ++ static const mask alnum = _U | _L | _N; + #endif + }; + diff --git a/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h b/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h new file mode 100644 index 00000000000..4c306c74a52 --- /dev/null +++ b/lang/gcc46/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 2013/04/30 22:24:16 joerg Exp $ + +--- libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h.orig 2011-01-30 22:39:36.000000000 +0000 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +@@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + 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/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h b/lang/gcc46/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h new file mode 100644 index 00000000000..7b9d9a31c98 --- /dev/null +++ b/lang/gcc46/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 2013/04/30 22:24:16 joerg Exp $ + +--- libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h.orig 2011-01-03 20:52:22.000000000 +0000 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h +@@ -34,11 +34,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) +@@ -65,14 +71,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; +@@ -80,14 +86,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; diff --git a/lang/gnat-aux/distinfo b/lang/gnat-aux/distinfo index ac590ab2d36..a5bafc14b68 100644 --- a/lang/gnat-aux/distinfo +++ b/lang/gnat-aux/distinfo @@ -1,4 +1,4 @@ -$NetBSD: distinfo,v 1.10 2013/04/27 06:03:39 marino Exp $ +$NetBSD: distinfo,v 1.11 2013/04/30 22:24:16 joerg Exp $ SHA1 (gcc-ada-4.6.4.tar.bz2) = 64a18fa78262f0f0dfa6f92fb8cad75997e22b57 RMD160 (gcc-ada-4.6.4.tar.bz2) = 9e12200c1b250cb0e8841d4074ddd1726a150ad3 @@ -33,3 +33,6 @@ Size (gnat-bootstrap.x86_64.dragonfly.tar.bz2) = 31380342 bytes SHA1 (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 84f0e9179998daa643046a5d139321c4130ea84d RMD160 (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 0b2943349536c323a62b56dc05ff1fedd6d7e17a Size (gnat-bootstrap.x86_64.netbsd.tar.bz2) = 30572187 bytes +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h) = cf1327efb559ca310a131b3446da0449d8845b61 +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h) = 830038744cbbb713ecc3f960a9509bef16176db9 +SHA1 (patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h) = ce481809b051cb281772a0ad4d561241731f7556 diff --git a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h new file mode 100644 index 00000000000..9f758276185 --- /dev/null +++ b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h @@ -0,0 +1,61 @@ +$NetBSD: patch-libstdc++-v3_config_os_bsd_netbsd_ctype__base.h,v 1.1 2013/04/30 22:24:16 joerg Exp $ + +--- libstdc++-v3/config/os/bsd/netbsd/ctype_base.h.orig 2012-06-20 08:30:55.000000000 +0000 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_base.h +@@ -43,21 +43,22 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + + // 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; + +-#ifndef _CTYPE_U +- static const mask upper = _U; +- static const mask lower = _L; +- static const mask alpha = _U | _L; +- static const mask digit = _N; +- static const mask xdigit = _N | _X; +- static const mask space = _S; +- static const mask print = _P | _U | _L | _N | _B; +- static const mask graph = _P | _U | _L | _N; +- 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; +@@ -69,6 +70,19 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + 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; ++ static const mask alpha = _U | _L; ++ static const mask digit = _N; ++ static const mask xdigit = _N | _X; ++ static const mask space = _S; ++ static const mask print = _P | _U | _L | _N | _B; ++ static const mask graph = _P | _U | _L | _N; ++ static const mask cntrl = _C; ++ static const mask punct = _P; ++ static const mask alnum = _U | _L | _N; + #endif + }; + diff --git a/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__inline.h new file mode 100644 index 00000000000..4c306c74a52 --- /dev/null +++ b/lang/gnat-aux/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 2013/04/30 22:24:16 joerg Exp $ + +--- libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h.orig 2011-01-30 22:39:36.000000000 +0000 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_inline.h +@@ -48,7 +48,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION + 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/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h b/lang/gnat-aux/patches/patch-libstdc++-v3_config_os_bsd_netbsd_ctype__noninline.h new file mode 100644 index 00000000000..7b9d9a31c98 --- /dev/null +++ b/lang/gnat-aux/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 2013/04/30 22:24:16 joerg Exp $ + +--- libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h.orig 2011-01-03 20:52:22.000000000 +0000 ++++ libstdc++-v3/config/os/bsd/netbsd/ctype_noninline.h +@@ -34,11 +34,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) +@@ -65,14 +71,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; +@@ -80,14 +86,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; |