gcc: bump 7.x series to 7.2.0
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Wed, 16 Aug 2017 20:30:25 +0000 (22:30 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 21 Aug 2017 21:30:39 +0000 (23:30 +0200)
All patches continue to apply with no changes. 7.2.0 is a bugfix
release of the 7.x branch.

The only change that is not a simple bump is that the 7.2.0 tarball is
now available xz-compressed instead of bz2-compressed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
15 files changed:
package/gcc/7.1.0/0100-uclibc-conf.patch [deleted file]
package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch [deleted file]
package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch [deleted file]
package/gcc/7.1.0/0891-fix-m68k-uclinux.patch [deleted file]
package/gcc/7.1.0/0892-microblaze-Revert.patch [deleted file]
package/gcc/7.1.0/0900-remove-selftests.patch [deleted file]
package/gcc/7.2.0/0100-uclibc-conf.patch [new file with mode: 0644]
package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch [new file with mode: 0644]
package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch [new file with mode: 0644]
package/gcc/7.2.0/0891-fix-m68k-uclinux.patch [new file with mode: 0644]
package/gcc/7.2.0/0892-microblaze-Revert.patch [new file with mode: 0644]
package/gcc/7.2.0/0900-remove-selftests.patch [new file with mode: 0644]
package/gcc/Config.in.host
package/gcc/gcc.hash
package/gcc/gcc.mk

diff --git a/package/gcc/7.1.0/0100-uclibc-conf.patch b/package/gcc/7.1.0/0100-uclibc-conf.patch
deleted file mode 100644 (file)
index d354baf..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Tue, 2 May 2017 22:36:15 +0200
-Subject: [PATCH] uclibc-conf
-
-[Romain: convert to git patch]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- contrib/regression/objs-gcc.sh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh
-index 60b0497..6dc7ead 100755
---- a/contrib/regression/objs-gcc.sh
-+++ b/contrib/regression/objs-gcc.sh
-@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ]
-  then
-   make all-gdb all-dejagnu all-ld || exit 1
-   make install-gdb install-dejagnu install-ld || exit 1
-+elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
-+ then
-+  make all-gdb all-dejagnu all-ld || exit 1
-+  make install-gdb install-dejagnu install-ld || exit 1
- elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
-   make bootstrap || exit 1
-   make install || exit 1
--- 
-2.9.3
-
diff --git a/package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.1.0/0810-arm-softfloat-libgcc.patch
deleted file mode 100644 (file)
index 63880dd..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-From 420a304ac0daa29d66da6ed5b0b49fc4c482d522 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Tue, 2 May 2017 22:46:18 +0200
-Subject: [PATCH] arm softfloat libgcc
-
-[Romain: convert to git patch]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- gcc/config/arm/linux-elf.h | 2 +-
- libgcc/config/arm/t-linux  | 7 ++++++-
- 2 files changed, 7 insertions(+), 2 deletions(-)
-
-diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
-index 3d62367..dad0b97 100644
---- a/gcc/config/arm/linux-elf.h
-+++ b/gcc/config/arm/linux-elf.h
-@@ -58,7 +58,7 @@
-    %{shared:-lc} \
-    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
--#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
-+#define LIBGCC_SPEC "-lgcc"
- #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
-diff --git a/libgcc/config/arm/t-linux b/libgcc/config/arm/t-linux
-index 3d520de..e7bc042 100644
---- a/libgcc/config/arm/t-linux
-+++ b/libgcc/config/arm/t-linux
-@@ -1,6 +1,11 @@
- LIB1ASMSRC = arm/lib1funcs.S
- LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
--      _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
-+      _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
-+      _arm_addsubdf3 _arm_addsubsf3 \
-+      _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
-+      _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
-+      _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
-+      _arm_fixsfsi _arm_fixunssfsi
- # Just for these, we omit the frame pointer since it makes such a big
- # difference.
--- 
-2.9.3
-
diff --git a/package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.1.0/0860-cilk-fix-build-without-wchar.patch
deleted file mode 100644 (file)
index 61ab01c..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001
-From: Peter Korsgaard <peter@korsgaard.com>
-Date: Tue, 2 May 2017 23:21:46 +0200
-Subject: [PATCH] cilk: fix build without wchar
-
-When building against uClibc with wchar support disabled, WCHAR_MIN and
-WCHAR_MAX are not defined leading to compilation errors.
-
-Fix it by only including the wchar code if available.
-
-Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
-[Romain: convert to git patch]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/libcilkrts/include/cilk/reducer_min_max.h b/libcilkrts/include/cilk/reducer_min_max.h
-index 641aa82..4f8e010 100644
---- a/libcilkrts/include/cilk/reducer_min_max.h
-+++ b/libcilkrts/include/cilk/reducer_min_max.h
-@@ -3289,7 +3289,9 @@ __CILKRTS_BEGIN_EXTERN_C
- CILK_C_REDUCER_MAX_INSTANCE(char,               char,       CHAR_MIN)
- CILK_C_REDUCER_MAX_INSTANCE(unsigned char,      uchar,      0)
- CILK_C_REDUCER_MAX_INSTANCE(signed char,        schar,      SCHAR_MIN)
-+#ifdef WCHAR_MIN
- CILK_C_REDUCER_MAX_INSTANCE(wchar_t,            wchar_t,    WCHAR_MIN)
-+#endif
- CILK_C_REDUCER_MAX_INSTANCE(short,              short,      SHRT_MIN)
- CILK_C_REDUCER_MAX_INSTANCE(unsigned short,     ushort,     0)
- CILK_C_REDUCER_MAX_INSTANCE(int,                int,        INT_MIN)
-@@ -3441,7 +3443,9 @@ __CILKRTS_BEGIN_EXTERN_C
- CILK_C_REDUCER_MAX_INDEX_INSTANCE(char,               char,       CHAR_MIN)
- CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char,      uchar,      0)
- CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char,        schar,      SCHAR_MIN)
-+#ifdef WCHAR_MIN
- CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t,            wchar_t,    WCHAR_MIN)
-+#endif
- CILK_C_REDUCER_MAX_INDEX_INSTANCE(short,              short,      SHRT_MIN)
- CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short,     ushort,     0)
- CILK_C_REDUCER_MAX_INDEX_INSTANCE(int,                int,        INT_MIN)
-@@ -3567,7 +3571,9 @@ __CILKRTS_BEGIN_EXTERN_C
- CILK_C_REDUCER_MIN_INSTANCE(char,               char,       CHAR_MAX)
- CILK_C_REDUCER_MIN_INSTANCE(unsigned char,      uchar,      CHAR_MAX)
- CILK_C_REDUCER_MIN_INSTANCE(signed char,        schar,      SCHAR_MAX)
-+#ifdef WCHAR_MAX
- CILK_C_REDUCER_MIN_INSTANCE(wchar_t,            wchar_t,    WCHAR_MAX)
-+#endif
- CILK_C_REDUCER_MIN_INSTANCE(short,              short,      SHRT_MAX)
- CILK_C_REDUCER_MIN_INSTANCE(unsigned short,     ushort,     USHRT_MAX)
- CILK_C_REDUCER_MIN_INSTANCE(int,                int,        INT_MAX)
-@@ -3719,7 +3725,9 @@ __CILKRTS_BEGIN_EXTERN_C
- CILK_C_REDUCER_MIN_INDEX_INSTANCE(char,               char,       CHAR_MAX)
- CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char,      uchar,      CHAR_MAX)
- CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char,        schar,      SCHAR_MAX)
-+#ifdef WCHAR_MAX
- CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t,            wchar_t,    WCHAR_MAX)
-+#endif
- CILK_C_REDUCER_MIN_INDEX_INSTANCE(short,              short,      SHRT_MAX)
- CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short,     ushort,     USHRT_MAX)
- CILK_C_REDUCER_MIN_INDEX_INSTANCE(int,                int,        INT_MAX)
--- 
-2.9.3
-
diff --git a/package/gcc/7.1.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.1.0/0891-fix-m68k-uclinux.patch
deleted file mode 100644 (file)
index e84fd92..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-From c2773170a1b0e2728f71f2275a99fd177ba2cef4 Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Tue, 2 May 2017 23:25:17 +0200
-Subject: [PATCH] fix m68k uclinux avoids internal compiler error while
- compiling linux-atomic.c See here:
- https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
-
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-[Romain: convert to git patch]
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- libgcc/config.host | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/libgcc/config.host b/libgcc/config.host
-index b279a64..04fe183 100644
---- a/libgcc/config.host
-+++ b/libgcc/config.host
-@@ -820,7 +820,7 @@ m68k*-*-netbsdelf*)
- m68k*-*-openbsd*)
-       ;;
- m68k-*-uclinux*)      # Motorola m68k/ColdFire running uClinux with uClibc
--      tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
-+      tmake_file="$tmake_file m68k/t-floatlib"
-       md_unwind_header=m68k/linux-unwind.h
-       ;;
- m68k-*-linux*)                        # Motorola m68k's running GNU/Linux
--- 
-2.9.3
-
diff --git a/package/gcc/7.1.0/0892-microblaze-Revert.patch b/package/gcc/7.1.0/0892-microblaze-Revert.patch
deleted file mode 100644 (file)
index 7026d0e..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-From 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 Mon Sep 17 00:00:00 2001
-From: eager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Sat, 27 May 2017 18:29:40 +0000
-Subject: [PATCH]       Revert:         2016-01-21  Ajit Agarwal 
- <ajitkum@xilinx.com>
-
-       See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html.
-
-       * config/microblaze/microblaze.h
-       (FIXED_REGISTERS): Update in macro.
-       (CALL_USED_REGISTERS): Update in macro.
-
-
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4
-Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
-diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
-index 66e4ef5..2c9ece1 100644
---- a/gcc/config/microblaze/microblaze.h
-+++ b/gcc/config/microblaze/microblaze.h
-@@ -269,14 +269,14 @@ extern enum pipeline_type microblaze_pipe;
- #define FIXED_REGISTERS                                                       \
- {                                                                     \
-   1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,                     \
--  1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                     \
-+  1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                     \
-   1, 1, 1, 1                                                          \
- }
- #define CALL_USED_REGISTERS                                           \
- {                                                                     \
-   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,                     \
--  1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                     \
-+  1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                     \
-   1, 1, 1, 1                                                          \
- }
- #define GP_REG_FIRST    0
--- 
-2.1.4
-
diff --git a/package/gcc/7.1.0/0900-remove-selftests.patch b/package/gcc/7.1.0/0900-remove-selftests.patch
deleted file mode 100644 (file)
index a3bc7a5..0000000
+++ /dev/null
@@ -1,111 +0,0 @@
-From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@gmail.com>
-Date: Wed, 3 May 2017 00:37:06 +0200
-Subject: [PATCH] remove selftests
-
-When the gcc archive is extracted by the gcc.mk, the gcc/testsuite
-is excluded:
-
-HOST_GCC_EXCLUDES = \
-       libjava/* libgo/* \
-       gcc/testsuite/* libstdc++-v3/testsuite/*
-
-The new Makefile target from the "Selftest framework" [1] added a dependency
-on the gcc/testsuite/Makefile.
-Revert partially the commit [1] to allow building gcc without selftest.
-
-[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9
-
-Signed-off-by: Romain Naour <romain.naour@gmail.com>
----
- gcc/Makefile.in | 46 +++++-----------------------------------------
- 1 file changed, 5 insertions(+), 41 deletions(-)
-
-diff --git a/gcc/Makefile.in b/gcc/Makefile.in
-index 74d1912..652a554 100644
---- a/gcc/Makefile.in
-+++ b/gcc/Makefile.in
-@@ -1581,14 +1581,13 @@ OBJS = \
- OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \
-       edit-context.o \
-       pretty-print.o intl.o \
--      vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \
--      selftest.o
-+      vec.o input.o version.o hash-table.o ggc-none.o memory-block.o
- # Objects in libcommon-target.a, used by drivers and by the core
- # compiler and containing target-dependent code.
- OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \
-       opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \
--      hash-table.o file-find.o spellcheck.o selftest.o
-+      hash-table.o file-find.o spellcheck.o
- # This lists all host objects for the front ends.
- ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
-@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc
- quickstrap: all
-       cd $(toplevel_builddir) && $(MAKE) all-target-libgcc
--all.internal: start.encap rest.encap doc selftest
-+all.internal: start.encap rest.encap doc
- # This is what to compile if making a cross-compiler.
- all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \
--      libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra
-+      libgcc-support lang.all.cross doc @GENINSRC@ srcextra
- # This is what must be made before installing GCC and converting libraries.
- start.encap: native xgcc$(exeext) cpp$(exeext) specs \
-       libgcc-support lang.start.encap @GENINSRC@ srcextra
-@@ -1888,41 +1887,6 @@ endif
- # This does the things that can't be done on the host machine.
- rest.cross: specs
--# GCC's selftests.
--# Specify a dummy input file to placate the driver.
--# Specify -nostdinc to work around missing WIND_BASE environment variable
--# required for *-wrs-vxworks-* targets.
--# Specify -o /dev/null so the output of -S is discarded. More importantly
--# It does not try to create a file with the name "null.s" on POSIX and
--# "nul.s" on Windows. Because on Windows "nul" is a reserved file name.
--# Specify the path to gcc/testsuite/selftests within the srcdir
--# as an argument to -fself-test.
--SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \
--      -fself-test=$(srcdir)/testsuite/selftests
--
--# Run the selftests during the build once we have a driver and a cc1,
--# so that self-test failures are caught as early as possible.
--# Use "s-selftest" to ensure that we only run the selftests if the
--# driver, cc1, or selftest data change.
--.PHONY: selftest
--selftest: s-selftest
--s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \
--  $(srcdir)/testsuite/selftests
--      $(GCC_FOR_TARGET) $(SELFTEST_FLAGS)
--      $(STAMP) $@
--
--# Convenience method for running selftests under gdb:
--.PHONY: selftest-gdb
--selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
--      $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \
--        -wrapper gdb,--args
--
--# Convenience method for running selftests under valgrind:
--.PHONY: selftest-valgrind
--selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
--      $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \
--        -wrapper valgrind,--leak-check=full
--
- # Recompile all the language-independent object files.
- # This is used only if the user explicitly asks for it.
- compilations: $(BACKEND)
-@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c
-       cp $^ $@
- COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \
--  collect-utils.o file-find.o hash-table.o selftest.o
-+  collect-utils.o file-find.o hash-table.o
- COLLECT2_LIBS = @COLLECT2_LIBS@
- collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS)
- # Don't try modifying collect2 (aka ld) in place--it might be linking this.
--- 
-2.9.3
-
diff --git a/package/gcc/7.2.0/0100-uclibc-conf.patch b/package/gcc/7.2.0/0100-uclibc-conf.patch
new file mode 100644 (file)
index 0000000..d354baf
--- /dev/null
@@ -0,0 +1,29 @@
+From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Tue, 2 May 2017 22:36:15 +0200
+Subject: [PATCH] uclibc-conf
+
+[Romain: convert to git patch]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ contrib/regression/objs-gcc.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/contrib/regression/objs-gcc.sh b/contrib/regression/objs-gcc.sh
+index 60b0497..6dc7ead 100755
+--- a/contrib/regression/objs-gcc.sh
++++ b/contrib/regression/objs-gcc.sh
+@@ -106,6 +106,10 @@ if [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-gnu ]
+  then
+   make all-gdb all-dejagnu all-ld || exit 1
+   make install-gdb install-dejagnu install-ld || exit 1
++elif [ $H_REAL_TARGET = $H_REAL_HOST -a $H_REAL_TARGET = i686-pc-linux-uclibc ]
++ then
++  make all-gdb all-dejagnu all-ld || exit 1
++  make install-gdb install-dejagnu install-ld || exit 1
+ elif [ $H_REAL_TARGET = $H_REAL_HOST ] ; then
+   make bootstrap || exit 1
+   make install || exit 1
+-- 
+2.9.3
+
diff --git a/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch
new file mode 100644 (file)
index 0000000..63880dd
--- /dev/null
@@ -0,0 +1,45 @@
+From 420a304ac0daa29d66da6ed5b0b49fc4c482d522 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Tue, 2 May 2017 22:46:18 +0200
+Subject: [PATCH] arm softfloat libgcc
+
+[Romain: convert to git patch]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ gcc/config/arm/linux-elf.h | 2 +-
+ libgcc/config/arm/t-linux  | 7 ++++++-
+ 2 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/gcc/config/arm/linux-elf.h b/gcc/config/arm/linux-elf.h
+index 3d62367..dad0b97 100644
+--- a/gcc/config/arm/linux-elf.h
++++ b/gcc/config/arm/linux-elf.h
+@@ -58,7 +58,7 @@
+    %{shared:-lc} \
+    %{!shared:%{profile:-lc_p}%{!profile:-lc}}"
+-#define LIBGCC_SPEC "%{mfloat-abi=soft*:-lfloat} -lgcc"
++#define LIBGCC_SPEC "-lgcc"
+ #define GLIBC_DYNAMIC_LINKER "/lib/ld-linux.so.2"
+diff --git a/libgcc/config/arm/t-linux b/libgcc/config/arm/t-linux
+index 3d520de..e7bc042 100644
+--- a/libgcc/config/arm/t-linux
++++ b/libgcc/config/arm/t-linux
+@@ -1,6 +1,11 @@
+ LIB1ASMSRC = arm/lib1funcs.S
+ LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_lnx _clzsi2 _clzdi2 \
+-      _ctzsi2 _arm_addsubdf3 _arm_addsubsf3
++      _ctzsi2 _arm_addsubdf3 _arm_addsubsf3 \
++      _arm_addsubdf3 _arm_addsubsf3 \
++      _arm_negdf2 _arm_muldivdf3 _arm_cmpdf2 _arm_unorddf2 \
++      _arm_fixdfsi _arm_fixunsdfsi _arm_truncdfsf2 \
++      _arm_negsf2 _arm_muldivsf3 _arm_cmpsf2 _arm_unordsf2 \
++      _arm_fixsfsi _arm_fixunssfsi
+ # Just for these, we omit the frame pointer since it makes such a big
+ # difference.
+-- 
+2.9.3
+
diff --git a/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch
new file mode 100644 (file)
index 0000000..61ab01c
--- /dev/null
@@ -0,0 +1,64 @@
+From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <peter@korsgaard.com>
+Date: Tue, 2 May 2017 23:21:46 +0200
+Subject: [PATCH] cilk: fix build without wchar
+
+When building against uClibc with wchar support disabled, WCHAR_MIN and
+WCHAR_MAX are not defined leading to compilation errors.
+
+Fix it by only including the wchar code if available.
+
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+[Romain: convert to git patch]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ libcilkrts/include/cilk/reducer_min_max.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/libcilkrts/include/cilk/reducer_min_max.h b/libcilkrts/include/cilk/reducer_min_max.h
+index 641aa82..4f8e010 100644
+--- a/libcilkrts/include/cilk/reducer_min_max.h
++++ b/libcilkrts/include/cilk/reducer_min_max.h
+@@ -3289,7 +3289,9 @@ __CILKRTS_BEGIN_EXTERN_C
+ CILK_C_REDUCER_MAX_INSTANCE(char,               char,       CHAR_MIN)
+ CILK_C_REDUCER_MAX_INSTANCE(unsigned char,      uchar,      0)
+ CILK_C_REDUCER_MAX_INSTANCE(signed char,        schar,      SCHAR_MIN)
++#ifdef WCHAR_MIN
+ CILK_C_REDUCER_MAX_INSTANCE(wchar_t,            wchar_t,    WCHAR_MIN)
++#endif
+ CILK_C_REDUCER_MAX_INSTANCE(short,              short,      SHRT_MIN)
+ CILK_C_REDUCER_MAX_INSTANCE(unsigned short,     ushort,     0)
+ CILK_C_REDUCER_MAX_INSTANCE(int,                int,        INT_MIN)
+@@ -3441,7 +3443,9 @@ __CILKRTS_BEGIN_EXTERN_C
+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(char,               char,       CHAR_MIN)
+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned char,      uchar,      0)
+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(signed char,        schar,      SCHAR_MIN)
++#ifdef WCHAR_MIN
+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(wchar_t,            wchar_t,    WCHAR_MIN)
++#endif
+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(short,              short,      SHRT_MIN)
+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(unsigned short,     ushort,     0)
+ CILK_C_REDUCER_MAX_INDEX_INSTANCE(int,                int,        INT_MIN)
+@@ -3567,7 +3571,9 @@ __CILKRTS_BEGIN_EXTERN_C
+ CILK_C_REDUCER_MIN_INSTANCE(char,               char,       CHAR_MAX)
+ CILK_C_REDUCER_MIN_INSTANCE(unsigned char,      uchar,      CHAR_MAX)
+ CILK_C_REDUCER_MIN_INSTANCE(signed char,        schar,      SCHAR_MAX)
++#ifdef WCHAR_MAX
+ CILK_C_REDUCER_MIN_INSTANCE(wchar_t,            wchar_t,    WCHAR_MAX)
++#endif
+ CILK_C_REDUCER_MIN_INSTANCE(short,              short,      SHRT_MAX)
+ CILK_C_REDUCER_MIN_INSTANCE(unsigned short,     ushort,     USHRT_MAX)
+ CILK_C_REDUCER_MIN_INSTANCE(int,                int,        INT_MAX)
+@@ -3719,7 +3725,9 @@ __CILKRTS_BEGIN_EXTERN_C
+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(char,               char,       CHAR_MAX)
+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned char,      uchar,      CHAR_MAX)
+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(signed char,        schar,      SCHAR_MAX)
++#ifdef WCHAR_MAX
+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(wchar_t,            wchar_t,    WCHAR_MAX)
++#endif
+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(short,              short,      SHRT_MAX)
+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(unsigned short,     ushort,     USHRT_MAX)
+ CILK_C_REDUCER_MIN_INDEX_INSTANCE(int,                int,        INT_MAX)
+-- 
+2.9.3
+
diff --git a/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch
new file mode 100644 (file)
index 0000000..e84fd92
--- /dev/null
@@ -0,0 +1,30 @@
+From c2773170a1b0e2728f71f2275a99fd177ba2cef4 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Tue, 2 May 2017 23:25:17 +0200
+Subject: [PATCH] fix m68k uclinux avoids internal compiler error while
+ compiling linux-atomic.c See here:
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53833
+
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+[Romain: convert to git patch]
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ libgcc/config.host | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/libgcc/config.host b/libgcc/config.host
+index b279a64..04fe183 100644
+--- a/libgcc/config.host
++++ b/libgcc/config.host
+@@ -820,7 +820,7 @@ m68k*-*-netbsdelf*)
+ m68k*-*-openbsd*)
+       ;;
+ m68k-*-uclinux*)      # Motorola m68k/ColdFire running uClinux with uClibc
+-      tmake_file="$tmake_file m68k/t-floatlib m68k/t-linux"
++      tmake_file="$tmake_file m68k/t-floatlib"
+       md_unwind_header=m68k/linux-unwind.h
+       ;;
+ m68k-*-linux*)                        # Motorola m68k's running GNU/Linux
+-- 
+2.9.3
+
diff --git a/package/gcc/7.2.0/0892-microblaze-Revert.patch b/package/gcc/7.2.0/0892-microblaze-Revert.patch
new file mode 100644 (file)
index 0000000..7026d0e
--- /dev/null
@@ -0,0 +1,40 @@
+From 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 Mon Sep 17 00:00:00 2001
+From: eager <eager@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Sat, 27 May 2017 18:29:40 +0000
+Subject: [PATCH]       Revert:         2016-01-21  Ajit Agarwal 
+ <ajitkum@xilinx.com>
+
+       See https://gcc.gnu.org/ml/gcc/2017-05/msg00221.html.
+
+       * config/microblaze/microblaze.h
+       (FIXED_REGISTERS): Update in macro.
+       (CALL_USED_REGISTERS): Update in macro.
+
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@248540 138bc75d-0d04-0410-961f-82ee72b054a4
+Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
+diff --git a/gcc/config/microblaze/microblaze.h b/gcc/config/microblaze/microblaze.h
+index 66e4ef5..2c9ece1 100644
+--- a/gcc/config/microblaze/microblaze.h
++++ b/gcc/config/microblaze/microblaze.h
+@@ -269,14 +269,14 @@ extern enum pipeline_type microblaze_pipe;
+ #define FIXED_REGISTERS                                                       \
+ {                                                                     \
+   1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,                     \
+-  1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                     \
++  1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                     \
+   1, 1, 1, 1                                                          \
+ }
+ #define CALL_USED_REGISTERS                                           \
+ {                                                                     \
+   1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,                     \
+-  1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                     \
++  1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,                     \
+   1, 1, 1, 1                                                          \
+ }
+ #define GP_REG_FIRST    0
+-- 
+2.1.4
+
diff --git a/package/gcc/7.2.0/0900-remove-selftests.patch b/package/gcc/7.2.0/0900-remove-selftests.patch
new file mode 100644 (file)
index 0000000..a3bc7a5
--- /dev/null
@@ -0,0 +1,111 @@
+From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@gmail.com>
+Date: Wed, 3 May 2017 00:37:06 +0200
+Subject: [PATCH] remove selftests
+
+When the gcc archive is extracted by the gcc.mk, the gcc/testsuite
+is excluded:
+
+HOST_GCC_EXCLUDES = \
+       libjava/* libgo/* \
+       gcc/testsuite/* libstdc++-v3/testsuite/*
+
+The new Makefile target from the "Selftest framework" [1] added a dependency
+on the gcc/testsuite/Makefile.
+Revert partially the commit [1] to allow building gcc without selftest.
+
+[1] https://github.com/gcc-mirror/gcc/commit/99b4f3a2d5bf2c137de9731e27b483eb6b462fd9
+
+Signed-off-by: Romain Naour <romain.naour@gmail.com>
+---
+ gcc/Makefile.in | 46 +++++-----------------------------------------
+ 1 file changed, 5 insertions(+), 41 deletions(-)
+
+diff --git a/gcc/Makefile.in b/gcc/Makefile.in
+index 74d1912..652a554 100644
+--- a/gcc/Makefile.in
++++ b/gcc/Makefile.in
+@@ -1581,14 +1581,13 @@ OBJS = \
+ OBJS-libcommon = diagnostic.o diagnostic-color.o diagnostic-show-locus.o \
+       edit-context.o \
+       pretty-print.o intl.o \
+-      vec.o input.o version.o hash-table.o ggc-none.o memory-block.o \
+-      selftest.o
++      vec.o input.o version.o hash-table.o ggc-none.o memory-block.o
+ # Objects in libcommon-target.a, used by drivers and by the core
+ # compiler and containing target-dependent code.
+ OBJS-libcommon-target = $(common_out_object_file) prefix.o params.o \
+       opts.o opts-common.o options.o vec.o hooks.o common/common-targhooks.o \
+-      hash-table.o file-find.o spellcheck.o selftest.o
++      hash-table.o file-find.o spellcheck.o
+ # This lists all host objects for the front ends.
+ ALL_HOST_FRONTEND_OBJS = $(foreach v,$(CONFIG_LANGUAGES),$($(v)_OBJS))
+@@ -1865,10 +1864,10 @@ config.status: $(srcdir)/configure $(srcdir)/config.gcc
+ quickstrap: all
+       cd $(toplevel_builddir) && $(MAKE) all-target-libgcc
+-all.internal: start.encap rest.encap doc selftest
++all.internal: start.encap rest.encap doc
+ # This is what to compile if making a cross-compiler.
+ all.cross: native gcc-cross$(exeext) cpp$(exeext) specs \
+-      libgcc-support lang.all.cross doc selftest @GENINSRC@ srcextra
++      libgcc-support lang.all.cross doc @GENINSRC@ srcextra
+ # This is what must be made before installing GCC and converting libraries.
+ start.encap: native xgcc$(exeext) cpp$(exeext) specs \
+       libgcc-support lang.start.encap @GENINSRC@ srcextra
+@@ -1888,41 +1887,6 @@ endif
+ # This does the things that can't be done on the host machine.
+ rest.cross: specs
+-# GCC's selftests.
+-# Specify a dummy input file to placate the driver.
+-# Specify -nostdinc to work around missing WIND_BASE environment variable
+-# required for *-wrs-vxworks-* targets.
+-# Specify -o /dev/null so the output of -S is discarded. More importantly
+-# It does not try to create a file with the name "null.s" on POSIX and
+-# "nul.s" on Windows. Because on Windows "nul" is a reserved file name.
+-# Specify the path to gcc/testsuite/selftests within the srcdir
+-# as an argument to -fself-test.
+-SELFTEST_FLAGS = -nostdinc -x c /dev/null -S -o /dev/null \
+-      -fself-test=$(srcdir)/testsuite/selftests
+-
+-# Run the selftests during the build once we have a driver and a cc1,
+-# so that self-test failures are caught as early as possible.
+-# Use "s-selftest" to ensure that we only run the selftests if the
+-# driver, cc1, or selftest data change.
+-.PHONY: selftest
+-selftest: s-selftest
+-s-selftest: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs \
+-  $(srcdir)/testsuite/selftests
+-      $(GCC_FOR_TARGET) $(SELFTEST_FLAGS)
+-      $(STAMP) $@
+-
+-# Convenience method for running selftests under gdb:
+-.PHONY: selftest-gdb
+-selftest-gdb: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
+-      $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \
+-        -wrapper gdb,--args
+-
+-# Convenience method for running selftests under valgrind:
+-.PHONY: selftest-valgrind
+-selftest-valgrind: $(GCC_PASSES) cc1$(exeext) stmp-int-hdrs
+-      $(GCC_FOR_TARGET) $(SELFTEST_FLAGS) \
+-        -wrapper valgrind,--leak-check=full
+-
+ # Recompile all the language-independent object files.
+ # This is used only if the user explicitly asks for it.
+ compilations: $(BACKEND)
+@@ -2076,7 +2040,7 @@ gcc-nm.c: gcc-ar.c
+       cp $^ $@
+ COLLECT2_OBJS = collect2.o collect2-aix.o tlink.o vec.o ggc-none.o \
+-  collect-utils.o file-find.o hash-table.o selftest.o
++  collect-utils.o file-find.o hash-table.o
+ COLLECT2_LIBS = @COLLECT2_LIBS@
+ collect2$(exeext): $(COLLECT2_OBJS) $(LIBDEPS)
+ # Don't try modifying collect2 (aka ld) in place--it might be linking this.
+-- 
+2.9.3
+
index 485755a15d3bced1920e2f0fea72d07b46402c27..6f82fe095d80d187ae6adb064989105344367314 100644 (file)
@@ -92,7 +92,7 @@ config BR2_GCC_VERSION
        default "4.9.4"     if BR2_GCC_VERSION_4_9_X
        default "5.4.0"     if BR2_GCC_VERSION_5_X
        default "6.4.0"     if BR2_GCC_VERSION_6_X
-       default "7.1.0"     if BR2_GCC_VERSION_7_X
+       default "7.2.0"     if BR2_GCC_VERSION_7_X
        default "arc-2017.03" if BR2_GCC_VERSION_ARC
        default "musl-5.4.0" if BR2_GCC_VERSION_OR1K
 
index c3e5ffb4b1324f43cf69ec39691207a284be69cf..f35a2e2b55fa536b23410ca843374be41f498dfa 100644 (file)
@@ -4,8 +4,8 @@ sha512  93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683
 sha512  2941cc950c8f2409a314df497631f9b0266211aa74746c1839c46e04f1c7c299afe2528d1ef16ea39def408a644ba48f97519ec7a7dd37d260c3e9423514265b  gcc-5.4.0.tar.bz2
 # From ftp://gcc.gnu.org/pub/gcc/releases/gcc-6.4.0/sha512.sum
 sha512  02c60e54527c7adf584798d5251f8a0b80c93d5deafce82501b2c28e6692e0bd783927bbfc4bc527a863c0cccc025150a34740a9e29badb02d4b48e56a8aba90  gcc-6.4.0.tar.xz
-# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.1.0/sha512.sum
-sha512  b5d952be9a10f0e0926bb2868877d10544039d6d2f35ba0a08f51231dd622a007650764a03e173194701467547789ad7d2d9cbc10adcdf118d619cdedbd14aec  gcc-7.1.0.tar.bz2
+# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.2.0/sha512.sum
+sha512  f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1  gcc-7.2.0.tar.xz
 
 # Locally calculated (fetched from Github)
 sha512  282f76b8b63372f5b4426092b80d36da96cd0bda2a8588405b9ec22806c69fafb696b0e0df65bc36c3c3aa8ce5befc24246fd5c6ddb21dcde01f45f7b11ff7c4  gcc-arc-2017.03.tar.gz
index 6ee840e3b95b100b28f75d49f7d44ab2418e71bf..49ccccf56ff5349da4e01de8a94c77decd6f80d6 100644 (file)
@@ -18,9 +18,9 @@ GCC_SITE = $(call github,openrisc,or1k-gcc,$(GCC_VERSION))
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.gz
 else
 GCC_SITE = $(BR2_GNU_MIRROR:/=)/gcc/gcc-$(GCC_VERSION)
-# From version 6.4.0 a bz2 release tarball is not provided anymore. Use the xz
-# tarball instead.
-ifeq ($(BR2_GCC_VERSION_6_X),y)
+# From version 6.4.0 and 7.2.0 a bz2 release tarball is not provided
+# anymore. Use the xz tarball instead.
+ifeq ($(BR2_GCC_VERSION_6_X)$(BR2_GCC_VERSION_7_X),y)
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.xz
 else
 GCC_SOURCE = gcc-$(GCC_VERSION).tar.bz2