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:
parent
fbf0a74537
commit
02b66069c5
|
@ -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/nativesdk-${SDK_PREFIX}libc-initial ?= "nativesdk-glibc-initial"
|
||||||
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
|
PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
|
||||||
|
|
||||||
GCCVERSION ?= "6.3%"
|
GCCVERSION ?= "6.4%"
|
||||||
SDKGCCVERSION ?= "${GCCVERSION}"
|
SDKGCCVERSION ?= "${GCCVERSION}"
|
||||||
BINUVERSION ?= "2.28%"
|
BINUVERSION ?= "2.28%"
|
||||||
GDBVERSION ?= "7.12%"
|
GDBVERSION ?= "7.12%"
|
||||||
|
|
|
@ -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;
|
|
||||||
|
|
|
@ -2,13 +2,13 @@ require gcc-common.inc
|
||||||
|
|
||||||
# Third digit in PV should be incremented after a minor release
|
# 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 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"
|
DEPENDS =+ "mpfr gmp libmpc zlib"
|
||||||
NATIVEDEPS = "mpfr-native gmp-native libmpc-native zlib-native"
|
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"
|
#SRCREV = "bd9a826d5448db11d29d2ec5884e7e679066f140"
|
||||||
#BASEURI ?= "git://github.com/gcc-mirror/gcc;branch=gcc-6-branch;protocol=git"
|
#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 ?= "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 = "\
|
BACKPORTS = "\
|
||||||
file://CVE-2016-6131.patch \
|
file://CVE-2016-6131.patch \
|
||||||
file://ubsan-fix-check-empty-string.patch \
|
|
||||||
"
|
"
|
||||||
SRC_URI[md5sum] = "677a7623c7ef6ab99881bc4e048debb6"
|
SRC_URI[md5sum] = "11ba51a0cfb8471927f387c8895fe232"
|
||||||
SRC_URI[sha256sum] = "f06ae7f3f790fbf0f018f6d40e844451e6bc3b7bc96e128e63b09825c1f8b29f"
|
SRC_URI[sha256sum] = "850bf21eafdfe5cd5f6827148184c08c4a0852a37ccf36ce69855334d2c914d4"
|
||||||
|
|
||||||
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
|
S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
|
||||||
#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
|
#S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/git"
|
|
@ -31,7 +31,7 @@ gcc/Changelog:
|
||||||
|
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
Upstream-Status: Rejected
|
Upstream-Status: Denied
|
||||||
|
|
||||||
gcc/config/i386/i386.c | 4 ++--
|
gcc/config/i386/i386.c | 4 ++--
|
||||||
libgcc/config/i386/cpuinfo.c | 6 +++---
|
libgcc/config/i386/cpuinfo.c | 6 +++---
|
|
@ -37,35 +37,10 @@ Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
|
||||||
libiberty/testsuite/demangle-expected | 18 ++++++++
|
libiberty/testsuite/demangle-expected | 18 ++++++++
|
||||||
3 files changed, 108 insertions(+), 5 deletions(-)
|
3 files changed, 108 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
|
Index: gcc-6.4.0/libiberty/cplus-dem.c
|
||||||
index 240138f..adf1d72 100644
|
===================================================================
|
||||||
--- a/libiberty/ChangeLog
|
--- gcc-6.4.0.orig/libiberty/cplus-dem.c
|
||||||
+++ b/libiberty/ChangeLog
|
+++ gcc-6.4.0/libiberty/cplus-dem.c
|
||||||
@@ -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
|
|
||||||
@@ -144,6 +144,9 @@ struct work_stuff
|
@@ -144,6 +144,9 @@ struct work_stuff
|
||||||
string* previous_argument; /* The last function argument demangled. */
|
string* previous_argument; /* The last function argument demangled. */
|
||||||
int nrepeats; /* The number of times to repeat the previous
|
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)
|
#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);
|
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 void remember_Btype (struct work_stuff *, const char *, int, int);
|
||||||
|
|
||||||
static int register_Btype (struct work_stuff *);
|
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);
|
memcpy (to->btypevec[i], from->btypevec[i], len);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -98,7 +73,7 @@ index 7514e57..f21e630 100644
|
||||||
if (from->ntmpl_args)
|
if (from->ntmpl_args)
|
||||||
to->tmpl_argvec = XNEWVEC (char *, 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. */
|
/* Discard the remembered types, if any. */
|
||||||
|
|
||||||
forget_types (work);
|
forget_types (work);
|
||||||
|
@ -129,7 +104,7 @@ index 7514e57..f21e630 100644
|
||||||
int done;
|
int done;
|
||||||
int success;
|
int success;
|
||||||
string decl;
|
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;
|
done = 0;
|
||||||
success = 1;
|
success = 1;
|
||||||
|
@ -137,7 +112,7 @@ index 7514e57..f21e630 100644
|
||||||
while (success && !done)
|
while (success && !done)
|
||||||
{
|
{
|
||||||
int member;
|
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;
|
success = 0;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -154,7 +129,7 @@ index 7514e57..f21e630 100644
|
||||||
mangled = &remembered_type;
|
mangled = &remembered_type;
|
||||||
}
|
}
|
||||||
break;
|
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 (result);
|
||||||
string_delete (&decl);
|
string_delete (&decl);
|
||||||
|
|
||||||
|
@ -164,7 +139,7 @@ index 7514e57..f21e630 100644
|
||||||
if (success)
|
if (success)
|
||||||
/* Assume an integral type, if we're not sure. */
|
/* Assume an integral type, if we're not sure. */
|
||||||
return (int) ((tk == tk_none) ? tk_integral : tk);
|
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
|
static void
|
||||||
|
@ -206,7 +181,7 @@ index 7514e57..f21e630 100644
|
||||||
remember_type (struct work_stuff *work, const char *start, int len)
|
remember_type (struct work_stuff *work, const char *start, int len)
|
||||||
{
|
{
|
||||||
char *tem;
|
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, ", ");
|
string_append (declp, ", ");
|
||||||
}
|
}
|
||||||
|
@ -220,11 +195,11 @@ index 7514e57..f21e630 100644
|
||||||
if (PRINT_ARG_TYPES)
|
if (PRINT_ARG_TYPES)
|
||||||
{
|
{
|
||||||
string_appends (declp, &arg);
|
string_appends (declp, &arg);
|
||||||
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
|
Index: gcc-6.4.0/libiberty/testsuite/demangle-expected
|
||||||
index 157d2ee..8793a0b 100644
|
===================================================================
|
||||||
--- a/libiberty/testsuite/demangle-expected
|
--- gcc-6.4.0.orig/libiberty/testsuite/demangle-expected
|
||||||
+++ b/libiberty/testsuite/demangle-expected
|
+++ gcc-6.4.0/libiberty/testsuite/demangle-expected
|
||||||
@@ -4491,3 +4491,21 @@ void eat<int*, Foo()::{lambda(auto:1*, auto:2*)#6}>(int*&, Foo()::{lambda(auto:1
|
@@ -4491,3 +4491,21 @@ void eat<int*, Foo()::{lambda(auto:1*, a
|
||||||
|
|
||||||
_Z3eatIPiZ3BarIsEvvEUlPsPT_PT0_E0_EvRS3_RS5_
|
_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}&)
|
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
|
+__10%0__S4_0T0T0
|
||||||
+%0<>::%0(%0<>)
|
+%0<>::%0(%0<>)
|
||||||
--
|
|
||||||
2.9.3
|
|
||||||
|
|
Loading…
Reference in New Issue