[OE-core] [morty][PATCH] gcc-6.2: backport fix of check for empty string in ubsan.c

Khem Raj raj.khem at gmail.com
Wed Jun 7 19:12:58 UTC 2017


On Wed, Jun 7, 2017 at 11:46 AM, Cody P Schafer <dev at codyps.com> wrote:
> From: Joshua Lock <joshua.g.lock at intel.com>
>
> Building gcc-cross-initial with GCC7 on the host fails due to the
> comparison of a pointer to an integer in ubsan_use_new_style_p, which
> is forbidden by ISO C++:
>
> ubsan.c:1474:23: error: ISO C++ forbids comparison between pointer and
> integer [-fpermissive]
>        || xloc.file == '\0' || xloc.file[0] == '\xff'
>
> Backport the fix from upstream GCC to enable the build with GCC 7
>

this is fine


> (From OE-Core rev: 7a7fcbab0365b9501c737dbc02715be14dda72a3)
>
> Signed-off-by: Joshua Lock <joshua.g.lock at intel.com>
> Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
> Signed-off-by: Cody P Schafer <dev at codyps.com>
> ---
>  meta/recipes-devtools/gcc/gcc-6.2.inc              |  5 ++--
>  .../gcc/gcc-6.2/ubsan-fix-check-empty-string.patch | 28 ++++++++++++++++++++++
>  2 files changed, 31 insertions(+), 2 deletions(-)
>  create mode 100644 meta/recipes-devtools/gcc/gcc-6.2/ubsan-fix-check-empty-string.patch
>
> diff --git a/meta/recipes-devtools/gcc/gcc-6.2.inc b/meta/recipes-devtools/gcc/gcc-6.2.inc
> index b118995e1d..39ae653805 100644
> --- a/meta/recipes-devtools/gcc/gcc-6.2.inc
> +++ b/meta/recipes-devtools/gcc/gcc-6.2.inc
> @@ -80,8 +80,9 @@ SRC_URI = "\
>             file://0047-libgcc_s-Use-alias-for-__cpu_indicator_init-instead-.patch \
>             ${BACKPORTS} \
>  "
> -BACKPORTS = ""
> -
> +BACKPORTS = "\
> +           file://ubsan-fix-check-empty-string.patch \
> +"
>  SRC_URI[md5sum] = "9768625159663b300ae4de2f4745fcc4"
>  SRC_URI[sha256sum] = "9944589fc722d3e66308c0ce5257788ebd7872982a718aa2516123940671b7c5"
>
> diff --git a/meta/recipes-devtools/gcc/gcc-6.2/ubsan-fix-check-empty-string.patch b/meta/recipes-devtools/gcc/gcc-6.2/ubsan-fix-check-empty-string.patch
> new file mode 100644
> index 0000000000..c0127198e0
> --- /dev/null
> +++ b/meta/recipes-devtools/gcc/gcc-6.2/ubsan-fix-check-empty-string.patch
> @@ -0,0 +1,28 @@
> +From 8db2cf6353c13f2a84cbe49b689654897906c499 Mon Sep 17 00:00:00 2001
> +From: kyukhin <kyukhin at 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 at 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.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list