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:
		@@ -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}.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user