From 68769b1a66f9df3387811c9de7aa146c2e17ff92 Mon Sep 17 00:00:00 2001 From: Waldemar Brodkorb Date: Mon, 21 Aug 2017 05:55:28 +0200 Subject: gcc: update to 7.2.0 --- target/config/Config.in.compiler | 2 +- toolchain/gcc/Makefile.inc | 4 +- toolchain/gcc/patches/7.1.0/add-crtreloc.frv | 12 -- .../7.1.0/disable-split-stack-nothread.patch | 10 - toolchain/gcc/patches/7.1.0/glibc-compat.patch | 204 --------------------- toolchain/gcc/patches/7.1.0/ia64-fix-libgcc.patch | 17 -- .../7.1.0/m68k-disable-atomic-uclinux.patch | 12 -- toolchain/gcc/patches/7.1.0/microblaze.patch | 23 --- toolchain/gcc/patches/7.1.0/nios2-softfp.patch | 14 -- toolchain/gcc/patches/7.2.0/add-crtreloc.frv | 12 ++ .../7.2.0/disable-split-stack-nothread.patch | 10 + toolchain/gcc/patches/7.2.0/ia64-fix-libgcc.patch | 17 ++ .../7.2.0/m68k-disable-atomic-uclinux.patch | 12 ++ toolchain/gcc/patches/7.2.0/microblaze.patch | 23 +++ toolchain/gcc/patches/7.2.0/nios2-softfp.patch | 14 ++ 15 files changed, 91 insertions(+), 295 deletions(-) delete mode 100644 toolchain/gcc/patches/7.1.0/add-crtreloc.frv delete mode 100644 toolchain/gcc/patches/7.1.0/disable-split-stack-nothread.patch delete mode 100644 toolchain/gcc/patches/7.1.0/glibc-compat.patch delete mode 100644 toolchain/gcc/patches/7.1.0/ia64-fix-libgcc.patch delete mode 100644 toolchain/gcc/patches/7.1.0/m68k-disable-atomic-uclinux.patch delete mode 100644 toolchain/gcc/patches/7.1.0/microblaze.patch delete mode 100644 toolchain/gcc/patches/7.1.0/nios2-softfp.patch create mode 100644 toolchain/gcc/patches/7.2.0/add-crtreloc.frv create mode 100644 toolchain/gcc/patches/7.2.0/disable-split-stack-nothread.patch create mode 100644 toolchain/gcc/patches/7.2.0/ia64-fix-libgcc.patch create mode 100644 toolchain/gcc/patches/7.2.0/m68k-disable-atomic-uclinux.patch create mode 100644 toolchain/gcc/patches/7.2.0/microblaze.patch create mode 100644 toolchain/gcc/patches/7.2.0/nios2-softfp.patch diff --git a/target/config/Config.in.compiler b/target/config/Config.in.compiler index 908440ecd..21bc95839 100644 --- a/target/config/Config.in.compiler +++ b/target/config/Config.in.compiler @@ -38,7 +38,7 @@ config ADK_TOOLCHAIN_GCC_GIT select ADK_DISABLE_HONOUR_CFLAGS config ADK_TOOLCHAIN_GCC_7 - bool "7.1.0" + bool "7.2.0" depends on !ADK_TARGET_ARCH_AVR32 depends on !ADK_TARGET_ARCH_CSKY depends on !ADK_TARGET_ARCH_METAG diff --git a/toolchain/gcc/Makefile.inc b/toolchain/gcc/Makefile.inc index 8a1d5fa43..cb3b392cc 100644 --- a/toolchain/gcc/Makefile.inc +++ b/toolchain/gcc/Makefile.inc @@ -3,8 +3,8 @@ PKG_NAME:= gcc ifeq ($(ADK_TOOLCHAIN_GCC_7),y) -PKG_VERSION:= 7.1.0 -PKG_HASH:= 3c187ef42e4cf657eec0ed641aac7f7e46261bcb1cea31b72dcf2dedddbbdea5 +PKG_VERSION:= 7.2.0 +PKG_HASH:= 0153a003d3b433459336a91610cca2995ee0fb3d71131bd72555f2231a6efcfc PKG_SITES:= ${MASTER_SITE_GNU:=gcc/gcc-${PKG_VERSION}/} PKG_RELEASE:= 1 DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz diff --git a/toolchain/gcc/patches/7.1.0/add-crtreloc.frv b/toolchain/gcc/patches/7.1.0/add-crtreloc.frv deleted file mode 100644 index dce4a0ea0..000000000 --- a/toolchain/gcc/patches/7.1.0/add-crtreloc.frv +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur gcc-7.1.0.orig/gcc/config/frv/linux.h gcc-7.1.0/gcc/config/frv/linux.h ---- gcc-7.1.0.orig/gcc/config/frv/linux.h 2017-01-01 13:07:43.000000000 +0100 -+++ gcc-7.1.0/gcc/config/frv/linux.h 2017-06-07 14:52:44.289044131 +0200 -@@ -27,7 +27,7 @@ - - #undef STARTFILE_SPEC - #define STARTFILE_SPEC \ -- "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ -+ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crtreloc.o%s \ - crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" - - #undef ENDFILE_SPEC diff --git a/toolchain/gcc/patches/7.1.0/disable-split-stack-nothread.patch b/toolchain/gcc/patches/7.1.0/disable-split-stack-nothread.patch deleted file mode 100644 index 0038d7573..000000000 --- a/toolchain/gcc/patches/7.1.0/disable-split-stack-nothread.patch +++ /dev/null @@ -1,10 +0,0 @@ -diff -Nur gcc-7.1.0.orig/libgcc/config/t-stack gcc-7.1.0/libgcc/config/t-stack ---- gcc-7.1.0.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200 -+++ gcc-7.1.0/libgcc/config/t-stack 2017-06-23 19:55:25.215965555 +0200 -@@ -1,4 +1,6 @@ - # Makefile fragment to provide generic support for -fsplit-stack. - # This should be used in config.host for any host which supports - # -fsplit-stack. -+ifeq ($(enable_threads),yes) - LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c -+endif diff --git a/toolchain/gcc/patches/7.1.0/glibc-compat.patch b/toolchain/gcc/patches/7.1.0/glibc-compat.patch deleted file mode 100644 index 4893d85c0..000000000 --- a/toolchain/gcc/patches/7.1.0/glibc-compat.patch +++ /dev/null @@ -1,204 +0,0 @@ -From 5266910fed23d6d7f101a878dd8a28d178697ec5 Mon Sep 17 00:00:00 2001 -From: jsm28 -Date: Wed, 28 Jun 2017 09:21:16 +0000 -Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files. - -Current glibc no longer gives the ucontext_t type the tag struct -ucontext, to conform with POSIX namespace rules. This requires -various linux-unwind.h files in libgcc, that were previously using -struct ucontext, to be fixed to use ucontext_t instead. This is -similar to the removal of the struct siginfo tag from siginfo_t some -years ago. - -This patch changes those files to use ucontext_t instead. As the -standard name that should be unconditionally safe, so this is not -restricted to architectures supported by glibc, or conditioned on the -glibc version. - -Tested compilation together with current glibc with glibc's -build-many-glibcs.py. - - * config/aarch64/linux-unwind.h (aarch64_fallback_frame_state), - config/alpha/linux-unwind.h (alpha_fallback_frame_state), - config/bfin/linux-unwind.h (bfin_fallback_frame_state), - config/i386/linux-unwind.h (x86_64_fallback_frame_state, - x86_fallback_frame_state), config/m68k/linux-unwind.h (struct - uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext), - config/pa/linux-unwind.h (pa32_fallback_frame_state), - config/riscv/linux-unwind.h (riscv_fallback_frame_state), - config/sh/linux-unwind.h (sh_fallback_frame_state), - config/tilepro/linux-unwind.h (tile_fallback_frame_state), - config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use - ucontext_t instead of struct ucontext. - - -git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@249731 138bc75d-0d04-0410-961f-82ee72b054a4 ---- - libgcc/config/aarch64/linux-unwind.h | 2 +- - libgcc/config/alpha/linux-unwind.h | 2 +- - libgcc/config/bfin/linux-unwind.h | 2 +- - libgcc/config/i386/linux-unwind.h | 4 ++-- - libgcc/config/m68k/linux-unwind.h | 2 +- - libgcc/config/nios2/linux-unwind.h | 2 +- - libgcc/config/pa/linux-unwind.h | 2 +- - libgcc/config/riscv/linux-unwind.h | 2 +- - libgcc/config/sh/linux-unwind.h | 2 +- - libgcc/config/tilepro/linux-unwind.h | 2 +- - libgcc/config/xtensa/linux-unwind.h | 2 +- - 12 files changed, 27 insertions(+), 12 deletions(-) - -diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h -index d5d6980442f..d46d5f53be3 100644 ---- a/libgcc/config/aarch64/linux-unwind.h -+++ b/libgcc/config/aarch64/linux-unwind.h -@@ -55,7 +55,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe - { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - }; - - struct rt_sigframe *rt_; -diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h -index a91a5f4fe26..7202516581d 100644 ---- a/libgcc/config/alpha/linux-unwind.h -+++ b/libgcc/config/alpha/linux-unwind.h -@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context, - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - sc = &rt_->uc.uc_mcontext; - } -diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h -index 9412c7652b8..37e9feb6965 100644 ---- a/libgcc/config/bfin/linux-unwind.h -+++ b/libgcc/config/bfin/linux-unwind.h -@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context, - void *puc; - char retcode[8]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - - /* The void * cast is necessary to avoid an aliasing warning. -diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h -index b1d5040a687..2009ad72260 100644 ---- a/libgcc/config/i386/linux-unwind.h -+++ b/libgcc/config/i386/linux-unwind.h -@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context, - if (*(unsigned char *)(pc+0) == 0x48 - && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL) - { -- struct ucontext *uc_ = context->cfa; -+ ucontext_t *uc_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem - because it does not alias anything. */ -@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context, - siginfo_t *pinfo; - void *puc; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem -diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h -index 82c7a297a6d..9ea39d454aa 100644 ---- a/libgcc/config/m68k/linux-unwind.h -+++ b/libgcc/config/m68k/linux-unwind.h -@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see - /* is unfortunately broken right now. */ - struct uw_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - mcontext_t uc_mcontext; - unsigned long uc_filler[80]; -diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h -index ae82efd6de6..204359d7b92 100644 ---- a/libgcc/config/nios2/linux-unwind.h -+++ b/libgcc/config/nios2/linux-unwind.h -@@ -38,7 +38,7 @@ struct nios2_mcontext { - - struct nios2_ucontext { - unsigned long uc_flags; -- struct ucontext *uc_link; -+ ucontext_t *uc_link; - stack_t uc_stack; - struct nios2_mcontext uc_mcontext; - sigset_t uc_sigmask; /* mask last for extensibility */ -diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h -index 580c18dad69..c2c3409bcc1 100644 ---- a/libgcc/config/pa/linux-unwind.h -+++ b/libgcc/config/pa/linux-unwind.h -@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context, - struct sigcontext *sc; - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *frame; - - /* rt_sigreturn trampoline: -diff --git a/libgcc/config/riscv/linux-unwind.h b/libgcc/config/riscv/linux-unwind.h -index a051a2869d4..1c8aeff7ef0 100644 ---- a/libgcc/config/riscv/linux-unwind.h -+++ b/libgcc/config/riscv/linux-unwind.h -@@ -42,7 +42,7 @@ riscv_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe - { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - }; - - struct rt_sigframe *rt_; -diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h -index 1038caeb5c3..a8c98220282 100644 ---- a/libgcc/config/sh/linux-unwind.h -+++ b/libgcc/config/sh/linux-unwind.h -@@ -82,7 +82,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context, - { - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_ = context->cfa; - /* The void * cast is necessary to avoid an aliasing warning. - The aliasing warning is correct, but should not be a problem -diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h -index a8dc4405715..dba3b410279 100644 ---- a/libgcc/config/tilepro/linux-unwind.h -+++ b/libgcc/config/tilepro/linux-unwind.h -@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context, - struct rt_sigframe { - unsigned char save_area[C_ABI_SAVE_AREA_SIZE]; - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* Return if this is not a signal handler. */ -diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h -index 67c272820d0..2cb9eb1f739 100644 ---- a/libgcc/config/xtensa/linux-unwind.h -+++ b/libgcc/config/xtensa/linux-unwind.h -@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context, - - struct rt_sigframe { - siginfo_t info; -- struct ucontext uc; -+ ucontext_t uc; - } *rt_; - - /* movi a2, __NR_rt_sigreturn; syscall */ --- -2.11.0 - diff --git a/toolchain/gcc/patches/7.1.0/ia64-fix-libgcc.patch b/toolchain/gcc/patches/7.1.0/ia64-fix-libgcc.patch deleted file mode 100644 index f1f3c8d2d..000000000 --- a/toolchain/gcc/patches/7.1.0/ia64-fix-libgcc.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff -Nur gcc-6.3.0.orig/libgcc/config/ia64/fde-glibc.c gcc-6.3.0/libgcc/config/ia64/fde-glibc.c ---- gcc-6.3.0.orig/libgcc/config/ia64/fde-glibc.c 2016-01-04 15:30:50.000000000 +0100 -+++ gcc-6.3.0/libgcc/config/ia64/fde-glibc.c 2017-03-05 13:07:33.316600613 +0100 -@@ -25,6 +25,8 @@ - /* Locate the FDE entry for a given address, using glibc ld.so routines - to avoid register/deregister calls at DSO load/unload. */ - -+#ifndef inhibit_libc -+ - #ifndef _GNU_SOURCE - #define _GNU_SOURCE 1 - #endif -@@ -159,3 +161,4 @@ - - return data.ret; - } -+#endif diff --git a/toolchain/gcc/patches/7.1.0/m68k-disable-atomic-uclinux.patch b/toolchain/gcc/patches/7.1.0/m68k-disable-atomic-uclinux.patch deleted file mode 100644 index 4ab553218..000000000 --- a/toolchain/gcc/patches/7.1.0/m68k-disable-atomic-uclinux.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur gcc-4.8.3.orig/libgcc/config.host gcc-4.8.3/libgcc/config.host ---- gcc-4.8.3.orig/libgcc/config.host 2014-03-20 17:12:30.000000000 +0100 -+++ gcc-4.8.3/libgcc/config.host 2014-07-26 13:15:06.359463368 +0200 -@@ -689,7 +689,7 @@ - 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 diff --git a/toolchain/gcc/patches/7.1.0/microblaze.patch b/toolchain/gcc/patches/7.1.0/microblaze.patch deleted file mode 100644 index eb6c08492..000000000 --- a/toolchain/gcc/patches/7.1.0/microblaze.patch +++ /dev/null @@ -1,23 +0,0 @@ -revert 6dcad60c0ef48af584395a40feeb256fb82986a8 -as it breaks any userland in qemu - -diff -Nur gcc-6.3.0.orig/gcc/config/microblaze/microblaze.h gcc-6.3.0/gcc/config/microblaze/microblaze.h ---- gcc-6.3.0.orig/gcc/config/microblaze/microblaze.h 2016-01-21 18:10:54.000000000 +0100 -+++ gcc-6.3.0/gcc/config/microblaze/microblaze.h 2017-05-26 18:33:31.297534916 +0200 -@@ -253,14 +253,14 @@ - #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 diff --git a/toolchain/gcc/patches/7.1.0/nios2-softfp.patch b/toolchain/gcc/patches/7.1.0/nios2-softfp.patch deleted file mode 100644 index c677c6c2f..000000000 --- a/toolchain/gcc/patches/7.1.0/nios2-softfp.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nur gcc-6.2.0.orig/libgcc/config.host gcc-6.2.0/libgcc/config.host ---- gcc-6.2.0.orig/libgcc/config.host 2016-05-17 08:15:52.000000000 +0200 -+++ gcc-6.2.0/libgcc/config.host 2016-10-15 14:42:53.971919904 +0200 -@@ -962,6 +962,10 @@ - ;; - esac - ;; -+nios2-*-linux-uclibc*) -+ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc t-softfp-sfdf t-softfp" -+ md_unwind_header=nios2/linux-unwind.h -+ ;; - nios2-*-linux*) - tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc" - md_unwind_header=nios2/linux-unwind.h diff --git a/toolchain/gcc/patches/7.2.0/add-crtreloc.frv b/toolchain/gcc/patches/7.2.0/add-crtreloc.frv new file mode 100644 index 000000000..dce4a0ea0 --- /dev/null +++ b/toolchain/gcc/patches/7.2.0/add-crtreloc.frv @@ -0,0 +1,12 @@ +diff -Nur gcc-7.1.0.orig/gcc/config/frv/linux.h gcc-7.1.0/gcc/config/frv/linux.h +--- gcc-7.1.0.orig/gcc/config/frv/linux.h 2017-01-01 13:07:43.000000000 +0100 ++++ gcc-7.1.0/gcc/config/frv/linux.h 2017-06-07 14:52:44.289044131 +0200 +@@ -27,7 +27,7 @@ + + #undef STARTFILE_SPEC + #define STARTFILE_SPEC \ +- "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} \ ++ "%{!shared: %{pg|p|profile:gcrt1.o%s;pie:Scrt1.o%s;:crt1.o%s}} crtreloc.o%s \ + crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}" + + #undef ENDFILE_SPEC diff --git a/toolchain/gcc/patches/7.2.0/disable-split-stack-nothread.patch b/toolchain/gcc/patches/7.2.0/disable-split-stack-nothread.patch new file mode 100644 index 000000000..0038d7573 --- /dev/null +++ b/toolchain/gcc/patches/7.2.0/disable-split-stack-nothread.patch @@ -0,0 +1,10 @@ +diff -Nur gcc-7.1.0.orig/libgcc/config/t-stack gcc-7.1.0/libgcc/config/t-stack +--- gcc-7.1.0.orig/libgcc/config/t-stack 2010-10-01 21:31:49.000000000 +0200 ++++ gcc-7.1.0/libgcc/config/t-stack 2017-06-23 19:55:25.215965555 +0200 +@@ -1,4 +1,6 @@ + # Makefile fragment to provide generic support for -fsplit-stack. + # This should be used in config.host for any host which supports + # -fsplit-stack. ++ifeq ($(enable_threads),yes) + LIB2ADD_ST += $(srcdir)/generic-morestack.c $(srcdir)/generic-morestack-thread.c ++endif diff --git a/toolchain/gcc/patches/7.2.0/ia64-fix-libgcc.patch b/toolchain/gcc/patches/7.2.0/ia64-fix-libgcc.patch new file mode 100644 index 000000000..f1f3c8d2d --- /dev/null +++ b/toolchain/gcc/patches/7.2.0/ia64-fix-libgcc.patch @@ -0,0 +1,17 @@ +diff -Nur gcc-6.3.0.orig/libgcc/config/ia64/fde-glibc.c gcc-6.3.0/libgcc/config/ia64/fde-glibc.c +--- gcc-6.3.0.orig/libgcc/config/ia64/fde-glibc.c 2016-01-04 15:30:50.000000000 +0100 ++++ gcc-6.3.0/libgcc/config/ia64/fde-glibc.c 2017-03-05 13:07:33.316600613 +0100 +@@ -25,6 +25,8 @@ + /* Locate the FDE entry for a given address, using glibc ld.so routines + to avoid register/deregister calls at DSO load/unload. */ + ++#ifndef inhibit_libc ++ + #ifndef _GNU_SOURCE + #define _GNU_SOURCE 1 + #endif +@@ -159,3 +161,4 @@ + + return data.ret; + } ++#endif diff --git a/toolchain/gcc/patches/7.2.0/m68k-disable-atomic-uclinux.patch b/toolchain/gcc/patches/7.2.0/m68k-disable-atomic-uclinux.patch new file mode 100644 index 000000000..4ab553218 --- /dev/null +++ b/toolchain/gcc/patches/7.2.0/m68k-disable-atomic-uclinux.patch @@ -0,0 +1,12 @@ +diff -Nur gcc-4.8.3.orig/libgcc/config.host gcc-4.8.3/libgcc/config.host +--- gcc-4.8.3.orig/libgcc/config.host 2014-03-20 17:12:30.000000000 +0100 ++++ gcc-4.8.3/libgcc/config.host 2014-07-26 13:15:06.359463368 +0200 +@@ -689,7 +689,7 @@ + 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 diff --git a/toolchain/gcc/patches/7.2.0/microblaze.patch b/toolchain/gcc/patches/7.2.0/microblaze.patch new file mode 100644 index 000000000..eb6c08492 --- /dev/null +++ b/toolchain/gcc/patches/7.2.0/microblaze.patch @@ -0,0 +1,23 @@ +revert 6dcad60c0ef48af584395a40feeb256fb82986a8 +as it breaks any userland in qemu + +diff -Nur gcc-6.3.0.orig/gcc/config/microblaze/microblaze.h gcc-6.3.0/gcc/config/microblaze/microblaze.h +--- gcc-6.3.0.orig/gcc/config/microblaze/microblaze.h 2016-01-21 18:10:54.000000000 +0100 ++++ gcc-6.3.0/gcc/config/microblaze/microblaze.h 2017-05-26 18:33:31.297534916 +0200 +@@ -253,14 +253,14 @@ + #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 diff --git a/toolchain/gcc/patches/7.2.0/nios2-softfp.patch b/toolchain/gcc/patches/7.2.0/nios2-softfp.patch new file mode 100644 index 000000000..c677c6c2f --- /dev/null +++ b/toolchain/gcc/patches/7.2.0/nios2-softfp.patch @@ -0,0 +1,14 @@ +diff -Nur gcc-6.2.0.orig/libgcc/config.host gcc-6.2.0/libgcc/config.host +--- gcc-6.2.0.orig/libgcc/config.host 2016-05-17 08:15:52.000000000 +0200 ++++ gcc-6.2.0/libgcc/config.host 2016-10-15 14:42:53.971919904 +0200 +@@ -962,6 +962,10 @@ + ;; + esac + ;; ++nios2-*-linux-uclibc*) ++ tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc t-softfp-sfdf t-softfp" ++ md_unwind_header=nios2/linux-unwind.h ++ ;; + nios2-*-linux*) + tmake_file="$tmake_file nios2/t-nios2 nios2/t-linux t-libgcc-pic t-slibgcc-libgcc" + md_unwind_header=nios2/linux-unwind.h -- cgit v1.2.3