mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-26 00:22:47 +00:00
gcc: update gcc to version 5.4.0
The removed patches are already integrated in upstream gcc. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
parent
05cc72944c
commit
2d3917d5b5
@ -6,7 +6,7 @@ config GCC_VERSION
|
||||
string
|
||||
default "4.8-linaro" if GCC_VERSION_4_8_LINARO
|
||||
default "arc-2016.03" if GCC_VERSION_4_8_ARC
|
||||
default "5.3.0"
|
||||
default "5.4.0"
|
||||
|
||||
config GCC_VERSION_4_8
|
||||
bool
|
||||
|
@ -28,8 +28,8 @@ GCC_DIR:=$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_SOURCE_URL:=@GNU/gcc/gcc-$(PKG_VERSION)
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
|
||||
|
||||
ifeq ($(PKG_VERSION),5.3.0)
|
||||
PKG_MD5SUM:=c9616fd448f980259c31de613e575719
|
||||
ifeq ($(PKG_VERSION),5.4.0)
|
||||
PKG_MD5SUM:=4c626ac2a83ef30dfb9260e6f59c2b30
|
||||
endif
|
||||
|
||||
ifneq ($(CONFIG_GCC_VERSION_4_8_ARC),)
|
||||
|
@ -1,21 +0,0 @@
|
||||
Fix from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65932
|
||||
|
||||
--- a/gcc/config/arm/arm.h
|
||||
+++ b/gcc/config/arm/arm.h
|
||||
@@ -628,16 +628,10 @@ extern int arm_arch_crc;
|
||||
type, but kept valid in the wider mode. The signedness of the
|
||||
extension may differ from that of the type. */
|
||||
|
||||
-/* It is far faster to zero extend chars than to sign extend them */
|
||||
-
|
||||
#define PROMOTE_MODE(MODE, UNSIGNEDP, TYPE) \
|
||||
if (GET_MODE_CLASS (MODE) == MODE_INT \
|
||||
&& GET_MODE_SIZE (MODE) < 4) \
|
||||
{ \
|
||||
- if (MODE == QImode) \
|
||||
- UNSIGNEDP = 1; \
|
||||
- else if (MODE == HImode) \
|
||||
- UNSIGNEDP = 1; \
|
||||
(MODE) = SImode; \
|
||||
}
|
||||
|
@ -1,117 +0,0 @@
|
||||
Upstream commit r233720
|
||||
|
||||
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
|
||||
|
@ -217,7 +217,7 @@ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-8
|
||||
+Use musl C library
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -27802,6 +27802,9 @@ if test "${gcc_cv_libc_provides_ssp+set}
|
||||
@@ -27833,6 +27833,9 @@ if test "${gcc_cv_libc_provides_ssp+set}
|
||||
else
|
||||
gcc_cv_libc_provides_ssp=no
|
||||
case "$target" in
|
||||
@ -227,7 +227,7 @@ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-8
|
||||
*-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
|
||||
# glibc 2.4 and later provides __stack_chk_fail and
|
||||
# either __stack_chk_guard, or TLS access to stack guard canary.
|
||||
@@ -27834,6 +27837,7 @@ fi
|
||||
@@ -27865,6 +27868,7 @@ fi
|
||||
# <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
|
||||
# simply assert that glibc does provide this, which is true for all
|
||||
# realistically usable GNU/Hurd configurations.
|
||||
@ -235,7 +235,7 @@ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-8
|
||||
gcc_cv_libc_provides_ssp=yes;;
|
||||
*-*-darwin* | *-*-freebsd*)
|
||||
ac_fn_c_check_func "$LINENO" "__stack_chk_fail" "ac_cv_func___stack_chk_fail"
|
||||
@@ -27930,6 +27934,9 @@ case "$target" in
|
||||
@@ -27961,6 +27965,9 @@ case "$target" in
|
||||
gcc_cv_target_dl_iterate_phdr=no
|
||||
fi
|
||||
;;
|
||||
@ -247,7 +247,7 @@ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-8
|
||||
if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
|
||||
--- a/gcc/configure.ac
|
||||
+++ b/gcc/configure.ac
|
||||
@@ -5282,6 +5282,9 @@ AC_CACHE_CHECK(__stack_chk_fail in targe
|
||||
@@ -5287,6 +5287,9 @@ AC_CACHE_CHECK(__stack_chk_fail in targe
|
||||
gcc_cv_libc_provides_ssp,
|
||||
[gcc_cv_libc_provides_ssp=no
|
||||
case "$target" in
|
||||
@ -257,7 +257,7 @@ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-8
|
||||
*-*-linux* | *-*-kfreebsd*-gnu | *-*-knetbsd*-gnu)
|
||||
# glibc 2.4 and later provides __stack_chk_fail and
|
||||
# either __stack_chk_guard, or TLS access to stack guard canary.
|
||||
@@ -5308,6 +5311,7 @@ AC_CACHE_CHECK(__stack_chk_fail in targe
|
||||
@@ -5313,6 +5316,7 @@ AC_CACHE_CHECK(__stack_chk_fail in targe
|
||||
# <http://gcc.gnu.org/ml/gcc/2008-10/msg00130.html>) and for now
|
||||
# simply assert that glibc does provide this, which is true for all
|
||||
# realistically usable GNU/Hurd configurations.
|
||||
@ -265,7 +265,7 @@ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-8
|
||||
gcc_cv_libc_provides_ssp=yes;;
|
||||
*-*-darwin* | *-*-freebsd*)
|
||||
AC_CHECK_FUNC(__stack_chk_fail,[gcc_cv_libc_provides_ssp=yes],
|
||||
@@ -5381,6 +5385,9 @@ case "$target" in
|
||||
@@ -5386,6 +5390,9 @@ case "$target" in
|
||||
gcc_cv_target_dl_iterate_phdr=no
|
||||
fi
|
||||
;;
|
||||
@ -286,7 +286,7 @@ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222904 138bc75d-0d04-0410-961f-8
|
||||
-tno-android-cc -tno-android-ld}
|
||||
|
||||
@emph{H8/300 Options}
|
||||
@@ -15325,13 +15325,19 @@ These @samp{-m} options are defined for
|
||||
@@ -15340,13 +15340,19 @@ These @samp{-m} options are defined for
|
||||
@item -mglibc
|
||||
@opindex mglibc
|
||||
Use the GNU C library. This is the default except
|
@ -1,6 +1,6 @@
|
||||
--- a/gcc/config/rs6000/rs6000.c
|
||||
+++ b/gcc/config/rs6000/rs6000.c
|
||||
@@ -21495,7 +21495,7 @@ rs6000_savres_strategy (rs6000_stack_t *
|
||||
@@ -21500,7 +21500,7 @@ rs6000_savres_strategy (rs6000_stack_t *
|
||||
/* Define cutoff for using out-of-line functions to save registers. */
|
||||
if (DEFAULT_ABI == ABI_V4 || TARGET_ELF)
|
||||
{
|
@ -178,7 +178,7 @@
|
||||
-Wfatal-errors -Wfloat-equal -Wformat -Wformat=2 @gol
|
||||
-Wno-format-contains-nul -Wno-format-extra-args -Wformat-nonliteral @gol
|
||||
-Wformat-security -Wformat-signedness -Wformat-y2k @gol
|
||||
@@ -5371,6 +5371,22 @@ This option is only supported for C and
|
||||
@@ -5382,6 +5382,22 @@ This option is only supported for C and
|
||||
@option{-Wall} and by @option{-Wpedantic}, which can be disabled with
|
||||
@option{-Wno-pointer-sign}.
|
||||
|
||||
@ -201,7 +201,7 @@
|
||||
@item -Wstack-protector
|
||||
@opindex Wstack-protector
|
||||
@opindex Wno-stack-protector
|
||||
@@ -7845,7 +7861,7 @@ so, the first branch is redirected to ei
|
||||
@@ -7860,7 +7876,7 @@ so, the first branch is redirected to ei
|
||||
second branch or a point immediately following it, depending on whether
|
||||
the condition is known to be true or false.
|
||||
|
@ -1,6 +1,6 @@
|
||||
--- a/libstdc++-v3/include/Makefile.in
|
||||
+++ b/libstdc++-v3/include/Makefile.in
|
||||
@@ -1420,7 +1420,7 @@ stamp-bits: ${bits_headers}
|
||||
@@ -1421,7 +1421,7 @@ stamp-bits: ${bits_headers}
|
||||
@$(STAMP) stamp-bits
|
||||
|
||||
stamp-bits-sup: stamp-bits ${bits_sup_headers}
|
@ -64,7 +64,7 @@ Forward ported from attachment to https://gcc.gnu.org/bugzilla/show_bug.cgi?id=4
|
||||
|
||||
@item Machine Dependent Options
|
||||
@xref{Submodel Options,,Hardware Models and Configurations}.
|
||||
@@ -11464,6 +11464,12 @@ be searched for header files only for th
|
||||
@@ -11479,6 +11479,12 @@ be searched for header files only for th
|
||||
"@var{file}"}; they are not searched for @code{#include <@var{file}>},
|
||||
otherwise just like @option{-I}.
|
||||
|
Loading…
Reference in New Issue
Block a user