mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-29 14:16:31 +00:00
gcc: bump 4.9 series to 4.9.4
Two patches are removed, as they have been upstreamed: - 130-fix_build_with_gcc-6.patch (svn commit 233721, Git commit 8c3fa311caa86f61b4e28d1563d1110b44340fb2) - 920-libgcc-remove-unistd-header.patch (svn commit 226092, Git commit e940d7953f06af11d09229a29ecbcc1ba25b378d) All other patches have simply been refreshed, with no manual edit needed. A build+runtime test has been done with an ARM, Cortex-A8, EABIhf, musl configuration, booted under Qemu. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
3b2e656b5f
commit
50c02bd72b
@ -1,153 +0,0 @@
|
|||||||
From 1e5f1089dec3af328fd03125d6778f666d0bd4e4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: edlinger <edlinger@138bc75d-0d04-0410-961f-82ee72b054a4>
|
|
||||||
Date: Thu, 25 Feb 2016 15:33:50 +0000
|
|
||||||
Subject: [PATCH 1/1] 2016-02-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
|
||||||
|
|
||||||
Backported from mainline
|
|
||||||
2016-02-19 Jakub Jelinek <jakub@redhat.com>
|
|
||||||
Bernd Edlinger <bernd.edlinger@hotmail.de>
|
|
||||||
|
|
||||||
* Make-lang.in: Invoke gperf with -L C++.
|
|
||||||
* cfns.gperf: Remove prototypes for hash and libc_name_p
|
|
||||||
inlines.
|
|
||||||
* cfns.h: Regenerated.
|
|
||||||
* except.c (nothrow_libfn_p): Adjust.
|
|
||||||
|
|
||||||
|
|
||||||
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-5-branch@233720 138bc75d-0d04-0410-961f-82ee72b054a4
|
|
||||||
|
|
||||||
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
|
|
||||||
---
|
|
||||||
gcc/cp/Make-lang.in | 2 +-
|
|
||||||
gcc/cp/cfns.gperf | 10 ++--------
|
|
||||||
gcc/cp/cfns.h | 41 ++++++++++++++---------------------------
|
|
||||||
gcc/cp/except.c | 3 ++-
|
|
||||||
5 files changed, 31 insertions(+), 37 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gcc/cp/Make-lang.in b/gcc/cp/Make-lang.in
|
|
||||||
index e98beb1..b09fb02 100644
|
|
||||||
--- a/gcc/cp/Make-lang.in
|
|
||||||
+++ b/gcc/cp/Make-lang.in
|
|
||||||
@@ -111,7 +111,7 @@ else
|
|
||||||
# deleting the $(srcdir)/cp/cfns.h file.
|
|
||||||
$(srcdir)/cp/cfns.h:
|
|
||||||
endif
|
|
||||||
- gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L ANSI-C \
|
|
||||||
+ gperf -o -C -E -k '1-6,$$' -j1 -D -N 'libc_name_p' -L C++ \
|
|
||||||
$(srcdir)/cp/cfns.gperf --output-file $(srcdir)/cp/cfns.h
|
|
||||||
|
|
||||||
#
|
|
||||||
diff --git a/gcc/cp/cfns.gperf b/gcc/cp/cfns.gperf
|
|
||||||
index 68acd3d..214ecf6 100644
|
|
||||||
--- a/gcc/cp/cfns.gperf
|
|
||||||
+++ b/gcc/cp/cfns.gperf
|
|
||||||
@@ -1,3 +1,5 @@
|
|
||||||
+%language=C++
|
|
||||||
+%define class-name libc_name
|
|
||||||
%{
|
|
||||||
/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
@@ -16,14 +18,6 @@ for more details.
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
-#ifdef __GNUC__
|
|
||||||
-__inline
|
|
||||||
-#endif
|
|
||||||
-static unsigned int hash (const char *, unsigned int);
|
|
||||||
-#ifdef __GNUC__
|
|
||||||
-__inline
|
|
||||||
-#endif
|
|
||||||
-const char * libc_name_p (const char *, unsigned int);
|
|
||||||
%}
|
|
||||||
%%
|
|
||||||
# The standard C library functions, for feeding to gperf; the result is used
|
|
||||||
diff --git a/gcc/cp/cfns.h b/gcc/cp/cfns.h
|
|
||||||
index 1c6665d..596f413 100644
|
|
||||||
--- a/gcc/cp/cfns.h
|
|
||||||
+++ b/gcc/cp/cfns.h
|
|
||||||
@@ -1,5 +1,5 @@
|
|
||||||
-/* ANSI-C code produced by gperf version 3.0.3 */
|
|
||||||
-/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L ANSI-C cfns.gperf */
|
|
||||||
+/* C++ code produced by gperf version 3.0.4 */
|
|
||||||
+/* Command-line: gperf -o -C -E -k '1-6,$' -j1 -D -N libc_name_p -L C++ --output-file cfns.h cfns.gperf */
|
|
||||||
|
|
||||||
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
|
|
||||||
&& ('%' == 37) && ('&' == 38) && ('\'' == 39) && ('(' == 40) \
|
|
||||||
@@ -28,7 +28,7 @@
|
|
||||||
#error "gperf generated tables don't work with this execution character set. Please report a bug to <bug-gnu-gperf@gnu.org>."
|
|
||||||
#endif
|
|
||||||
|
|
||||||
-#line 1 "cfns.gperf"
|
|
||||||
+#line 3 "cfns.gperf"
|
|
||||||
|
|
||||||
/* Copyright (C) 2000-2015 Free Software Foundation, Inc.
|
|
||||||
|
|
||||||
@@ -47,25 +47,18 @@ for more details.
|
|
||||||
You should have received a copy of the GNU General Public License
|
|
||||||
along with GCC; see the file COPYING3. If not see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
-#ifdef __GNUC__
|
|
||||||
-__inline
|
|
||||||
-#endif
|
|
||||||
-static unsigned int hash (const char *, unsigned int);
|
|
||||||
-#ifdef __GNUC__
|
|
||||||
-__inline
|
|
||||||
-#endif
|
|
||||||
-const char * libc_name_p (const char *, unsigned int);
|
|
||||||
/* maximum key range = 391, duplicates = 0 */
|
|
||||||
|
|
||||||
-#ifdef __GNUC__
|
|
||||||
-__inline
|
|
||||||
-#else
|
|
||||||
-#ifdef __cplusplus
|
|
||||||
-inline
|
|
||||||
-#endif
|
|
||||||
-#endif
|
|
||||||
-static unsigned int
|
|
||||||
-hash (register const char *str, register unsigned int len)
|
|
||||||
+class libc_name
|
|
||||||
+{
|
|
||||||
+private:
|
|
||||||
+ static inline unsigned int hash (const char *str, unsigned int len);
|
|
||||||
+public:
|
|
||||||
+ static const char *libc_name_p (const char *str, unsigned int len);
|
|
||||||
+};
|
|
||||||
+
|
|
||||||
+inline unsigned int
|
|
||||||
+libc_name::hash (register const char *str, register unsigned int len)
|
|
||||||
{
|
|
||||||
static const unsigned short asso_values[] =
|
|
||||||
{
|
|
||||||
@@ -122,14 +115,8 @@ hash (register const char *str, register unsigned int len)
|
|
||||||
return hval + asso_values[(unsigned char)str[len - 1]];
|
|
||||||
}
|
|
||||||
|
|
||||||
-#ifdef __GNUC__
|
|
||||||
-__inline
|
|
||||||
-#ifdef __GNUC_STDC_INLINE__
|
|
||||||
-__attribute__ ((__gnu_inline__))
|
|
||||||
-#endif
|
|
||||||
-#endif
|
|
||||||
const char *
|
|
||||||
-libc_name_p (register const char *str, register unsigned int len)
|
|
||||||
+libc_name::libc_name_p (register const char *str, register unsigned int len)
|
|
||||||
{
|
|
||||||
enum
|
|
||||||
{
|
|
||||||
diff --git a/gcc/cp/except.c b/gcc/cp/except.c
|
|
||||||
index 3ff1ce6..2f2e396 100644
|
|
||||||
--- a/gcc/cp/except.c
|
|
||||||
+++ b/gcc/cp/except.c
|
|
||||||
@@ -1040,7 +1040,8 @@ nothrow_libfn_p (const_tree fn)
|
|
||||||
unless the system headers are playing rename tricks, and if
|
|
||||||
they are, we don't want to be confused by them. */
|
|
||||||
id = DECL_NAME (fn);
|
|
||||||
- return !!libc_name_p (IDENTIFIER_POINTER (id), IDENTIFIER_LENGTH (id));
|
|
||||||
+ return !!libc_name::libc_name_p (IDENTIFIER_POINTER (id),
|
|
||||||
+ IDENTIFIER_LENGTH (id));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Returns nonzero if an exception of type FROM will be caught by a
|
|
||||||
--
|
|
||||||
1.7.1
|
|
@ -1,255 +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>
|
|
||||||
[Gustavo: update for 4.9.3]
|
|
||||||
|
|
||||||
diff -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/config/locale/generic/c_locale.h 2015-06-27 06:46:04.420022179 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/config/locale/gnu/c_locale.h 2015-06-27 06:46:04.465023743 -0300
|
|
||||||
@@ -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 -Nura 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 13:27:46.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/bits/basic_string.h 2015-06-27 06:49:04.741284648 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/bits/locale_facets_nonio.tcc 2015-06-27 06:46:04.466023777 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/bits/locale_facets.tcc 2015-06-27 06:46:04.466023777 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/c_compatibility/math.h 2015-06-27 06:46:04.466023777 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/c_compatibility/wchar.h 2015-06-27 06:46:04.466023777 -0300
|
|
||||||
@@ -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 -Nura 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 18:17:15.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/c_global/cstdio 2015-06-27 06:46:04.481024298 -0300
|
|
||||||
@@ -146,7 +146,7 @@
|
|
||||||
using ::vsprintf;
|
|
||||||
} // namespace
|
|
||||||
|
|
||||||
-#if _GLIBCXX_USE_C99
|
|
||||||
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
||||||
|
|
||||||
#undef snprintf
|
|
||||||
#undef vfscanf
|
|
||||||
diff -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/c_global/cstdlib 2015-06-27 06:46:04.466023777 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/c_global/cwchar 2015-06-27 06:46:04.466023777 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/c_std/cstdio 2015-06-27 06:46:04.480024263 -0300
|
|
||||||
@@ -144,7 +144,7 @@
|
|
||||||
using ::vsprintf;
|
|
||||||
} // namespace std
|
|
||||||
|
|
||||||
-#if _GLIBCXX_USE_C99
|
|
||||||
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
||||||
|
|
||||||
#undef snprintf
|
|
||||||
#undef vfscanf
|
|
||||||
diff -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/c_std/cstdlib 2015-06-27 06:46:04.480024263 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/c_std/cwchar 2015-06-27 06:46:04.480024263 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/ext/vstring.h 2015-06-27 06:46:04.480024263 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/tr1/cstdio 2015-06-27 06:46:04.480024263 -0300
|
|
||||||
@@ -33,7 +33,7 @@
|
|
||||||
|
|
||||||
#include <cstdio>
|
|
||||||
|
|
||||||
-#if _GLIBCXX_USE_C99
|
|
||||||
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
||||||
|
|
||||||
namespace std _GLIBCXX_VISIBILITY(default)
|
|
||||||
{
|
|
||||||
diff -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/tr1/cstdlib 2015-06-27 06:46:04.480024263 -0300
|
|
||||||
@@ -35,7 +35,7 @@
|
|
||||||
|
|
||||||
#if _GLIBCXX_HOSTED
|
|
||||||
|
|
||||||
-#if _GLIBCXX_USE_C99
|
|
||||||
+#if defined(_GLIBCXX_USE_C99) || defined(__UCLIBC__)
|
|
||||||
|
|
||||||
namespace std _GLIBCXX_VISIBILITY(default)
|
|
||||||
{
|
|
||||||
diff -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/tr1/cwchar 2015-06-27 06:46:04.480024263 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/include/tr1/stdlib.h 2015-06-27 06:46:04.481024298 -0300
|
|
||||||
@@ -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 -Nura 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 19:30:10.000000000 -0300
|
|
||||||
+++ gcc-4.9.3/libstdc++-v3/src/c++11/debug.cc 2015-06-27 06:46:04.481024298 -0300
|
|
||||||
@@ -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);
|
|
@ -1,12 +0,0 @@
|
|||||||
Upstream status: In progress
|
|
||||||
|
|
||||||
--- a/libgcc/config/nios2/linux-atomic.c
|
|
||||||
+++ b/libgcc/config/nios2/linux-atomic.c
|
|
||||||
@@ -20,7 +20,6 @@
|
|
||||||
see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
||||||
<http://www.gnu.org/licenses/>. */
|
|
||||||
|
|
||||||
-#include <asm/unistd.h>
|
|
||||||
#define EFAULT 14
|
|
||||||
#define EBUSY 16
|
|
||||||
#define ENOSYS 38
|
|
@ -14,19 +14,19 @@ Forward port to gcc 4.5.1 by Gustavo Zacarias <gustavo@zacarias.com.ar>
|
|||||||
libgcc/configure.ac | 21 +++++++++++++++++++++
|
libgcc/configure.ac | 21 +++++++++++++++++++++
|
||||||
3 files changed, 56 insertions(+), 1 deletion(-)
|
3 files changed, 56 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
Index: gcc-4.8.0/libgcc/Makefile.in
|
Index: b/libgcc/Makefile.in
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gcc-4.8.0.orig/libgcc/Makefile.in 2013-02-04 20:06:20.000000000 +0100
|
--- a/libgcc/Makefile.in
|
||||||
+++ gcc-4.8.0/libgcc/Makefile.in 2013-03-24 09:12:43.000000000 +0100
|
+++ b/libgcc/Makefile.in
|
||||||
@@ -41,6 +41,7 @@
|
@@ -42,6 +42,7 @@
|
||||||
decimal_float = @decimal_float@
|
enable_vtable_verify = @enable_vtable_verify@
|
||||||
enable_decimal_float = @enable_decimal_float@
|
enable_decimal_float = @enable_decimal_float@
|
||||||
fixed_point = @fixed_point@
|
fixed_point = @fixed_point@
|
||||||
+LIBGCC_LIBM = @LIBGCC_LIBM@
|
+LIBGCC_LIBM = @LIBGCC_LIBM@
|
||||||
|
|
||||||
host_noncanonical = @host_noncanonical@
|
host_noncanonical = @host_noncanonical@
|
||||||
target_noncanonical = @target_noncanonical@
|
target_noncanonical = @target_noncanonical@
|
||||||
@@ -927,9 +928,10 @@
|
@@ -943,9 +944,10 @@
|
||||||
@multilib_dir@,$(MULTIDIR),$(subst \
|
@multilib_dir@,$(MULTIDIR),$(subst \
|
||||||
@shlib_objs@,$(objects) libgcc.a,$(subst \
|
@shlib_objs@,$(objects) libgcc.a,$(subst \
|
||||||
@shlib_base_name@,libgcc_s,$(subst \
|
@shlib_base_name@,libgcc_s,$(subst \
|
||||||
@ -38,10 +38,10 @@ Index: gcc-4.8.0/libgcc/Makefile.in
|
|||||||
|
|
||||||
libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
|
libunwind$(SHLIB_EXT): $(libunwind-s-objects) $(extra-parts)
|
||||||
# @multilib_flags@ is still needed because this may use
|
# @multilib_flags@ is still needed because this may use
|
||||||
Index: gcc-4.8.0/libgcc/configure
|
Index: b/libgcc/configure
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gcc-4.8.0.orig/libgcc/configure 2012-11-05 00:08:42.000000000 +0100
|
--- a/libgcc/configure
|
||||||
+++ gcc-4.8.0/libgcc/configure 2013-03-24 09:12:43.000000000 +0100
|
+++ b/libgcc/configure
|
||||||
@@ -564,6 +564,7 @@
|
@@ -564,6 +564,7 @@
|
||||||
tmake_file
|
tmake_file
|
||||||
sfp_machine_header
|
sfp_machine_header
|
||||||
@ -50,7 +50,7 @@ Index: gcc-4.8.0/libgcc/configure
|
|||||||
set_have_cc_tls
|
set_have_cc_tls
|
||||||
vis_hide
|
vis_hide
|
||||||
fixed_point
|
fixed_point
|
||||||
@@ -4481,6 +4482,37 @@
|
@@ -4535,6 +4536,37 @@
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -88,11 +88,11 @@ Index: gcc-4.8.0/libgcc/configure
|
|||||||
|
|
||||||
# Conditionalize the makefile for this target machine.
|
# Conditionalize the makefile for this target machine.
|
||||||
tmake_file_=
|
tmake_file_=
|
||||||
Index: gcc-4.8.0/libgcc/configure.ac
|
Index: b/libgcc/configure.ac
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gcc-4.8.0.orig/libgcc/configure.ac 2012-10-15 15:10:30.000000000 +0200
|
--- a/libgcc/configure.ac
|
||||||
+++ gcc-4.8.0/libgcc/configure.ac 2013-03-24 09:12:43.000000000 +0100
|
+++ b/libgcc/configure.ac
|
||||||
@@ -326,6 +326,27 @@
|
@@ -357,6 +357,27 @@
|
||||||
fi
|
fi
|
||||||
AC_SUBST(set_have_cc_tls)
|
AC_SUBST(set_have_cc_tls)
|
||||||
|
|
@ -16,11 +16,11 @@ Changes to ChangeLog are dropped.
|
|||||||
gcc/config/xtensa/xtensa.c | 5 +++--
|
gcc/config/xtensa/xtensa.c | 5 +++--
|
||||||
1 file changed, 3 insertions(+), 2 deletions(-)
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
Index: b/gcc/config/xtensa/xtensa.c
|
||||||
index eb039ba..7296e36 100644
|
===================================================================
|
||||||
--- a/gcc/config/xtensa/xtensa.c
|
--- a/gcc/config/xtensa/xtensa.c
|
||||||
+++ b/gcc/config/xtensa/xtensa.c
|
+++ b/gcc/config/xtensa/xtensa.c
|
||||||
@@ -1461,8 +1461,9 @@ init_alignment_context (struct alignment_context *ac, rtx mem)
|
@@ -1436,8 +1436,9 @@
|
||||||
if (ac->shift != NULL_RTX)
|
if (ac->shift != NULL_RTX)
|
||||||
{
|
{
|
||||||
/* Shift is the byte count, but we need the bitcount. */
|
/* Shift is the byte count, but we need the bitcount. */
|
||||||
@ -32,6 +32,3 @@ index eb039ba..7296e36 100644
|
|||||||
NULL_RTX, 1, OPTAB_DIRECT);
|
NULL_RTX, 1, OPTAB_DIRECT);
|
||||||
ac->modemask = expand_simple_binop (SImode, ASHIFT,
|
ac->modemask = expand_simple_binop (SImode, ASHIFT,
|
||||||
GEN_INT (GET_MODE_MASK (mode)),
|
GEN_INT (GET_MODE_MASK (mode)),
|
||||||
--
|
|
||||||
1.8.1.4
|
|
||||||
|
|
@ -11,19 +11,16 @@ Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
|
|||||||
gcc/config.gcc | 2 +-
|
gcc/config.gcc | 2 +-
|
||||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
diff --git a/gcc/config.gcc b/gcc/config.gcc
|
Index: b/gcc/config.gcc
|
||||||
index 4a7cbd2..9cc765e 100644
|
===================================================================
|
||||||
--- a/gcc/config.gcc
|
--- a/gcc/config.gcc
|
||||||
+++ b/gcc/config.gcc
|
+++ b/gcc/config.gcc
|
||||||
@@ -439,7 +439,7 @@ powerpc*-*-*)
|
@@ -441,7 +441,7 @@
|
||||||
cpu_type=rs6000
|
|
||||||
extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
|
extra_headers="ppc-asm.h altivec.h spe.h ppu_intrinsics.h paired.h spu2vmx.h vec_types.h si2vmx.h htmintrin.h htmxlintrin.h"
|
||||||
|
need_64bit_hwint=yes
|
||||||
case x$with_cpu in
|
case x$with_cpu in
|
||||||
- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
|
- xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|Xe6500)
|
||||||
+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
|
+ xpowerpc64|xdefault64|x6[23]0|x970|xG5|xpower[345678]|xpower6x|xrs64a|xcell|xa2|xe500mc64|xe5500|xe6500)
|
||||||
cpu_is_64bit=yes
|
cpu_is_64bit=yes
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
--
|
|
||||||
2.6.2
|
|
||||||
|
|
@ -1,8 +1,8 @@
|
|||||||
Index: gcc-4.8.0/gcc/config/arm/linux-elf.h
|
Index: b/gcc/config/arm/linux-elf.h
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gcc-4.8.0.orig/gcc/config/arm/linux-elf.h 2013-01-10 21:38:27.000000000 +0100
|
--- a/gcc/config/arm/linux-elf.h
|
||||||
+++ gcc-4.8.0/gcc/config/arm/linux-elf.h 2013-03-23 17:40:00.000000000 +0100
|
+++ b/gcc/config/arm/linux-elf.h
|
||||||
@@ -55,7 +55,7 @@
|
@@ -60,7 +60,7 @@
|
||||||
%{shared:-lc} \
|
%{shared:-lc} \
|
||||||
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
%{!shared:%{profile:-lc_p}%{!profile:-lc}}"
|
||||||
|
|
||||||
@ -11,10 +11,10 @@ Index: gcc-4.8.0/gcc/config/arm/linux-elf.h
|
|||||||
|
|
||||||
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
#define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
|
||||||
|
|
||||||
Index: gcc-4.8.0/libgcc/config/arm/t-linux
|
Index: b/libgcc/config/arm/t-linux
|
||||||
===================================================================
|
===================================================================
|
||||||
--- gcc-4.8.0.orig/libgcc/config/arm/t-linux 2012-03-22 16:14:46.000000000 +0100
|
--- a/libgcc/config/arm/t-linux
|
||||||
+++ gcc-4.8.0/libgcc/config/arm/t-linux 2013-03-23 17:40:54.000000000 +0100
|
+++ b/libgcc/config/arm/t-linux
|
||||||
@@ -1,6 +1,11 @@
|
@@ -1,6 +1,11 @@
|
||||||
LIB1ASMSRC = arm/lib1funcs.S
|
LIB1ASMSRC = arm/lib1funcs.S
|
||||||
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
|
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
|
@ -33,11 +33,11 @@ Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
|
|||||||
gcc/config/microblaze/microblaze.md | 11 +++++++++
|
gcc/config/microblaze/microblaze.md | 11 +++++++++
|
||||||
5 files changed, 52 insertions(+), 7 deletions(-)
|
5 files changed, 52 insertions(+), 7 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/common/config/microblaze/microblaze-common.c b/gcc/common/config/microblaze/microblaze-common.c
|
Index: b/gcc/common/config/microblaze/microblaze-common.c
|
||||||
index 5835acc..85e6a53 100644
|
===================================================================
|
||||||
--- a/gcc/common/config/microblaze/microblaze-common.c
|
--- a/gcc/common/config/microblaze/microblaze-common.c
|
||||||
+++ b/gcc/common/config/microblaze/microblaze-common.c
|
+++ b/gcc/common/config/microblaze/microblaze-common.c
|
||||||
@@ -39,7 +39,4 @@ static const struct default_options microblaze_option_optimization_table[] =
|
@@ -37,7 +37,4 @@
|
||||||
#undef TARGET_OPTION_OPTIMIZATION_TABLE
|
#undef TARGET_OPTION_OPTIMIZATION_TABLE
|
||||||
#define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table
|
#define TARGET_OPTION_OPTIMIZATION_TABLE microblaze_option_optimization_table
|
||||||
|
|
||||||
@ -45,11 +45,11 @@ index 5835acc..85e6a53 100644
|
|||||||
-#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
|
-#define TARGET_EXCEPT_UNWIND_INFO sjlj_except_unwind_info
|
||||||
-
|
-
|
||||||
struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
|
struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;
|
||||||
diff --git a/gcc/config/microblaze/microblaze-protos.h b/gcc/config/microblaze/microblaze-protos.h
|
Index: b/gcc/config/microblaze/microblaze-protos.h
|
||||||
index c30ec72..260f4e4 100644
|
===================================================================
|
||||||
--- a/gcc/config/microblaze/microblaze-protos.h
|
--- a/gcc/config/microblaze/microblaze-protos.h
|
||||||
+++ b/gcc/config/microblaze/microblaze-protos.h
|
+++ b/gcc/config/microblaze/microblaze-protos.h
|
||||||
@@ -56,6 +56,7 @@ extern bool microblaze_tls_referenced_p (rtx);
|
@@ -54,6 +54,7 @@
|
||||||
extern int symbol_mentioned_p (rtx);
|
extern int symbol_mentioned_p (rtx);
|
||||||
extern int label_mentioned_p (rtx);
|
extern int label_mentioned_p (rtx);
|
||||||
extern bool microblaze_cannot_force_const_mem (enum machine_mode, rtx);
|
extern bool microblaze_cannot_force_const_mem (enum machine_mode, rtx);
|
||||||
@ -57,11 +57,11 @@ index c30ec72..260f4e4 100644
|
|||||||
#endif /* RTX_CODE */
|
#endif /* RTX_CODE */
|
||||||
|
|
||||||
/* Declare functions in microblaze-c.c. */
|
/* Declare functions in microblaze-c.c. */
|
||||||
diff --git a/gcc/config/microblaze/microblaze.c b/gcc/config/microblaze/microblaze.c
|
Index: b/gcc/config/microblaze/microblaze.c
|
||||||
index fe61fce..15166d3 100644
|
===================================================================
|
||||||
--- a/gcc/config/microblaze/microblaze.c
|
--- a/gcc/config/microblaze/microblaze.c
|
||||||
+++ b/gcc/config/microblaze/microblaze.c
|
+++ b/gcc/config/microblaze/microblaze.c
|
||||||
@@ -1999,6 +1999,11 @@ microblaze_must_save_register (int regno)
|
@@ -1906,6 +1906,11 @@
|
||||||
if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM))
|
if (frame_pointer_needed && (regno == HARD_FRAME_POINTER_REGNUM))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
@ -73,7 +73,7 @@ index fe61fce..15166d3 100644
|
|||||||
if (!crtl->is_leaf)
|
if (!crtl->is_leaf)
|
||||||
{
|
{
|
||||||
if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
if (regno == MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
||||||
@@ -2026,6 +2031,13 @@ microblaze_must_save_register (int regno)
|
@@ -1933,6 +1938,13 @@
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -87,7 +87,7 @@ index fe61fce..15166d3 100644
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -3131,6 +3143,12 @@ microblaze_expand_epilogue (void)
|
@@ -2962,6 +2974,12 @@
|
||||||
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
|
emit_insn (gen_addsi3 (stack_pointer_rtx, stack_pointer_rtx, fsiz_rtx));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -100,7 +100,7 @@ index fe61fce..15166d3 100644
|
|||||||
emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST +
|
emit_jump_insn (gen_return_internal (gen_rtx_REG (Pmode, GP_REG_FIRST +
|
||||||
MB_ABI_SUB_RETURN_ADDR_REGNUM)));
|
MB_ABI_SUB_RETURN_ADDR_REGNUM)));
|
||||||
}
|
}
|
||||||
@@ -3427,10 +3445,13 @@ microblaze_return_addr (int count, rtx frame ATTRIBUTE_UNUSED)
|
@@ -3256,10 +3274,13 @@
|
||||||
if (count != 0)
|
if (count != 0)
|
||||||
return NULL_RTX;
|
return NULL_RTX;
|
||||||
|
|
||||||
@ -118,11 +118,11 @@ index fe61fce..15166d3 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Queue an .ident string in the queue of top-level asm statements.
|
/* Queue an .ident string in the queue of top-level asm statements.
|
||||||
diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
|
Index: b/gcc/config/microblaze/microblaze.h
|
||||||
index 4072283..5e9f49c 100644
|
===================================================================
|
||||||
--- a/gcc/config/microblaze/microblaze.h
|
--- a/gcc/config/microblaze/microblaze.h
|
||||||
+++ b/gcc/config/microblaze/microblaze.h
|
+++ b/gcc/config/microblaze/microblaze.h
|
||||||
@@ -184,6 +184,21 @@ extern enum pipeline_type microblaze_pipe;
|
@@ -184,6 +184,21 @@
|
||||||
#define INCOMING_RETURN_ADDR_RTX \
|
#define INCOMING_RETURN_ADDR_RTX \
|
||||||
gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
gen_rtx_REG (VOIDmode, GP_REG_FIRST + MB_ABI_SUB_RETURN_ADDR_REGNUM)
|
||||||
|
|
||||||
@ -144,11 +144,11 @@ index 4072283..5e9f49c 100644
|
|||||||
/* Use DWARF 2 debugging information by default. */
|
/* Use DWARF 2 debugging information by default. */
|
||||||
#define DWARF2_DEBUGGING_INFO
|
#define DWARF2_DEBUGGING_INFO
|
||||||
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
#define PREFERRED_DEBUGGING_TYPE DWARF2_DEBUG
|
||||||
diff --git a/gcc/config/microblaze/microblaze.md b/gcc/config/microblaze/microblaze.md
|
Index: b/gcc/config/microblaze/microblaze.md
|
||||||
index ed6131a..dc2405f 100644
|
===================================================================
|
||||||
--- a/gcc/config/microblaze/microblaze.md
|
--- a/gcc/config/microblaze/microblaze.md
|
||||||
+++ b/gcc/config/microblaze/microblaze.md
|
+++ b/gcc/config/microblaze/microblaze.md
|
||||||
@@ -2327,4 +2327,15 @@
|
@@ -2261,4 +2261,15 @@
|
||||||
(set_attr "mode" "SI")
|
(set_attr "mode" "SI")
|
||||||
(set_attr "length" "4")])
|
(set_attr "length" "4")])
|
||||||
|
|
||||||
@ -164,6 +164,3 @@ index ed6131a..dc2405f 100644
|
|||||||
+
|
+
|
||||||
(include "sync.md")
|
(include "sync.md")
|
||||||
+
|
+
|
||||||
--
|
|
||||||
1.8.3.2
|
|
||||||
|
|
274
package/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch
Normal file
274
package/gcc/4.9.4/850-libstdcxx-uclibc-c99.patch
Normal file
@ -0,0 +1,274 @@
|
|||||||
|
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>
|
||||||
|
[Gustavo: update for 4.9.3]
|
||||||
|
|
||||||
|
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
|
||||||
|
@@ -2843,7 +2843,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/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/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/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/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
|
||||||
|
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);
|
@ -48,8 +48,8 @@ Changes to ChangeLogs and documentation are dropped.
|
|||||||
gcc/config/xtensa/xtensa.opt | 4 ++++
|
gcc/config/xtensa/xtensa.opt | 4 ++++
|
||||||
7 files changed, 54 insertions(+), 20 deletions(-)
|
7 files changed, 54 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
diff --git a/gcc/config/xtensa/constraints.md b/gcc/config/xtensa/constraints.md
|
Index: b/gcc/config/xtensa/constraints.md
|
||||||
index 30f4c1f..773d4f9 100644
|
===================================================================
|
||||||
--- a/gcc/config/xtensa/constraints.md
|
--- a/gcc/config/xtensa/constraints.md
|
||||||
+++ b/gcc/config/xtensa/constraints.md
|
+++ b/gcc/config/xtensa/constraints.md
|
||||||
@@ -111,6 +111,11 @@
|
@@ -111,6 +111,11 @@
|
||||||
@ -64,11 +64,11 @@ index 30f4c1f..773d4f9 100644
|
|||||||
;; Memory constraints. Do not use define_memory_constraint here. Doing so
|
;; Memory constraints. Do not use define_memory_constraint here. Doing so
|
||||||
;; causes reload to force some constants into the constant pool, but since
|
;; causes reload to force some constants into the constant pool, but since
|
||||||
;; the Xtensa constant pool can only be accessed with L32R instructions, it
|
;; the Xtensa constant pool can only be accessed with L32R instructions, it
|
||||||
diff --git a/gcc/config/xtensa/elf.h b/gcc/config/xtensa/elf.h
|
Index: b/gcc/config/xtensa/elf.h
|
||||||
index e59bede..12056f7 100644
|
===================================================================
|
||||||
--- a/gcc/config/xtensa/elf.h
|
--- a/gcc/config/xtensa/elf.h
|
||||||
+++ b/gcc/config/xtensa/elf.h
|
+++ b/gcc/config/xtensa/elf.h
|
||||||
@@ -48,7 +48,9 @@ along with GCC; see the file COPYING3. If not see
|
@@ -48,7 +48,9 @@
|
||||||
%{mtarget-align:--target-align} \
|
%{mtarget-align:--target-align} \
|
||||||
%{mno-target-align:--no-target-align} \
|
%{mno-target-align:--no-target-align} \
|
||||||
%{mlongcalls:--longcalls} \
|
%{mlongcalls:--longcalls} \
|
||||||
@ -79,11 +79,11 @@ index e59bede..12056f7 100644
|
|||||||
|
|
||||||
#undef LIB_SPEC
|
#undef LIB_SPEC
|
||||||
#define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal"
|
#define LIB_SPEC "-lc -lsim -lc -lhandlers-sim -lhal"
|
||||||
diff --git a/gcc/config/xtensa/linux.h b/gcc/config/xtensa/linux.h
|
Index: b/gcc/config/xtensa/linux.h
|
||||||
index 675aacf..5b0243a 100644
|
===================================================================
|
||||||
--- a/gcc/config/xtensa/linux.h
|
--- a/gcc/config/xtensa/linux.h
|
||||||
+++ b/gcc/config/xtensa/linux.h
|
+++ b/gcc/config/xtensa/linux.h
|
||||||
@@ -42,7 +42,9 @@ along with GCC; see the file COPYING3. If not see
|
@@ -42,7 +42,9 @@
|
||||||
%{mtarget-align:--target-align} \
|
%{mtarget-align:--target-align} \
|
||||||
%{mno-target-align:--no-target-align} \
|
%{mno-target-align:--no-target-align} \
|
||||||
%{mlongcalls:--longcalls} \
|
%{mlongcalls:--longcalls} \
|
||||||
@ -94,8 +94,8 @@ index 675aacf..5b0243a 100644
|
|||||||
|
|
||||||
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
#define GLIBC_DYNAMIC_LINKER "/lib/ld.so.1"
|
||||||
|
|
||||||
diff --git a/gcc/config/xtensa/predicates.md b/gcc/config/xtensa/predicates.md
|
Index: b/gcc/config/xtensa/predicates.md
|
||||||
index e02209e..d7dfa11 100644
|
===================================================================
|
||||||
--- a/gcc/config/xtensa/predicates.md
|
--- a/gcc/config/xtensa/predicates.md
|
||||||
+++ b/gcc/config/xtensa/predicates.md
|
+++ b/gcc/config/xtensa/predicates.md
|
||||||
@@ -142,7 +142,8 @@
|
@@ -142,7 +142,8 @@
|
||||||
@ -108,11 +108,11 @@ index e02209e..d7dfa11 100644
|
|||||||
&& GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0")))))
|
&& GET_MODE_SIZE (mode) % UNITS_PER_WORD == 0")))))
|
||||||
|
|
||||||
;; Accept the floating point constant 1 in the appropriate mode.
|
;; Accept the floating point constant 1 in the appropriate mode.
|
||||||
diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c
|
Index: b/gcc/config/xtensa/xtensa.c
|
||||||
index eb039ba..206ff80 100644
|
===================================================================
|
||||||
--- a/gcc/config/xtensa/xtensa.c
|
--- a/gcc/config/xtensa/xtensa.c
|
||||||
+++ b/gcc/config/xtensa/xtensa.c
|
+++ b/gcc/config/xtensa/xtensa.c
|
||||||
@@ -501,6 +501,9 @@ xtensa_valid_move (machine_mode mode, rtx *operands)
|
@@ -477,6 +477,9 @@
|
||||||
{
|
{
|
||||||
int dst_regnum = xt_true_regnum (operands[0]);
|
int dst_regnum = xt_true_regnum (operands[0]);
|
||||||
|
|
||||||
@ -121,8 +121,8 @@ index eb039ba..206ff80 100644
|
|||||||
+
|
+
|
||||||
/* The stack pointer can only be assigned with a MOVSP opcode. */
|
/* The stack pointer can only be assigned with a MOVSP opcode. */
|
||||||
if (dst_regnum == STACK_POINTER_REGNUM)
|
if (dst_regnum == STACK_POINTER_REGNUM)
|
||||||
return !TARGET_WINDOWED_ABI
|
return (mode == SImode
|
||||||
@@ -1069,7 +1072,7 @@ xtensa_emit_move_sequence (rtx *operands, machine_mode mode)
|
@@ -1044,7 +1047,7 @@
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,7 +131,7 @@ index eb039ba..206ff80 100644
|
|||||||
{
|
{
|
||||||
src = force_const_mem (SImode, src);
|
src = force_const_mem (SImode, src);
|
||||||
operands[1] = src;
|
operands[1] = src;
|
||||||
@@ -2449,6 +2452,20 @@ print_operand (FILE *file, rtx x, int letter)
|
@@ -2428,6 +2431,20 @@
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@ -152,11 +152,11 @@ index eb039ba..206ff80 100644
|
|||||||
default:
|
default:
|
||||||
if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG)
|
if (GET_CODE (x) == REG || GET_CODE (x) == SUBREG)
|
||||||
fprintf (file, "%s", reg_names[xt_true_regnum (x)]);
|
fprintf (file, "%s", reg_names[xt_true_regnum (x)]);
|
||||||
diff --git a/gcc/config/xtensa/xtensa.md b/gcc/config/xtensa/xtensa.md
|
Index: b/gcc/config/xtensa/xtensa.md
|
||||||
index 6d84384..0e673a3 100644
|
===================================================================
|
||||||
--- a/gcc/config/xtensa/xtensa.md
|
--- a/gcc/config/xtensa/xtensa.md
|
||||||
+++ b/gcc/config/xtensa/xtensa.md
|
+++ b/gcc/config/xtensa/xtensa.md
|
||||||
@@ -761,8 +761,8 @@
|
@@ -799,8 +799,8 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
(define_insn "movsi_internal"
|
(define_insn "movsi_internal"
|
||||||
@ -167,7 +167,7 @@ index 6d84384..0e673a3 100644
|
|||||||
"xtensa_valid_move (SImode, operands)"
|
"xtensa_valid_move (SImode, operands)"
|
||||||
"@
|
"@
|
||||||
movi.n\t%0, %x1
|
movi.n\t%0, %x1
|
||||||
@@ -774,15 +774,16 @@
|
@@ -812,15 +812,16 @@
|
||||||
mov\t%0, %1
|
mov\t%0, %1
|
||||||
movsp\t%0, %1
|
movsp\t%0, %1
|
||||||
movi\t%0, %x1
|
movi\t%0, %x1
|
||||||
@ -186,7 +186,7 @@ index 6d84384..0e673a3 100644
|
|||||||
|
|
||||||
;; 16-bit Integer moves
|
;; 16-bit Integer moves
|
||||||
|
|
||||||
@@ -796,21 +797,22 @@
|
@@ -834,21 +835,22 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
(define_insn "movhi_internal"
|
(define_insn "movhi_internal"
|
||||||
@ -213,7 +213,7 @@ index 6d84384..0e673a3 100644
|
|||||||
|
|
||||||
;; 8-bit Integer moves
|
;; 8-bit Integer moves
|
||||||
|
|
||||||
@@ -881,7 +883,7 @@
|
@@ -919,7 +921,7 @@
|
||||||
(match_operand:SF 1 "general_operand" ""))]
|
(match_operand:SF 1 "general_operand" ""))]
|
||||||
""
|
""
|
||||||
{
|
{
|
||||||
@ -222,7 +222,7 @@ index 6d84384..0e673a3 100644
|
|||||||
operands[1] = force_const_mem (SFmode, operands[1]);
|
operands[1] = force_const_mem (SFmode, operands[1]);
|
||||||
|
|
||||||
if ((!register_operand (operands[0], SFmode)
|
if ((!register_operand (operands[0], SFmode)
|
||||||
@@ -896,8 +898,8 @@
|
@@ -934,8 +936,8 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
(define_insn "movsf_internal"
|
(define_insn "movsf_internal"
|
||||||
@ -233,7 +233,7 @@ index 6d84384..0e673a3 100644
|
|||||||
"((register_operand (operands[0], SFmode)
|
"((register_operand (operands[0], SFmode)
|
||||||
|| register_operand (operands[1], SFmode))
|
|| register_operand (operands[1], SFmode))
|
||||||
&& !(FP_REG_P (xt_true_regnum (operands[0]))
|
&& !(FP_REG_P (xt_true_regnum (operands[0]))
|
||||||
@@ -912,13 +914,14 @@
|
@@ -950,13 +952,14 @@
|
||||||
mov\t%0, %1
|
mov\t%0, %1
|
||||||
wfr\t%0, %1
|
wfr\t%0, %1
|
||||||
rfr\t%0, %1
|
rfr\t%0, %1
|
||||||
@ -250,7 +250,7 @@ index 6d84384..0e673a3 100644
|
|||||||
|
|
||||||
(define_insn "*lsiu"
|
(define_insn "*lsiu"
|
||||||
[(set (match_operand:SF 0 "register_operand" "=f")
|
[(set (match_operand:SF 0 "register_operand" "=f")
|
||||||
@@ -991,7 +994,7 @@
|
@@ -997,7 +1000,7 @@
|
||||||
(match_operand:DF 1 "general_operand" ""))]
|
(match_operand:DF 1 "general_operand" ""))]
|
||||||
""
|
""
|
||||||
{
|
{
|
||||||
@ -259,7 +259,7 @@ index 6d84384..0e673a3 100644
|
|||||||
operands[1] = force_const_mem (DFmode, operands[1]);
|
operands[1] = force_const_mem (DFmode, operands[1]);
|
||||||
|
|
||||||
if (!register_operand (operands[0], DFmode)
|
if (!register_operand (operands[0], DFmode)
|
||||||
@@ -1002,8 +1005,8 @@
|
@@ -1008,8 +1011,8 @@
|
||||||
})
|
})
|
||||||
|
|
||||||
(define_insn_and_split "movdf_internal"
|
(define_insn_and_split "movdf_internal"
|
||||||
@ -270,11 +270,11 @@ index 6d84384..0e673a3 100644
|
|||||||
"register_operand (operands[0], DFmode)
|
"register_operand (operands[0], DFmode)
|
||||||
|| register_operand (operands[1], DFmode)"
|
|| register_operand (operands[1], DFmode)"
|
||||||
"#"
|
"#"
|
||||||
diff --git a/gcc/config/xtensa/xtensa.opt b/gcc/config/xtensa/xtensa.opt
|
Index: b/gcc/config/xtensa/xtensa.opt
|
||||||
index 2fd6cee..21c6e96 100644
|
===================================================================
|
||||||
--- a/gcc/config/xtensa/xtensa.opt
|
--- a/gcc/config/xtensa/xtensa.opt
|
||||||
+++ b/gcc/config/xtensa/xtensa.opt
|
+++ b/gcc/config/xtensa/xtensa.opt
|
||||||
@@ -38,6 +38,10 @@ mtext-section-literals
|
@@ -38,6 +38,10 @@
|
||||||
Target
|
Target
|
||||||
Intersperse literal pools with code in the text section
|
Intersperse literal pools with code in the text section
|
||||||
|
|
||||||
@ -285,6 +285,3 @@ index 2fd6cee..21c6e96 100644
|
|||||||
mserialize-volatile
|
mserialize-volatile
|
||||||
Target Report Mask(SERIALIZE_VOLATILE)
|
Target Report Mask(SERIALIZE_VOLATILE)
|
||||||
-mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions
|
-mno-serialize-volatile Do not serialize volatile memory references with MEMW instructions
|
||||||
--
|
|
||||||
1.8.1.4
|
|
||||||
|
|
@ -24,11 +24,11 @@ Backported from: r228450
|
|||||||
create mode 100644 gcc/config/xtensa/uclinux.h
|
create mode 100644 gcc/config/xtensa/uclinux.h
|
||||||
create mode 100644 gcc/config/xtensa/uclinux.opt
|
create mode 100644 gcc/config/xtensa/uclinux.opt
|
||||||
|
|
||||||
diff --git a/gcc/config.gcc b/gcc/config.gcc
|
Index: b/gcc/config.gcc
|
||||||
index c52f5a8..56797bd 100644
|
===================================================================
|
||||||
--- a/gcc/config.gcc
|
--- a/gcc/config.gcc
|
||||||
+++ b/gcc/config.gcc
|
+++ b/gcc/config.gcc
|
||||||
@@ -2995,6 +2995,11 @@ xtensa*-*-linux*)
|
@@ -2871,6 +2871,11 @@
|
||||||
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
|
tm_file="${tm_file} dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h xtensa/linux.h"
|
||||||
tmake_file="${tmake_file} xtensa/t-xtensa"
|
tmake_file="${tmake_file} xtensa/t-xtensa"
|
||||||
;;
|
;;
|
||||||
@ -40,9 +40,8 @@ index c52f5a8..56797bd 100644
|
|||||||
am33_2.0-*-linux*)
|
am33_2.0-*-linux*)
|
||||||
tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
|
tm_file="mn10300/mn10300.h dbxelf.h elfos.h gnu-user.h linux.h glibc-stdint.h mn10300/linux.h"
|
||||||
gas=yes gnu_ld=yes
|
gas=yes gnu_ld=yes
|
||||||
diff --git a/gcc/config/xtensa/uclinux.h b/gcc/config/xtensa/uclinux.h
|
Index: b/gcc/config/xtensa/uclinux.h
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..4606020
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gcc/config/xtensa/uclinux.h
|
+++ b/gcc/config/xtensa/uclinux.h
|
||||||
@@ -0,0 +1,69 @@
|
@@ -0,0 +1,69 @@
|
||||||
@ -115,9 +114,8 @@ index 0000000..4606020
|
|||||||
+
|
+
|
||||||
+#undef DBX_REGISTER_NUMBER
|
+#undef DBX_REGISTER_NUMBER
|
||||||
+
|
+
|
||||||
diff --git a/gcc/config/xtensa/uclinux.opt b/gcc/config/xtensa/uclinux.opt
|
Index: b/gcc/config/xtensa/uclinux.opt
|
||||||
new file mode 100644
|
===================================================================
|
||||||
index 0000000..95ef777
|
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/gcc/config/xtensa/uclinux.opt
|
+++ b/gcc/config/xtensa/uclinux.opt
|
||||||
@@ -0,0 +1,32 @@
|
@@ -0,0 +1,32 @@
|
||||||
@ -153,11 +151,11 @@ index 0000000..95ef777
|
|||||||
+Driver JoinedOrMissing
|
+Driver JoinedOrMissing
|
||||||
+
|
+
|
||||||
+; This comment is to ensure we retain the blank line above.
|
+; This comment is to ensure we retain the blank line above.
|
||||||
diff --git a/libgcc/config.host b/libgcc/config.host
|
Index: b/libgcc/config.host
|
||||||
index 2c64756..2ee92c1 100644
|
===================================================================
|
||||||
--- a/libgcc/config.host
|
--- a/libgcc/config.host
|
||||||
+++ b/libgcc/config.host
|
+++ b/libgcc/config.host
|
||||||
@@ -1295,6 +1295,11 @@ xtensa*-*-linux*)
|
@@ -1213,6 +1213,11 @@
|
||||||
tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
|
tmake_file="$tmake_file xtensa/t-xtensa xtensa/t-linux t-slibgcc-libgcc"
|
||||||
md_unwind_header=xtensa/linux-unwind.h
|
md_unwind_header=xtensa/linux-unwind.h
|
||||||
;;
|
;;
|
||||||
@ -169,6 +167,3 @@ index 2c64756..2ee92c1 100644
|
|||||||
am33_2.0-*-linux*)
|
am33_2.0-*-linux*)
|
||||||
# Don't need crtbeginT.o from *-*-linux* default.
|
# Don't need crtbeginT.o from *-*-linux* default.
|
||||||
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||||
--
|
|
||||||
1.8.1.4
|
|
||||||
|
|
@ -60,7 +60,7 @@ Index: b/gcc/config.gcc
|
|||||||
*)
|
*)
|
||||||
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
|
tm_defines="$tm_defines DEFAULT_LIBC=LIBC_GLIBC"
|
||||||
;;
|
;;
|
||||||
@@ -2322,6 +2325,10 @@
|
@@ -2338,6 +2341,10 @@
|
||||||
powerpc*-*-linux*paired*)
|
powerpc*-*-linux*paired*)
|
||||||
tm_file="${tm_file} rs6000/750cl.h" ;;
|
tm_file="${tm_file} rs6000/750cl.h" ;;
|
||||||
esac
|
esac
|
||||||
@ -308,7 +308,7 @@ Index: b/gcc/config/microblaze/linux.h
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- a/gcc/config/microblaze/linux.h
|
--- a/gcc/config/microblaze/linux.h
|
||||||
+++ b/gcc/config/microblaze/linux.h
|
+++ b/gcc/config/microblaze/linux.h
|
||||||
@@ -25,7 +25,23 @@
|
@@ -28,7 +28,23 @@
|
||||||
#undef TLS_NEEDS_GOT
|
#undef TLS_NEEDS_GOT
|
||||||
#define TLS_NEEDS_GOT 1
|
#define TLS_NEEDS_GOT 1
|
||||||
|
|
||||||
@ -337,7 +337,7 @@ Index: b/gcc/config/rs6000/linux64.h
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- a/gcc/config/rs6000/linux64.h
|
--- a/gcc/config/rs6000/linux64.h
|
||||||
+++ b/gcc/config/rs6000/linux64.h
|
+++ b/gcc/config/rs6000/linux64.h
|
||||||
@@ -375,17 +375,23 @@
|
@@ -371,17 +371,23 @@
|
||||||
#endif
|
#endif
|
||||||
#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
|
#define UCLIBC_DYNAMIC_LINKER32 "/lib/ld-uClibc.so.0"
|
||||||
#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
|
#define UCLIBC_DYNAMIC_LINKER64 "/lib/ld64-uClibc.so.0"
|
||||||
@ -452,7 +452,7 @@ Index: b/gcc/configure
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- a/gcc/configure
|
--- a/gcc/configure
|
||||||
+++ b/gcc/configure
|
+++ b/gcc/configure
|
||||||
@@ -27449,6 +27453,9 @@
|
@@ -27601,6 +27601,9 @@
|
||||||
gcc_cv_target_dl_iterate_phdr=no
|
gcc_cv_target_dl_iterate_phdr=no
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@ -466,7 +466,7 @@ Index: b/gcc/configure.ac
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- a/gcc/configure.ac
|
--- a/gcc/configure.ac
|
||||||
+++ b/gcc/configure.ac
|
+++ b/gcc/configure.ac
|
||||||
@@ -5108,6 +5112,9 @@
|
@@ -5173,6 +5173,9 @@
|
||||||
gcc_cv_target_dl_iterate_phdr=no
|
gcc_cv_target_dl_iterate_phdr=no
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
@ -588,7 +588,7 @@ Index: b/libstdc++-v3/configure.host
|
|||||||
===================================================================
|
===================================================================
|
||||||
--- a/libstdc++-v3/configure.host
|
--- a/libstdc++-v3/configure.host
|
||||||
+++ b/libstdc++-v3/configure.host
|
+++ b/libstdc++-v3/configure.host
|
||||||
@@ -264,6 +264,13 @@
|
@@ -266,6 +266,13 @@
|
||||||
os_include_dir="os/bsd/freebsd"
|
os_include_dir="os/bsd/freebsd"
|
||||||
;;
|
;;
|
||||||
gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
|
gnu* | linux* | kfreebsd*-gnu | knetbsd*-gnu)
|
||||||
@ -602,7 +602,7 @@ Index: b/libstdc++-v3/configure.host
|
|||||||
if [ "$uclibc" = "yes" ]; then
|
if [ "$uclibc" = "yes" ]; then
|
||||||
os_include_dir="os/uclibc"
|
os_include_dir="os/uclibc"
|
||||||
elif [ "$bionic" = "yes" ]; then
|
elif [ "$bionic" = "yes" ]; then
|
||||||
@@ -272,6 +279,9 @@
|
@@ -274,6 +281,9 @@
|
||||||
os_include_dir="os/gnu-linux"
|
os_include_dir="os/gnu-linux"
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
@ -4,10 +4,11 @@ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71721
|
|||||||
|
|
||||||
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
|
||||||
|
|
||||||
diff -Nur gcc-4.9.3.orig/gcc/config.gcc gcc-4.9.3/gcc/config.gcc
|
Index: b/gcc/config.gcc
|
||||||
--- gcc-4.9.3.orig/gcc/config.gcc 2015-05-21 22:50:59.000000000 +0200
|
===================================================================
|
||||||
+++ gcc-4.9.3/gcc/config.gcc 2016-06-30 22:05:21.338233965 +0200
|
--- a/gcc/config.gcc
|
||||||
@@ -807,6 +807,9 @@
|
+++ b/gcc/config.gcc
|
||||||
|
@@ -810,6 +810,9 @@
|
||||||
*-*-uclinux*)
|
*-*-uclinux*)
|
||||||
extra_options="$extra_options gnu-user.opt"
|
extra_options="$extra_options gnu-user.opt"
|
||||||
use_gcc_stdint=wrap
|
use_gcc_stdint=wrap
|
@ -104,7 +104,7 @@ config BR2_GCC_VERSION
|
|||||||
string
|
string
|
||||||
default "4.7.4" if BR2_GCC_VERSION_4_7_X
|
default "4.7.4" if BR2_GCC_VERSION_4_7_X
|
||||||
default "4.8.5" if BR2_GCC_VERSION_4_8_X
|
default "4.8.5" if BR2_GCC_VERSION_4_8_X
|
||||||
default "4.9.3" if BR2_GCC_VERSION_4_9_X
|
default "4.9.4" if BR2_GCC_VERSION_4_9_X
|
||||||
default "5.4.0" if BR2_GCC_VERSION_5_X
|
default "5.4.0" if BR2_GCC_VERSION_5_X
|
||||||
default "6.1.0" if BR2_GCC_VERSION_6_X
|
default "6.1.0" if BR2_GCC_VERSION_6_X
|
||||||
default "arc-2016.09-eng007" if BR2_GCC_VERSION_4_8_ARC
|
default "arc-2016.09-eng007" if BR2_GCC_VERSION_4_8_ARC
|
||||||
|
@ -4,8 +4,8 @@ sha512 78696b287d46aacd6f150920da376ea32f58ad9f0dafd2d3b7fa6dbdd8dd7afe659108d1
|
|||||||
sha512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189 gcc-4.7.4.tar.bz2
|
sha512 dfcb737073191e628231031a3571ec77ee760a59377630f4a6e4fdfa66f9ddad39fde47e3f0f227eb43cdf90e0d34cde5abdc9ac892c1e111a911062a66c9189 gcc-4.7.4.tar.bz2
|
||||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.5/sha512.sum
|
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.8.5/sha512.sum
|
||||||
sha512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea gcc-4.8.5.tar.bz2
|
sha512 47fdfeca0c0a624cdec9c4ae47137d056c918d5c386d4b96985bb3c8172aba377cb66cbcc30e80832fd244a7d98f562c20198056915c70cfef0977545073a8ea gcc-4.8.5.tar.bz2
|
||||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.3/sha512.sum
|
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-4.9.4/sha512.sum
|
||||||
sha512 9ac57377a6975fc7adac704ec81355262b9f537def6955576753b87715470a20ee6a2a3144a79cc8fcba3443f7b44c7337d79d704b522d053f54f79aa6b442df gcc-4.9.3.tar.bz2
|
sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683fd2ebf707d1d51c059fad2161fe42d110c330027f40214b7db0f3efe gcc-4.9.4.tar.bz2
|
||||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.4.0/sha512.sum
|
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-5.4.0/sha512.sum
|
||||||
sha512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b gcc-5.4.0.tar.bz2
|
sha512 2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b gcc-5.4.0.tar.bz2
|
||||||
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.1.0/sha512.sum
|
# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.1.0/sha512.sum
|
||||||
|
Loading…
x
Reference in New Issue
Block a user