]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
gcc6: Upgrade to 6.4.1 stable/pyro-next
authorJuro Bystricky <juro.bystricky@intel.com>
Tue, 20 Feb 2018 22:10:52 +0000 (14:10 -0800)
committerArmin Kuster <akuster808@gmail.com>
Sat, 24 Feb 2018 02:33:03 +0000 (18:33 -0800)
Removed "ubsan-fix-check-empty-string.patch": already upstreamed.
Modified "0010-gcc-poison-system-directories.patch" to apply.
Removed "0011-gcc-poison-dir-extend.patch" does not apply.
       Equivalent changes already in "0010-gcc-poison-system-directories.patch"
Removed "0055-unwind_h-glibc26.patch": already upstreamed.
Modified "CVE-2016-6131.patch" to apply (incompatible ChangeLog patching removed).

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Armin Kuster <akuster808@gmail.com>
67 files changed:
meta/conf/distro/include/tcmode-default.inc
meta/recipes-devtools/gcc/gcc-6.3/0055-unwind_h-glibc26.patch [deleted file]
meta/recipes-devtools/gcc/gcc-6.3/ubsan-fix-check-empty-string.patch [deleted file]
meta/recipes-devtools/gcc/gcc-6.4.inc [moved from meta/recipes-devtools/gcc/gcc-6.3.inc with 92% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0002-uclibc-conf.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0002-uclibc-conf.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0003-gcc-uclibc-locale-ctype_touplow_t.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0003-gcc-uclibc-locale-ctype_touplow_t.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0004-uclibc-locale.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0004-uclibc-locale.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0005-uclibc-locale-no__x.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0005-uclibc-locale-no__x.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0006-uclibc-locale-wchar_fix.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0006-uclibc-locale-wchar_fix.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0007-uclibc-locale-update.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0007-uclibc-locale-update.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0008-missing-execinfo_h.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0008-missing-execinfo_h.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0009-c99-snprintf.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0009-c99-snprintf.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0010-gcc-poison-system-directories.patch [new file with mode: 0644]
meta/recipes-devtools/gcc/gcc-6.4/0010-gcc-poison-system-directories.patch-old [moved from meta/recipes-devtools/gcc/gcc-6.3/0010-gcc-poison-system-directories.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0011-gcc-poison-dir-extend.patch-old [moved from meta/recipes-devtools/gcc/gcc-6.3/0011-gcc-poison-dir-extend.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0013-64-bit-multilib-hack.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0013-64-bit-multilib-hack.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0014-optional-libstdc.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0014-optional-libstdc.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0015-gcc-disable-MASK_RELAX_PIC_CALLS-bit.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0016-COLLECT_GCC_OPTIONS.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0016-COLLECT_GCC_OPTIONS.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0017-Use-the-defaults.h-in-B-instead-of-S-and-t-oe-in-B.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0018-fortran-cross-compile-hack.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0018-fortran-cross-compile-hack.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0019-cpp-honor-sysroot.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0019-cpp-honor-sysroot.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0020-MIPS64-Default-to-N64-ABI.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0020-MIPS64-Default-to-N64-ABI.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0021-Define-GLIBC_DYNAMIC_LINKER-and-UCLIBC_DYNAMIC_LINKE.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0022-gcc-Fix-argument-list-too-long-error.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0022-gcc-Fix-argument-list-too-long-error.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0023-Disable-sdt.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0023-Disable-sdt.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0024-libtool.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0024-libtool.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0025-gcc-armv4-pass-fix-v4bx-to-linker-to-support-EABI.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0026-Use-the-multilib-config-files-from-B-instead-of-usin.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0027-Avoid-using-libdir-from-.la-which-usually-points-to-.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0028-export-CPP.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0028-export-CPP.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0029-Enable-SPE-AltiVec-generation-on-powepc-linux-target.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0030-Disable-the-MULTILIB_OSDIRNAMES-and-other-multilib-o.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0031-Ensure-target-gcc-headers-can-be-included.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0031-Ensure-target-gcc-headers-can-be-included.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0032-gcc-4.8-won-t-build-with-disable-dependency-tracking.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0033-Don-t-search-host-directory-during-relink-if-inst_pr.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0034-Use-SYSTEMLIBS_DIR-replacement-instead-of-hardcoding.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0035-aarch64-Add-support-for-musl-ldso.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0035-aarch64-Add-support-for-musl-ldso.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0036-libcc1-fix-libcc1-s-install-path-and-rpath.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0037-handle-sysroot-support-for-nativesdk-gcc.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0037-handle-sysroot-support-for-nativesdk-gcc.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0038-Search-target-sysroot-gcc-version-specific-dirs-with.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0039-Fix-various-_FOR_BUILD-and-related-variables.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0039-Fix-various-_FOR_BUILD-and-related-variables.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0040-nios2-Define-MUSL_DYNAMIC_LINKER.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0041-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0041-Add-ssp_nonshared-to-link-commandline-for-musl-targe.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0042-gcc-libcpp-support-ffile-prefix-map-old-new.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0043-Reuse-fdebug-prefix-map-to-replace-ffile-prefix-map.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0044-gcc-final.c-fdebug-prefix-map-support-to-remap-sourc.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0045-libgcc-Add-knob-to-use-ldbl-128-on-ppc.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0046-Link-libgcc-using-LDFLAGS-not-just-SHLIB_LDFLAGS.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0048-sync-gcc-stddef.h-with-musl.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0048-sync-gcc-stddef.h-with-musl.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/0054_all_nopie-all-flags.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/0054_all_nopie-all-flags.patch with 100% similarity]
meta/recipes-devtools/gcc/gcc-6.4/CVE-2016-6131.patch [moved from meta/recipes-devtools/gcc/gcc-6.3/CVE-2016-6131.patch with 87% similarity]
meta/recipes-devtools/gcc/gcc-cross-canadian_6.4.bb [moved from meta/recipes-devtools/gcc/gcc-cross-canadian_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/gcc-cross-initial_6.4.bb [moved from meta/recipes-devtools/gcc/gcc-cross-initial_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/gcc-cross_6.4.bb [moved from meta/recipes-devtools/gcc/gcc-cross_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.4.bb [moved from meta/recipes-devtools/gcc/gcc-crosssdk-initial_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/gcc-crosssdk_6.4.bb [moved from meta/recipes-devtools/gcc/gcc-crosssdk_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/gcc-runtime_6.4.bb [moved from meta/recipes-devtools/gcc/gcc-runtime_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/gcc-sanitizers_6.4.bb [moved from meta/recipes-devtools/gcc/gcc-sanitizers_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/gcc-source_6.4.bb [moved from meta/recipes-devtools/gcc/gcc-source_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/gcc_6.4.bb [moved from meta/recipes-devtools/gcc/gcc_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/libgcc-initial_6.4.bb [moved from meta/recipes-devtools/gcc/libgcc-initial_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/libgcc_6.4.bb [moved from meta/recipes-devtools/gcc/libgcc_6.3.bb with 100% similarity]
meta/recipes-devtools/gcc/libgfortran_6.4.bb [moved from meta/recipes-devtools/gcc/libgfortran_6.3.bb with 100% similarity]

index 3db16e8fbf06277280a332054c61e714ce1c0b30..69cb76298e317b6696d486372bb890af1d1d835b 100644 (file)
@@ -22,7 +22,7 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "${TCLIBC}-initial"
 PREFERRED_PROVIDER_virtual/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial"
 PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
 
-GCCVERSION ?= "6.3%"
+GCCVERSION ?= "6.4%"
 SDKGCCVERSION ?= "${GCCVERSION}"
 BINUVERSION ?= "2.28%"
 GDBVERSION ?= "7.12%"
diff --git a/meta/recipes-devtools/gcc/gcc-6.3/0055-unwind_h-glibc26.patch b/meta/recipes-devtools/gcc/gcc-6.3/0055-unwind_h-glibc26.patch
deleted file mode 100644 (file)
index c266cfe..0000000
+++ /dev/null
@@ -1,139 +0,0 @@
-Backport and edit of patches from:
-https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&view=revision&revision=249957
-by jsm28 (Joseph Myers)
-
-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.
-
-Upstream-Status: Backport
-
-Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
-
---- branches/gcc-6-branch/libgcc/config/aarch64/linux-unwind.h 2017/07/04 10:22:56     249956
---- b/libgcc/config/aarch64/linux-unwind.h     2017/07/04 10:23:57     249957
-@@ -52,7 +52,7 @@
-   struct rt_sigframe
-   {
-     siginfo_t info;
--    struct ucontext uc;
-+    ucontext_t uc;
-   };
-   struct rt_sigframe *rt_;
---- branches/gcc-6-branch/libgcc/config/alpha/linux-unwind.h   2017/07/04 10:22:56     249956
---- b/libgcc/config/alpha/linux-unwind.h       2017/07/04 10:23:57     249957
-@@ -51,7 +51,7 @@
-     {
-       struct rt_sigframe {
-       siginfo_t info;
--      struct ucontext uc;
-+      ucontext_t uc;
-       } *rt_ = context->cfa;
-       sc = &rt_->uc.uc_mcontext;
-     }
---- branches/gcc-6-branch/libgcc/config/bfin/linux-unwind.h    2017/07/04 10:22:56     249956
---- b/libgcc/config/bfin/linux-unwind.h        2017/07/04 10:23:57     249957
-@@ -52,7 +52,7 @@
-       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.
---- branches/gcc-6-branch/libgcc/config/i386/linux-unwind.h    2017/07/04 10:22:56     249956
---- b/libgcc/config/i386/linux-unwind.h        2017/07/04 10:23:57     249957
-@@ -58,7 +58,7 @@
-   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 @@
-       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
---- branches/gcc-6-branch/libgcc/config/m68k/linux-unwind.h    2017/07/04 10:22:56     249956
---- b/libgcc/config/m68k/linux-unwind.h        2017/07/04 10:23:57     249957
-@@ -33,7 +33,7 @@
- /* <sys/ucontext.h> 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];
---- branches/gcc-6-branch/libgcc/config/nios2/linux-unwind.h   2017/07/04 10:22:56     249956
---- b/libgcc/config/nios2/linux-unwind.h       2017/07/04 10:23:57     249957
-@@ -38,7 +38,7 @@
- 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 */
---- branches/gcc-6-branch/libgcc/config/pa/linux-unwind.h      2017/07/04 10:22:56     249956
---- b/libgcc/config/pa/linux-unwind.h  2017/07/04 10:23:57     249957
-@@ -80,7 +80,7 @@
-   struct sigcontext *sc;
-   struct rt_sigframe {
-     siginfo_t info;
--    struct ucontext uc;
-+    ucontext_t uc;
-   } *frame;
-   /* rt_sigreturn trampoline:
---- branches/gcc-6-branch/libgcc/config/sh/linux-unwind.h      2017/07/04 10:22:56     249956
---- b/libgcc/config/sh/linux-unwind.h  2017/07/04 10:23:57     249957
-@@ -180,7 +180,7 @@
-     {
-       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
---- branches/gcc-6-branch/libgcc/config/tilepro/linux-unwind.h 2017/07/04 10:22:56     249956
---- b/libgcc/config/tilepro/linux-unwind.h     2017/07/04 10:23:57     249957
-@@ -61,7 +61,7 @@
-   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.  */
---- branches/gcc-6-branch/libgcc/config/xtensa/linux-unwind.h  2017/07/04 10:22:56     249956
---- b/libgcc/config/xtensa/linux-unwind.h      2017/07/04 10:23:57     249957
-@@ -67,7 +67,7 @@
-   struct rt_sigframe {
-     siginfo_t info;
--    struct ucontext uc;
-+    ucontext_t uc;
-   } *rt_;
-   /* movi a2, __NR_rt_sigreturn; syscall */
diff --git a/meta/recipes-devtools/gcc/gcc-6.3/ubsan-fix-check-empty-string.patch b/meta/recipes-devtools/gcc/gcc-6.3/ubsan-fix-check-empty-string.patch
deleted file mode 100644 (file)
index c012719..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8db2cf6353c13f2a84cbe49b689654897906c499 Mon Sep 17 00:00:00 2001
-From: kyukhin <kyukhin@138bc75d-0d04-0410-961f-82ee72b054a4>
-Date: Sat, 3 Sep 2016 10:57:05 +0000
-Subject: [PATCH] gcc/  * ubsan.c (ubsan_use_new_style_p): Fix check for empty
- string.
-
-git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@239971 138bc75d-0d04-0410-961f-82ee72b054a4
-
-Upstream-Status: Backport
-Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
-
----
- gcc/ubsan.c   | 2 +-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-Index: gcc-6.3.0/gcc/ubsan.c
-===================================================================
---- gcc-6.3.0.orig/gcc/ubsan.c
-+++ gcc-6.3.0/gcc/ubsan.c
-@@ -1471,7 +1471,7 @@ ubsan_use_new_style_p (location_t loc)
-   expanded_location xloc = expand_location (loc);
-   if (xloc.file == NULL || strncmp (xloc.file, "\1", 2) == 0
--      || xloc.file == '\0' || xloc.file[0] == '\xff'
-+      || xloc.file[0] == '\0' || xloc.file[0] == '\xff'
-       || xloc.file[1] == '\xff')
-     return false;
similarity index 92%
rename from meta/recipes-devtools/gcc/gcc-6.3.inc
rename to meta/recipes-devtools/gcc/gcc-6.4.inc
index 5c81a33af056573e741da531558b97ce4b440318..4b699f86f4534be58132e02faf2eaa3a48b3bb5c 100644 (file)
@@ -2,13 +2,13 @@ require gcc-common.inc
 
 # Third digit in PV should be incremented after a minor release
 
-PV = "6.3.0"
+PV = "6.4.1"
 
 # BINV should be incremented to a revision after a minor gcc release
 
-BINV = "6.3.0"
+BINV = "6.4.1"
 
-FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-6.3:${FILE_DIRNAME}/gcc-6.3/backport:"
+FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc-6.4:${FILE_DIRNAME}/gcc-6.4/backport:"
 
 DEPENDS =+ "mpfr gmp libmpc zlib"
 NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
@@ -24,11 +24,14 @@ LIC_FILES_CHKSUM = "\
 "
 
 
-BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
+#BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
 #SRCREV = "bd9a826d5448db11d29d2ec5884e7e679066f140"
 #BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
 #BASEURI ?= "ftp://sourceware.org/pub/gcc/snapshots/6.2.0-RC-20160815/gcc-6.2.0-RC-20160815.tar.bz2"
 
+BASEURI ?= "git://github.com/hjl-tools/gcc.git;branch=hjl/indirect/gcc-6-branch/master;protocol=git"
+SRCREV = "ec9350eeb3d5975e5fe269b6facee3e7b917cc6a"
+
 SRC_URI = "\
            ${BASEURI} \
            file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
@@ -41,7 +44,6 @@ SRC_URI = "\
            file://0008-missing-execinfo_h.patch \
            file://0009-c99-snprintf.patch \
            file://0010-gcc-poison-system-directories.patch \
-           file://0011-gcc-poison-dir-extend.patch \
            file://0012-gcc-4.3.3-SYSROOT_CFLAGS_FOR_TARGET.patch \
            file://0013-64-bit-multilib-hack.patch \
            file://0014-optional-libstdc.patch \
@@ -80,18 +82,16 @@ SRC_URI = "\
            file://0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
            file://0048-sync-gcc-stddef.h-with-musl.patch \
            file://0054_all_nopie-all-flags.patch \
-           file://0055-unwind_h-glibc26.patch \
            ${BACKPORTS} \
 "
 BACKPORTS = "\
            file://CVE-2016-6131.patch \
-           file://ubsan-fix-check-empty-string.patch \
 "
 SRC_URI[md5sum] = "677a7623c7ef6ab99881bc4e048debb6"
 SRC_URI[sha256sum] = "f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f"
 
-S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
-#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
+#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
+S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
 B = "${WORKDIR}/gcc-${PV}/build.${HOST_SYS}.${TARGET_SYS}"
 
 # Language Overrides
diff --git a/meta/recipes-devtools/gcc/gcc-6.4/0010-gcc-poison-system-directories.patch b/meta/recipes-devtools/gcc/gcc-6.4/0010-gcc-poison-system-directories.patch
new file mode 100644 (file)
index 0000000..2cdce40
--- /dev/null
@@ -0,0 +1,192 @@
+From d76250323dad69212c958e4857a98d99ab51a39e Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Fri, 29 Mar 2013 08:59:00 +0400
+Subject: [PATCH 10/46] gcc: poison-system-directories
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+
+Upstream-Status: Inappropriate [distribution: codesourcery]
+---
+ gcc/common.opt      |  4 ++++
+ gcc/config.in       |  6 ++++++
+ gcc/configure       | 16 ++++++++++++++++
+ gcc/configure.ac    | 10 ++++++++++
+ gcc/doc/invoke.texi |  9 +++++++++
+ gcc/gcc.c           |  2 ++
+ gcc/incpath.c       | 19 +++++++++++++++++++
+ 7 files changed, 66 insertions(+)
+
+diff --git a/gcc/common.opt b/gcc/common.opt
+index 67048db..733185c 100644
+--- a/gcc/common.opt
++++ b/gcc/common.opt
+@@ -659,6 +659,10 @@ Wreturn-local-addr
+ Common Var(warn_return_local_addr) Init(1) Warning
+ Warn about returning a pointer/reference to a local or temporary variable.
++Wpoison-system-directories
++Common Var(flag_poison_system_directories) Init(1) Warning
++Warn for -I and -L options using system directories if cross compiling
++
+ Wshadow
+ Common Var(warn_shadow) Warning
+ Warn when one local variable shadows another.
+diff --git a/gcc/config.in b/gcc/config.in
+index 115cb61..105b30f 100644
+--- a/gcc/config.in
++++ b/gcc/config.in
+@@ -187,6 +187,12 @@
+ #endif
++/* Define to warn for use of native system header directories */
++#ifndef USED_FOR_TARGET
++#undef ENABLE_POISON_SYSTEM_DIRECTORIES
++#endif
++
++
+ /* Define if you want all operations on RTL (the basic data structure of the
+    optimizer and back end) to be checked for dynamic type safety at runtime.
+    This is quite expensive. */
+diff --git a/gcc/configure b/gcc/configure
+index 1c6e340..8f83152 100755
+--- a/gcc/configure
++++ b/gcc/configure
+@@ -942,6 +942,7 @@ with_system_zlib
+ enable_maintainer_mode
+ enable_link_mutex
+ enable_version_specific_runtime_libs
++enable_poison_system_directories
+ enable_plugin
+ enable_host_shared
+ enable_libquadmath_support
+@@ -1681,6 +1682,8 @@ Optional Features:
+   --enable-version-specific-runtime-libs
+                           specify that runtime libraries should be installed
+                           in a compiler-specific directory
++  --enable-poison-system-directories
++                          warn for use of native system header directories
+   --enable-plugin         enable plugin support
+   --enable-host-shared    build host code as shared libraries
+   --disable-libquadmath-support
+@@ -28908,6 +28911,19 @@ if test "${enable_version_specific_runtime_libs+set}" = set; then :
+ fi
++# Check whether --enable-poison-system-directories was given.
++if test "${enable_poison_system_directories+set}" = set; then :
++  enableval=$enable_poison_system_directories;
++else
++  enable_poison_system_directories=no
++fi
++
++if test "x${enable_poison_system_directories}" = "xyes"; then
++
++$as_echo "#define ENABLE_POISON_SYSTEM_DIRECTORIES 1" >>confdefs.h
++
++fi
++
+ # Substitute configuration variables
+diff --git a/gcc/configure.ac b/gcc/configure.ac
+index 6c1dcd9..0fccaef 100644
+--- a/gcc/configure.ac
++++ b/gcc/configure.ac
+@@ -5861,6 +5861,16 @@ AC_ARG_ENABLE(version-specific-runtime-libs,
+                 [specify that runtime libraries should be
+                  installed in a compiler-specific directory])])
++AC_ARG_ENABLE([poison-system-directories],
++             AS_HELP_STRING([--enable-poison-system-directories],
++                            [warn for use of native system header directories]),,
++             [enable_poison_system_directories=no])
++if test "x${enable_poison_system_directories}" = "xyes"; then
++  AC_DEFINE([ENABLE_POISON_SYSTEM_DIRECTORIES],
++           [1],
++           [Define to warn for use of native system header directories])
++fi
++
+ # Substitute configuration variables
+ AC_SUBST(subdirs)
+ AC_SUBST(srcdir)
+diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
+index 821f8fd..8bb49e7 100644
+--- a/gcc/doc/invoke.texi
++++ b/gcc/doc/invoke.texi
+@@ -284,6 +284,7 @@ Objective-C and Objective-C++ Dialects}.
+ -Wparentheses -Wno-pedantic-ms-format @gol
+ -Wplacement-new -Wplacement-new=@var{n} @gol
+ -Wpointer-arith  -Wno-pointer-to-int-cast @gol
++-Wno-poison-system-directories @gol
+ -Wno-pragmas -Wredundant-decls  -Wno-return-local-addr @gol
+ -Wreturn-type  -Wsequence-point  -Wshadow  -Wno-shadow-ivar @gol
+ -Wshift-overflow -Wshift-overflow=@var{n} @gol
+@@ -4723,6 +4724,14 @@ made up of data only and thus requires no special treatment.  But, for
+ most targets, it is made up of code and thus requires the stack to be
+ made executable in order for the program to work properly.
++@item -Wno-poison-system-directories
++@opindex Wno-poison-system-directories
++Do not warn for @option{-I} or @option{-L} options using system
++directories such as @file{/usr/include} when cross compiling.  This
++option is intended for use in chroot environments when such
++directories contain the correct headers and libraries for the target
++system rather than the host.
++
+ @item -Wfloat-equal
+ @opindex Wfloat-equal
+ @opindex Wno-float-equal
+diff --git a/gcc/gcc.c b/gcc/gcc.c
+index 1af5920..4cfef7f 100644
+--- a/gcc/gcc.c
++++ b/gcc/gcc.c
+@@ -1017,6 +1017,8 @@ proper position among the other output files.  */
+    "%{fuse-ld=*:-fuse-ld=%*} " LINK_COMPRESS_DEBUG_SPEC \
+    "%X %{o*} %{e*} %{N} %{n} %{r}\
+     %{s} %{t} %{u*} %{z} %{Z} %{!nostdlib:%{!nostartfiles:%S}} \
++    %{Wno-poison-system-directories:--no-poison-system-directories} \
++    %{Werror=poison-system-directories:--error-poison-system-directories} \
+     %{static|no-pie:} %{L*} %(mfwrap) %(link_libgcc) " \
+     VTABLE_VERIFICATION_SPEC " " SANITIZER_EARLY_SPEC " %o " CHKP_SPEC " \
+     %{fopenacc|fopenmp|%:gt(%{ftree-parallelize-loops=*:%*} 1):\
+diff --git a/gcc/incpath.c b/gcc/incpath.c
+index ea40f4a..856da41 100644
+--- a/gcc/incpath.c
++++ b/gcc/incpath.c
+@@ -26,6 +26,7 @@
+ #include "intl.h"
+ #include "incpath.h"
+ #include "cppdefault.h"
++#include "diagnostic-core.h"
+ /* Microsoft Windows does not natively support inodes.
+    VMS has non-numeric inodes.  */
+@@ -381,6 +382,24 @@ merge_include_chains (const char *sysroot, cpp_reader *pfile, int verbose)
+       }
+       fprintf (stderr, _("End of search list.\n"));
+     }
++
++#ifdef ENABLE_POISON_SYSTEM_DIRECTORIES
++  if (flag_poison_system_directories)
++    {
++       struct cpp_dir *p;
++
++       for (p = heads[QUOTE]; p; p = p->next)
++         {
++          if ((!strncmp (p->name, "/usr/include", 12))
++              || (!strncmp (p->name, "/usr/local/include", 18))
++              || (!strncmp (p->name, "/usr/X11R6/include", 18)))
++            warning (OPT_Wpoison_system_directories,
++                     "include location \"%s\" is unsafe for "
++                     "cross-compilation",
++                     p->name);
++         }
++    }
++#endif
+ }
+ /* Use given -I paths for #include "..." but not #include <...>, and
+-- 
+2.8.2
+
similarity index 87%
rename from meta/recipes-devtools/gcc/gcc-6.3/CVE-2016-6131.patch
rename to meta/recipes-devtools/gcc/gcc-6.4/CVE-2016-6131.patch
index e873cc6e853cd1e24e4a17a10d95317f8ce56117..e6837311db36cc9a3ed43913084d9289c2a9ddbc 100644 (file)
@@ -37,31 +37,6 @@ Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
  libiberty/testsuite/demangle-expected | 18 ++++++++
  3 files changed, 108 insertions(+), 5 deletions(-)
 
-diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
-index 240138f..adf1d72 100644
---- a/libiberty/ChangeLog
-+++ b/libiberty/ChangeLog
-@@ -1,3 +1,20 @@
-+2016-08-04  Marcel Böhme  <boehme.marcel@gmail.com>
-+
-+      PR c++/71696
-+      * cplus-dem.c: Prevent infinite recursion when there is a cycle
-+      in the referencing of remembered mangled types.
-+      (work_stuff): New stack to keep track of the remembered mangled
-+      types that are currently being processed.
-+      (push_processed_type): New method to push currently processed
-+      remembered type onto the stack.
-+      (pop_processed_type): New method to pop currently processed
-+      remembered type from the stack.
-+      (work_stuff_copy_to_from): Copy values of new variables.
-+      (delete_non_B_K_work_stuff): Free stack memory.
-+      (demangle_args): Push/Pop currently processed remembered type.
-+      (do_type): Do not demangle a cyclic reference and push/pop
-+      referenced remembered type.
-+
- 2016-12-21  Release Manager
-       * GCC 6.3.0 released.
 diff --git a/libiberty/cplus-dem.c b/libiberty/cplus-dem.c
 index 7514e57..f21e630 100644
 --- a/libiberty/cplus-dem.c