All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] gcc: Update to latest on release/gcc-11 branch
@ 2021-05-24 15:21 Khem Raj
  2021-05-26 10:55 ` [OE-core] " Ross Burton
  0 siblings, 1 reply; 7+ messages in thread
From: Khem Raj @ 2021-05-24 15:21 UTC (permalink / raw)
  To: openembedded-core; +Cc: Khem Raj

There has been 150+ fixes made available after gcc 11.1.0
was released, details of these fixes is here

https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;hp=releases/gcc-11.1.0;h=9ee61d2b51d

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
v2: Use download mirror to fetch the patch

 meta/recipes-devtools/gcc/gcc-11.1.inc | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/gcc/gcc-11.1.inc b/meta/recipes-devtools/gcc/gcc-11.1.inc
index 713002266a..aa7ac9be59 100644
--- a/meta/recipes-devtools/gcc/gcc-11.1.inc
+++ b/meta/recipes-devtools/gcc/gcc-11.1.inc
@@ -6,7 +6,7 @@ PV = "11.1.0"
 
 # BINV should be incremented to a revision after a minor gcc release
 
-BINV = "11.1.0"
+BINV = "11.1.1"
 
 FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
 
@@ -25,7 +25,10 @@ LIC_FILES_CHKSUM = "\
 
 #RELEASE ?= "5b2ac9b40c325e9209c0bd55955db84aad4a0cc5"
 #BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip"
-BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
+
+BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz \
+            http://downloads.yoctoproject.org/mirror/sources/gcc-11.1.0-9ee61d2b51df012c659359873637cc2162ecccf3.patch;apply=yes;name=backports \
+           "
 SRC_URI = "\
            ${BASEURI} \
            file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
@@ -67,6 +70,7 @@ SRC_URI = "\
            file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \
 "
 SRC_URI[sha256sum] = "4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf"
+SRC_URI[backports.sha256sum] = "69274bebd6c069a13443d4af61070e854740a639ec4d66eedf3e80070363587b"
 
 S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
 
-- 
2.31.1


^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH v2] gcc: Update to latest on release/gcc-11 branch
  2021-05-24 15:21 [PATCH v2] gcc: Update to latest on release/gcc-11 branch Khem Raj
@ 2021-05-26 10:55 ` Ross Burton
  2021-05-26 14:18   ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: Ross Burton @ 2021-05-26 10:55 UTC (permalink / raw)
  To: Khem Raj; +Cc: OE-core

I think this breaks non-Linux builds.  All of our Zephyr targets now fail:

ERROR: gcc-runtime-11.1.0-r0 do_package:
QA Issue: gcc-runtime: Files/directories were installed but not
shipped in any package:
/usr/lib/-gdb.py

Ross

Ross

On Mon, 24 May 2021 at 16:21, Khem Raj <raj.khem@gmail.com> wrote:
>
> There has been 150+ fixes made available after gcc 11.1.0
> was released, details of these fixes is here
>
> https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;hp=releases/gcc-11.1.0;h=9ee61d2b51d
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> v2: Use download mirror to fetch the patch
>
>  meta/recipes-devtools/gcc/gcc-11.1.inc | 8 ++++++--
>  1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-11.1.inc b/meta/recipes-devtools/gcc/gcc-11.1.inc
> index 713002266a..aa7ac9be59 100644
> --- a/meta/recipes-devtools/gcc/gcc-11.1.inc
> +++ b/meta/recipes-devtools/gcc/gcc-11.1.inc
> @@ -6,7 +6,7 @@ PV = "11.1.0"
>
>  # BINV should be incremented to a revision after a minor gcc release
>
> -BINV = "11.1.0"
> +BINV = "11.1.1"
>
>  FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
>
> @@ -25,7 +25,10 @@ LIC_FILES_CHKSUM = "\
>
>  #RELEASE ?= "5b2ac9b40c325e9209c0bd55955db84aad4a0cc5"
>  #BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip"
> -BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
> +
> +BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz \
> +            http://downloads.yoctoproject.org/mirror/sources/gcc-11.1.0-9ee61d2b51df012c659359873637cc2162ecccf3.patch;apply=yes;name=backports \
> +           "
>  SRC_URI = "\
>             ${BASEURI} \
>             file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
> @@ -67,6 +70,7 @@ SRC_URI = "\
>             file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \
>  "
>  SRC_URI[sha256sum] = "4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf"
> +SRC_URI[backports.sha256sum] = "69274bebd6c069a13443d4af61070e854740a639ec4d66eedf3e80070363587b"
>
>  S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
>
> --
> 2.31.1
>
>
> 
>

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH v2] gcc: Update to latest on release/gcc-11 branch
  2021-05-26 10:55 ` [OE-core] " Ross Burton
@ 2021-05-26 14:18   ` Khem Raj
  2021-05-26 15:43     ` Martin Jansa
       [not found]     ` <1682A83F9B9CCAC9.4904@lists.openembedded.org>
  0 siblings, 2 replies; 7+ messages in thread
