* [PATCH 0/3] misc fixups
@ 2010-07-15 15:25 Bernhard Reutner-Fischer
2010-07-15 15:25 ` [PATCH 1/3] minimal: commentary typo fix Bernhard Reutner-Fischer
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Bernhard Reutner-Fischer @ 2010-07-15 15:25 UTC (permalink / raw)
To: openembedded-devel
Hi,
The last patch (gcc-cross) asks for comments if and how the package
version number should be improved or look like.
Please apply the rest as-is (omit that PV-touching hunk if in doubt).
thanks,
Bernhard Reutner-Fischer (3):
minimal: commentary typo fix
micro: get PREFERRED_BINUTILS from sane-toolchain
gcc-cross: fix PV and make it compile
conf/distro/micro.conf | 1 -
conf/distro/minimal-uclibc.conf | 2 +-
recipes/gcc/gcc-svn.inc | 8 +-
recipes/gcc/gcc-svn/gcc-flags-for-build.patch | 26 --
.../gcc-uclibc-locale-ctype_touplow_t.patch | 99 +++++---
.../powerpc32-c++-pch-long-double-128.patch | 255 ++++++++++++++++++++
6 files changed, 323 insertions(+), 68 deletions(-)
create mode 100644 recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch
^ permalink raw reply [flat|nested] 14+ messages in thread* [PATCH 1/3] minimal: commentary typo fix 2010-07-15 15:25 [PATCH 0/3] misc fixups Bernhard Reutner-Fischer @ 2010-07-15 15:25 ` Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 2/3] micro: get PREFERRED_BINUTILS from sane-toolchain Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 3/3] gcc-cross: fix PV and make it compile Bernhard Reutner-Fischer 2 siblings, 0 replies; 14+ messages in thread From: Bernhard Reutner-Fischer @ 2010-07-15 15:25 UTC (permalink / raw) To: openembedded-devel Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> --- conf/distro/minimal-uclibc.conf | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/conf/distro/minimal-uclibc.conf b/conf/distro/minimal-uclibc.conf index 44805cf..3347811 100644 --- a/conf/distro/minimal-uclibc.conf +++ b/conf/distro/minimal-uclibc.conf @@ -42,5 +42,5 @@ DISTRO_FEATURES += "eabi" DISTRO_FEATURES += "pam" # large file support is needed for libsndfile DISTRO_FEATURES += "largefile" -# glib-2.0 nneds ipv6 and there is no knob to control it +# glib-2.0 needs ipv6 and there is no knob to control it DISTRO_FEATURES += "ipv4 ipv6" -- 1.7.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/3] micro: get PREFERRED_BINUTILS from sane-toolchain 2010-07-15 15:25 [PATCH 0/3] misc fixups Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 1/3] minimal: commentary typo fix Bernhard Reutner-Fischer @ 2010-07-15 15:25 ` Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 3/3] gcc-cross: fix PV and make it compile Bernhard Reutner-Fischer 2 siblings, 0 replies; 14+ messages in thread From: Bernhard Reutner-Fischer @ 2010-07-15 15:25 UTC (permalink / raw) To: openembedded-devel Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> --- conf/distro/micro.conf | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/conf/distro/micro.conf b/conf/distro/micro.conf index 9885425..3334692 100644 --- a/conf/distro/micro.conf +++ b/conf/distro/micro.conf @@ -61,7 +61,6 @@ MACHINE_KERNEL_VERSION = "2.6" # TOOLCHAIN ############################################################################# LIBC ?= "eglibc" -PREFERRED_BINUTILS = "2.19.51" PREFERRED_VERSION_glibc ?= "2.10.1" PREFERRED_VERSION_glibc-initial ?= "2.10.1" PREFERRED_ARM_INSTRUCTION_SET ?= "thumb" -- 1.7.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 3/3] gcc-cross: fix PV and make it compile 2010-07-15 15:25 [PATCH 0/3] misc fixups Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 1/3] minimal: commentary typo fix Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 2/3] micro: get PREFERRED_BINUTILS from sane-toolchain Bernhard Reutner-Fischer @ 2010-07-15 15:25 ` Bernhard Reutner-Fischer 2010-07-15 15:48 ` Phil Blundell 2 siblings, 1 reply; 14+ messages in thread From: Bernhard Reutner-Fischer @ 2010-07-15 15:25 UTC (permalink / raw) To: openembedded-devel - using PREFERRED_GCC_VERSION = "svn" didn't work since gcc-svn.inc messed with PV TODO: tweak package version string? now "...svn-r04.6+svnr162209" could be made neater, perhaps - disable libstdcxx-pch for ppc pch1a_output would need to be compiled with -mlong-double-128 to avoid libstdc++-v3/include/precompiled/stdc++.h -o \ powerpc-oe-linux-uclibc/bits/stdc++.h.gch/O2g.gch [snip] libstdc++-v3/include/tr1_impl/cmath:153:11: error: '::acoshl' has not been declared install proper guards and furthermore disable libstdcxx-pch for now Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> --- recipes/gcc/gcc-svn.inc | 8 +- recipes/gcc/gcc-svn/gcc-flags-for-build.patch | 26 -- .../gcc-uclibc-locale-ctype_touplow_t.patch | 99 +++++--- .../powerpc32-c++-pch-long-double-128.patch | 255 ++++++++++++++++++++ 4 files changed, 322 insertions(+), 66 deletions(-) create mode 100644 recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch diff --git a/recipes/gcc/gcc-svn.inc b/recipes/gcc/gcc-svn.inc index 2e24d63..28307d2 100644 --- a/recipes/gcc/gcc-svn.inc +++ b/recipes/gcc/gcc-svn.inc @@ -1,7 +1,7 @@ DEFAULT_PREFERENCE = "-999" ARM_INSTRUCTION_SET = "arm" -SRCREV = "158653" +SRCREV = "162223" require gcc-common.inc @@ -9,7 +9,7 @@ DEPENDS = "mpfr gmp libmpc" NATIVEDEPS = "mpfr-native gmp-native libmpc-native" BINV = "4.6.0" -PV = "4.6+svnr${SRCPV}" +PR_append = "4.6+svnr${SRCPV}" FILESPATHPKG .= ":gcc-svn" @@ -19,6 +19,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc;module=trunk \ file://gcc-uclibc-locale-ctype_touplow_t.patch \ file://cache-amnesia.patch \ file://gcc-flags-for-build.patch \ + file://powerpc32-c++-pch-long-double-128.patch \ " # Language Overrides @@ -42,3 +43,6 @@ do_unpack_append() { EXTRA_OECONF_append_linux-uclibc = " --disable-decimal-float " EXTRA_OECONF_append_linux-uclibceabi = " --disable-decimal-float " EXTRA_OECONF_append_linux-uclibcspe = " --disable-decimal-float " +# powerpc32 would need to build libstdc++-v3/include/cmath with -mlong-double-128 +# just disable PCH for ppc +EXTRA_OECONF_append_powerpc-linux-uclibc = " --disable-libstdcxx-pch " diff --git a/recipes/gcc/gcc-svn/gcc-flags-for-build.patch b/recipes/gcc/gcc-svn/gcc-flags-for-build.patch index 98b3ecf..0a0da9a 100644 --- a/recipes/gcc/gcc-svn/gcc-flags-for-build.patch +++ b/recipes/gcc/gcc-svn/gcc-flags-for-build.patch @@ -98,24 +98,6 @@ Index: gcc-4.5+svnr155680/gcc/configure fi # Expand extra_headers to include complete path. -@@ -17037,7 +17040,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17040 "configure" -+#line 17043 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -17143,7 +17146,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17146 "configure" -+#line 17149 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H Index: gcc-4.5+svnr155680/Makefile.tpl =================================================================== --- gcc-4.5+svnr155680.orig/Makefile.tpl 2010-01-13 01:02:22.603540396 -0800 @@ -148,14 +130,6 @@ Index: gcc-4.5+svnr155680/configure CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} fi -@@ -7940,6 +7942,7 @@ done - - - -+ - # Generate default definitions for YACC, M4, LEX and other programs that run - # on the build machine. These are used if the Makefile can't locate these - # programs in objdir. Index: gcc-4.5+svnr155680/configure.ac =================================================================== --- gcc-4.5+svnr155680.orig/configure.ac 2010-01-13 01:02:22.651540130 -0800 diff --git a/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch b/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch index ffb37d2..9cae744 100644 --- a/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch +++ b/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch @@ -1,52 +1,75 @@ -Index: gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h -=================================================================== ---- gcc-4.4.1.orig/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:38:32.398265633 -0700 -+++ gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:41:09.778242281 -0700 -@@ -41,12 +41,17 @@ - - #include <clocale> - #include <cstddef> -+#include <features.h> -+#include <ctype.h> - +diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h +index 7d685b8..4f69857 100644 +--- a/libstdc++-v3/config/locale/generic/c_locale.h ++++ b/libstdc++-v3/config/locale/generic/c_locale.h +@@ -44,8 +44,11 @@ #define _GLIBCXX_NUM_CATEGORIES 0 _GLIBCXX_BEGIN_NAMESPACE(std) - -- typedef int* __c_locale; -+#ifdef __UCLIBC__ -+ typedef __ctype_touplow_t* __c_locale; -+#else -+ typedef int* __c_locale; -+#endif ++#ifdef __UCLIBC__ ++ typedef __ctype_touplow_t* __c_locale; ++#else + typedef int* __c_locale; ++#endif // Convert numeric value of type double and long double to string and // return length of string. If vsnprintf is available use it, otherwise -Index: gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h -=================================================================== ---- gcc-4.4.1.orig/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:42:27.402242608 -0700 -+++ gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:43:44.842241959 -0700 -@@ -33,14 +33,21 @@ - */ - - // Information as gleaned from /usr/include/ctype.h -- -+ -+#include <features.h> -+#include <ctype.h> -+ - _GLIBCXX_BEGIN_NAMESPACE(std) - - /// @brief Base class for ctype. +diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h +index ff1f157..e88f569 100644 +--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h ++++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h +@@ -40,7 +40,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) struct ctype_base { // Non-standard typedefs. -- typedef const int* __to_type; -+#ifdef __UCLIBC__ -+ typedef const __ctype_touplow_t* __to_type; -+#else -+ typedef const int* __to_type; ++#ifdef __UCLIBC__ ++ typedef const __ctype_touplow_t* __to_type; ++#else + typedef const int* __to_type; +#endif // NB: Offsets into ctype<char>::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. +diff --git a/libstdc++-v3/include/c/clocale b/libstdc++-v3/include/c/clocale +index 7ea60f0..619f128 100644 +--- a/libstdc++-v3/include/c/clocale ++++ b/libstdc++-v3/include/c/clocale +@@ -32,5 +32,8 @@ + #pragma GCC system_header + + #include_next <locale.h> ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif + + #endif +diff --git a/libstdc++-v3/include/c_global/clocale b/libstdc++-v3/include/c_global/clocale +index 7cf42e2..cd9b37a 100644 +--- a/libstdc++-v3/include/c_global/clocale ++++ b/libstdc++-v3/include/c_global/clocale +@@ -42,6 +42,9 @@ + + #include <bits/c++config.h> + #include <locale.h> ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif + + #ifndef _GLIBCXX_CLOCALE + #define _GLIBCXX_CLOCALE 1 +diff --git a/libstdc++-v3/include/c_std/clocale b/libstdc++-v3/include/c_std/clocale +index 36d8bd7..7905d5d 100644 +--- a/libstdc++-v3/include/c_std/clocale ++++ b/libstdc++-v3/include/c_std/clocale +@@ -45,6 +45,10 @@ + #include <bits/c++config.h> + #include <locale.h> + ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif ++ + // Get rid of those macros defined in <locale.h> in lieu of real functions. + #undef setlocale + #undef localeconv diff --git a/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch b/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch new file mode 100644 index 0000000..d20e3d0 --- /dev/null +++ b/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch @@ -0,0 +1,255 @@ +on powerpc32 cmath has to be compiled with -mlong-double-128 + +diff --git a/libstdc++-v3/include/tr1_impl/cmath b/libstdc++-v3/include/tr1_impl/cmath +index 5807380..f395a0d 100644 +--- a/libstdc++-v3/include/tr1_impl/cmath ++++ b/libstdc++-v3/include/tr1_impl/cmath +@@ -150,143 +150,213 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 + // functions + using ::acosh; + using ::acoshf; +- using ::acoshl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::acoshl; ++#endif + + using ::asinh; + using ::asinhf; +- using ::asinhl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::asinhl; ++#endif + + using ::atanh; + using ::atanhf; +- using ::atanhl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::atanhl; ++#endif + + using ::cbrt; + using ::cbrtf; +- using ::cbrtl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::cbrtl; ++#endif + + using ::copysign; + using ::copysignf; +- using ::copysignl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::copysignl; ++#endif + + using ::erf; + using ::erff; +- using ::erfl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::erfl; ++#endif + + using ::erfc; + using ::erfcf; +- using ::erfcl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::erfcl; ++#endif + + using ::exp2; + using ::exp2f; +- using ::exp2l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::exp2l; ++#endif + + using ::expm1; + using ::expm1f; +- using ::expm1l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::expm1l; ++#endif + + using ::fdim; + using ::fdimf; +- using ::fdiml; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fdiml; ++#endif + + using ::fma; + using ::fmaf; +- using ::fmal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fmal; ++#endif + + using ::fmax; + using ::fmaxf; +- using ::fmaxl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fmaxl; ++#endif + + using ::fmin; + using ::fminf; +- using ::fminl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fminl; ++#endif + + using ::hypot; + using ::hypotf; +- using ::hypotl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::hypotl; ++#endif + + using ::ilogb; + using ::ilogbf; +- using ::ilogbl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::ilogbl; ++#endif + + using ::lgamma; + using ::lgammaf; +- using ::lgammal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lgammal; ++#endif + + using ::llrint; + using ::llrintf; +- using ::llrintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::llrintl; ++#endif + + using ::llround; + using ::llroundf; +- using ::llroundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::llroundl; ++#endif + + using ::log1p; + using ::log1pf; +- using ::log1pl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::log1pl; ++#endif + + using ::log2; + using ::log2f; +- using ::log2l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::log2l; ++#endif + + using ::logb; + using ::logbf; +- using ::logbl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::logbl; ++#endif + + using ::lrint; + using ::lrintf; +- using ::lrintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lrintl; ++#endif + + using ::lround; + using ::lroundf; +- using ::lroundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lroundl; ++#endif + + using ::nan; + using ::nanf; +- using ::nanl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nanl; ++#endif + + using ::nearbyint; + using ::nearbyintf; +- using ::nearbyintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nearbyintl; ++#endif + + using ::nextafter; + using ::nextafterf; +- using ::nextafterl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nextafterl; ++#endif + + using ::nexttoward; + using ::nexttowardf; +- using ::nexttowardl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nexttowardl; ++#endif + + using ::remainder; + using ::remainderf; +- using ::remainderl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::remainderl; ++#endif + + using ::remquo; + using ::remquof; +- using ::remquol; ++#ifdef __LONG_DOUBLE_128__ ++ using ::remquol; ++#endif + + using ::rint; + using ::rintf; +- using ::rintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::rintl; ++#endif + + using ::round; + using ::roundf; +- using ::roundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::roundl; ++#endif + + using ::scalbln; + using ::scalblnf; +- using ::scalblnl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::scalblnl; ++#endif + + using ::scalbn; + using ::scalbnf; +- using ::scalbnl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::scalbnl; ++#endif + + using ::tgamma; + using ::tgammaf; +- using ::tgammal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::tgammal; ++#endif + + using ::trunc; + using ::truncf; +- using ::truncl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::truncl; ++#endif + + #endif + -- 1.7.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] gcc-cross: fix PV and make it compile 2010-07-15 15:25 ` [PATCH 3/3] gcc-cross: fix PV and make it compile Bernhard Reutner-Fischer @ 2010-07-15 15:48 ` Phil Blundell 2010-07-15 15:54 ` Martin Jansa 2010-07-16 21:32 ` [PATCH][v2] " Bernhard Reutner-Fischer 0 siblings, 2 replies; 14+ messages in thread From: Phil Blundell @ 2010-07-15 15:48 UTC (permalink / raw) To: openembedded-devel On Thu, 2010-07-15 at 17:25 +0200, Bernhard Reutner-Fischer wrote: > -PV = "4.6+svnr${SRCPV}" > +PR_append = "4.6+svnr${SRCPV}" Munging PR like this is fairly ugly. You might consider bashing PKGV instead. p. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 3/3] gcc-cross: fix PV and make it compile 2010-07-15 15:48 ` Phil Blundell @ 2010-07-15 15:54 ` Martin Jansa 2010-07-16 21:32 ` [PATCH][v2] " Bernhard Reutner-Fischer 1 sibling, 0 replies; 14+ messages in thread From: Martin Jansa @ 2010-07-15 15:54 UTC (permalink / raw) To: openembedded-devel On Thu, Jul 15, 2010 at 04:48:04PM +0100, Phil Blundell wrote: > On Thu, 2010-07-15 at 17:25 +0200, Bernhard Reutner-Fischer wrote: > > -PV = "4.6+svnr${SRCPV}" > > +PR_append = "4.6+svnr${SRCPV}" > > Munging PR like this is fairly ugly. You might consider bashing PKGV > instead. PREFERRED_GCC_VERSION = "4.6+svnr%' should also work with bitbake-1.10 and newer Regards, -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH][v2] gcc-cross: fix PV and make it compile 2010-07-15 15:48 ` Phil Blundell 2010-07-15 15:54 ` Martin Jansa @ 2010-07-16 21:32 ` Bernhard Reutner-Fischer 2010-07-16 21:39 ` Bernhard Reutner-Fischer 1 sibling, 1 reply; 14+ messages in thread From: Bernhard Reutner-Fischer @ 2010-07-16 21:32 UTC (permalink / raw) To: openembedded-devel - using PREFERRED_GCC_VERSION = "svn" didn't work since gcc-svn.inc messed with PV - disable libstdcxx-pch for ppc pch1a_output would need to be compiled with -mlong-double-128 to avoid libstdc++-v3/include/precompiled/stdc++.h -o \ powerpc-oe-linux-uclibc/bits/stdc++.h.gch/O2g.gch [snip] libstdc++-v3/include/tr1_impl/cmath:153:11: error: '::acoshl' has not been declared install proper guards and furthermore disable libstdcxx-pch for now Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> --- recipes/gcc/gcc-svn.inc | 10 +- recipes/gcc/gcc-svn/gcc-flags-for-build.patch | 26 -- .../gcc-uclibc-locale-ctype_touplow_t.patch | 99 +++++--- .../powerpc32-c++-pch-long-double-128.patch | 255 ++++++++++++++++++++ 4 files changed, 323 insertions(+), 67 deletions(-) create mode 100644 recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch diff --git a/recipes/gcc/gcc-svn.inc b/recipes/gcc/gcc-svn.inc index 2e24d63..40b46d6 100644 --- a/recipes/gcc/gcc-svn.inc +++ b/recipes/gcc/gcc-svn.inc @@ -1,7 +1,7 @@ DEFAULT_PREFERENCE = "-999" ARM_INSTRUCTION_SET = "arm" -SRCREV = "158653" +SRCREV = "162223" require gcc-common.inc @@ -9,9 +9,9 @@ DEPENDS = "mpfr gmp libmpc" NATIVEDEPS = "mpfr-native gmp-native libmpc-native" BINV = "4.6.0" -PV = "4.6+svnr${SRCPV}" +PKGV = "4.6+svnr${SRCPV}" -FILESPATHPKG .= ":gcc-svn" +FILESPATHPKG .= ":gcc-${PV}" SRC_URI = "svn://gcc.gnu.org/svn/gcc;module=trunk \ file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ @@ -19,6 +19,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc;module=trunk \ file://gcc-uclibc-locale-ctype_touplow_t.patch \ file://cache-amnesia.patch \ file://gcc-flags-for-build.patch \ + file://powerpc32-c++-pch-long-double-128.patch \ " # Language Overrides @@ -42,3 +43,6 @@ do_unpack_append() { EXTRA_OECONF_append_linux-uclibc = " --disable-decimal-float " EXTRA_OECONF_append_linux-uclibceabi = " --disable-decimal-float " EXTRA_OECONF_append_linux-uclibcspe = " --disable-decimal-float " +# powerpc32 would need to build libstdc++-v3/include/cmath with -mlong-double-128 +# just disable PCH for ppc +EXTRA_OECONF_append_powerpc-linux-uclibc = " --disable-libstdcxx-pch " diff --git a/recipes/gcc/gcc-svn/gcc-flags-for-build.patch b/recipes/gcc/gcc-svn/gcc-flags-for-build.patch index 98b3ecf..0a0da9a 100644 --- a/recipes/gcc/gcc-svn/gcc-flags-for-build.patch +++ b/recipes/gcc/gcc-svn/gcc-flags-for-build.patch @@ -98,24 +98,6 @@ Index: gcc-4.5+svnr155680/gcc/configure fi # Expand extra_headers to include complete path. -@@ -17037,7 +17040,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17040 "configure" -+#line 17043 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -17143,7 +17146,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17146 "configure" -+#line 17149 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H Index: gcc-4.5+svnr155680/Makefile.tpl =================================================================== --- gcc-4.5+svnr155680.orig/Makefile.tpl 2010-01-13 01:02:22.603540396 -0800 @@ -148,14 +130,6 @@ Index: gcc-4.5+svnr155680/configure CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} fi -@@ -7940,6 +7942,7 @@ done - - - -+ - # Generate default definitions for YACC, M4, LEX and other programs that run - # on the build machine. These are used if the Makefile can't locate these - # programs in objdir. Index: gcc-4.5+svnr155680/configure.ac =================================================================== --- gcc-4.5+svnr155680.orig/configure.ac 2010-01-13 01:02:22.651540130 -0800 diff --git a/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch b/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch index ffb37d2..9cae744 100644 --- a/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch +++ b/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch @@ -1,52 +1,75 @@ -Index: gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h -=================================================================== ---- gcc-4.4.1.orig/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:38:32.398265633 -0700 -+++ gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:41:09.778242281 -0700 -@@ -41,12 +41,17 @@ - - #include <clocale> - #include <cstddef> -+#include <features.h> -+#include <ctype.h> - +diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h +index 7d685b8..4f69857 100644 +--- a/libstdc++-v3/config/locale/generic/c_locale.h ++++ b/libstdc++-v3/config/locale/generic/c_locale.h +@@ -44,8 +44,11 @@ #define _GLIBCXX_NUM_CATEGORIES 0 _GLIBCXX_BEGIN_NAMESPACE(std) - -- typedef int* __c_locale; -+#ifdef __UCLIBC__ -+ typedef __ctype_touplow_t* __c_locale; -+#else -+ typedef int* __c_locale; -+#endif ++#ifdef __UCLIBC__ ++ typedef __ctype_touplow_t* __c_locale; ++#else + typedef int* __c_locale; ++#endif // Convert numeric value of type double and long double to string and // return length of string. If vsnprintf is available use it, otherwise -Index: gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h -=================================================================== ---- gcc-4.4.1.orig/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:42:27.402242608 -0700 -+++ gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:43:44.842241959 -0700 -@@ -33,14 +33,21 @@ - */ - - // Information as gleaned from /usr/include/ctype.h -- -+ -+#include <features.h> -+#include <ctype.h> -+ - _GLIBCXX_BEGIN_NAMESPACE(std) - - /// @brief Base class for ctype. +diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h +index ff1f157..e88f569 100644 +--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h ++++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h +@@ -40,7 +40,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) struct ctype_base { // Non-standard typedefs. -- typedef const int* __to_type; -+#ifdef __UCLIBC__ -+ typedef const __ctype_touplow_t* __to_type; -+#else -+ typedef const int* __to_type; ++#ifdef __UCLIBC__ ++ typedef const __ctype_touplow_t* __to_type; ++#else + typedef const int* __to_type; +#endif // NB: Offsets into ctype<char>::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. +diff --git a/libstdc++-v3/include/c/clocale b/libstdc++-v3/include/c/clocale +index 7ea60f0..619f128 100644 +--- a/libstdc++-v3/include/c/clocale ++++ b/libstdc++-v3/include/c/clocale +@@ -32,5 +32,8 @@ + #pragma GCC system_header + + #include_next <locale.h> ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif + + #endif +diff --git a/libstdc++-v3/include/c_global/clocale b/libstdc++-v3/include/c_global/clocale +index 7cf42e2..cd9b37a 100644 +--- a/libstdc++-v3/include/c_global/clocale ++++ b/libstdc++-v3/include/c_global/clocale +@@ -42,6 +42,9 @@ + + #include <bits/c++config.h> + #include <locale.h> ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif + + #ifndef _GLIBCXX_CLOCALE + #define _GLIBCXX_CLOCALE 1 +diff --git a/libstdc++-v3/include/c_std/clocale b/libstdc++-v3/include/c_std/clocale +index 36d8bd7..7905d5d 100644 +--- a/libstdc++-v3/include/c_std/clocale ++++ b/libstdc++-v3/include/c_std/clocale +@@ -45,6 +45,10 @@ + #include <bits/c++config.h> + #include <locale.h> + ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif ++ + // Get rid of those macros defined in <locale.h> in lieu of real functions. + #undef setlocale + #undef localeconv diff --git a/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch b/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch new file mode 100644 index 0000000..d20e3d0 --- /dev/null +++ b/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch @@ -0,0 +1,255 @@ +on powerpc32 cmath has to be compiled with -mlong-double-128 + +diff --git a/libstdc++-v3/include/tr1_impl/cmath b/libstdc++-v3/include/tr1_impl/cmath +index 5807380..f395a0d 100644 +--- a/libstdc++-v3/include/tr1_impl/cmath ++++ b/libstdc++-v3/include/tr1_impl/cmath +@@ -150,143 +150,213 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 + // functions + using ::acosh; + using ::acoshf; +- using ::acoshl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::acoshl; ++#endif + + using ::asinh; + using ::asinhf; +- using ::asinhl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::asinhl; ++#endif + + using ::atanh; + using ::atanhf; +- using ::atanhl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::atanhl; ++#endif + + using ::cbrt; + using ::cbrtf; +- using ::cbrtl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::cbrtl; ++#endif + + using ::copysign; + using ::copysignf; +- using ::copysignl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::copysignl; ++#endif + + using ::erf; + using ::erff; +- using ::erfl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::erfl; ++#endif + + using ::erfc; + using ::erfcf; +- using ::erfcl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::erfcl; ++#endif + + using ::exp2; + using ::exp2f; +- using ::exp2l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::exp2l; ++#endif + + using ::expm1; + using ::expm1f; +- using ::expm1l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::expm1l; ++#endif + + using ::fdim; + using ::fdimf; +- using ::fdiml; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fdiml; ++#endif + + using ::fma; + using ::fmaf; +- using ::fmal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fmal; ++#endif + + using ::fmax; + using ::fmaxf; +- using ::fmaxl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fmaxl; ++#endif + + using ::fmin; + using ::fminf; +- using ::fminl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fminl; ++#endif + + using ::hypot; + using ::hypotf; +- using ::hypotl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::hypotl; ++#endif + + using ::ilogb; + using ::ilogbf; +- using ::ilogbl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::ilogbl; ++#endif + + using ::lgamma; + using ::lgammaf; +- using ::lgammal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lgammal; ++#endif + + using ::llrint; + using ::llrintf; +- using ::llrintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::llrintl; ++#endif + + using ::llround; + using ::llroundf; +- using ::llroundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::llroundl; ++#endif + + using ::log1p; + using ::log1pf; +- using ::log1pl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::log1pl; ++#endif + + using ::log2; + using ::log2f; +- using ::log2l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::log2l; ++#endif + + using ::logb; + using ::logbf; +- using ::logbl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::logbl; ++#endif + + using ::lrint; + using ::lrintf; +- using ::lrintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lrintl; ++#endif + + using ::lround; + using ::lroundf; +- using ::lroundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lroundl; ++#endif + + using ::nan; + using ::nanf; +- using ::nanl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nanl; ++#endif + + using ::nearbyint; + using ::nearbyintf; +- using ::nearbyintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nearbyintl; ++#endif + + using ::nextafter; + using ::nextafterf; +- using ::nextafterl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nextafterl; ++#endif + + using ::nexttoward; + using ::nexttowardf; +- using ::nexttowardl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nexttowardl; ++#endif + + using ::remainder; + using ::remainderf; +- using ::remainderl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::remainderl; ++#endif + + using ::remquo; + using ::remquof; +- using ::remquol; ++#ifdef __LONG_DOUBLE_128__ ++ using ::remquol; ++#endif + + using ::rint; + using ::rintf; +- using ::rintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::rintl; ++#endif + + using ::round; + using ::roundf; +- using ::roundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::roundl; ++#endif + + using ::scalbln; + using ::scalblnf; +- using ::scalblnl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::scalblnl; ++#endif + + using ::scalbn; + using ::scalbnf; +- using ::scalbnl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::scalbnl; ++#endif + + using ::tgamma; + using ::tgammaf; +- using ::tgammal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::tgammal; ++#endif + + using ::trunc; + using ::truncf; +- using ::truncl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::truncl; ++#endif + + #endif + -- 1.7.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH][v2] gcc-cross: fix PV and make it compile 2010-07-16 21:32 ` [PATCH][v2] " Bernhard Reutner-Fischer @ 2010-07-16 21:39 ` Bernhard Reutner-Fischer 2010-07-28 17:14 ` [PATCH][v3] " Bernhard Reutner-Fischer 0 siblings, 1 reply; 14+ messages in thread From: Bernhard Reutner-Fischer @ 2010-07-16 21:39 UTC (permalink / raw) To: openembedded-devel On Fri, Jul 16, 2010 at 11:32:14PM +0200, Bernhard Reutner-Fischer wrote: >index 2e24d63..40b46d6 100644 >--- a/recipes/gcc/gcc-svn.inc >+++ b/recipes/gcc/gcc-svn.inc >@@ -1,7 +1,7 @@ > DEFAULT_PREFERENCE = "-999" > ARM_INSTRUCTION_SET = "arm" > >-SRCREV = "158653" >+SRCREV = "162223" > > require gcc-common.inc > >@@ -9,9 +9,9 @@ DEPENDS = "mpfr gmp libmpc" > NATIVEDEPS = "mpfr-native gmp-native libmpc-native" > > BINV = "4.6.0" >-PV = "4.6+svnr${SRCPV}" >+PKGV = "4.6+svnr${SRCPV}" > >-FILESPATHPKG .= ":gcc-svn" >+FILESPATHPKG .= ":gcc-${PV}" If i don't munge PR then i will not rebuild if the revision changes. With above we'll always end up with (e.g.) gcc-cross-svn-r0 which is rather inconvenient, no? ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH][v3] gcc-cross: fix PV and make it compile 2010-07-16 21:39 ` Bernhard Reutner-Fischer @ 2010-07-28 17:14 ` Bernhard Reutner-Fischer 2010-07-28 17:16 ` Koen Kooi 0 siblings, 1 reply; 14+ messages in thread From: Bernhard Reutner-Fischer @ 2010-07-28 17:14 UTC (permalink / raw) To: Phil Blundell; +Cc: openembedded-devel - using PREFERRED_GCC_VERSION = "svn" didn't work since gcc-svn.inc messed with PV - disable libstdcxx-pch for ppc pch1a_output would need to be compiled with -mlong-double-128 to avoid libstdc++-v3/include/precompiled/stdc++.h -o \ powerpc-oe-linux-uclibc/bits/stdc++.h.gch/O2g.gch [snip] libstdc++-v3/include/tr1_impl/cmath:153:11: error: '::acoshl' has not been declared install proper guards and furthermore disable libstdcxx-pch for now Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> --- recipes/gcc/gcc-svn.inc | 10 +- recipes/gcc/gcc-svn/gcc-flags-for-build.patch | 26 -- .../gcc-uclibc-locale-ctype_touplow_t.patch | 99 +++++--- .../powerpc32-c++-pch-long-double-128.patch | 255 ++++++++++++++++++++ 4 files changed, 323 insertions(+), 67 deletions(-) create mode 100644 recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch diff --git a/recipes/gcc/gcc-svn.inc b/recipes/gcc/gcc-svn.inc index 2e24d63..233cd04 100644 --- a/recipes/gcc/gcc-svn.inc +++ b/recipes/gcc/gcc-svn.inc @@ -1,7 +1,7 @@ DEFAULT_PREFERENCE = "-999" ARM_INSTRUCTION_SET = "arm" -SRCREV = "158653" +SRCREV = "162560" require gcc-common.inc @@ -9,9 +9,9 @@ DEPENDS = "mpfr gmp libmpc" NATIVEDEPS = "mpfr-native gmp-native libmpc-native" BINV = "4.6.0" -PV = "4.6+svnr${SRCPV}" +PR = "4.6+svnr${SRCPV}" -FILESPATHPKG .= ":gcc-svn" +FILESPATHPKG .= ":gcc-${PV}" SRC_URI = "svn://gcc.gnu.org/svn/gcc;module=trunk \ file://gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \ @@ -19,6 +19,7 @@ SRC_URI = "svn://gcc.gnu.org/svn/gcc;module=trunk \ file://gcc-uclibc-locale-ctype_touplow_t.patch \ file://cache-amnesia.patch \ file://gcc-flags-for-build.patch \ + file://powerpc32-c++-pch-long-double-128.patch \ " # Language Overrides @@ -42,3 +43,6 @@ do_unpack_append() { EXTRA_OECONF_append_linux-uclibc = " --disable-decimal-float " EXTRA_OECONF_append_linux-uclibceabi = " --disable-decimal-float " EXTRA_OECONF_append_linux-uclibcspe = " --disable-decimal-float " +# powerpc32 would need to build libstdc++-v3/include/cmath with -mlong-double-128 +# just disable PCH for ppc +EXTRA_OECONF_append_powerpc-linux-uclibc = " --disable-libstdcxx-pch " diff --git a/recipes/gcc/gcc-svn/gcc-flags-for-build.patch b/recipes/gcc/gcc-svn/gcc-flags-for-build.patch index 98b3ecf..0a0da9a 100644 --- a/recipes/gcc/gcc-svn/gcc-flags-for-build.patch +++ b/recipes/gcc/gcc-svn/gcc-flags-for-build.patch @@ -98,24 +98,6 @@ Index: gcc-4.5+svnr155680/gcc/configure fi # Expand extra_headers to include complete path. -@@ -17037,7 +17040,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17040 "configure" -+#line 17043 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H -@@ -17143,7 +17146,7 @@ else - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 - lt_status=$lt_dlunknown - cat > conftest.$ac_ext <<_LT_EOF --#line 17146 "configure" -+#line 17149 "configure" - #include "confdefs.h" - - #if HAVE_DLFCN_H Index: gcc-4.5+svnr155680/Makefile.tpl =================================================================== --- gcc-4.5+svnr155680.orig/Makefile.tpl 2010-01-13 01:02:22.603540396 -0800 @@ -148,14 +130,6 @@ Index: gcc-4.5+svnr155680/configure CXXFLAGS_FOR_BUILD=${CXXFLAGS_FOR_BUILD-${CXXFLAGS}} LDFLAGS_FOR_BUILD=${LDFLAGS_FOR_BUILD-${LDFLAGS}} fi -@@ -7940,6 +7942,7 @@ done - - - -+ - # Generate default definitions for YACC, M4, LEX and other programs that run - # on the build machine. These are used if the Makefile can't locate these - # programs in objdir. Index: gcc-4.5+svnr155680/configure.ac =================================================================== --- gcc-4.5+svnr155680.orig/configure.ac 2010-01-13 01:02:22.651540130 -0800 diff --git a/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch b/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch index ffb37d2..9cae744 100644 --- a/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch +++ b/recipes/gcc/gcc-svn/gcc-uclibc-locale-ctype_touplow_t.patch @@ -1,52 +1,75 @@ -Index: gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h -=================================================================== ---- gcc-4.4.1.orig/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:38:32.398265633 -0700 -+++ gcc-4.4.1/libstdc++-v3/config/locale/generic/c_locale.h 2009-08-06 23:41:09.778242281 -0700 -@@ -41,12 +41,17 @@ - - #include <clocale> - #include <cstddef> -+#include <features.h> -+#include <ctype.h> - +diff --git a/libstdc++-v3/config/locale/generic/c_locale.h b/libstdc++-v3/config/locale/generic/c_locale.h +index 7d685b8..4f69857 100644 +--- a/libstdc++-v3/config/locale/generic/c_locale.h ++++ b/libstdc++-v3/config/locale/generic/c_locale.h +@@ -44,8 +44,11 @@ #define _GLIBCXX_NUM_CATEGORIES 0 _GLIBCXX_BEGIN_NAMESPACE(std) - -- typedef int* __c_locale; -+#ifdef __UCLIBC__ -+ typedef __ctype_touplow_t* __c_locale; -+#else -+ typedef int* __c_locale; -+#endif ++#ifdef __UCLIBC__ ++ typedef __ctype_touplow_t* __c_locale; ++#else + typedef int* __c_locale; ++#endif // Convert numeric value of type double and long double to string and // return length of string. If vsnprintf is available use it, otherwise -Index: gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h -=================================================================== ---- gcc-4.4.1.orig/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:42:27.402242608 -0700 -+++ gcc-4.4.1/libstdc++-v3/config/os/gnu-linux/ctype_base.h 2009-08-06 23:43:44.842241959 -0700 -@@ -33,14 +33,21 @@ - */ - - // Information as gleaned from /usr/include/ctype.h -- -+ -+#include <features.h> -+#include <ctype.h> -+ - _GLIBCXX_BEGIN_NAMESPACE(std) - - /// @brief Base class for ctype. +diff --git a/libstdc++-v3/config/os/gnu-linux/ctype_base.h b/libstdc++-v3/config/os/gnu-linux/ctype_base.h +index ff1f157..e88f569 100644 +--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h ++++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h +@@ -40,7 +40,11 @@ _GLIBCXX_BEGIN_NAMESPACE(std) struct ctype_base { // Non-standard typedefs. -- typedef const int* __to_type; -+#ifdef __UCLIBC__ -+ typedef const __ctype_touplow_t* __to_type; -+#else -+ typedef const int* __to_type; ++#ifdef __UCLIBC__ ++ typedef const __ctype_touplow_t* __to_type; ++#else + typedef const int* __to_type; +#endif // NB: Offsets into ctype<char>::_M_table force a particular size // on the mask type. Because of this, we don't use an enum. +diff --git a/libstdc++-v3/include/c/clocale b/libstdc++-v3/include/c/clocale +index 7ea60f0..619f128 100644 +--- a/libstdc++-v3/include/c/clocale ++++ b/libstdc++-v3/include/c/clocale +@@ -32,5 +32,8 @@ + #pragma GCC system_header + + #include_next <locale.h> ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif + + #endif +diff --git a/libstdc++-v3/include/c_global/clocale b/libstdc++-v3/include/c_global/clocale +index 7cf42e2..cd9b37a 100644 +--- a/libstdc++-v3/include/c_global/clocale ++++ b/libstdc++-v3/include/c_global/clocale +@@ -42,6 +42,9 @@ + + #include <bits/c++config.h> + #include <locale.h> ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif + + #ifndef _GLIBCXX_CLOCALE + #define _GLIBCXX_CLOCALE 1 +diff --git a/libstdc++-v3/include/c_std/clocale b/libstdc++-v3/include/c_std/clocale +index 36d8bd7..7905d5d 100644 +--- a/libstdc++-v3/include/c_std/clocale ++++ b/libstdc++-v3/include/c_std/clocale +@@ -45,6 +45,10 @@ + #include <bits/c++config.h> + #include <locale.h> + ++#ifdef __UCLIBC__ ++#include <ctype.h> ++#endif ++ + // Get rid of those macros defined in <locale.h> in lieu of real functions. + #undef setlocale + #undef localeconv diff --git a/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch b/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch new file mode 100644 index 0000000..d20e3d0 --- /dev/null +++ b/recipes/gcc/gcc-svn/powerpc32-c++-pch-long-double-128.patch @@ -0,0 +1,255 @@ +on powerpc32 cmath has to be compiled with -mlong-double-128 + +diff --git a/libstdc++-v3/include/tr1_impl/cmath b/libstdc++-v3/include/tr1_impl/cmath +index 5807380..f395a0d 100644 +--- a/libstdc++-v3/include/tr1_impl/cmath ++++ b/libstdc++-v3/include/tr1_impl/cmath +@@ -150,143 +150,213 @@ _GLIBCXX_BEGIN_NAMESPACE_TR1 + // functions + using ::acosh; + using ::acoshf; +- using ::acoshl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::acoshl; ++#endif + + using ::asinh; + using ::asinhf; +- using ::asinhl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::asinhl; ++#endif + + using ::atanh; + using ::atanhf; +- using ::atanhl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::atanhl; ++#endif + + using ::cbrt; + using ::cbrtf; +- using ::cbrtl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::cbrtl; ++#endif + + using ::copysign; + using ::copysignf; +- using ::copysignl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::copysignl; ++#endif + + using ::erf; + using ::erff; +- using ::erfl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::erfl; ++#endif + + using ::erfc; + using ::erfcf; +- using ::erfcl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::erfcl; ++#endif + + using ::exp2; + using ::exp2f; +- using ::exp2l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::exp2l; ++#endif + + using ::expm1; + using ::expm1f; +- using ::expm1l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::expm1l; ++#endif + + using ::fdim; + using ::fdimf; +- using ::fdiml; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fdiml; ++#endif + + using ::fma; + using ::fmaf; +- using ::fmal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fmal; ++#endif + + using ::fmax; + using ::fmaxf; +- using ::fmaxl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fmaxl; ++#endif + + using ::fmin; + using ::fminf; +- using ::fminl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::fminl; ++#endif + + using ::hypot; + using ::hypotf; +- using ::hypotl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::hypotl; ++#endif + + using ::ilogb; + using ::ilogbf; +- using ::ilogbl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::ilogbl; ++#endif + + using ::lgamma; + using ::lgammaf; +- using ::lgammal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lgammal; ++#endif + + using ::llrint; + using ::llrintf; +- using ::llrintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::llrintl; ++#endif + + using ::llround; + using ::llroundf; +- using ::llroundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::llroundl; ++#endif + + using ::log1p; + using ::log1pf; +- using ::log1pl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::log1pl; ++#endif + + using ::log2; + using ::log2f; +- using ::log2l; ++#ifdef __LONG_DOUBLE_128__ ++ using ::log2l; ++#endif + + using ::logb; + using ::logbf; +- using ::logbl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::logbl; ++#endif + + using ::lrint; + using ::lrintf; +- using ::lrintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lrintl; ++#endif + + using ::lround; + using ::lroundf; +- using ::lroundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::lroundl; ++#endif + + using ::nan; + using ::nanf; +- using ::nanl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nanl; ++#endif + + using ::nearbyint; + using ::nearbyintf; +- using ::nearbyintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nearbyintl; ++#endif + + using ::nextafter; + using ::nextafterf; +- using ::nextafterl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nextafterl; ++#endif + + using ::nexttoward; + using ::nexttowardf; +- using ::nexttowardl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::nexttowardl; ++#endif + + using ::remainder; + using ::remainderf; +- using ::remainderl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::remainderl; ++#endif + + using ::remquo; + using ::remquof; +- using ::remquol; ++#ifdef __LONG_DOUBLE_128__ ++ using ::remquol; ++#endif + + using ::rint; + using ::rintf; +- using ::rintl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::rintl; ++#endif + + using ::round; + using ::roundf; +- using ::roundl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::roundl; ++#endif + + using ::scalbln; + using ::scalblnf; +- using ::scalblnl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::scalblnl; ++#endif + + using ::scalbn; + using ::scalbnf; +- using ::scalbnl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::scalbnl; ++#endif + + using ::tgamma; + using ::tgammaf; +- using ::tgammal; ++#ifdef __LONG_DOUBLE_128__ ++ using ::tgammal; ++#endif + + using ::trunc; + using ::truncf; +- using ::truncl; ++#ifdef __LONG_DOUBLE_128__ ++ using ::truncl; ++#endif + + #endif + -- 1.7.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH][v3] gcc-cross: fix PV and make it compile 2010-07-28 17:14 ` [PATCH][v3] " Bernhard Reutner-Fischer @ 2010-07-28 17:16 ` Koen Kooi 2010-07-28 17:39 ` Bernhard Reutner-Fischer 0 siblings, 1 reply; 14+ messages in thread From: Koen Kooi @ 2010-07-28 17:16 UTC (permalink / raw) To: openembedded-devel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 28-07-10 19:14, Bernhard Reutner-Fischer wrote: > -PV = "4.6+svnr${SRCPV}" > +PR = "4.6+svnr${SRCPV}" NAK, PV = "4.6+svnr${SRCPV}" is the right thing to do -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQFMUGXVMkyGM64RGpERAvafAJ9g8mmWheRTk+uh1OL4k0kVSp6tNQCcDYQL taWSWi0X3fXIEbe6x/A8XFI= =GLUK -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH][v3] gcc-cross: fix PV and make it compile 2010-07-28 17:16 ` Koen Kooi @ 2010-07-28 17:39 ` Bernhard Reutner-Fischer 2010-07-28 19:37 ` Koen Kooi 0 siblings, 1 reply; 14+ messages in thread From: Bernhard Reutner-Fischer @ 2010-07-28 17:39 UTC (permalink / raw) To: openembedded-devel On Wed, Jul 28, 2010 at 07:16:05PM +0200, Koen Kooi wrote: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > >On 28-07-10 19:14, Bernhard Reutner-Fischer wrote: > >> -PV = "4.6+svnr${SRCPV}" >> +PR = "4.6+svnr${SRCPV}" > >NAK, PV = "4.6+svnr${SRCPV}" is the right thing to do ok what should i do then? I want to use the svn version of gcc regardless of it being called "1.2.3-svn" or "5.0.0-svn" so i put this into my local.conf: #PREFERRED_GCC_VERSION = "4.4.4" PREFERRED_GCC_VERSION = "svn" But that obviously doesn't work with a PV of "4.6+svnr${SRCPV}" like current git has. I made up that "svn" intuitively, with the following reasoning: i'm using the subversion version (_version_, hence PV) with an arbitrary revision as Package Release that will sort correctly iff a 4.6.0 release would be made. Now how am i supposed to pick "svn" if not by using "svn"? thanks for clarification, ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH][v3] gcc-cross: fix PV and make it compile 2010-07-28 17:39 ` Bernhard Reutner-Fischer @ 2010-07-28 19:37 ` Koen Kooi 2010-07-28 19:59 ` Bernhard Reutner-Fischer 0 siblings, 1 reply; 14+ messages in thread From: Koen Kooi @ 2010-07-28 19:37 UTC (permalink / raw) To: openembedded-devel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-July/021641.html On 28-07-10 19:39, Bernhard Reutner-Fischer wrote: > On Wed, Jul 28, 2010 at 07:16:05PM +0200, Koen Kooi wrote: >> -----BEGIN PGP SIGNED MESSAGE----- >> Hash: SHA1 >> >> On 28-07-10 19:14, Bernhard Reutner-Fischer wrote: >> >>> -PV = "4.6+svnr${SRCPV}" >>> +PR = "4.6+svnr${SRCPV}" >> >> NAK, PV = "4.6+svnr${SRCPV}" is the right thing to do > > ok what should i do then? > I want to use the svn version of gcc regardless of it being called > "1.2.3-svn" or "5.0.0-svn" so i put this into my local.conf: > > #PREFERRED_GCC_VERSION = "4.4.4" > PREFERRED_GCC_VERSION = "svn" > > But that obviously doesn't work with a PV of "4.6+svnr${SRCPV}" like > current git has. > I made up that "svn" intuitively, with the following reasoning: > i'm using the subversion version (_version_, hence PV) > with an arbitrary revision as Package Release that will sort correctly > iff a 4.6.0 release would be made. > > Now how am i supposed to pick "svn" if not by using "svn"? > > thanks for clarification, -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQFMUIbfMkyGM64RGpERAoPYAJ9rxqMp47aGQnPjE6R7GTIMx7CQpgCgmuIa 7su2ka+K0cQBaopKy11SRtk= =1Jf8 -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH][v3] gcc-cross: fix PV and make it compile 2010-07-28 19:37 ` Koen Kooi @ 2010-07-28 19:59 ` Bernhard Reutner-Fischer 2010-07-29 6:18 ` Frans Meulenbroeks 0 siblings, 1 reply; 14+ messages in thread From: Bernhard Reutner-Fischer @ 2010-07-28 19:59 UTC (permalink / raw) To: openembedded-devel On Wed, Jul 28, 2010 at 09:37:03PM +0200, Koen Kooi wrote: >-----BEGIN PGP SIGNED MESSAGE----- >Hash: SHA1 > > >http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-July/021641.html this is rather ugly and counter intuitive for i'll have to change the PREFERRED_GCC_VERSION whenever someone decides to change that "4.6+svnr", but ok, i'll drop the PR hunk :( thanks, >On 28-07-10 19:39, Bernhard Reutner-Fischer wrote: >> On Wed, Jul 28, 2010 at 07:16:05PM +0200, Koen Kooi wrote: >>> -----BEGIN PGP SIGNED MESSAGE----- >>> Hash: SHA1 >>> >>> On 28-07-10 19:14, Bernhard Reutner-Fischer wrote: >>> >>>> -PV = "4.6+svnr${SRCPV}" >>>> +PR = "4.6+svnr${SRCPV}" >>> >>> NAK, PV = "4.6+svnr${SRCPV}" is the right thing to do >> >> ok what should i do then? >> I want to use the svn version of gcc regardless of it being called >> "1.2.3-svn" or "5.0.0-svn" so i put this into my local.conf: >> >> #PREFERRED_GCC_VERSION = "4.4.4" >> PREFERRED_GCC_VERSION = "svn" >> >> But that obviously doesn't work with a PV of "4.6+svnr${SRCPV}" like >> current git has. >> I made up that "svn" intuitively, with the following reasoning: >> i'm using the subversion version (_version_, hence PV) >> with an arbitrary revision as Package Release that will sort correctly >> iff a 4.6.0 release would be made. >> >> Now how am i supposed to pick "svn" if not by using "svn"? >> >> thanks for clarification, > >-----BEGIN PGP SIGNATURE----- >Version: GnuPG v1.4.5 (Darwin) > >iD8DBQFMUIbfMkyGM64RGpERAoPYAJ9rxqMp47aGQnPjE6R7GTIMx7CQpgCgmuIa >7su2ka+K0cQBaopKy11SRtk= >=1Jf8 >-----END PGP SIGNATURE----- > > >_______________________________________________ >Openembedded-devel mailing list >Openembedded-devel@lists.openembedded.org >http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH][v3] gcc-cross: fix PV and make it compile 2010-07-28 19:59 ` Bernhard Reutner-Fischer @ 2010-07-29 6:18 ` Frans Meulenbroeks 0 siblings, 0 replies; 14+ messages in thread From: Frans Meulenbroeks @ 2010-07-29 6:18 UTC (permalink / raw) To: openembedded-devel 2010/7/28 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> > On Wed, Jul 28, 2010 at 09:37:03PM +0200, Koen Kooi wrote: > >-----BEGIN PGP SIGNED MESSAGE----- > >Hash: SHA1 > > > > > > > http://lists.linuxtogo.org/pipermail/openembedded-devel/2010-July/021641.html > > this is rather ugly and counter intuitive for i'll have to change the > PREFERRED_GCC_VERSION whenever someone decides to change that "4.6+svnr", > but ok, i'll drop the PR hunk :( > thanks, > Alternate suggestion: do it the way you want to do it and store the recipe in a local overlay You might also be able to use amend.inc. Have fun! Frans > > >On 28-07-10 19:39, Bernhard Reutner-Fischer wrote: > >> On Wed, Jul 28, 2010 at 07:16:05PM +0200, Koen Kooi wrote: > >>> -----BEGIN PGP SIGNED MESSAGE----- > >>> Hash: SHA1 > >>> > >>> On 28-07-10 19:14, Bernhard Reutner-Fischer wrote: > >>> > >>>> -PV = "4.6+svnr${SRCPV}" > >>>> +PR = "4.6+svnr${SRCPV}" > >>> > >>> NAK, PV = "4.6+svnr${SRCPV}" is the right thing to do > >> > >> ok what should i do then? > >> I want to use the svn version of gcc regardless of it being called > >> "1.2.3-svn" or "5.0.0-svn" so i put this into my local.conf: > >> > >> #PREFERRED_GCC_VERSION = "4.4.4" > >> PREFERRED_GCC_VERSION = "svn" > >> > >> But that obviously doesn't work with a PV of "4.6+svnr${SRCPV}" like > >> current git has. > >> I made up that "svn" intuitively, with the following reasoning: > >> i'm using the subversion version (_version_, hence PV) > >> with an arbitrary revision as Package Release that will sort correctly > >> iff a 4.6.0 release would be made. > >> > >> Now how am i supposed to pick "svn" if not by using "svn"? > >> > >> thanks for clarification, > > > >-----BEGIN PGP SIGNATURE----- > >Version: GnuPG v1.4.5 (Darwin) > > > >iD8DBQFMUIbfMkyGM64RGpERAoPYAJ9rxqMp47aGQnPjE6R7GTIMx7CQpgCgmuIa > >7su2ka+K0cQBaopKy11SRtk= > >=1Jf8 > >-----END PGP SIGNATURE----- > > > > > >_______________________________________________ > >Openembedded-devel mailing list > >Openembedded-devel@lists.openembedded.org > >http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2010-07-29 6:19 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-07-15 15:25 [PATCH 0/3] misc fixups Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 1/3] minimal: commentary typo fix Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 2/3] micro: get PREFERRED_BINUTILS from sane-toolchain Bernhard Reutner-Fischer 2010-07-15 15:25 ` [PATCH 3/3] gcc-cross: fix PV and make it compile Bernhard Reutner-Fischer 2010-07-15 15:48 ` Phil Blundell 2010-07-15 15:54 ` Martin Jansa 2010-07-16 21:32 ` [PATCH][v2] " Bernhard Reutner-Fischer 2010-07-16 21:39 ` Bernhard Reutner-Fischer 2010-07-28 17:14 ` [PATCH][v3] " Bernhard Reutner-Fischer 2010-07-28 17:16 ` Koen Kooi 2010-07-28 17:39 ` Bernhard Reutner-Fischer 2010-07-28 19:37 ` Koen Kooi 2010-07-28 19:59 ` Bernhard Reutner-Fischer 2010-07-29 6:18 ` Frans Meulenbroeks
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.