From: Romain Naour Date: Sat, 27 Jan 2018 20:30:44 +0000 (+0100) Subject: package/gcc: bump 7.x series to 7.3.0 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e9ec7ae71ce12932e3d5f56f96da3b39279e7477;p=buildroot.git package/gcc: bump 7.x series to 7.3.0 Remove upstream patches: 0870-xtensa-fix-PR-target-82181.patch 0893-ARC-Configure-script-to-allow-non-uclibc-based-tripl.patch See: https://www.mail-archive.com/gcc@gcc.gnu.org/msg84336.html Signed-off-by: Romain Naour Signed-off-by: Peter Korsgaard --- diff --git a/package/gcc/7.2.0/0100-uclibc-conf.patch b/package/gcc/7.2.0/0100-uclibc-conf.patch deleted file mode 100644 index d354baf81f..0000000000 --- a/package/gcc/7.2.0/0100-uclibc-conf.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 2 May 2017 22:36:15 +0200 -Subject: [PATCH] uclibc-conf - -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - 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 deleted file mode 100644 index 63880dd091..0000000000 --- a/package/gcc/7.2.0/0810-arm-softfloat-libgcc.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 420a304ac0daa29d66da6ed5b0b49fc4c482d522 Mon Sep 17 00:00:00 2001 -From: Romain Naour -Date: Tue, 2 May 2017 22:46:18 +0200 -Subject: [PATCH] arm softfloat libgcc - -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - 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 deleted file mode 100644 index 61ab01c713..0000000000 --- a/package/gcc/7.2.0/0860-cilk-fix-build-without-wchar.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001 -From: Peter Korsgaard -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 -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - 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/0870-xtensa-fix-PR-target-82181.patch b/package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch deleted file mode 100644 index 7ac7cd95e3..0000000000 --- a/package/gcc/7.2.0/0870-xtensa-fix-PR-target-82181.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 3ed0c49a8d52e88648c7bb9f21a204b23595a6a9 Mon Sep 17 00:00:00 2001 -From: jcmvbkbc -Date: Mon, 11 Sep 2017 21:53:38 +0000 -Subject: [PATCH] xtensa: fix PR target/82181 - -2017-09-11 Max Filippov -gcc/ - Backport from mainline - * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both - words of DImode object are reachable by xtensa_uimm8x4 access. - -Signed-off-by: Max Filippov ---- - gcc/config/xtensa/xtensa.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gcc/config/xtensa/xtensa.c b/gcc/config/xtensa/xtensa.c -index 25e4a2894c3b..8c404187107b 100644 ---- a/gcc/config/xtensa/xtensa.c -+++ b/gcc/config/xtensa/xtensa.c -@@ -605,6 +605,7 @@ xtensa_mem_offset (unsigned v, machine_mode mode) - case HImode: - return xtensa_uimm8x2 (v); - -+ case DImode: - case DFmode: - return (xtensa_uimm8x4 (v) && xtensa_uimm8x4 (v + 4)); - --- -2.1.4 - diff --git a/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch deleted file mode 100644 index e84fd92453..0000000000 --- a/package/gcc/7.2.0/0891-fix-m68k-uclinux.patch +++ /dev/null @@ -1,30 +0,0 @@ -From c2773170a1b0e2728f71f2275a99fd177ba2cef4 Mon Sep 17 00:00:00 2001 -From: Romain Naour -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 -[Romain: convert to git patch] -Signed-off-by: Romain Naour ---- - 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 deleted file mode 100644 index 7026d0efe1..0000000000 --- a/package/gcc/7.2.0/0892-microblaze-Revert.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 Mon Sep 17 00:00:00 2001 -From: eager -Date: Sat, 27 May 2017 18:29:40 +0000 -Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal - - - 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 -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/0893-ARC-Configure-script-to-allow-non-uclibc-based-tripl.patch b/package/gcc/7.2.0/0893-ARC-Configure-script-to-allow-non-uclibc-based-tripl.patch deleted file mode 100644 index 4f97c2f3da..0000000000 --- a/package/gcc/7.2.0/0893-ARC-Configure-script-to-allow-non-uclibc-based-tripl.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 927c0132251f1cd3452b96ebd75f1b06bc53e4ec Mon Sep 17 00:00:00 2001 -From: claziss -Date: Mon, 10 Jul 2017 13:55:26 +0000 -Subject: [PATCH] [ARC] Configure script to allow non uclibc based triplets - -gcc/ -2017-07-10 Vineet Gupta - - * config.gcc: Remove uclibc from arc target spec. - -libgcc/ -2017-07-10 Vineet Gupta - - * config.host: Remove uclibc from arc target spec. - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@250097 138bc75d-0d04-0410-961f-82ee72b054a4 -Signed-off-by: Alexey Brodkin ---- - gcc/config.gcc | 2 +- - libgcc/config.host | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/gcc/config.gcc b/gcc/config.gcc -index 1b47457..933a451 100644 ---- a/gcc/config.gcc -+++ b/gcc/config.gcc -@@ -1044,7 +1044,7 @@ arc*-*-elf*) - big*) tm_file="arc/big.h ${tm_file}" - esac - ;; --arc*-*-linux-uclibc*) -+arc*-*-linux*) - tm_file="arc/arc-arch.h dbxelf.h elfos.h gnu-user.h linux.h linux-android.h glibc-stdint.h arc/linux.h ${tm_file}" - tmake_file="${tmake_file} arc/t-arc" - extra_gcc_objs="driver-arc.o" -diff --git a/libgcc/config.host b/libgcc/config.host -index 989ac71..a5ab453 100644 ---- a/libgcc/config.host -+++ b/libgcc/config.host -@@ -383,7 +383,7 @@ arc*-*-elf*) - extra_parts="crti.o crtn.o crtend.o crtbegin.o crtendS.o crtbeginS.o" - extra_parts="$extra_parts crttls.o" - ;; --arc*-*-linux-uclibc*) -+arc*-*-linux*) - tmake_file="${tmake_file} t-slibgcc-libgcc t-slibgcc-nolc-override arc/t-arc-uClibc arc/t-arc" - extra_parts="$extra_parts crti.o crtn.o" - extra_parts="$extra_parts crttls.o" --- -2.10.2 - diff --git a/package/gcc/7.2.0/0900-remove-selftests.patch b/package/gcc/7.2.0/0900-remove-selftests.patch deleted file mode 100644 index a3bc7a5730..0000000000 --- a/package/gcc/7.2.0/0900-remove-selftests.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001 -From: Romain Naour -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 ---- - 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.3.0/0100-uclibc-conf.patch b/package/gcc/7.3.0/0100-uclibc-conf.patch new file mode 100644 index 0000000000..d354baf81f --- /dev/null +++ b/package/gcc/7.3.0/0100-uclibc-conf.patch @@ -0,0 +1,29 @@ +From 326b880b20e5f8187dbda736b4c4c662cbfb00ca Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 2 May 2017 22:36:15 +0200 +Subject: [PATCH] uclibc-conf + +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + 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.3.0/0810-arm-softfloat-libgcc.patch b/package/gcc/7.3.0/0810-arm-softfloat-libgcc.patch new file mode 100644 index 0000000000..63880dd091 --- /dev/null +++ b/package/gcc/7.3.0/0810-arm-softfloat-libgcc.patch @@ -0,0 +1,45 @@ +From 420a304ac0daa29d66da6ed5b0b49fc4c482d522 Mon Sep 17 00:00:00 2001 +From: Romain Naour +Date: Tue, 2 May 2017 22:46:18 +0200 +Subject: [PATCH] arm softfloat libgcc + +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + 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.3.0/0860-cilk-fix-build-without-wchar.patch b/package/gcc/7.3.0/0860-cilk-fix-build-without-wchar.patch new file mode 100644 index 0000000000..61ab01c713 --- /dev/null +++ b/package/gcc/7.3.0/0860-cilk-fix-build-without-wchar.patch @@ -0,0 +1,64 @@ +From 714739e69ead1d9823233af40645277f6d4633ea Mon Sep 17 00:00:00 2001 +From: Peter Korsgaard +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 +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + 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.3.0/0891-fix-m68k-uclinux.patch b/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch new file mode 100644 index 0000000000..e84fd92453 --- /dev/null +++ b/package/gcc/7.3.0/0891-fix-m68k-uclinux.patch @@ -0,0 +1,30 @@ +From c2773170a1b0e2728f71f2275a99fd177ba2cef4 Mon Sep 17 00:00:00 2001 +From: Romain Naour +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 +[Romain: convert to git patch] +Signed-off-by: Romain Naour +--- + 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.3.0/0892-microblaze-Revert.patch b/package/gcc/7.3.0/0892-microblaze-Revert.patch new file mode 100644 index 0000000000..7026d0efe1 --- /dev/null +++ b/package/gcc/7.3.0/0892-microblaze-Revert.patch @@ -0,0 +1,40 @@ +From 707a69dfb56a2976e2b5c010f0e5cb2ac9905a07 Mon Sep 17 00:00:00 2001 +From: eager +Date: Sat, 27 May 2017 18:29:40 +0000 +Subject: [PATCH] Revert: 2016-01-21 Ajit Agarwal + + + 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 +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.3.0/0900-remove-selftests.patch b/package/gcc/7.3.0/0900-remove-selftests.patch new file mode 100644 index 0000000000..a3bc7a5730 --- /dev/null +++ b/package/gcc/7.3.0/0900-remove-selftests.patch @@ -0,0 +1,111 @@ +From 63f0917d90eb83d267dc517fdfb6523a74b1917c Mon Sep 17 00:00:00 2001 +From: Romain Naour +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 +--- + 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/Config.in.host b/package/gcc/Config.in.host index 70cce0a5c5..8432515d73 100644 --- a/package/gcc/Config.in.host +++ b/package/gcc/Config.in.host @@ -79,7 +79,7 @@ config BR2_GCC_VERSION default "4.9.4" if BR2_GCC_VERSION_4_9_X default "5.5.0" if BR2_GCC_VERSION_5_X default "6.4.0" if BR2_GCC_VERSION_6_X - default "7.2.0" if BR2_GCC_VERSION_7_X + default "7.3.0" if BR2_GCC_VERSION_7_X default "arc-2017.09-release" if BR2_GCC_VERSION_ARC default "musl-5.4.0" if BR2_GCC_VERSION_OR1K diff --git a/package/gcc/gcc.hash b/package/gcc/gcc.hash index 76be4552c9..4966b18f59 100644 --- a/package/gcc/gcc.hash +++ b/package/gcc/gcc.hash @@ -4,8 +4,8 @@ sha512 93abb78e16277454f41a8e9810f41f66c0fdffdc539a762ff6b67d3037f78db971378683 sha512 670ff52c2ae12c7852c12987e91798c5aa8bd6daf21f0d6e0cd57a4aa59cc4f06a837fe76426eaa1424cfddca937bed377680700eadc04d76b9180d462364fa1 gcc-5.5.0.tar.xz # 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.2.0/sha512.sum -sha512 f853cd6530b4055d8d8289da74687cb4c6d5f363598d386332d31852b581bac76c3adb7d61889edec3b779f63d8646f0122840f12965ce4a4389ba535dbbb6e1 gcc-7.2.0.tar.xz +# From ftp://gcc.gnu.org/pub/gcc/releases/gcc-7.3.0/sha512.sum +sha512 ad41a7e4584e40e92cdf860bc0288500fbaf5dfb7e8c3fcabe9eba809c87bcfa85b46c19c19921b0cdf6d05483faede8287bb9ea120c0d1559449a70e602c8d4 gcc-7.3.0.tar.xz # Locally calculated (fetched from Github) sha512 c30addd3c4dc66b90749a0f99b257c8a8e7966d27f286057b6b66f4a70ca22a1ee50d92882c4db13307d769a6fb28e1e2a2bab749a692cf3f89ef0c38f145efa gcc-arc-2017.09-release.tar.gz