From: Khem Raj @ 2021-05-26 14:18 UTC (permalink / raw)
  To: Ross Burton; +Cc: OE-core

On Wed, May 26, 2021 at 3:55 AM Ross Burton <ross@burtonini.com> wrote:
>
> I think this breaks non-Linux builds.  All of our Zephyr targets now fail:
>
> ERROR: gcc-runtime-11.1.0-r0 do_package:
> QA Issue: gcc-runtime: Files/directories were installed but not
> shipped in any package:
> /usr/lib/-gdb.py

this should have had some prefix. do you have this script around if so
then share

>
> Ross
>
> Ross
>
> On Mon, 24 May 2021 at 16:21, Khem Raj <raj.khem@gmail.com> wrote:
> >
> > There has been 150+ fixes made available after gcc 11.1.0
> > was released, details of these fixes is here
> >
> > https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;hp=releases/gcc-11.1.0;h=9ee61d2b51d
> >
> > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > ---
> > v2: Use download mirror to fetch the patch
> >
> >  meta/recipes-devtools/gcc/gcc-11.1.inc | 8 ++++++--
> >  1 file changed, 6 insertions(+), 2 deletions(-)
> >
> > diff --git a/meta/recipes-devtools/gcc/gcc-11.1.inc b/meta/recipes-devtools/gcc/gcc-11.1.inc
> > index 713002266a..aa7ac9be59 100644
> > --- a/meta/recipes-devtools/gcc/gcc-11.1.inc
> > +++ b/meta/recipes-devtools/gcc/gcc-11.1.inc
> > @@ -6,7 +6,7 @@ PV = "11.1.0"
> >
> >  # BINV should be incremented to a revision after a minor gcc release
> >
> > -BINV = "11.1.0"
> > +BINV = "11.1.1"
> >
> >  FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
> >
> > @@ -25,7 +25,10 @@ LIC_FILES_CHKSUM = "\
> >
> >  #RELEASE ?= "5b2ac9b40c325e9209c0bd55955db84aad4a0cc5"
> >  #BASEURI ?= "https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip"
> > -BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
> > +
> > +BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz \
> > +            http://downloads.yoctoproject.org/mirror/sources/gcc-11.1.0-9ee61d2b51df012c659359873637cc2162ecccf3.patch;apply=yes;name=backports \
> > +           "
> >  SRC_URI = "\
> >             ${BASEURI} \
> >             file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
> > @@ -67,6 +70,7 @@ SRC_URI = "\
> >             file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \
> >  "
> >  SRC_URI[sha256sum] = "4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf"
> > +SRC_URI[backports.sha256sum] = "69274bebd6c069a13443d4af61070e854740a639ec4d66eedf3e80070363587b"
> >
> >  S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
> >
> > --
> > 2.31.1
> >
> >
> > 
> >

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH v2] gcc: Update to latest on release/gcc-11 branch
  2021-05-26 14:18   ` Khem Raj
@ 2021-05-26 15:43     ` Martin Jansa
       [not found]     ` <1682A83F9B9CCAC9.4904@lists.openembedded.org>
  1 sibling, 0 replies; 7+ messages in thread
From: Martin Jansa @ 2021-05-26 15:43 UTC (permalink / raw)
  To: Khem Raj; +Cc: Ross Burton, OE-core

[-- Attachment #1: Type: text/plain, Size: 3173 bytes --]

I'm seeing different error with gcc-sanitizers and this new revision:

work-shared/gcc-11.1.0-r0/gcc-11.1.0/libsanitizer/lsan/lsan_common_linux.cpp:164:25:
error: invalid conversion from 'void (*)(void*)' to 'void* (*)(void*)'
[-fpermissive]

will double-check if it was introduced by this upgrade or something else in
oe-core master update today and also if there is a fix in even newer gcc
already.

On Wed, May 26, 2021 at 4:19 PM Khem Raj <raj.khem@gmail.com> wrote:

> On Wed, May 26, 2021 at 3:55 AM Ross Burton <ross@burtonini.com> wrote:
> >
> > I think this breaks non-Linux builds.  All of our Zephyr targets now
> fail:
> >
> > ERROR: gcc-runtime-11.1.0-r0 do_package:
> > QA Issue: gcc-runtime: Files/directories were installed but not
> > shipped in any package:
> > /usr/lib/-gdb.py
>
> this should have had some prefix. do you have this script around if so
> then share
>
> >
> > Ross
> >
> > Ross
> >
> > On Mon, 24 May 2021 at 16:21, Khem Raj <raj.khem@gmail.com> wrote:
> > >
> > > There has been 150+ fixes made available after gcc 11.1.0
> > > was released, details of these fixes is here
> > >
> > >
> https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff_plain;hp=releases/gcc-11.1.0;h=9ee61d2b51d
> > >
> > > Signed-off-by: Khem Raj <raj.khem@gmail.com>
> > > ---
> > > v2: Use download mirror to fetch the patch
> > >
> > >  meta/recipes-devtools/gcc/gcc-11.1.inc | 8 ++++++--
> > >  1 file changed, 6 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/meta/recipes-devtools/gcc/gcc-11.1.inc
> b/meta/recipes-devtools/gcc/gcc-11.1.inc
> > > index 713002266a..aa7ac9be59 100644
> > > --- a/meta/recipes-devtools/gcc/gcc-11.1.inc
> > > +++ b/meta/recipes-devtools/gcc/gcc-11.1.inc
> > > @@ -6,7 +6,7 @@ PV = "11.1.0"
> > >
> > >  # BINV should be incremented to a revision after a minor gcc release
> > >
> > > -BINV = "11.1.0"
> > > +BINV = "11.1.1"
> > >
> > >  FILESEXTRAPATHS =. "${FILE_DIRNAME}/gcc:${FILE_DIRNAME}/gcc/backport:"
> > >
> > > @@ -25,7 +25,10 @@ LIC_FILES_CHKSUM = "\
> > >
> > >  #RELEASE ?= "5b2ac9b40c325e9209c0bd55955db84aad4a0cc5"
> > >  #BASEURI ?= "
> https://github.com/gcc-mirror/gcc/archive/${RELEASE}.zip;downloadfilename=gcc-${PV}-${RELEASE}.zip
> "
> > > -BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz"
> > > +
> > > +BASEURI ?= "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.xz \
> > > +
> http://downloads.yoctoproject.org/mirror/sources/gcc-11.1.0-9ee61d2b51df012c659359873637cc2162ecccf3.patch;apply=yes;name=backports
> \
> > > +           "
> > >  SRC_URI = "\
> > >             ${BASEURI} \
> > >             file://0001-gcc-4.3.1-ARCH_FLAGS_FOR_TARGET.patch \
> > > @@ -67,6 +70,7 @@ SRC_URI = "\
> > >
>  file://0037-libatomic-Do-not-enforce-march-on-aarch64.patch \
> > >  "
> > >  SRC_URI[sha256sum] =
> "4c4a6fb8a8396059241c2e674b85b351c26a5d678274007f076957afa1cc9ddf"
> > > +SRC_URI[backports.sha256sum] =
> "69274bebd6c069a13443d4af61070e854740a639ec4d66eedf3e80070363587b"
> > >
> > >  S = "${TMPDIR}/work-shared/gcc-${PV}-${PR}/gcc-${PV}"
> > >
> > > --
> > > 2.31.1
> > >
> > >
> > >
> > >
>
> 
>
>

[-- Attachment #2: Type: text/html, Size: 4835 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH v2] gcc: Update to latest on release/gcc-11 branch
       [not found]     ` <1682A83F9B9CCAC9.4904@lists.openembedded.org>
