summaryrefslogtreecommitdiff
path: root/toolchain
diff options
context:
space:
mode:
Diffstat (limited to 'toolchain')
-rw-r--r--toolchain/gcc/Makefile.inc12
-rw-r--r--toolchain/gcc/patches/4.8.5/cflags.patch (renamed from toolchain/gcc/patches/4.8.4/cflags.patch)0
-rw-r--r--toolchain/gcc/patches/4.8.5/disable-atomics.patch (renamed from toolchain/gcc/patches/4.8.4/disable-atomics.patch)0
-rw-r--r--toolchain/gcc/patches/4.8.5/disable-tm.patch (renamed from toolchain/gcc/patches/4.8.4/disable-tm.patch)0
-rw-r--r--toolchain/gcc/patches/4.8.5/gcc.musl (renamed from toolchain/gcc/patches/4.8.4/gcc.musl)0
-rw-r--r--toolchain/gcc/patches/4.8.5/libstdcxx-uclibc-c99.patch (renamed from toolchain/gcc/patches/4.8.4/libstdcxx-uclibc-c99.patch)0
-rw-r--r--toolchain/gcc/patches/4.8.5/uclibc-cmath.ppc (renamed from toolchain/gcc/patches/4.8.4/uclibc-cmath.ppc)0
-rw-r--r--toolchain/gcc/patches/4.9.2/libstdcxx-uclibc-c99.patch273
-rw-r--r--toolchain/gcc/patches/4.9.3/cflags.patch (renamed from toolchain/gcc/patches/4.9.2/cflags.patch)0
-rw-r--r--toolchain/gcc/patches/4.9.3/disable-atomics.patch (renamed from toolchain/gcc/patches/4.9.2/disable-atomics.patch)0
-rw-r--r--toolchain/gcc/patches/4.9.3/disable-tm.patch (renamed from toolchain/gcc/patches/4.9.2/disable-tm.patch)0
-rw-r--r--toolchain/gcc/patches/4.9.3/gcc.musl (renamed from toolchain/gcc/patches/4.9.2/gcc.musl)0
-rw-r--r--toolchain/gcc/patches/4.9.3/libstdcxx-uclibc-c99.patch237
-rw-r--r--toolchain/gcc/patches/4.9.3/microblaze.uclibc (renamed from toolchain/gcc/patches/4.9.2/microblaze.uclibc)0
-rw-r--r--toolchain/gcc/patches/4.9.3/uclibc-cmath.ppc (renamed from toolchain/gcc/patches/4.9.2/uclibc-cmath.ppc)0
15 files changed, 243 insertions, 279 deletions
diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc
index ca882b9e9..17df0c38b 100644
--- a/toolchain/gcc/Makefile.inc
+++ b/toolchain/gcc/Makefile.inc
@@ -10,17 +10,17 @@ PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
LIBSTDCXXVER:= 21
endif
-ifeq ($(ADK_TOOLCHAIN_GCC_4_9_2),y)
-PKG_VERSION:= 4.9.2
-PKG_HASH:= 3e573826ec8b0d62d47821408fbc58721cd020df3e594cd492508de487a43b5e
+ifeq ($(ADK_TOOLCHAIN_GCC_4_9_3),y)
+PKG_VERSION:= 4.9.3
+PKG_HASH:= e6c63b40877bc756cc7cfe6ca98013eb15f02ec6c8c2cf68e24533ad1203aaba
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
LIBSTDCXXVER:= 20
endif
-ifeq ($(ADK_TOOLCHAIN_GCC_4_8_4),y)
-PKG_VERSION:= 4.8.4
-PKG_HASH:= 655fe692ddd333c29c5a1418f50f63a42cdd9e9eb7ebdb7f621e33c4b8799e31
+ifeq ($(ADK_TOOLCHAIN_GCC_4_8_5),y)
+PKG_VERSION:= 4.8.5
+PKG_HASH:= 1dbc5cd94c9947fe5dffd298e569de7f44c3cedbd428fceea59490d336d8295a
PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/}
PKG_RELEASE:= 1
DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz
diff --git a/toolchain/gcc/patches/4.8.4/cflags.patch b/toolchain/gcc/patches/4.8.5/cflags.patch
index 4f9de8069..4f9de8069 100644
--- a/toolchain/gcc/patches/4.8.4/cflags.patch
+++ b/toolchain/gcc/patches/4.8.5/cflags.patch
diff --git a/toolchain/gcc/patches/4.8.4/disable-atomics.patch b/toolchain/gcc/patches/4.8.5/disable-atomics.patch
index 4ab553218..4ab553218 100644
--- a/toolchain/gcc/patches/4.8.4/disable-atomics.patch
+++ b/toolchain/gcc/patches/4.8.5/disable-atomics.patch
diff --git a/toolchain/gcc/patches/4.8.4/disable-tm.patch b/toolchain/gcc/patches/4.8.5/disable-tm.patch
index 02b5cb854..02b5cb854 100644
--- a/toolchain/gcc/patches/4.8.4/disable-tm.patch
+++ b/toolchain/gcc/patches/4.8.5/disable-tm.patch
diff --git a/toolchain/gcc/patches/4.8.4/gcc.musl b/toolchain/gcc/patches/4.8.5/gcc.musl
index 4150dfcdf..4150dfcdf 100644
--- a/toolchain/gcc/patches/4.8.4/gcc.musl
+++ b/toolchain/gcc/patches/4.8.5/gcc.musl
diff --git a/toolchain/gcc/patches/4.8.4/libstdcxx-uclibc-c99.patch b/toolchain/gcc/patches/4.8.5/libstdcxx-uclibc-c99.patch
index 792976fd5..792976fd5 100644
--- a/toolchain/gcc/patches/4.8.4/libstdcxx-uclibc-c99.patch
+++ b/toolchain/gcc/patches/4.8.5/libstdcxx-uclibc-c99.patch
diff --git a/toolchain/gcc/patches/4.8.4/uclibc-cmath.ppc b/toolchain/gcc/patches/4.8.5/uclibc-cmath.ppc
index 81bd123fc..81bd123fc 100644
--- a/toolchain/gcc/patches/4.8.4/uclibc-cmath.ppc
+++ b/toolchain/gcc/patches/4.8.5/uclibc-cmath.ppc
diff --git a/toolchain/gcc/patches/4.9.2/libstdcxx-uclibc-c99.patch b/toolchain/gcc/patches/4.9.2/libstdcxx-uclibc-c99.patch
deleted file mode 100644
index 331cdcb36..000000000
--- a/toolchain/gcc/patches/4.9.2/libstdcxx-uclibc-c99.patch
+++ /dev/null
@@ -1,273 +0,0 @@
-Allow C99-depending features of libstdc++ with uClibc
-
-The libstdc++ code is fairly restrictive on how it checks for C99
-compatibility: it requires *complete* C99 support to enable certain
-features. For example, uClibc provides a good number of C99 features,
-but not C99 complex number support. For this reason, libstdc++
-completely disables many the standard C++ methods that can in fact
-work because uClibc provides the necessary functions.
-
-This patch is similar and highly inspired from
-https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58393, but implemented in
-a way that doesn't involve changing the configure.ac script, as
-autoreconfiguring gcc is complicated. It simply relies on the fact
-that uClibc defines the __UCLIBC__ definition.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/libstdc++-v3/config/locale/generic/c_locale.h
-===================================================================
---- a/libstdc++-v3/config/locale/generic/c_locale.h
-+++ b/libstdc++-v3/config/locale/generic/c_locale.h
-@@ -70,7 +70,7 @@
- __builtin_va_list __args;
- __builtin_va_start(__args, __fmt);
-
--#ifdef _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
- #else
- const int __ret = __builtin_vsprintf(__out, __fmt, __args);
-Index: b/libstdc++-v3/config/locale/gnu/c_locale.h
-===================================================================
---- a/libstdc++-v3/config/locale/gnu/c_locale.h
-+++ b/libstdc++-v3/config/locale/gnu/c_locale.h
-@@ -88,7 +88,7 @@
- __builtin_va_list __args;
- __builtin_va_start(__args, __fmt);
-
--#ifdef _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
- #else
- const int __ret = __builtin_vsprintf(__out, __fmt, __args);
-Index: b/libstdc++-v3/include/bits/basic_string.h
-===================================================================
---- a/libstdc++-v3/include/bits/basic_string.h
-+++ b/libstdc++-v3/include/bits/basic_string.h
-@@ -2828,7 +2828,7 @@
- _GLIBCXX_END_NAMESPACE_VERSION
- } // namespace
-
--#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \
-+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)) \
- && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF))
-
- #include <ext/string_conversions.h>
-Index: b/libstdc++-v3/include/bits/locale_facets.tcc
-===================================================================
---- a/libstdc++-v3/include/bits/locale_facets.tcc
-+++ b/libstdc++-v3/include/bits/locale_facets.tcc
-@@ -987,7 +987,7 @@
- char __fbuf[16];
- __num_base::_S_format_float(__io, __fbuf, __mod);
-
--#ifdef _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- // First try a buffer perhaps big enough (most probably sufficient
- // for non-ios_base::fixed outputs)
- int __cs_size = __max_digits * 3;
-Index: b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
-===================================================================
---- a/libstdc++-v3/include/bits/locale_facets_nonio.tcc
-+++ b/libstdc++-v3/include/bits/locale_facets_nonio.tcc
-@@ -572,7 +572,7 @@
- {
- const locale __loc = __io.getloc();
- const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
--#ifdef _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- // First try a buffer perhaps big enough.
- int __cs_size = 64;
- char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
-Index: b/libstdc++-v3/include/c_compatibility/math.h
-===================================================================
---- a/libstdc++-v3/include/c_compatibility/math.h
-+++ b/libstdc++-v3/include/c_compatibility/math.h
-@@ -56,7 +56,7 @@
- using std::floor;
- using std::fmod;
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- using std::fpclassify;
- using std::isfinite;
- using std::isinf;
-Index: b/libstdc++-v3/include/c_compatibility/wchar.h
-===================================================================
---- a/libstdc++-v3/include/c_compatibility/wchar.h
-+++ b/libstdc++-v3/include/c_compatibility/wchar.h
-@@ -103,7 +103,7 @@
- using std::wmemset;
- using std::wcsftime;
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- using std::wcstold;
- using std::wcstoll;
- using std::wcstoull;
-Index: b/libstdc++-v3/include/c_global/cstdlib
-===================================================================
---- a/libstdc++-v3/include/c_global/cstdlib
-+++ b/libstdc++-v3/include/c_global/cstdlib
-@@ -182,7 +182,7 @@
- _GLIBCXX_END_NAMESPACE_VERSION
- } // namespace
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- #undef _Exit
- #undef llabs
-Index: b/libstdc++-v3/include/c_global/cwchar
-===================================================================
---- a/libstdc++-v3/include/c_global/cwchar
-+++ b/libstdc++-v3/include/c_global/cwchar
-@@ -232,7 +232,7 @@
- _GLIBCXX_END_NAMESPACE_VERSION
- } // namespace
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- #undef wcstold
- #undef wcstoll
-@@ -289,7 +289,7 @@
- using std::vwscanf;
- #endif
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- using std::wcstold;
- using std::wcstoll;
- using std::wcstoull;
-Index: b/libstdc++-v3/include/c_std/cstdio
-===================================================================
---- a/libstdc++-v3/include/c_std/cstdio
-+++ b/libstdc++-v3/include/c_std/cstdio
-@@ -144,7 +144,7 @@
- using ::vsprintf;
- } // namespace std
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- #undef snprintf
- #undef vfscanf
-Index: b/libstdc++-v3/include/c_std/cstdlib
-===================================================================
---- a/libstdc++-v3/include/c_std/cstdlib
-+++ b/libstdc++-v3/include/c_std/cstdlib
-@@ -180,7 +180,7 @@
- _GLIBCXX_END_NAMESPACE_VERSION
- } // namespace
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- #undef _Exit
- #undef llabs
-Index: b/libstdc++-v3/include/c_std/cwchar
-===================================================================
---- a/libstdc++-v3/include/c_std/cwchar
-+++ b/libstdc++-v3/include/c_std/cwchar
-@@ -228,7 +228,7 @@
- _GLIBCXX_END_NAMESPACE_VERSION
- } // namespace
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- #undef wcstold
- #undef wcstoll
-Index: b/libstdc++-v3/include/ext/vstring.h
-===================================================================
---- a/libstdc++-v3/include/ext/vstring.h
-+++ b/libstdc++-v3/include/ext/vstring.h
-@@ -2680,7 +2680,7 @@
- _GLIBCXX_END_NAMESPACE_VERSION
- } // namespace
-
--#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99))
-+#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)))
-
- #include <ext/string_conversions.h>
-
-Index: b/libstdc++-v3/include/tr1/cstdio
-===================================================================
---- a/libstdc++-v3/include/tr1/cstdio
-+++ b/libstdc++-v3/include/tr1/cstdio
-@@ -33,7 +33,7 @@
-
- #include <cstdio>
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- namespace std _GLIBCXX_VISIBILITY(default)
- {
-Index: b/libstdc++-v3/include/tr1/cstdlib
-===================================================================
---- a/libstdc++-v3/include/tr1/cstdlib
-+++ b/libstdc++-v3/include/tr1/cstdlib
-@@ -35,7 +35,7 @@
-
- #if _GLIBCXX_HOSTED
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- namespace std _GLIBCXX_VISIBILITY(default)
- {
-Index: b/libstdc++-v3/include/tr1/cwchar
-===================================================================
---- a/libstdc++-v3/include/tr1/cwchar
-+++ b/libstdc++-v3/include/tr1/cwchar
-@@ -52,7 +52,7 @@
- using std::vwscanf;
- #endif
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- using std::wcstold;
- using std::wcstoll;
- using std::wcstoull;
-Index: b/libstdc++-v3/include/tr1/stdlib.h
-===================================================================
---- a/libstdc++-v3/include/tr1/stdlib.h
-+++ b/libstdc++-v3/include/tr1/stdlib.h
-@@ -33,7 +33,7 @@
-
- #if _GLIBCXX_HOSTED
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- using std::tr1::atoll;
- using std::tr1::strtoll;
-Index: b/libstdc++-v3/src/c++11/debug.cc
-===================================================================
---- a/libstdc++-v3/src/c++11/debug.cc
-+++ b/libstdc++-v3/src/c++11/debug.cc
-@@ -788,7 +788,7 @@
- int __n __attribute__ ((__unused__)),
- const char* __fmt, _Tp __s) const throw ()
- {
--#ifdef _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
- std::snprintf(__buf, __n, __fmt, __s);
- #else
- std::sprintf(__buf, __fmt, __s);
-Index: b/libstdc++-v3/include/c_global/cstdio
-===================================================================
---- a/libstdc++-v3/include/c_global/cstdio
-+++ b/libstdc++-v3/include/c_global/cstdio
-@@ -146,7 +146,7 @@
- using ::vsprintf;
- } // namespace
-
--#if _GLIBCXX_USE_C99
-+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
-
- #undef snprintf
- #undef vfscanf
diff --git a/toolchain/gcc/patches/4.9.2/cflags.patch b/toolchain/gcc/patches/4.9.3/cflags.patch
index d4119cd39..d4119cd39 100644
--- a/toolchain/gcc/patches/4.9.2/cflags.patch
+++ b/toolchain/gcc/patches/4.9.3/cflags.patch
diff --git a/toolchain/gcc/patches/4.9.2/disable-atomics.patch b/toolchain/gcc/patches/4.9.3/disable-atomics.patch
index 4ab553218..4ab553218 100644
--- a/toolchain/gcc/patches/4.9.2/disable-atomics.patch
+++ b/toolchain/gcc/patches/4.9.3/disable-atomics.patch
diff --git a/toolchain/gcc/patches/4.9.2/disable-tm.patch b/toolchain/gcc/patches/4.9.3/disable-tm.patch
index 02b5cb854..02b5cb854 100644
--- a/toolchain/gcc/patches/4.9.2/disable-tm.patch
+++ b/toolchain/gcc/patches/4.9.3/disable-tm.patch
diff --git a/toolchain/gcc/patches/4.9.2/gcc.musl b/toolchain/gcc/patches/4.9.3/gcc.musl
index 2005cd0e9..2005cd0e9 100644
--- a/toolchain/gcc/patches/4.9.2/gcc.musl
+++ b/toolchain/gcc/patches/4.9.3/gcc.musl
diff --git a/toolchain/gcc/patches/4.9.3/libstdcxx-uclibc-c99.patch b/toolchain/gcc/patches/4.9.3/libstdcxx-uclibc-c99.patch
new file mode 100644
index 000000000..7f0241ac6
--- /dev/null
+++ b/toolchain/gcc/patches/4.9.3/libstdcxx-uclibc-c99.patch
@@ -0,0 +1,237 @@
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/config/locale/generic/c_locale.h gcc-4.9.3/libstdc++-v3/config/locale/generic/c_locale.h
+--- gcc-4.9.3.orig/libstdc++-v3/config/locale/generic/c_locale.h 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/config/locale/generic/c_locale.h 2015-06-30 05:09:31.000000000 +0200
+@@ -70,7 +70,7 @@
+ __builtin_va_list __args;
+ __builtin_va_start(__args, __fmt);
+
+-#ifdef _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
+ #else
+ const int __ret = __builtin_vsprintf(__out, __fmt, __args);
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/config/locale/gnu/c_locale.h gcc-4.9.3/libstdc++-v3/config/locale/gnu/c_locale.h
+--- gcc-4.9.3.orig/libstdc++-v3/config/locale/gnu/c_locale.h 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/config/locale/gnu/c_locale.h 2015-06-30 05:09:31.000000000 +0200
+@@ -88,7 +88,7 @@
+ __builtin_va_list __args;
+ __builtin_va_start(__args, __fmt);
+
+-#ifdef _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
+ #else
+ const int __ret = __builtin_vsprintf(__out, __fmt, __args);
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/bits/basic_string.h gcc-4.9.3/libstdc++-v3/include/bits/basic_string.h
+--- gcc-4.9.3.orig/libstdc++-v3/include/bits/basic_string.h 2015-05-28 18:27:46.000000000 +0200
++++ gcc-4.9.3/libstdc++-v3/include/bits/basic_string.h 2015-06-30 05:12:40.000000000 +0200
+@@ -2844,7 +2844,7 @@
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace
+
+-#if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99)
++#if __cplusplus >= 201103L && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__))
+
+ #include <ext/string_conversions.h>
+
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/bits/locale_facets_nonio.tcc gcc-4.9.3/libstdc++-v3/include/bits/locale_facets_nonio.tcc
+--- gcc-4.9.3.orig/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2015-06-30 05:09:32.000000000 +0200
+@@ -572,7 +572,7 @@
+ {
+ const locale __loc = __io.getloc();
+ const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
+-#ifdef _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ // First try a buffer perhaps big enough.
+ int __cs_size = 64;
+ char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/bits/locale_facets.tcc gcc-4.9.3/libstdc++-v3/include/bits/locale_facets.tcc
+--- gcc-4.9.3.orig/libstdc++-v3/include/bits/locale_facets.tcc 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/bits/locale_facets.tcc 2015-06-30 05:09:32.000000000 +0200
+@@ -987,7 +987,7 @@
+ char __fbuf[16];
+ __num_base::_S_format_float(__io, __fbuf, __mod);
+
+-#ifdef _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ // First try a buffer perhaps big enough (most probably sufficient
+ // for non-ios_base::fixed outputs)
+ int __cs_size = __max_digits * 3;
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/c_compatibility/math.h gcc-4.9.3/libstdc++-v3/include/c_compatibility/math.h
+--- gcc-4.9.3.orig/libstdc++-v3/include/c_compatibility/math.h 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/c_compatibility/math.h 2015-06-30 05:09:32.000000000 +0200
+@@ -56,7 +56,7 @@
+ using std::floor;
+ using std::fmod;
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ using std::fpclassify;
+ using std::isfinite;
+ using std::isinf;
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/c_compatibility/wchar.h gcc-4.9.3/libstdc++-v3/include/c_compatibility/wchar.h
+--- gcc-4.9.3.orig/libstdc++-v3/include/c_compatibility/wchar.h 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/c_compatibility/wchar.h 2015-06-30 05:09:32.000000000 +0200
+@@ -103,7 +103,7 @@
+ using std::wmemset;
+ using std::wcsftime;
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ using std::wcstold;
+ using std::wcstoll;
+ using std::wcstoull;
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/c_global/cstdio gcc-4.9.3/libstdc++-v3/include/c_global/cstdio
+--- gcc-4.9.3.orig/libstdc++-v3/include/c_global/cstdio 2014-01-23 22:17:15.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/c_global/cstdio 2015-06-30 05:09:32.000000000 +0200
+@@ -146,7 +146,7 @@
+ using ::vsprintf;
+ } // namespace
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ #undef snprintf
+ #undef vfscanf
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/c_global/cstdlib gcc-4.9.3/libstdc++-v3/include/c_global/cstdlib
+--- gcc-4.9.3.orig/libstdc++-v3/include/c_global/cstdlib 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/c_global/cstdlib 2015-06-30 05:09:32.000000000 +0200
+@@ -182,7 +182,7 @@
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ #undef _Exit
+ #undef llabs
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/c_global/cwchar gcc-4.9.3/libstdc++-v3/include/c_global/cwchar
+--- gcc-4.9.3.orig/libstdc++-v3/include/c_global/cwchar 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/c_global/cwchar 2015-06-30 05:09:32.000000000 +0200
+@@ -232,7 +232,7 @@
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ #undef wcstold
+ #undef wcstoll
+@@ -289,7 +289,7 @@
+ using std::vwscanf;
+ #endif
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ using std::wcstold;
+ using std::wcstoll;
+ using std::wcstoull;
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/c_std/cstdio gcc-4.9.3/libstdc++-v3/include/c_std/cstdio
+--- gcc-4.9.3.orig/libstdc++-v3/include/c_std/cstdio 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/c_std/cstdio 2015-06-30 05:09:32.000000000 +0200
+@@ -144,7 +144,7 @@
+ using ::vsprintf;
+ } // namespace std
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ #undef snprintf
+ #undef vfscanf
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/c_std/cstdlib gcc-4.9.3/libstdc++-v3/include/c_std/cstdlib
+--- gcc-4.9.3.orig/libstdc++-v3/include/c_std/cstdlib 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/c_std/cstdlib 2015-06-30 05:09:32.000000000 +0200
+@@ -180,7 +180,7 @@
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ #undef _Exit
+ #undef llabs
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/c_std/cwchar gcc-4.9.3/libstdc++-v3/include/c_std/cwchar
+--- gcc-4.9.3.orig/libstdc++-v3/include/c_std/cwchar 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/c_std/cwchar 2015-06-30 05:09:32.000000000 +0200
+@@ -228,7 +228,7 @@
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ #undef wcstold
+ #undef wcstoll
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/ext/vstring.h gcc-4.9.3/libstdc++-v3/include/ext/vstring.h
+--- gcc-4.9.3.orig/libstdc++-v3/include/ext/vstring.h 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/ext/vstring.h 2015-06-30 05:09:32.000000000 +0200
+@@ -2680,7 +2680,7 @@
+ _GLIBCXX_END_NAMESPACE_VERSION
+ } // namespace
+
+-#if ((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99))
++#if ((__cplusplus >= 201103L) && (defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)))
+
+ #include <ext/string_conversions.h>
+
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/tr1/cstdio gcc-4.9.3/libstdc++-v3/include/tr1/cstdio
+--- gcc-4.9.3.orig/libstdc++-v3/include/tr1/cstdio 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/tr1/cstdio 2015-06-30 05:09:32.000000000 +0200
+@@ -33,7 +33,7 @@
+
+ #include <cstdio>
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ namespace std _GLIBCXX_VISIBILITY(default)
+ {
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/tr1/cstdlib gcc-4.9.3/libstdc++-v3/include/tr1/cstdlib
+--- gcc-4.9.3.orig/libstdc++-v3/include/tr1/cstdlib 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/tr1/cstdlib 2015-06-30 05:09:32.000000000 +0200
+@@ -35,7 +35,7 @@
+
+ #if _GLIBCXX_HOSTED
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ namespace std _GLIBCXX_VISIBILITY(default)
+ {
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/tr1/cwchar gcc-4.9.3/libstdc++-v3/include/tr1/cwchar
+--- gcc-4.9.3.orig/libstdc++-v3/include/tr1/cwchar 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/tr1/cwchar 2015-06-30 05:09:32.000000000 +0200
+@@ -52,7 +52,7 @@
+ using std::vwscanf;
+ #endif
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ using std::wcstold;
+ using std::wcstoll;
+ using std::wcstoull;
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/include/tr1/stdlib.h gcc-4.9.3/libstdc++-v3/include/tr1/stdlib.h
+--- gcc-4.9.3.orig/libstdc++-v3/include/tr1/stdlib.h 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/include/tr1/stdlib.h 2015-06-30 05:09:32.000000000 +0200
+@@ -33,7 +33,7 @@
+
+ #if _GLIBCXX_HOSTED
+
+-#if _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+
+ using std::tr1::atoll;
+ using std::tr1::strtoll;
+diff -Nur gcc-4.9.3.orig/libstdc++-v3/src/c++11/debug.cc gcc-4.9.3/libstdc++-v3/src/c++11/debug.cc
+--- gcc-4.9.3.orig/libstdc++-v3/src/c++11/debug.cc 2014-01-02 23:30:10.000000000 +0100
++++ gcc-4.9.3/libstdc++-v3/src/c++11/debug.cc 2015-06-30 05:09:32.000000000 +0200
+@@ -788,7 +788,7 @@
+ int __n __attribute__ ((__unused__)),
+ const char* __fmt, _Tp __s) const throw ()
+ {
+-#ifdef _GLIBCXX_USE_C99
++#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
+ std::snprintf(__buf, __n, __fmt, __s);
+ #else
+ std::sprintf(__buf, __fmt, __s);
diff --git a/toolchain/gcc/patches/4.9.2/microblaze.uclibc b/toolchain/gcc/patches/4.9.3/microblaze.uclibc
index 06dfddcd7..06dfddcd7 100644
--- a/toolchain/gcc/patches/4.9.2/microblaze.uclibc
+++ b/toolchain/gcc/patches/4.9.3/microblaze.uclibc
diff --git a/toolchain/gcc/patches/4.9.2/uclibc-cmath.ppc b/toolchain/gcc/patches/4.9.3/uclibc-cmath.ppc
index 9ea5dc38f..9ea5dc38f 100644
--- a/toolchain/gcc/patches/4.9.2/uclibc-cmath.ppc
+++ b/toolchain/gcc/patches/4.9.3/uclibc-cmath.ppc