diff options
Diffstat (limited to 'toolchain')
-rw-r--r-- | toolchain/gcc/Config.in | 3 | ||||
-rw-r--r-- | toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/901-avr32-revert-broken-uclibc-stuff.patch | 42 | ||||
-rw-r--r-- | toolchain/gcc/gcc-uclibc-4.x.mk | 5 |
3 files changed, 48 insertions, 2 deletions
diff --git a/toolchain/gcc/Config.in b/toolchain/gcc/Config.in index 8783bae66..7f19d9e1c 100644 --- a/toolchain/gcc/Config.in +++ b/toolchain/gcc/Config.in @@ -32,9 +32,8 @@ choice bool "gcc 4.2.1" config BR2_GCC_VERSION_4_2_2 - depends on BR2_avr32 depends on BR2_EXT_GCC_VERSION_4_2_2 - depends on BR2_DEPRECATED + depends on BR2_DEPRECATED || BR2_avr32 bool "gcc 4.2.2" config BR2_GCC_VERSION_4_2_3 diff --git a/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/901-avr32-revert-broken-uclibc-stuff.patch b/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/901-avr32-revert-broken-uclibc-stuff.patch new file mode 100644 index 000000000..e056be0fd --- /dev/null +++ b/toolchain/gcc/ext_source/Atmel/avr32/4.2.2-avr32-1.1.3/901-avr32-revert-broken-uclibc-stuff.patch @@ -0,0 +1,42 @@ +--- a/libstdc++-v3/acinclude.m4 ++++ b/libstdc++-v3/acinclude.m4 +@@ -125,6 +125,15 @@ AC_DEFUN([GLIBCXX_CONFIGURE], [ + ## other macros from doing the same. This should be automated.) -pme + need_libmath=no + ++ # Check for uClibc since Linux platforms use different configuration ++ # directories depending on the C library in use. ++ AC_EGREP_CPP([_using_uclibc], [ ++ #include <stdio.h> ++ #if __UCLIBC__ ++ _using_uclibc ++ #endif ++ ], uclibc=yes, uclibc=no) ++ + # Find platform-specific directories containing configuration info. + # Also possibly modify flags used elsewhere, as needed by the platform. + GLIBCXX_CHECK_HOST +--- a/libstdc++-v3/config/os/gnu-linux/ctype_base.h ++++ b/libstdc++-v3/config/os/gnu-linux/ctype_base.h +@@ -31,8 +31,6 @@ + // + // ISO C++ 14882: 22.1 Locales + // +-#include <features.h> +-#include <ctype.h> + + /** @file ctype_base.h + * This is an internal header file, included by other library headers. +@@ -47,11 +45,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) + struct ctype_base + { + // Non-standard typedefs. +-#ifdef __UCLIBC__ +- typedef const __ctype_touplow_t* __to_type; +-#else +- typedef const int* __to_type; +-#endif ++ typedef const int* __to_type; + + // 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/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk index 88878a8ce..2bc25583f 100644 --- a/toolchain/gcc/gcc-uclibc-4.x.mk +++ b/toolchain/gcc/gcc-uclibc-4.x.mk @@ -529,5 +529,10 @@ gcc_target-clean: gcc_target-dirclean: rm -rf $(GCC_BUILD_DIR3) +gcc-status: + @echo GCC_OFFICIAL_VERSION=$(GCC_OFFICIAL_VERSION) + @echo GCC_PATCH_DIR=$(GCC_PATCH_DIR) + @echo GCC_SITE=$(GCC_SITE) + endif # gcc-4.x only |