gcc6: Upgrade to 6.4

Cherry-picked from oe-core master 7874fa86cb583fe6a178b95ead09430486197197

(From OE-Core rev: 4a9eee06a6d15a23f58bc981c83138964702b735)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2017-10-14 08:48:57 -07:00 committed by Richard Purdie
parent fbf0a74537
commit 02b66069c5
67 changed files with 25 additions and 82 deletions

View 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%"

View File

@ -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;

View 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.0"
# BINV should be incremented to a revision after a minor gcc release
BINV = "6.3.0"
BINV = "6.4.0"
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,7 +24,7 @@ LIC_FILES_CHKSUM = "\
"
BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2"
BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
#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"
@ -86,10 +86,9 @@ SRC_URI = "\
"
BACKPORTS = "\
file://CVE-2016-6131.patch \
file://ubsan-fix-check-empty-string.patch \
"
SRC_URI[md5sum] = "677a7623c7ef6ab99881bc4e048debb6"
SRC_URI[sha256sum] = "f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f"
SRC_URI[md5sum] = "11ba51a0cfb8471927f387c8895fe232"
SRC_URI[sha256sum] = "850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4"
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"

View File

@ -31,7 +31,7 @@ gcc/Changelog:
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Rejected
Upstream-Status: Denied
gcc/config/i386/i386.c | 4 ++--
libgcc/config/i386/cpuinfo.c | 6 +++---

View File

@ -37,35 +37,10 @@ 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
+++ b/libiberty/cplus-dem.c
Index: gcc-6.4.0/libiberty/cplus-dem.c
===================================================================
--- gcc-6.4.0.orig/libiberty/cplus-dem.c
+++ gcc-6.4.0/libiberty/cplus-dem.c
@@ -144,6 +144,9 @@ struct work_stuff
string* previous_argument; /* The last function argument demangled. */
int nrepeats; /* The number of times to repeat the previous
@ -76,7 +51,7 @@ index 7514e57..f21e630 100644
};
#define PRINT_ANSI_QUALIFIERS (work -> options & DMGL_ANSI)
@@ -435,6 +438,10 @@ iterate_demangle_function (struct work_stuff *,
@@ -435,6 +438,10 @@ iterate_demangle_function (struct work_s
static void remember_type (struct work_stuff *, const char *, int);
@ -87,7 +62,7 @@ index 7514e57..f21e630 100644
static void remember_Btype (struct work_stuff *, const char *, int, int);
static int register_Btype (struct work_stuff *);
@@ -1301,6 +1308,10 @@ work_stuff_copy_to_from (struct work_stuff *to, struct work_stuff *from)
@@ -1301,6 +1308,10 @@ work_stuff_copy_to_from (struct work_stu
memcpy (to->btypevec[i], from->btypevec[i], len);
}
@ -98,7 +73,7 @@ index 7514e57..f21e630 100644
if (from->ntmpl_args)
to->tmpl_argvec = XNEWVEC (char *, from->ntmpl_args);
@@ -1329,11 +1340,17 @@ delete_non_B_K_work_stuff (struct work_stuff *work)
@@ -1329,11 +1340,17 @@ delete_non_B_K_work_stuff (struct work_s
/* Discard the remembered types, if any. */
forget_types (work);
@ -129,7 +104,7 @@ index 7514e57..f21e630 100644
int done;
int success;
string decl;
@@ -3564,6 +3583,7 @@ do_type (struct work_stuff *work, const char **mangled, string *result)
@@ -3564,6 +3583,7 @@ do_type (struct work_stuff *work, const
done = 0;
success = 1;
@ -137,7 +112,7 @@ index 7514e57..f21e630 100644
while (success && !done)
{
int member;
@@ -3616,8 +3636,15 @@ do_type (struct work_stuff *work, const char **mangled, string *result)
@@ -3616,8 +3636,15 @@ do_type (struct work_stuff *work, const
success = 0;
}
else
@ -154,7 +129,7 @@ index 7514e57..f21e630 100644
mangled = &remembered_type;
}
break;
@@ -3840,6 +3867,9 @@ do_type (struct work_stuff *work, const char **mangled, string *result)
@@ -3840,6 +3867,9 @@ do_type (struct work_stuff *work, const
string_delete (result);
string_delete (&decl);
@ -164,7 +139,7 @@ index 7514e57..f21e630 100644
if (success)
/* Assume an integral type, if we're not sure. */
return (int) ((tk == tk_none) ? tk_integral : tk);
@@ -4252,6 +4282,41 @@ do_arg (struct work_stuff *work, const char **mangled, string *result)
@@ -4252,6 +4282,41 @@ do_arg (struct work_stuff *work, const c
}
static void
@ -206,7 +181,7 @@ index 7514e57..f21e630 100644
remember_type (struct work_stuff *work, const char *start, int len)
{
char *tem;
@@ -4515,10 +4580,13 @@ demangle_args (struct work_stuff *work, const char **mangled,
@@ -4515,10 +4580,13 @@ demangle_args (struct work_stuff *work,
{
string_append (declp, ", ");
}
@ -220,11 +195,11 @@ index 7514e57..f21e630 100644
if (PRINT_ARG_TYPES)
{
string_appends (declp, &arg);
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index 157d2ee..8793a0b 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -4491,3 +4491,21 @@ void eat<int*, Foo()::{lambda(auto:1*, auto:2*)#6}>(int*&, Foo()::{lambda(auto:1
Index: gcc-6.4.0/libiberty/testsuite/demangle-expected
===================================================================
--- gcc-6.4.0.orig/libiberty/testsuite/demangle-expected
+++ gcc-6.4.0/libiberty/testsuite/demangle-expected
@@ -4491,3 +4491,21 @@ void eat<int*, Foo()::{lambda(auto:1*, a
_Z3eatIPiZ3BarIsEvvEUlPsPT_PT0_E0_EvRS3_RS5_
void eat<int*, void Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}>(int*&, void Bar<short>()::{lambda(short*, auto:1*, auto:2*)#2}&)
@ -246,6 +221,3 @@ index 157d2ee..8793a0b 100644
+
+__10%0__S4_0T0T0
+%0<>::%0(%0<>)
--
2.9.3