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:
Hauke Mehrtens 2016-07-13 12:19:42 +02:00
parent 05cc72944c
commit 2d3917d5b5
39 changed files with 15 additions and 153 deletions

View file

@ -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

View file

@ -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),)

View file

@ -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; \
}

View file

@ -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

View file

@ -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

View file

@ -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)
{

View file

@ -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.

View file

@ -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}

View file

@ -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}.