@ 2021-05-26 17:09       ` Martin Jansa
       [not found]       ` <1682ACF8BD246772.22476@lists.openembedded.org>
  1 sibling, 0 replies; 7+ messages in thread
From: Martin Jansa @ 2021-05-26 17:09 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Khem Raj, Ross Burton, OE-core

[-- Attachment #1: Type: text/plain, Size: 683 bytes --]

On Wed, May 26, 2021 at 5:43 PM Martin Jansa via lists.openembedded.org
<Martin.Jansa=gmail.com@lists.openembedded.org> wrote

> I'm seeing different error with gcc-sanitizers and this new revision:
>
> work-shared/gcc-11.1.0-r0/gcc-11.1.0/libsanitizer/lsan/lsan_common_linux.cpp:164:25:
> error: invalid conversion from 'void (*)(void*)' to 'void* (*)(void*)'
> [-fpermissive]
>
> will double-check if it was introduced by this upgrade or something else
> in oe-core master update today and also if there is a fix in even newer gcc
> already.
>

Sorry for noise, this line of code comes from our local patch and the
upgrade just started triggering this issue in it.

[-- Attachment #2: Type: text/html, Size: 1080 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH v2] gcc: Update to latest on release/gcc-11 branch
       [not found]       ` <1682ACF8BD246772.22476@lists.openembedded.org>
@ 2021-05-29 13:09         ` Martin Jansa
  2021-05-29 17:16           ` Khem Raj
  0 siblings, 1 reply; 7+ messages in thread
From: Martin Jansa @ 2021-05-29 13:09 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Khem Raj, Ross Burton, OE-core

[-- Attachment #1: Type: text/plain, Size: 7730 bytes --]

It's not directly caused by this upgrade, but it revealed interesting issue
in incremental builds.

This is just to document some reproducible cases of "random build issues
which magically disappeared after -c clean".

Building in the same TMPDIR with this gcc upgrade resulted in syslinux and
libvpx failing with couple errors like:

make[4]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/tools'
make[4]: *** No rule to make target
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdarg.h',
needed by 'zlib/adler32.o'.  Stop.
make[4]: *** Waiting for unfinished jobs....
make[4]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/lib'
make[3]: ***
[/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/Makefile:7:
lib] Error 2
make[3]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32'
make[2]: ***
[/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/Makefile:347:
install] Error 2
make[2]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios'
make[1]: ***
[/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/Makefile:257:
bios] Error 2
make[1]: Leaving directory
'/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2'
make: *** [Makefile:102: install] Error 2
ERROR: oe_runmake failed

Rebuilding from scratch fixes the issue and the 11.1.0 directory was
referenced in many *.o.d files:

---
6.04-pre2-r1-broken/syslinux-6.04-pre2/bios/com32/libupload/.upload_srec.o.d
       2021-05-24 09:56:57.390268171 +0200
+++ 6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/libupload/.upload_srec.o.d
    2021-05-29 14:12:45.670506782 +0200
@@ -7,7 +7,7 @@

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/bitsize32/stddef.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdio.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdarg.h
\
-
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdarg.h
\
+
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stdarg.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/inttypes.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdint.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/bitsize/stdint.h
\

I don't see any easy way how to force them to be regenerated when gcc was
upgraded.

syslinux uses plain Makefiles and do_configure tries to clean with;
oe_runmake firmware="bios" clean

Similarly libvpx doesn't use autotools bbclass, but calls configure/make
manually so also doesn't take advantage of separate B directory and
removing it before re-executing do_configure.

-- 1.8.2-r0-broken/git/vpx_scale/generic/vpx_scale.c.d 2021-05-24
09:29:44.916405487 +0200
+++ 1.8.2-r0/git/vpx_scale/generic/vpx_scale.c.d        2021-05-29
14:12:39.234539166 +0200
@@ -10,7 +10,7 @@

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/long-double-64.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/gnu/stubs.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/gnu/stubs-64.h
\
-
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stddef.h
\
+
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stddef.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/waitflags.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/waitstatus.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/floatn.h
\
@@ -49,7 +49,7 @@

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/stdlib-float.h
\
  vpx/vpx_integer.h \

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/inttypes.h
\
-
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdint.h
\
+
/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stdint.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/stdint.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/wchar.h
\

/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/stdint-uintn.h
\

Any ideas how to detect and prevent this kind of issues in some generic way
so that we don't need to explicitly fix the recipes?
Bumping tmp-glibc/abi_version on every minor gcc upgrade also seems a bit
overkill (as gcc upgrades might not be the only source of these kind of
issues anyway).

Regards,

On Wed, May 26, 2021 at 7:10 PM Martin Jansa via lists.openembedded.org
<Martin.Jansa=gmail.com@lists.openembedded.org> wrote:

> On Wed, May 26, 2021 at 5:43 PM Martin Jansa via lists.openembedded.org
> <Martin.Jansa=gmail.com@lists.openembedded.org> wrote
>
>> I'm seeing different error with gcc-sanitizers and this new revision:
>>
>> work-shared/gcc-11.1.0-r0/gcc-11.1.0/libsanitizer/lsan/lsan_common_linux.cpp:164:25:
>> error: invalid conversion from 'void (*)(void*)' to 'void* (*)(void*)'
>> [-fpermissive]
>>
>> will double-check if it was introduced by this upgrade or something else
>> in oe-core master update today and also if there is a fix in even newer gcc
>> already.
>>
>
> Sorry for noise, this line of code comes from our local patch and the
> upgrade just started triggering this issue in it.
>
> 
>
>

[-- Attachment #2: Type: text/html, Size: 8925 bytes --]

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [OE-core] [PATCH v2] gcc: Update to latest on release/gcc-11 branch
  2021-05-29 13:09         ` Martin Jansa
@ 2021-05-29 17:16           ` Khem Raj
  0 siblings, 0 replies; 7+ messages in thread
From: Khem Raj @ 2021-05-29 17:16 UTC (permalink / raw)
  To: Martin Jansa; +Cc: Ross Burton, OE-core



On 5/29/21 6:09 AM, Martin Jansa wrote:
> It's not directly caused by this upgrade, but it revealed interesting 
> issue in incremental builds.
> 
> This is just to document some reproducible cases of "random build issues 
> which magically disappeared after -c clean".
> 
> Building in the same TMPDIR with this gcc upgrade resulted in syslinux 
> and libvpx failing with couple errors like:
> 
> make[4]: Leaving directory 
> '/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/tools'
> make[4]: *** No rule to make target 
> '/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdarg.h', 
> needed by 'zlib/adler32.o'.  Stop.
> make[4]: *** Waiting for unfinished jobs....
> make[4]: Leaving directory 
> '/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/lib'
> make[3]: *** 
> [/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/Makefile:7: 
> lib] Error 2
> make[3]: Leaving directory 
> '/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios/com32'
> make[2]: *** 
> [/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/Makefile:347: 
> install] Error 2
> make[2]: Leaving directory 
> '/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/bios'
> make[1]: *** 
> [/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/Makefile:257: 
> bios] Error 2
> make[1]: Leaving directory 
> '/OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2'
> make: *** [Makefile:102: install] Error 2
> ERROR: oe_runmake failed
> 
> Rebuilding from scratch fixes the issue and the 11.1.0 directory was 
> referenced in many *.o.d files:
> 
> --- 
> 6.04-pre2-r1-broken/syslinux-6.04-pre2/bios/com32/libupload/.upload_srec.o.d 
>         2021-05-24 09:56:57.390268171 +0200
> +++ 
> 6.04-pre2-r1/syslinux-6.04-pre2/bios/com32/libupload/.upload_srec.o.d   
>      2021-05-29 14:12:45.670506782 +0200
> @@ -7,7 +7,7 @@
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/bitsize32/stddef.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdio.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdarg.h 
> \
> - 
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdarg.h 
> \
> + 
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stdarg.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/inttypes.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/stdint.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/syslinux/6.04-pre2-r1/syslinux-6.04-pre2/com32/include/bitsize/stdint.h 
> \
> 
> I don't see any easy way how to force them to be regenerated when gcc 
> was upgraded.
> 
> syslinux uses plain Makefiles and do_configure tries to clean with;
> oe_runmake firmware="bios" clean
> 
> Similarly libvpx doesn't use autotools bbclass, but calls configure/make 
> manually so also doesn't take advantage of separate B directory and 
> removing it before re-executing do_configure.
> 
> -- 1.8.2-r0-broken/git/vpx_scale/generic/vpx_scale.c.d 2021-05-24 
> 09:29:44.916405487 +0200
> +++ 1.8.2-r0/git/vpx_scale/generic/vpx_scale.c.d        2021-05-29 
> 14:12:39.234539166 +0200
> @@ -10,7 +10,7 @@
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/long-double-64.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/gnu/stubs.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/gnu/stubs-64.h 
> \
> - 
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stddef.h 
> \
> + 
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stddef.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/waitflags.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/waitstatus.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/floatn.h 
> \
> @@ -49,7 +49,7 @@
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/stdlib-float.h 
> \
>    vpx/vpx_integer.h \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/inttypes.h 
> \
> - 
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.0/include/stdint.h 
> \
> + 
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot-native/usr/lib/x86_64-webos-linux/gcc/x86_64-webos-linux/11.1.1/include/stdint.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/stdint.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/wchar.h 
> \
>    
> /OE/build/luneos-honister/webos-ports/tmp-glibc/work/core2-64-webos-linux/libvpx/1.8.2-r0/recipe-sysroot/usr/include/bits/stdint-uintn.h 
> \
> 
> Any ideas how to detect and prevent this kind of issues in some generic 
> way so that we don't need to explicitly fix the recipes? 
> Bumping tmp-glibc/abi_version on every minor gcc upgrade also seems a 
> bit overkill (as gcc upgrades might not be the only source of these kind 
> of issues anyway).

This is in the packages which try to generate and use dependency 
tracking. This kind of automatic dependency tracking relies on compiler 
to compute this information but only after compile has happened so it 
slows down the build too. autotools has it tooled during configure if 
--enable-dependency-tracking is passed then it will check and update 
these dependencies in incremental compile, So for one set of recipes 
which use autotools we can enable this option, although it has build 
time penalty, how much I don't know.

for other build systems also there must be similar tools

Although, I would say that having a knob to trigger world rebuilds is 
perhaps a fine approach for such changes, since we will  spend time 
everytime otherwise.

> 
> Regards,
> 
> On Wed, May 26, 2021 at 7:10 PM Martin Jansa via lists.openembedded.org 
> <http://lists.openembedded.org> 
> <Martin.Jansa=gmail.com@lists.openembedded.org 
> <mailto:gmail.com@lists.openembedded.org>> wrote:
> 
>     On Wed, May 26, 2021 at 5:43 PM Martin Jansa via
>     lists.openembedded.org <http://lists.openembedded.org>
>     <Martin.Jansa=gmail.com@lists.openembedded.org
>     <mailto:gmail.com@lists.openembedded.org>> wrote
> 
>         I'm seeing different error with gcc-sanitizers and this new
>         revision:
> 
>         work-shared/gcc-11.1.0-r0/gcc-11.1.0/libsanitizer/lsan/lsan_common_linux.cpp:164:25:
>         error: invalid conversion from 'void (*)(void*)' to 'void*
>         (*)(void*)' [-fpermissive]
> 
>         will double-check if it was introduced by this upgrade or
>         something else in oe-core master update today and also if there
>         is a fix in even newer gcc already.
> 
> 
>     Sorry for noise, this line of code comes from our local patch and
>     the upgrade just started triggering this issue in it.
> 
>     
> 

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-05-29 17:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-24 15:21 [PATCH v2] gcc: Update to latest on release/gcc-11 branch Khem Raj
2021-05-26 10:55 ` [OE-core] " Ross Burton
2021-05-26 14:18   ` Khem Raj
2021-05-26 15:43     ` Martin Jansa
     [not found]     ` <1682A83F9B9CCAC9.4904@lists.openembedded.org>
2021-05-26 17:09       ` Martin Jansa
     [not found]       ` <1682ACF8BD246772.22476@lists.openembedded.org>
2021-05-29 13:09         ` Martin Jansa
2021-05-29 17:16           ` Khem Raj

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.