diff mbox series

[mickledore,13/13] uninative: Upgrade to 4.0 to include latest gcc 13.1.1

Message ID 0470293e16f424ba4ee6505f3ef68e5ee13df483.1685672395.git.steve@sakoman.com
State New
Headers show
Series [mickledore,01/13] linux-yocto/5.15: update to v5.15.109 | expand

Commit Message

Steve Sakoman June 2, 2023, 2:22 a.m. UTC
From: Michael Halstead <mhalstead@linuxfoundation.org>

Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f87becb69e02bdf055dffb633ed4f6d36b36f7a7)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
---
 meta/conf/distro/include/yocto-uninative.inc | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

Comments

Martin Jansa June 4, 2023, 5:39 p.m. UTC | #1
Hi,

it looks like this change is causing mkfs.ext4 to segfault on some builders.

I'm seeing it on ubuntu-18.04 (I know it's unsupported now). It might be
related to older docker or libseccomp2 there, because there is similar
issue with gdk-pixbuf-native which fails when buildtools-extended is used
together with this and might be related to
https://github.com/moby/moby/issues/43595 because when I try very similar
18.04 ubuntu image on my gentoo host I cannot reproduce neither the
gdk-pixbuf-native failure nor the mkfs.ext4 segfaults.

I'm trying to get access to some of the affected boxes to find out which
version docker/libseccomp2 is used there and to double check that this is
root cause for these failures (now I can only confirm that it started in
Nanbield when this uninative upgrade was merged and now I've reproduced the
same with kirkstone-nut with the same uninative upgrade.

It might be useful to delay backporting this for a bit longer (and I'll
soon confirm if 3.10 was already affected or not).

Regards,

On Fri, Jun 2, 2023 at 4:22 AM Steve Sakoman <steve@sakoman.com> wrote:

> From: Michael Halstead <mhalstead@linuxfoundation.org>
>
> Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> (cherry picked from commit f87becb69e02bdf055dffb633ed4f6d36b36f7a7)
> Signed-off-by: Steve Sakoman <steve@sakoman.com>
> ---
>  meta/conf/distro/include/yocto-uninative.inc | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/meta/conf/distro/include/yocto-uninative.inc
> b/meta/conf/distro/include/yocto-uninative.inc
> index f3c05b7e20..ad4816a1f3 100644
> --- a/meta/conf/distro/include/yocto-uninative.inc
> +++ b/meta/conf/distro/include/yocto-uninative.inc
> @@ -7,9 +7,9 @@
>  #
>
>  UNINATIVE_MAXGLIBCVERSION = "2.37"
> -UNINATIVE_VERSION = "3.10"
> +UNINATIVE_VERSION = "4.0"
>
>  UNINATIVE_URL ?= "
> http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/
> "
> -UNINATIVE_CHECKSUM[aarch64] ?=
> "b11f7dff0ff5e3c971f22e89a105efb0f8d2006fd71d1ea3e5da771e416b0e01"
> -UNINATIVE_CHECKSUM[i686] ?=
> "ad7daa7fca7693ca07eea5279f830333530171d357759b380954a25254edd8dd"
> -UNINATIVE_CHECKSUM[x86_64] ?=
> "ce8ff7e3247da312fbf84008f415bc1b4d113ac9fe4ec91581e4a20cd8b475d3"
> +UNINATIVE_CHECKSUM[aarch64] ?=
> "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
> +UNINATIVE_CHECKSUM[i686] ?=
> "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
> +UNINATIVE_CHECKSUM[x86_64] ?=
> "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#182136):
> https://lists.openembedded.org/g/openembedded-core/message/182136
> Mute This Topic: https://lists.openembedded.org/mt/99279066/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Steve Sakoman June 4, 2023, 7:14 p.m. UTC | #2
On Sun, Jun 4, 2023 at 7:39 AM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> Hi,
>
> it looks like this change is causing mkfs.ext4 to segfault on some builders.
>
> I'm seeing it on ubuntu-18.04 (I know it's unsupported now). It might be related to older docker or libseccomp2 there, because there is similar issue with gdk-pixbuf-native which fails when buildtools-extended is used together with this and might be related to https://github.com/moby/moby/issues/43595 because when I try very similar 18.04 ubuntu image on my gentoo host I cannot reproduce neither the gdk-pixbuf-native failure nor the mkfs.ext4 segfaults.
>
> I'm trying to get access to some of the affected boxes to find out which version docker/libseccomp2 is used there and to double check that this is root cause for these failures (now I can only confirm that it started in Nanbield when this uninative upgrade was merged and now I've reproduced the same with kirkstone-nut with the same uninative upgrade.
>
> It might be useful to delay backporting this for a bit longer (and I'll soon confirm if 3.10 was already affected or not).

Agreed, I'm struggling with kirkstone too, so will delay taking the
uninative update until we learn more.

Thanks for the review!

Steve

> On Fri, Jun 2, 2023 at 4:22 AM Steve Sakoman <steve@sakoman.com> wrote:
>>
>> From: Michael Halstead <mhalstead@linuxfoundation.org>
>>
>> Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
>> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> (cherry picked from commit f87becb69e02bdf055dffb633ed4f6d36b36f7a7)
>> Signed-off-by: Steve Sakoman <steve@sakoman.com>
>> ---
>>  meta/conf/distro/include/yocto-uninative.inc | 8 ++++----
>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc
>> index f3c05b7e20..ad4816a1f3 100644
>> --- a/meta/conf/distro/include/yocto-uninative.inc
>> +++ b/meta/conf/distro/include/yocto-uninative.inc
>> @@ -7,9 +7,9 @@
>>  #
>>
>>  UNINATIVE_MAXGLIBCVERSION = "2.37"
>> -UNINATIVE_VERSION = "3.10"
>> +UNINATIVE_VERSION = "4.0"
>>
>>  UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
>> -UNINATIVE_CHECKSUM[aarch64] ?= "b11f7dff0ff5e3c971f22e89a105efb0f8d2006fd71d1ea3e5da771e416b0e01"
>> -UNINATIVE_CHECKSUM[i686] ?= "ad7daa7fca7693ca07eea5279f830333530171d357759b380954a25254edd8dd"
>> -UNINATIVE_CHECKSUM[x86_64] ?= "ce8ff7e3247da312fbf84008f415bc1b4d113ac9fe4ec91581e4a20cd8b475d3"
>> +UNINATIVE_CHECKSUM[aarch64] ?= "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
>> +UNINATIVE_CHECKSUM[i686] ?= "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
>> +UNINATIVE_CHECKSUM[x86_64] ?= "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"
>> --
>> 2.34.1
>>
>>
>> -=-=-=-=-=-=-=-=-=-=-=-
>> Links: You receive all messages sent to this group.
>> View/Reply Online (#182136): https://lists.openembedded.org/g/openembedded-core/message/182136
>> Mute This Topic: https://lists.openembedded.org/mt/99279066/3617156
>> Group Owner: openembedded-core+owner@lists.openembedded.org
>> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [Martin.Jansa@gmail.com]
>> -=-=-=-=-=-=-=-=-=-=-=-
>>
Martin Jansa June 4, 2023, 8:34 p.m. UTC | #3
> It might be useful to delay backporting this for a bit longer (and I'll
soon confirm if 3.10 was already affected or not).

I can confirm that 3.10 is also affected.

I did build with
https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=75e3870ea124321b81f856c4e5170c891f0bd050
and mkfs.ext4 didn't segfault. With uninative 3.10 from
https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=680eecc3ae09ea5585e46ff0e67f7c6704221806
it segfaults again.

I haven't reproduced the gdk-pixbuf-native issue with buildtools-extended
4.0.6 with kirkstone yet, so that one might be only with nanbield, but
mkfs.ext4 segfaults seem related to uninative for sure. Will debug more
when I get access.

Cheers,

On Sun, Jun 4, 2023 at 9:14 PM Steve Sakoman <steve@sakoman.com> wrote:

> On Sun, Jun 4, 2023 at 7:39 AM Martin Jansa <martin.jansa@gmail.com>
> wrote:
> >
> > Hi,
> >
> > it looks like this change is causing mkfs.ext4 to segfault on some
> builders.
> >
> > I'm seeing it on ubuntu-18.04 (I know it's unsupported now). It might be
> related to older docker or libseccomp2 there, because there is similar
> issue with gdk-pixbuf-native which fails when buildtools-extended is used
> together with this and might be related to
> https://github.com/moby/moby/issues/43595 because when I try very similar
> 18.04 ubuntu image on my gentoo host I cannot reproduce neither the
> gdk-pixbuf-native failure nor the mkfs.ext4 segfaults.
> >
> > I'm trying to get access to some of the affected boxes to find out which
> version docker/libseccomp2 is used there and to double check that this is
> root cause for these failures (now I can only confirm that it started in
> Nanbield when this uninative upgrade was merged and now I've reproduced the
> same with kirkstone-nut with the same uninative upgrade.
> >
> > It might be useful to delay backporting this for a bit longer (and I'll
> soon confirm if 3.10 was already affected or not).
>
> Agreed, I'm struggling with kirkstone too, so will delay taking the
> uninative update until we learn more.
>
> Thanks for the review!
>
> Steve
>
> > On Fri, Jun 2, 2023 at 4:22 AM Steve Sakoman <steve@sakoman.com> wrote:
> >>
> >> From: Michael Halstead <mhalstead@linuxfoundation.org>
> >>
> >> Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
> >> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> >> (cherry picked from commit f87becb69e02bdf055dffb633ed4f6d36b36f7a7)
> >> Signed-off-by: Steve Sakoman <steve@sakoman.com>
> >> ---
> >>  meta/conf/distro/include/yocto-uninative.inc | 8 ++++----
> >>  1 file changed, 4 insertions(+), 4 deletions(-)
> >>
> >> diff --git a/meta/conf/distro/include/yocto-uninative.inc
> b/meta/conf/distro/include/yocto-uninative.inc
> >> index f3c05b7e20..ad4816a1f3 100644
> >> --- a/meta/conf/distro/include/yocto-uninative.inc
> >> +++ b/meta/conf/distro/include/yocto-uninative.inc
> >> @@ -7,9 +7,9 @@
> >>  #
> >>
> >>  UNINATIVE_MAXGLIBCVERSION = "2.37"
> >> -UNINATIVE_VERSION = "3.10"
> >> +UNINATIVE_VERSION = "4.0"
> >>
> >>  UNINATIVE_URL ?= "
> http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/
> "
> >> -UNINATIVE_CHECKSUM[aarch64] ?=
> "b11f7dff0ff5e3c971f22e89a105efb0f8d2006fd71d1ea3e5da771e416b0e01"
> >> -UNINATIVE_CHECKSUM[i686] ?=
> "ad7daa7fca7693ca07eea5279f830333530171d357759b380954a25254edd8dd"
> >> -UNINATIVE_CHECKSUM[x86_64] ?=
> "ce8ff7e3247da312fbf84008f415bc1b4d113ac9fe4ec91581e4a20cd8b475d3"
> >> +UNINATIVE_CHECKSUM[aarch64] ?=
> "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
> >> +UNINATIVE_CHECKSUM[i686] ?=
> "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
> >> +UNINATIVE_CHECKSUM[x86_64] ?=
> "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"
> >> --
> >> 2.34.1
> >>
> >>
> >> -=-=-=-=-=-=-=-=-=-=-=-
> >> Links: You receive all messages sent to this group.
> >> View/Reply Online (#182136):
> https://lists.openembedded.org/g/openembedded-core/message/182136
> >> Mute This Topic: https://lists.openembedded.org/mt/99279066/3617156
> >> Group Owner: openembedded-core+owner@lists.openembedded.org
> >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> >> -=-=-=-=-=-=-=-=-=-=-=-
> >>
>
Steve Sakoman June 8, 2023, 6:50 p.m. UTC | #4
On Sun, Jun 4, 2023 at 10:34 AM Martin Jansa <martin.jansa@gmail.com> wrote:
>
> > It might be useful to delay backporting this for a bit longer (and I'll soon confirm if 3.10 was already affected or not).
>
> I can confirm that 3.10 is also affected.
>
> I did build with https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=75e3870ea124321b81f856c4e5170c891f0bd050 and mkfs.ext4 didn't segfault. With uninative 3.10 from https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=680eecc3ae09ea5585e46ff0e67f7c6704221806 it segfaults again.
>
> I haven't reproduced the gdk-pixbuf-native issue with buildtools-extended 4.0.6 with kirkstone yet, so that one might be only with nanbield, but mkfs.ext4 segfaults seem related to uninative for sure. Will debug more when I get access.

Have you learned anything more on this issue?  I've continued testing
mickledore both locally and on the autobuilder and I'm not seeing any
failures :-(

Steve

> On Sun, Jun 4, 2023 at 9:14 PM Steve Sakoman <steve@sakoman.com> wrote:
>>
>> On Sun, Jun 4, 2023 at 7:39 AM Martin Jansa <martin.jansa@gmail.com> wrote:
>> >
>> > Hi,
>> >
>> > it looks like this change is causing mkfs.ext4 to segfault on some builders.
>> >
>> > I'm seeing it on ubuntu-18.04 (I know it's unsupported now). It might be related to older docker or libseccomp2 there, because there is similar issue with gdk-pixbuf-native which fails when buildtools-extended is used together with this and might be related to https://github.com/moby/moby/issues/43595 because when I try very similar 18.04 ubuntu image on my gentoo host I cannot reproduce neither the gdk-pixbuf-native failure nor the mkfs.ext4 segfaults.
>> >
>> > I'm trying to get access to some of the affected boxes to find out which version docker/libseccomp2 is used there and to double check that this is root cause for these failures (now I can only confirm that it started in Nanbield when this uninative upgrade was merged and now I've reproduced the same with kirkstone-nut with the same uninative upgrade.
>> >
>> > It might be useful to delay backporting this for a bit longer (and I'll soon confirm if 3.10 was already affected or not).
>>
>> Agreed, I'm struggling with kirkstone too, so will delay taking the
>> uninative update until we learn more.
>>
>> Thanks for the review!
>>
>> Steve
>>
>> > On Fri, Jun 2, 2023 at 4:22 AM Steve Sakoman <steve@sakoman.com> wrote:
>> >>
>> >> From: Michael Halstead <mhalstead@linuxfoundation.org>
>> >>
>> >> Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
>> >> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
>> >> (cherry picked from commit f87becb69e02bdf055dffb633ed4f6d36b36f7a7)
>> >> Signed-off-by: Steve Sakoman <steve@sakoman.com>
>> >> ---
>> >>  meta/conf/distro/include/yocto-uninative.inc | 8 ++++----
>> >>  1 file changed, 4 insertions(+), 4 deletions(-)
>> >>
>> >> diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc
>> >> index f3c05b7e20..ad4816a1f3 100644
>> >> --- a/meta/conf/distro/include/yocto-uninative.inc
>> >> +++ b/meta/conf/distro/include/yocto-uninative.inc
>> >> @@ -7,9 +7,9 @@
>> >>  #
>> >>
>> >>  UNINATIVE_MAXGLIBCVERSION = "2.37"
>> >> -UNINATIVE_VERSION = "3.10"
>> >> +UNINATIVE_VERSION = "4.0"
>> >>
>> >>  UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
>> >> -UNINATIVE_CHECKSUM[aarch64] ?= "b11f7dff0ff5e3c971f22e89a105efb0f8d2006fd71d1ea3e5da771e416b0e01"
>> >> -UNINATIVE_CHECKSUM[i686] ?= "ad7daa7fca7693ca07eea5279f830333530171d357759b380954a25254edd8dd"
>> >> -UNINATIVE_CHECKSUM[x86_64] ?= "ce8ff7e3247da312fbf84008f415bc1b4d113ac9fe4ec91581e4a20cd8b475d3"
>> >> +UNINATIVE_CHECKSUM[aarch64] ?= "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
>> >> +UNINATIVE_CHECKSUM[i686] ?= "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
>> >> +UNINATIVE_CHECKSUM[x86_64] ?= "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"
>> >> --
>> >> 2.34.1
>> >>
>> >>
>> >> -=-=-=-=-=-=-=-=-=-=-=-
>> >> Links: You receive all messages sent to this group.
>> >> View/Reply Online (#182136): https://lists.openembedded.org/g/openembedded-core/message/182136
>> >> Mute This Topic: https://lists.openembedded.org/mt/99279066/3617156
>> >> Group Owner: openembedded-core+owner@lists.openembedded.org
>> >> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [Martin.Jansa@gmail.com]
>> >> -=-=-=-=-=-=-=-=-=-=-=-
>> >>
Martin Jansa June 8, 2023, 7:01 p.m. UTC | #5
Hi Steve,

I still didn't get shell access to those builders, feel free to merge it as
is.

Hopefully other people don't have so outdated build infrastructure :).

Regards,

On Thu, Jun 8, 2023 at 8:50 PM Steve Sakoman <steve@sakoman.com> wrote:

> On Sun, Jun 4, 2023 at 10:34 AM Martin Jansa <martin.jansa@gmail.com>
> wrote:
> >
> > > It might be useful to delay backporting this for a bit longer (and
> I'll soon confirm if 3.10 was already affected or not).
> >
> > I can confirm that 3.10 is also affected.
> >
> > I did build with
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=75e3870ea124321b81f856c4e5170c891f0bd050
> and mkfs.ext4 didn't segfault. With uninative 3.10 from
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=680eecc3ae09ea5585e46ff0e67f7c6704221806
> it segfaults again.
> >
> > I haven't reproduced the gdk-pixbuf-native issue with
> buildtools-extended 4.0.6 with kirkstone yet, so that one might be only
> with nanbield, but mkfs.ext4 segfaults seem related to uninative for sure.
> Will debug more when I get access.
>
> Have you learned anything more on this issue?  I've continued testing
> mickledore both locally and on the autobuilder and I'm not seeing any
> failures :-(
>
> Steve
>
> > On Sun, Jun 4, 2023 at 9:14 PM Steve Sakoman <steve@sakoman.com> wrote:
> >>
> >> On Sun, Jun 4, 2023 at 7:39 AM Martin Jansa <martin.jansa@gmail.com>
> wrote:
> >> >
> >> > Hi,
> >> >
> >> > it looks like this change is causing mkfs.ext4 to segfault on some
> builders.
> >> >
> >> > I'm seeing it on ubuntu-18.04 (I know it's unsupported now). It might
> be related to older docker or libseccomp2 there, because there is similar
> issue with gdk-pixbuf-native which fails when buildtools-extended is used
> together with this and might be related to
> https://github.com/moby/moby/issues/43595 because when I try very similar
> 18.04 ubuntu image on my gentoo host I cannot reproduce neither the
> gdk-pixbuf-native failure nor the mkfs.ext4 segfaults.
> >> >
> >> > I'm trying to get access to some of the affected boxes to find out
> which version docker/libseccomp2 is used there and to double check that
> this is root cause for these failures (now I can only confirm that it
> started in Nanbield when this uninative upgrade was merged and now I've
> reproduced the same with kirkstone-nut with the same uninative upgrade.
> >> >
> >> > It might be useful to delay backporting this for a bit longer (and
> I'll soon confirm if 3.10 was already affected or not).
> >>
> >> Agreed, I'm struggling with kirkstone too, so will delay taking the
> >> uninative update until we learn more.
> >>
> >> Thanks for the review!
> >>
> >> Steve
> >>
> >> > On Fri, Jun 2, 2023 at 4:22 AM Steve Sakoman <steve@sakoman.com>
> wrote:
> >> >>
> >> >> From: Michael Halstead <mhalstead@linuxfoundation.org>
> >> >>
> >> >> Signed-off-by: Michael Halstead <mhalstead@linuxfoundation.org>
> >> >> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
> >> >> (cherry picked from commit f87becb69e02bdf055dffb633ed4f6d36b36f7a7)
> >> >> Signed-off-by: Steve Sakoman <steve@sakoman.com>
> >> >> ---
> >> >>  meta/conf/distro/include/yocto-uninative.inc | 8 ++++----
> >> >>  1 file changed, 4 insertions(+), 4 deletions(-)
> >> >>
> >> >> diff --git a/meta/conf/distro/include/yocto-uninative.inc
> b/meta/conf/distro/include/yocto-uninative.inc
> >> >> index f3c05b7e20..ad4816a1f3 100644
> >> >> --- a/meta/conf/distro/include/yocto-uninative.inc
> >> >> +++ b/meta/conf/distro/include/yocto-uninative.inc
> >> >> @@ -7,9 +7,9 @@
> >> >>  #
> >> >>
> >> >>  UNINATIVE_MAXGLIBCVERSION = "2.37"
> >> >> -UNINATIVE_VERSION = "3.10"
> >> >> +UNINATIVE_VERSION = "4.0"
> >> >>
> >> >>  UNINATIVE_URL ?= "
> http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/
> "
> >> >> -UNINATIVE_CHECKSUM[aarch64] ?=
> "b11f7dff0ff5e3c971f22e89a105efb0f8d2006fd71d1ea3e5da771e416b0e01"
> >> >> -UNINATIVE_CHECKSUM[i686] ?=
> "ad7daa7fca7693ca07eea5279f830333530171d357759b380954a25254edd8dd"
> >> >> -UNINATIVE_CHECKSUM[x86_64] ?=
> "ce8ff7e3247da312fbf84008f415bc1b4d113ac9fe4ec91581e4a20cd8b475d3"
> >> >> +UNINATIVE_CHECKSUM[aarch64] ?=
> "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
> >> >> +UNINATIVE_CHECKSUM[i686] ?=
> "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
> >> >> +UNINATIVE_CHECKSUM[x86_64] ?=
> "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"
> >> >> --
> >> >> 2.34.1
> >> >>
> >> >>
> >> >> -=-=-=-=-=-=-=-=-=-=-=-
> >> >> Links: You receive all messages sent to this group.
> >> >> View/Reply Online (#182136):
> https://lists.openembedded.org/g/openembedded-core/message/182136
> >> >> Mute This Topic: https://lists.openembedded.org/mt/99279066/3617156
> >> >> Group Owner: openembedded-core+owner@lists.openembedded.org
> >> >> Unsubscribe:
> https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> >> >> -=-=-=-=-=-=-=-=-=-=-=-
> >> >>
>
Martin Jansa June 15, 2023, 3:06 p.m. UTC | #6
On Sun, Jun 4, 2023 at 10:34 PM Martin Jansa <martin.jansa@gmail.com> wrote:

> > It might be useful to delay backporting this for a bit longer (and I'll
> soon confirm if 3.10 was already affected or not).
>
> I can confirm that 3.10 is also affected.
>
> I did build with
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=75e3870ea124321b81f856c4e5170c891f0bd050
> and mkfs.ext4 didn't segfault. With uninative 3.10 from
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=680eecc3ae09ea5585e46ff0e67f7c6704221806
> it segfaults again.
>
> I haven't reproduced the gdk-pixbuf-native issue with buildtools-extended
> 4.0.6 with kirkstone yet, so that one might be only with nanbield, but
> mkfs.ext4 segfaults seem related to uninative for sure. Will debug more
> when I get access.
>

I got access to one of the servers where this is still reproducible, but
the real root cause is still a mystery for me.

I'll share what I've found so far in case someone else is seeing the same
or can spot what I'm missing.

It's reproducible on ubuntu-18.06, but not everywhere, I've tried older
docker image and latest 18.04 on my host and both work fine. I've tried to
narrow the difference from the 18.04 image where it is failing but without
any luck.

The same happens with nanbield (where I've noticed it first), but now the
same happens with mickledore and kirkstone.

No special config needed, default poky configuration reproduces the same.

Easiest test is to build just e2fsprogs-native and try to execute
mkfs.ext4.real, if it immediately segfaults it's a "bad" binary, if it
complains about missing e2* symbols or BLKID_2_36 symbol missing
in libblkid.so.1, then it's "good" binary and works as long as you let it
load the right libraries from native sysroot.

Surprisingly whatever breaks the binary happens between "image" and
"sysroot-destdir" so first I was suspecting strip from host's binutils, but
downgrading binutils in different 18.04 system to match the one where it is
failing didn't reproduce it. Downgrading libgcc1 and some other packages to
match didn't reproduce it as well.

Next I've tried to inhibit strip completely (assuming it will be usable
work around to keep the binary in sysroot-destdir working with new
uninative and narrow down what I need to debug), but surprisingly now both
the binary in "image" and "sysroot-destdir" fail the same.

Strace doesn't show anything useful, other than segfault triggered very
early:

$ strace
tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/sysroot-destdir/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
execve("tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/sysroot-destdir/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real",
["tmp/work/x86_64-linux/e2fsprogs-"...], 0x7fffbec05ac0 /* 55 vars */) = 0
brk(NULL)                               = 0x55b91bc0e000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc146b5340) = -1 EINVAL (Invalid
argument)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x55b91ba016e0}
---
+++ killed by SIGSEGV (core dumped) +++
Segmentation fault (core dumped)

$ strace
tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
2>&1 | head
execve("tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real",
["tmp/work/x86_64-linux/e2fsprogs-"...], 0x7ffd387a7f60 /* 55 vars */) = 0
brk(NULL)                               = 0x5641b084f000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe271263f0) = -1 EINVAL (Invalid
argument)
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x5641b00016e0}
---
+++ killed by SIGSEGV (core dumped) +++

While "good" binary:
$ strace
tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
| head
execve("tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real",
["tmp/work/x86_64-linux/e2fsprogs-"...], 0x7ffd9f569ae0 /* 55 vars */) = 0
brk(NULL)                               = 0x5569fad4e000
arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe1d8ce2f0) = -1 EINVAL (Invalid
argument)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
0x7f210b337000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
directory)
openat(AT_FDCWD,
"/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/usr/lib/glibc-hwcaps/x86-64-v4/libext2fs.so.2",
O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
newfstatat(AT_FDCWD,
"/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/usr/lib/glibc-hwcaps/x86-64-v4",
0x7ffe1d8cd520, 0) = -1 ENOENT (No such file or directory)

The diffoscope output shows that dynsym section is second to last in "bad"
binary and first in "good" binary, which might relate to the warnings shown
by gdb:

Reading symbols from ./recipe-sysroot-native/sbin/mkfs.ext4.real...

warning: Loadable section ".dynsym" outside of ELF segments

warning: Loadable section ".interp" outside of ELF segments
(No debugging symbols found in ./recipe-sysroot-native/sbin/mkfs.ext4.real)
(gdb) r
Starting program:
/data001/jansa/build-webos/BUILD/work/qemux86_64-webos-linux/webos-image/1.0-r3normal1/recipe-sysroot-native/sbin/mkfs.ext4.real

warning: Error disabling address space randomization: Operation not
permitted
BFD:
/data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2:
unknown type [0x13] section `.relr.dyn'
warning:
`/data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2':
Shared library architecture unknown is not compatible with target
architecture i386:x86-64.
warning:
`/data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2':
Shared library architecture unknown is not compatible with target
architecture i386:x86-64.

Program received signal SIGSEGV, Segmentation fault.
0x00007f08c9d9232a in strcmp () from
/data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2

And ldd also says that the "bad" binary isn't dynamic executable while
"good" on is (objdump -x works for both of them):

the "bad" one:
ldd
tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/sysroot-destdir/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
not a dynamic executable

and the "good" one:
ldd
tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real

linux-vdso.so.1 (0x00007ffce83fc000)
libext2fs.so.2 => /lib/x86_64-linux-gnu/libext2fs.so.2 (0x00007fd1ba5a0000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2
(0x00007fd1ba39c000)
libblkid.so.1 =>
/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/usr/lib/libblkid.so.1
(0x00007fd1ba149000)
libuuid.so.1 =>
/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/usr/lib/libuuid.so.1
(0x00007fd1b9f42000)
libe2p.so.2 => /lib/x86_64-linux-gnu/libe2p.so.2 (0x00007fd1b9d39000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
(0x00007fd1b9b1a000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd1b9729000)
/home/worker/poky-kirkstone-jansa/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
=> /lib64/ld-linux-x86-64.so.2 (0x00007fd1baa0f000)

Once the "bad" binary is built (with either uninative 4.0 or 3.9) it will
always fail with uninative 4.0 even when reused from sstate on different
server (if it's the server producing "good" mkfs.ext4.real binaries, then
just rebuilding e2fsprogs-native will fix it).

Does this make any sense to anyone? I'll continue to look into it, but if
you have any hints, please let me know.

I know 18.04 is EOL and nobody should be using it, I'm trying to get our
build infra upgraded for very long time.

The diffoscope output (mkfs.4.0-18.04-sstate is the "bad" binary from
sstate while mkfs.4.0-18.04-rebuilt is the "good" one).

--- mkfs.4.0-18.04-rebuilt
+++ mkfs.4.0-18.04-sstate
│┄ File has been modified after NT_GNU_BUILD_ID has been applied.
├── readelf --wide --file-header {}
│ @@ -4,17 +4,17 @@
│    Data:                              2's complement, little endian
│    Version:                           1 (current)
│    OS/ABI:                            UNIX - System V
│    ABI Version:                       0
│    Type:                              DYN (Position-Independent
Executable file)
│    Machine:                           Advanced Micro Devices X86-64
│    Version:                           0x1
│ -  Entry point address:               0x8350
│ +  Entry point address:               0x8380
│    Start of program headers:          64 (bytes into file)
│    Start of section headers:          127520 (bytes into file)
│    Flags:                             0x0
│    Size of this header:               64 (bytes)
│    Size of program headers:           56 (bytes)
│    Number of program headers:         13
│    Size of section headers:           64 (bytes)
│    Number of section headers:         27
│ -  Section header string table index: 22
│ +  Section header string table index: 21
├── readelf --wide --program-header {}
│ @@ -1,37 +1,37 @@
│
│  Elf file type is DYN (Position-Independent Executable file)
│ -Entry point 0x8350
│ +Entry point 0x8380
│  There are 13 program headers, starting at offset 64
│
│  Program Headers:
│    Type           Offset   VirtAddr           PhysAddr           FileSiz
 MemSiz   Flg Align
│    PHDR           0x000040 0x0000000000000040 0x0000000000000040 0x0002d8
0x0002d8 R   0x8
│ -  LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x01dcb0
0x01dcb0 R E 0x200000
│ +  LOAD           0x000000 0x0000000000000000 0x0000000000000000 0x01dcf0
0x01dcf0 R E 0x200000
│    GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000
0x000000 RW  0x10
│ -  GNU_EH_FRAME   0x01b794 0x000000000001b794 0x000000000001b794 0x0004fc
0x0004fc R   0x4
│ +  GNU_EH_FRAME   0x01b7d4 0x000000000001b7d4 0x000000000001b7d4 0x0004fc
0x0004fc R   0x4
│    LOAD           0x01e450 0x000000000021e450 0x000000000021e450 0x000cd8
0x0013d8 RW  0x200000
│    GNU_RELRO      0x01e450 0x000000000021e450 0x000000000021e450 0x000bb0
0x000bb0 R   0x1
│    DYNAMIC        0x01e678 0x000000000021e678 0x000000000021e678 0x000260
0x000260 RW  0x8
│ -  LOAD           0x020000 0x0000000000400000 0x0000000000400000 0x000178
0x000178 RW  0x200000
│ +  LOAD           0x020000 0x0000000000400000 0x0000000000400000 0x0000a8
0x0000a8 RW  0x200000
│    NOTE           0x020060 0x0000000000400060 0x0000000000400060 0x000020
0x000020 R   0x4
│    NOTE           0x020080 0x0000000000400080 0x0000000000400080 0x000024
0x000024 R   0x4
│ -  LOAD           0x021000 0x0000000000600000 0x0000000000600000 0x001060
0x001060 RW  0x200000
│ -  INTERP         0x023000 0x0000000000a00000 0x0000000000a00000 0x00005a
0x00005a R   0x1
│ +  LOAD           0x021000 0x0000000000600000 0x0000000000600000 0x000130
0x000130 RW  0x200000
│ +  LOAD           0x022000 0x0000000000800000 0x0000000000800000 0x002740
0x002740 RW  0x200000
│ +  INTERP         0x0246e0 0x0000000000a016e0 0x0000000000a016e0 0x00005a
0x00005a R   0x1
│        [Requesting program interpreter:
/data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2]
│ -  LOAD           0x023000 0x0000000000a00000 0x0000000000a00000 0x000060
0x000060 RW  0x200000
│
│   Section to Segment mapping:
│    Segment Sections...
│     00
│ -   01     .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn
.rela.plt .init .plt .plt.got .text .fini .rodata .eh_frame_hdr .eh_frame
│ +   01     .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init
.plt .plt.got .text .fini .rodata .eh_frame_hdr .eh_frame
│     02
│     03     .eh_frame_hdr
│     04     .init_array .fini_array .data.rel.ro .dynamic .got .data .bss
│     05     .init_array .fini_array .data.rel.ro .dynamic .got
│     06     .dynamic
│ -   07     .note.ABI-tag .note.gnu.build-id .gnu.hash
│ +   07     .note.ABI-tag .note.gnu.build-id
│     08     .note.ABI-tag
│     09     .note.gnu.build-id
│ -   10
│ -   11     .interp
│ +   10     .gnu.hash
│ +   11
│     12     .interp
├── readelf --wide --sections {}
│ @@ -1,36 +1,36 @@
│  There are 27 section headers, starting at offset 0x1f220:
│
│  Section Headers:
│    [Nr] Name              Type            Address          Off    Size
ES Flg Lk Inf Al
│    [ 0]                   NULL            0000000000000000 000000 000000
00      0   0  0
│ -  [ 1] .dynsym           DYNSYM          00000000000003a8 0003a8 0016e0
18   A  2   1  8
│ -  [ 2] .dynstr           STRTAB          0000000000001a88 001a88 001182
00   A  0   0  1
│ -  [ 3] .gnu.version      VERSYM          0000000000002c0a 002c0a 0001e8
02   A  1   0  2
│ -  [ 4] .gnu.version_r    VERNEED         0000000000002df8 002df8 000100
00   A  2   4  8
│ -  [ 5] .rela.dyn         RELA            0000000000002ef8 002ef8 0008a0
18   A  1   0  8
│ -  [ 6] .rela.plt         RELA            0000000000003798 003798 001488
18  AI  1  19  8
│ -  [ 7] .init             PROGBITS        0000000000004c20 004c20 000017
00  AX  0   0  4
│ -  [ 8] .plt              PROGBITS        0000000000004c40 004c40 000dc0
10  AX  0   0 16
│ -  [ 9] .plt.got          PROGBITS        0000000000005a00 005a00 000008
08  AX  0   0  8
│ -  [10] .text             PROGBITS        0000000000005a10 005a10 010cd2
00  AX  0   0 16
│ -  [11] .fini             PROGBITS        00000000000166e4 0166e4 000009
00  AX  0   0  4
│ -  [12] .rodata           PROGBITS        00000000000166f0 0166f0 0050a2
00   A  0   0 16
│ -  [13] .eh_frame_hdr     PROGBITS        000000000001b794 01b794 0004fc
00   A  0   0  4
│ -  [14] .eh_frame         PROGBITS        000000000001bc90 01bc90 002020
00   A  0   0  8
│ -  [15] .init_array       INIT_ARRAY      000000000021e450 01e450 000008
08  WA  0   0  8
│ -  [16] .fini_array       FINI_ARRAY      000000000021e458 01e458 000008
08  WA  0   0  8
│ -  [17] .data.rel.ro      PROGBITS        000000000021e460 01e460 000218
00  WA  0   0 32
│ -  [18] .dynamic          DYNAMIC         000000000021e678 01e678 000260
10  WA  2   0  8
│ -  [19] .got              PROGBITS        000000000021e8d8 01e8d8 000720
08  WA  0   0  8
│ -  [20] .data             PROGBITS        000000000021f000 01f000 000128
00  WA  0   0 32
│ -  [21] .bss              NOBITS          000000000021f140 01f128 0006e8
00  WA  0   0 32
│ -  [22] .shstrtab         STRTAB          0000000000000000 01f128 0000f2
00      0   0  1
│ -  [23] .note.ABI-tag     NOTE            0000000000400060 020060 000020
00   A  0   0  4
│ -  [24] .note.gnu.build-id NOTE            0000000000400080 020080 000024
00   A  0   0  4
│ -  [25] .gnu.hash         GNU_HASH        00000000004000a8 0200a8 0000cc
00   A  1   0  8
│ -  [26] .interp           PROGBITS        0000000000a00000 023000 00005a
00   A  0   0  8
│ +  [ 1] .dynstr           STRTAB          0000000000001aa0 001aa0 0011a8
00   A  0   0  1
│ +  [ 2] .gnu.version      VERSYM          0000000000002c48 002c48 0001e8
02   A 25   0  2
│ +  [ 3] .gnu.version_r    VERNEED         0000000000002e30 002e30 000100
00   A  1   4  8
│ +  [ 4] .rela.dyn         RELA            0000000000002f30 002f30 0008a0
18   A 25   0  8
│ +  [ 5] .rela.plt         RELA            00000000000037d0 0037d0 001488
18  AI 25  18  8
│ +  [ 6] .init             PROGBITS        0000000000004c58 004c58 000017
00  AX  0   0  4
│ +  [ 7] .plt              PROGBITS        0000000000004c70 004c70 000dc0
10  AX  0   0 16
│ +  [ 8] .plt.got          PROGBITS        0000000000005a30 005a30 000008
08  AX  0   0  8
│ +  [ 9] .text             PROGBITS        0000000000005a40 005a40 010cd2
00  AX  0   0 16
│ +  [10] .fini             PROGBITS        0000000000016714 016714 000009
00  AX  0   0  4
│ +  [11] .rodata           PROGBITS        0000000000016720 016720 0050b2
00   A  0   0 16
│ +  [12] .eh_frame_hdr     PROGBITS        000000000001b7d4 01b7d4 0004fc
00   A  0   0  4
│ +  [13] .eh_frame         PROGBITS        000000000001bcd0 01bcd0 002020
00   A  0   0  8
│ +  [14] .init_array       INIT_ARRAY      000000000021e450 01e450 000008
08  WA  0   0  8
│ +  [15] .fini_array       FINI_ARRAY      000000000021e458 01e458 000008
08  WA  0   0  8
│ +  [16] .data.rel.ro      PROGBITS        000000000021e460 01e460 000218
00  WA  0   0 32
│ +  [17] .dynamic          DYNAMIC         000000000021e678 01e678 000260
10  WA  1   0  8
│ +  [18] .got              PROGBITS        000000000021e8d8 01e8d8 000720
08  WA  0   0  8
│ +  [19] .data             PROGBITS        000000000021f000 01f000 000128
00  WA  0   0 32
│ +  [20] .bss              NOBITS          000000000021f140 01f128 0006e8
00  WA  0   0 32
│ +  [21] .shstrtab         STRTAB          0000000000000000 01f128 0000f2
00      0   0  1
│ +  [22] .note.ABI-tag     NOTE            0000000000400060 020060 000020
00   A  0   0  4
│ +  [23] .note.gnu.build-id NOTE            0000000000400080 020080 000024
00   A  0   0  4
│ +  [24] .gnu.hash         GNU_HASH        0000000000600000 021000 0000cc
00   A 25   0  8
│ +  [25] .dynsym           DYNSYM          0000000000a00000 023000 0016e0
18   A  1   1  8
│ +  [26] .interp           PROGBITS        0000000000a016e0 0246e0 00005a
00   A  0   0  8
│  Key to Flags:
│    W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
│    L (link order), O (extra OS processing required), G (group), T (TLS),
│    C (compressed), x (unknown), o (OS specific), E (exclude),
│    D (mbind), l (large), p (processor specific)
├── readelf --wide --symbols {}
│ @@ -223,25 +223,25 @@
│     219: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
ext2fs_get_device_size2
│     220: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
ext2fs_free_blocks_count
│     221: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
ext2fs_inode_table_loc
│     222: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
ext2fs_badblocks_list_iterate
│     223: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
__ctype_b_loc@GLIBC_2.3 (8)
│     224: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
ext2fs_open_file
│     225: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
__sprintf_chk@GLIBC_2.3.4 (4)
│ -   226: 000000000021f128     0 NOTYPE  GLOBAL DEFAULT   20 _edata
│ -   227: 000000000021f1b0     8 OBJECT  GLOBAL DEFAULT   21 _et_list
│ -   228: 000000000021f140     8 OBJECT  GLOBAL DEFAULT   21
stdout@GLIBC_2.2.5 (3)
│ -   229: 00000000000166e4     0 FUNC    GLOBAL DEFAULT   11 _fini
│ -   230: 000000000021e660    24 OBJECT  GLOBAL DEFAULT   17
et_ext2_error_table
│ -   231: 000000000021f168     8 OBJECT  GLOBAL DEFAULT   21
optarg@GLIBC_2.2.5 (3)
│ -   232: 0000000000004c20     0 FUNC    GLOBAL DEFAULT    7 _init
│ -   233: 000000000021f158     4 OBJECT  GLOBAL DEFAULT   21
optind@GLIBC_2.2.5 (3)
│ -   234: 000000000021f190     8 OBJECT  GLOBAL DEFAULT   21
unix_io_manager
│ -   235: 000000000021f1a8     8 OBJECT  GLOBAL DEFAULT   21
test_io_backing_manager
│ -   236: 000000000021f128     0 NOTYPE  GLOBAL DEFAULT   21 __bss_start
│ -   237: 000000000021f150     8 OBJECT  GLOBAL DEFAULT   21
stdin@GLIBC_2.2.5 (3)
│ -   238: 000000000021f1c0     8 OBJECT  GLOBAL DEFAULT   21
stderr@GLIBC_2.2.5 (3)
│ -   239: 000000000021f170    24 OBJECT  GLOBAL DEFAULT   21
ext2fs_numeric_progress_ops
│ -   240: 000000000021f828     0 NOTYPE  GLOBAL DEFAULT   21 _end
│ -   241: 000000000021f1a0     8 OBJECT  GLOBAL DEFAULT   21
undo_io_manager
│ -   242: 000000000021f160     8 OBJECT  GLOBAL DEFAULT   21
test_io_manager
│ -   243: 000000000021f1b8     8 OBJECT  GLOBAL DEFAULT   21
sparse_io_manager
│ +   226: 000000000021f128     0 NOTYPE  GLOBAL DEFAULT   19 _edata
│ +   227: 000000000021f1b0     8 OBJECT  GLOBAL DEFAULT   20 _et_list
│ +   228: 000000000021f140     8 OBJECT  GLOBAL DEFAULT   20
stdout@GLIBC_2.2.5 (3)
│ +   229: 0000000000016714     0 FUNC    GLOBAL DEFAULT   10 _fini
│ +   230: 000000000021e660    24 OBJECT  GLOBAL DEFAULT   16
et_ext2_error_table
│ +   231: 000000000021f168     8 OBJECT  GLOBAL DEFAULT   20
optarg@GLIBC_2.2.5 (3)
│ +   232: 0000000000004c58     0 FUNC    GLOBAL DEFAULT    6 _init
│ +   233: 000000000021f158     4 OBJECT  GLOBAL DEFAULT   20
optind@GLIBC_2.2.5 (3)
│ +   234: 000000000021f190     8 OBJECT  GLOBAL DEFAULT   20
unix_io_manager
│ +   235: 000000000021f1a8     8 OBJECT  GLOBAL DEFAULT   20
test_io_backing_manager
│ +   236: 000000000021f128     0 NOTYPE  GLOBAL DEFAULT   20 __bss_start
│ +   237: 000000000021f150     8 OBJECT  GLOBAL DEFAULT   20
stdin@GLIBC_2.2.5 (3)
│ +   238: 000000000021f1c0     8 OBJECT  GLOBAL DEFAULT   20
stderr@GLIBC_2.2.5 (3)
│ +   239: 000000000021f170    24 OBJECT  GLOBAL DEFAULT   20
ext2fs_numeric_progress_ops
│ +   240: 000000000021f828     0 NOTYPE  GLOBAL DEFAULT   20 _end
│ +   241: 000000000021f1a0     8 OBJECT  GLOBAL DEFAULT   20
undo_io_manager
│ +   242: 000000000021f160     8 OBJECT  GLOBAL DEFAULT   20
test_io_manager
│ +   243: 000000000021f1b8     8 OBJECT  GLOBAL DEFAULT   20
sparse_io_manager
├── readelf --wide --relocs {}
│ @@ -1,83 +1,83 @@
│
│ -Relocation section '.rela.dyn' at offset 0x2ef8 contains 92 entries:
│ +Relocation section '.rela.dyn' at offset 0x2f30 contains 92 entries:
│      Offset             Info             Type               Symbol's
Value  Symbol's Name + Addend
│ -000000000021e450  0000000000000008 R_X86_64_RELATIVE
    8430
│ -000000000021e458  0000000000000008 R_X86_64_RELATIVE
    83f0
│ -000000000021e460  0000000000000008 R_X86_64_RELATIVE
    1aaad
│ -000000000021e468  0000000000000008 R_X86_64_RELATIVE
    1a9c1
│ -000000000021e470  0000000000000008 R_X86_64_RELATIVE
    1a9c4
│ -000000000021e478  0000000000000008 R_X86_64_RELATIVE
    1a9ca
│ -000000000021e480  0000000000000008 R_X86_64_RELATIVE
    1aa17
│ -000000000021e488  0000000000000008 R_X86_64_RELATIVE
    1a9ce
│ -000000000021e4a0  0000000000000008 R_X86_64_RELATIVE
    190bd
│ -000000000021e4a8  0000000000000008 R_X86_64_RELATIVE
    1a9d2
│ -000000000021e4b0  0000000000000008 R_X86_64_RELATIVE
    1a9d6
│ -000000000021e4b8  0000000000000008 R_X86_64_RELATIVE
    1aa87
│ -000000000021e4c0  0000000000000008 R_X86_64_RELATIVE
    18ebd
│ -000000000021e4c8  0000000000000008 R_X86_64_RELATIVE
    1904e
│ +000000000021e450  0000000000000008 R_X86_64_RELATIVE
    8460
│ +000000000021e458  0000000000000008 R_X86_64_RELATIVE
    8420
│ +000000000021e460  0000000000000008 R_X86_64_RELATIVE
    1aaed
│ +000000000021e468  0000000000000008 R_X86_64_RELATIVE
    1aa01
│ +000000000021e470  0000000000000008 R_X86_64_RELATIVE
    1aa04
│ +000000000021e478  0000000000000008 R_X86_64_RELATIVE
    1aa0a
│ +000000000021e480  0000000000000008 R_X86_64_RELATIVE
    1aa57
│ +000000000021e488  0000000000000008 R_X86_64_RELATIVE
    1aa0e
│ +000000000021e4a0  0000000000000008 R_X86_64_RELATIVE
    19100
│ +000000000021e4a8  0000000000000008 R_X86_64_RELATIVE
    1aa12
│ +000000000021e4b0  0000000000000008 R_X86_64_RELATIVE
    1aa16
│ +000000000021e4b8  0000000000000008 R_X86_64_RELATIVE
    1aac7
│ +000000000021e4c0  0000000000000008 R_X86_64_RELATIVE
    18f00
│ +000000000021e4c8  0000000000000008 R_X86_64_RELATIVE
    19091
...
Martin Jansa June 15, 2023, 3:17 p.m. UTC | #7
Well, after typing all of that I've realized that it might be related to:
https://github.com/NixOS/patchelf/issues/244

as we had similar issue before:
https://git.openembedded.org/openembedded-core/commit/?id=cccd4bcaf381c2729adc000381bd89906003e72a

On Thu, Jun 15, 2023 at 5:06 PM Martin Jansa via lists.openembedded.org
<Martin.Jansa=gmail.com@lists.openembedded.org> wrote:

> On Sun, Jun 4, 2023 at 10:34 PM Martin Jansa <martin.jansa@gmail.com>
> wrote:
>
>> > It might be useful to delay backporting this for a bit longer (and I'll
>> soon confirm if 3.10 was already affected or not).
>>
>> I can confirm that 3.10 is also affected.
>>
>> I did build with
>> https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=75e3870ea124321b81f856c4e5170c891f0bd050
>> and mkfs.ext4 didn't segfault. With uninative 3.10 from
>> https://git.openembedded.org/openembedded-core-contrib/commit/?h=stable/kirkstone-nut&id=680eecc3ae09ea5585e46ff0e67f7c6704221806
>> it segfaults again.
>>
>> I haven't reproduced the gdk-pixbuf-native issue with buildtools-extended
>> 4.0.6 with kirkstone yet, so that one might be only with nanbield, but
>> mkfs.ext4 segfaults seem related to uninative for sure. Will debug more
>> when I get access.
>>
>
> I got access to one of the servers where this is still reproducible, but
> the real root cause is still a mystery for me.
>
> I'll share what I've found so far in case someone else is seeing the same
> or can spot what I'm missing.
>
> It's reproducible on ubuntu-18.06, but not everywhere, I've tried older
> docker image and latest 18.04 on my host and both work fine. I've tried to
> narrow the difference from the 18.04 image where it is failing but without
> any luck.
>
> The same happens with nanbield (where I've noticed it first), but now the
> same happens with mickledore and kirkstone.
>
> No special config needed, default poky configuration reproduces the same.
>
> Easiest test is to build just e2fsprogs-native and try to execute
> mkfs.ext4.real, if it immediately segfaults it's a "bad" binary, if it
> complains about missing e2* symbols or BLKID_2_36 symbol missing
> in libblkid.so.1, then it's "good" binary and works as long as you let it
> load the right libraries from native sysroot.
>
> Surprisingly whatever breaks the binary happens between "image" and
> "sysroot-destdir" so first I was suspecting strip from host's binutils, but
> downgrading binutils in different 18.04 system to match the one where it is
> failing didn't reproduce it. Downgrading libgcc1 and some other packages to
> match didn't reproduce it as well.
>
> Next I've tried to inhibit strip completely (assuming it will be usable
> work around to keep the binary in sysroot-destdir working with new
> uninative and narrow down what I need to debug), but surprisingly now both
> the binary in "image" and "sysroot-destdir" fail the same.
>
> Strace doesn't show anything useful, other than segfault triggered very
> early:
>
> $ strace
> tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/sysroot-destdir/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
> execve("tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/sysroot-destdir/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real",
> ["tmp/work/x86_64-linux/e2fsprogs-"...], 0x7fffbec05ac0 /* 55 vars */) = 0
> brk(NULL)                               = 0x55b91bc0e000
> arch_prctl(0x3001 /* ARCH_??? */, 0x7ffc146b5340) = -1 EINVAL (Invalid
> argument)
> --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR,
> si_addr=0x55b91ba016e0} ---
> +++ killed by SIGSEGV (core dumped) +++
> Segmentation fault (core dumped)
>
> $ strace
> tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
> 2>&1 | head
> execve("tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real",
> ["tmp/work/x86_64-linux/e2fsprogs-"...], 0x7ffd387a7f60 /* 55 vars */) = 0
> brk(NULL)                               = 0x5641b084f000
> arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe271263f0) = -1 EINVAL (Invalid
> argument)
> --- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR,
> si_addr=0x5641b00016e0} ---
> +++ killed by SIGSEGV (core dumped) +++
>
> While "good" binary:
> $ strace
> tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
> | head
> execve("tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real",
> ["tmp/work/x86_64-linux/e2fsprogs-"...], 0x7ffd9f569ae0 /* 55 vars */) = 0
> brk(NULL)                               = 0x5569fad4e000
> arch_prctl(0x3001 /* ARCH_??? */, 0x7ffe1d8ce2f0) = -1 EINVAL (Invalid
> argument)
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) =
> 0x7f210b337000
> access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or
> directory)
> openat(AT_FDCWD,
> "/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/usr/lib/glibc-hwcaps/x86-64-v4/libext2fs.so.2",
> O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory)
> newfstatat(AT_FDCWD,
> "/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/usr/lib/glibc-hwcaps/x86-64-v4",
> 0x7ffe1d8cd520, 0) = -1 ENOENT (No such file or directory)
>
> The diffoscope output shows that dynsym section is second to last in "bad"
> binary and first in "good" binary, which might relate to the warnings shown
> by gdb:
>
> Reading symbols from ./recipe-sysroot-native/sbin/mkfs.ext4.real...
>
> warning: Loadable section ".dynsym" outside of ELF segments
>
> warning: Loadable section ".interp" outside of ELF segments
> (No debugging symbols found in ./recipe-sysroot-native/sbin/mkfs.ext4.real)
> (gdb) r
> Starting program:
> /data001/jansa/build-webos/BUILD/work/qemux86_64-webos-linux/webos-image/1.0-r3normal1/recipe-sysroot-native/sbin/mkfs.ext4.real
>
> warning: Error disabling address space randomization: Operation not
> permitted
> BFD:
> /data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2:
> unknown type [0x13] section `.relr.dyn'
> warning:
> `/data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2':
> Shared library architecture unknown is not compatible with target
> architecture i386:x86-64.
> warning:
> `/data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2':
> Shared library architecture unknown is not compatible with target
> architecture i386:x86-64.
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007f08c9d9232a in strcmp () from
> /data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
>
> And ldd also says that the "bad" binary isn't dynamic executable while
> "good" on is (objdump -x works for both of them):
>
> the "bad" one:
> ldd
> tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/sysroot-destdir/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
> not a dynamic executable
>
> and the "good" one:
> ldd
> tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/image/home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/sbin/mkfs.ext4.real
>
> linux-vdso.so.1 (0x00007ffce83fc000)
> libext2fs.so.2 => /lib/x86_64-linux-gnu/libext2fs.so.2 (0x00007fd1ba5a0000)
> libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2
> (0x00007fd1ba39c000)
> libblkid.so.1 =>
> /home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/usr/lib/libblkid.so.1
> (0x00007fd1ba149000)
> libuuid.so.1 =>
> /home/worker/poky-kirkstone-jansa/build/tmp/work/x86_64-linux/e2fsprogs-native/1.46.5-r0/recipe-sysroot-native/usr/lib/libuuid.so.1
> (0x00007fd1b9f42000)
> libe2p.so.2 => /lib/x86_64-linux-gnu/libe2p.so.2 (0x00007fd1b9d39000)
> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0
> (0x00007fd1b9b1a000)
> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd1b9729000)
> /home/worker/poky-kirkstone-jansa/build/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2
> => /lib64/ld-linux-x86-64.so.2 (0x00007fd1baa0f000)
>
> Once the "bad" binary is built (with either uninative 4.0 or 3.9) it will
> always fail with uninative 4.0 even when reused from sstate on different
> server (if it's the server producing "good" mkfs.ext4.real binaries, then
> just rebuilding e2fsprogs-native will fix it).
>
> Does this make any sense to anyone? I'll continue to look into it, but if
> you have any hints, please let me know.
>
> I know 18.04 is EOL and nobody should be using it, I'm trying to get our
> build infra upgraded for very long time.
>
> The diffoscope output (mkfs.4.0-18.04-sstate is the "bad" binary from
> sstate while mkfs.4.0-18.04-rebuilt is the "good" one).
>
> --- mkfs.4.0-18.04-rebuilt
> +++ mkfs.4.0-18.04-sstate
> │┄ File has been modified after NT_GNU_BUILD_ID has been applied.
> ├── readelf --wide --file-header {}
> │ @@ -4,17 +4,17 @@
> │    Data:                              2's complement, little endian
> │    Version:                           1 (current)
> │    OS/ABI:                            UNIX - System V
> │    ABI Version:                       0
> │    Type:                              DYN (Position-Independent
> Executable file)
> │    Machine:                           Advanced Micro Devices X86-64
> │    Version:                           0x1
> │ -  Entry point address:               0x8350
> │ +  Entry point address:               0x8380
> │    Start of program headers:          64 (bytes into file)
> │    Start of section headers:          127520 (bytes into file)
> │    Flags:                             0x0
> │    Size of this header:               64 (bytes)
> │    Size of program headers:           56 (bytes)
> │    Number of program headers:         13
> │    Size of section headers:           64 (bytes)
> │    Number of section headers:         27
> │ -  Section header string table index: 22
> │ +  Section header string table index: 21
> ├── readelf --wide --program-header {}
> │ @@ -1,37 +1,37 @@
> │
> │  Elf file type is DYN (Position-Independent Executable file)
> │ -Entry point 0x8350
> │ +Entry point 0x8380
> │  There are 13 program headers, starting at offset 64
> │
> │  Program Headers:
> │    Type           Offset   VirtAddr           PhysAddr           FileSiz
>  MemSiz   Flg Align
> │    PHDR           0x000040 0x0000000000000040 0x0000000000000040
> 0x0002d8 0x0002d8 R   0x8
> │ -  LOAD           0x000000 0x0000000000000000 0x0000000000000000
> 0x01dcb0 0x01dcb0 R E 0x200000
> │ +  LOAD           0x000000 0x0000000000000000 0x0000000000000000
> 0x01dcf0 0x01dcf0 R E 0x200000
> │    GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000
> 0x000000 0x000000 RW  0x10
> │ -  GNU_EH_FRAME   0x01b794 0x000000000001b794 0x000000000001b794
> 0x0004fc 0x0004fc R   0x4
> │ +  GNU_EH_FRAME   0x01b7d4 0x000000000001b7d4 0x000000000001b7d4
> 0x0004fc 0x0004fc R   0x4
> │    LOAD           0x01e450 0x000000000021e450 0x000000000021e450
> 0x000cd8 0x0013d8 RW  0x200000
> │    GNU_RELRO      0x01e450 0x000000000021e450 0x000000000021e450
> 0x000bb0 0x000bb0 R   0x1
> │    DYNAMIC        0x01e678 0x000000000021e678 0x000000000021e678
> 0x000260 0x000260 RW  0x8
> │ -  LOAD           0x020000 0x0000000000400000 0x0000000000400000
> 0x000178 0x000178 RW  0x200000
> │ +  LOAD           0x020000 0x0000000000400000 0x0000000000400000
> 0x0000a8 0x0000a8 RW  0x200000
> │    NOTE           0x020060 0x0000000000400060 0x0000000000400060
> 0x000020 0x000020 R   0x4
> │    NOTE           0x020080 0x0000000000400080 0x0000000000400080
> 0x000024 0x000024 R   0x4
> │ -  LOAD           0x021000 0x0000000000600000 0x0000000000600000
> 0x001060 0x001060 RW  0x200000
> │ -  INTERP         0x023000 0x0000000000a00000 0x0000000000a00000
> 0x00005a 0x00005a R   0x1
> │ +  LOAD           0x021000 0x0000000000600000 0x0000000000600000
> 0x000130 0x000130 RW  0x200000
> │ +  LOAD           0x022000 0x0000000000800000 0x0000000000800000
> 0x002740 0x002740 RW  0x200000
> │ +  INTERP         0x0246e0 0x0000000000a016e0 0x0000000000a016e0
> 0x00005a 0x00005a R   0x1
> │        [Requesting program interpreter:
> /data001/jansa/build-webos/BUILD/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2]
> │ -  LOAD           0x023000 0x0000000000a00000 0x0000000000a00000
> 0x000060 0x000060 RW  0x200000
> │
> │   Section to Segment mapping:
> │    Segment Sections...
> │     00
> │ -   01     .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn
> .rela.plt .init .plt .plt.got .text .fini .rodata .eh_frame_hdr .eh_frame
> │ +   01     .dynstr .gnu.version .gnu.version_r .rela.dyn .rela.plt .init
> .plt .plt.got .text .fini .rodata .eh_frame_hdr .eh_frame
> │     02
> │     03     .eh_frame_hdr
> │     04     .init_array .fini_array .data.rel.ro .dynamic .got .data .bss
> │     05     .init_array .fini_array .data.rel.ro .dynamic .got
> │     06     .dynamic
> │ -   07     .note.ABI-tag .note.gnu.build-id .gnu.hash
> │ +   07     .note.ABI-tag .note.gnu.build-id
> │     08     .note.ABI-tag
> │     09     .note.gnu.build-id
> │ -   10
> │ -   11     .interp
> │ +   10     .gnu.hash
> │ +   11
> │     12     .interp
> ├── readelf --wide --sections {}
> │ @@ -1,36 +1,36 @@
> │  There are 27 section headers, starting at offset 0x1f220:
> │
> │  Section Headers:
> │    [Nr] Name              Type            Address          Off    Size
> ES Flg Lk Inf Al
> │    [ 0]                   NULL            0000000000000000 000000 000000
> 00      0   0  0
> │ -  [ 1] .dynsym           DYNSYM          00000000000003a8 0003a8 0016e0
> 18   A  2   1  8
> │ -  [ 2] .dynstr           STRTAB          0000000000001a88 001a88 001182
> 00   A  0   0  1
> │ -  [ 3] .gnu.version      VERSYM          0000000000002c0a 002c0a 0001e8
> 02   A  1   0  2
> │ -  [ 4] .gnu.version_r    VERNEED         0000000000002df8 002df8 000100
> 00   A  2   4  8
> │ -  [ 5] .rela.dyn         RELA            0000000000002ef8 002ef8 0008a0
> 18   A  1   0  8
> │ -  [ 6] .rela.plt         RELA            0000000000003798 003798 001488
> 18  AI  1  19  8
> │ -  [ 7] .init             PROGBITS        0000000000004c20 004c20 000017
> 00  AX  0   0  4
> │ -  [ 8] .plt              PROGBITS        0000000000004c40 004c40 000dc0
> 10  AX  0   0 16
> │ -  [ 9] .plt.got          PROGBITS        0000000000005a00 005a00 000008
> 08  AX  0   0  8
> │ -  [10] .text             PROGBITS        0000000000005a10 005a10 010cd2
> 00  AX  0   0 16
> │ -  [11] .fini             PROGBITS        00000000000166e4 0166e4 000009
> 00  AX  0   0  4
> │ -  [12] .rodata           PROGBITS        00000000000166f0 0166f0 0050a2
> 00   A  0   0 16
> │ -  [13] .eh_frame_hdr     PROGBITS        000000000001b794 01b794 0004fc
> 00   A  0   0  4
> │ -  [14] .eh_frame         PROGBITS        000000000001bc90 01bc90 002020
> 00   A  0   0  8
> │ -  [15] .init_array       INIT_ARRAY      000000000021e450 01e450 000008
> 08  WA  0   0  8
> │ -  [16] .fini_array       FINI_ARRAY      000000000021e458 01e458 000008
> 08  WA  0   0  8
> │ -  [17] .data.rel.ro      PROGBITS        000000000021e460 01e460
> 000218 00  WA  0   0 32
> │ -  [18] .dynamic          DYNAMIC         000000000021e678 01e678 000260
> 10  WA  2   0  8
> │ -  [19] .got              PROGBITS        000000000021e8d8 01e8d8 000720
> 08  WA  0   0  8
> │ -  [20] .data             PROGBITS        000000000021f000 01f000 000128
> 00  WA  0   0 32
> │ -  [21] .bss              NOBITS          000000000021f140 01f128 0006e8
> 00  WA  0   0 32
> │ -  [22] .shstrtab         STRTAB          0000000000000000 01f128 0000f2
> 00      0   0  1
> │ -  [23] .note.ABI-tag     NOTE            0000000000400060 020060 000020
> 00   A  0   0  4
> │ -  [24] .note.gnu.build-id NOTE            0000000000400080 020080
> 000024 00   A  0   0  4
> │ -  [25] .gnu.hash         GNU_HASH        00000000004000a8 0200a8 0000cc
> 00   A  1   0  8
> │ -  [26] .interp           PROGBITS        0000000000a00000 023000 00005a
> 00   A  0   0  8
> │ +  [ 1] .dynstr           STRTAB          0000000000001aa0 001aa0 0011a8
> 00   A  0   0  1
> │ +  [ 2] .gnu.version      VERSYM          0000000000002c48 002c48 0001e8
> 02   A 25   0  2
> │ +  [ 3] .gnu.version_r    VERNEED         0000000000002e30 002e30 000100
> 00   A  1   4  8
> │ +  [ 4] .rela.dyn         RELA            0000000000002f30 002f30 0008a0
> 18   A 25   0  8
> │ +  [ 5] .rela.plt         RELA            00000000000037d0 0037d0 001488
> 18  AI 25  18  8
> │ +  [ 6] .init             PROGBITS        0000000000004c58 004c58 000017
> 00  AX  0   0  4
> │ +  [ 7] .plt              PROGBITS        0000000000004c70 004c70 000dc0
> 10  AX  0   0 16
> │ +  [ 8] .plt.got          PROGBITS        0000000000005a30 005a30 000008
> 08  AX  0   0  8
> │ +  [ 9] .text             PROGBITS        0000000000005a40 005a40 010cd2
> 00  AX  0   0 16
> │ +  [10] .fini             PROGBITS        0000000000016714 016714 000009
> 00  AX  0   0  4
> │ +  [11] .rodata           PROGBITS        0000000000016720 016720 0050b2
> 00   A  0   0 16
> │ +  [12] .eh_frame_hdr     PROGBITS        000000000001b7d4 01b7d4 0004fc
> 00   A  0   0  4
> │ +  [13] .eh_frame         PROGBITS        000000000001bcd0 01bcd0 002020
> 00   A  0   0  8
> │ +  [14] .init_array       INIT_ARRAY      000000000021e450 01e450 000008
> 08  WA  0   0  8
> │ +  [15] .fini_array       FINI_ARRAY      000000000021e458 01e458 000008
> 08  WA  0   0  8
> │ +  [16] .data.rel.ro      PROGBITS        000000000021e460 01e460
> 000218 00  WA  0   0 32
> │ +  [17] .dynamic          DYNAMIC         000000000021e678 01e678 000260
> 10  WA  1   0  8
> │ +  [18] .got              PROGBITS        000000000021e8d8 01e8d8 000720
> 08  WA  0   0  8
> │ +  [19] .data             PROGBITS        000000000021f000 01f000 000128
> 00  WA  0   0 32
> │ +  [20] .bss              NOBITS          000000000021f140 01f128 0006e8
> 00  WA  0   0 32
> │ +  [21] .shstrtab         STRTAB          0000000000000000 01f128 0000f2
> 00      0   0  1
> │ +  [22] .note.ABI-tag     NOTE            0000000000400060 020060 000020
> 00   A  0   0  4
> │ +  [23] .note.gnu.build-id NOTE            0000000000400080 020080
> 000024 00   A  0   0  4
> │ +  [24] .gnu.hash         GNU_HASH        0000000000600000 021000 0000cc
> 00   A 25   0  8
> │ +  [25] .dynsym           DYNSYM          0000000000a00000 023000 0016e0
> 18   A  1   1  8
> │ +  [26] .interp           PROGBITS        0000000000a016e0 0246e0 00005a
> 00   A  0   0  8
> │  Key to Flags:
> │    W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
> │    L (link order), O (extra OS processing required), G (group), T (TLS),
> │    C (compressed), x (unknown), o (OS specific), E (exclude),
> │    D (mbind), l (large), p (processor specific)
> ├── readelf --wide --symbols {}
> │ @@ -223,25 +223,25 @@
> │     219: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
> ext2fs_get_device_size2
> │     220: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
> ext2fs_free_blocks_count
> │     221: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
> ext2fs_inode_table_loc
> │     222: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
> ext2fs_badblocks_list_iterate
> │     223: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
> __ctype_b_loc@GLIBC_2.3 (8)
> │     224: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
> ext2fs_open_file
> │     225: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND
> __sprintf_chk@GLIBC_2.3.4 (4)
> │ -   226: 000000000021f128     0 NOTYPE  GLOBAL DEFAULT   20 _edata
> │ -   227: 000000000021f1b0     8 OBJECT  GLOBAL DEFAULT   21 _et_list
> │ -   228: 000000000021f140     8 OBJECT  GLOBAL DEFAULT   21
> stdout@GLIBC_2.2.5 (3)
> │ -   229: 00000000000166e4     0 FUNC    GLOBAL DEFAULT   11 _fini
> │ -   230: 000000000021e660    24 OBJECT  GLOBAL DEFAULT   17
> et_ext2_error_table
> │ -   231: 000000000021f168     8 OBJECT  GLOBAL DEFAULT   21
> optarg@GLIBC_2.2.5 (3)
> │ -   232: 0000000000004c20     0 FUNC    GLOBAL DEFAULT    7 _init
> │ -   233: 000000000021f158     4 OBJECT  GLOBAL DEFAULT   21
> optind@GLIBC_2.2.5 (3)
> │ -   234: 000000000021f190     8 OBJECT  GLOBAL DEFAULT   21
> unix_io_manager
> │ -   235: 000000000021f1a8     8 OBJECT  GLOBAL DEFAULT   21
> test_io_backing_manager
> │ -   236: 000000000021f128     0 NOTYPE  GLOBAL DEFAULT   21 __bss_start
> │ -   237: 000000000021f150     8 OBJECT  GLOBAL DEFAULT   21
> stdin@GLIBC_2.2.5 (3)
> │ -   238: 000000000021f1c0     8 OBJECT  GLOBAL DEFAULT   21
> stderr@GLIBC_2.2.5 (3)
> │ -   239: 000000000021f170    24 OBJECT  GLOBAL DEFAULT   21
> ext2fs_numeric_progress_ops
> │ -   240: 000000000021f828     0 NOTYPE  GLOBAL DEFAULT   21 _end
> │ -   241: 000000000021f1a0     8 OBJECT  GLOBAL DEFAULT   21
> undo_io_manager
> │ -   242: 000000000021f160     8 OBJECT  GLOBAL DEFAULT   21
> test_io_manager
> │ -   243: 000000000021f1b8     8 OBJECT  GLOBAL DEFAULT   21
> sparse_io_manager
> │ +   226: 000000000021f128     0 NOTYPE  GLOBAL DEFAULT   19 _edata
> │ +   227: 000000000021f1b0     8 OBJECT  GLOBAL DEFAULT   20 _et_list
> │ +   228: 000000000021f140     8 OBJECT  GLOBAL DEFAULT   20
> stdout@GLIBC_2.2.5 (3)
> │ +   229: 0000000000016714     0 FUNC    GLOBAL DEFAULT   10 _fini
> │ +   230: 000000000021e660    24 OBJECT  GLOBAL DEFAULT   16
> et_ext2_error_table
> │ +   231: 000000000021f168     8 OBJECT  GLOBAL DEFAULT   20
> optarg@GLIBC_2.2.5 (3)
> │ +   232: 0000000000004c58     0 FUNC    GLOBAL DEFAULT    6 _init
> │ +   233: 000000000021f158     4 OBJECT  GLOBAL DEFAULT   20
> optind@GLIBC_2.2.5 (3)
> │ +   234: 000000000021f190     8 OBJECT  GLOBAL DEFAULT   20
> unix_io_manager
> │ +   235: 000000000021f1a8     8 OBJECT  GLOBAL DEFAULT   20
> test_io_backing_manager
> │ +   236: 000000000021f128     0 NOTYPE  GLOBAL DEFAULT   20 __bss_start
> │ +   237: 000000000021f150     8 OBJECT  GLOBAL DEFAULT   20
> stdin@GLIBC_2.2.5 (3)
> │ +   238: 000000000021f1c0     8 OBJECT  GLOBAL DEFAULT   20
> stderr@GLIBC_2.2.5 (3)
> │ +   239: 000000000021f170    24 OBJECT  GLOBAL DEFAULT   20
> ext2fs_numeric_progress_ops
> │ +   240: 000000000021f828     0 NOTYPE  GLOBAL DEFAULT   20 _end
> │ +   241: 000000000021f1a0     8 OBJECT  GLOBAL DEFAULT   20
> undo_io_manager
> │ +   242: 000000000021f160     8 OBJECT  GLOBAL DEFAULT   20
> test_io_manager
> │ +   243: 000000000021f1b8     8 OBJECT  GLOBAL DEFAULT   20
> sparse_io_manager
> ├── readelf --wide --relocs {}
> │ @@ -1,83 +1,83 @@
> │
> │ -Relocation section '.rela.dyn' at offset 0x2ef8 contains 92 entries:
> │ +Relocation section '.rela.dyn' at offset 0x2f30 contains 92 entries:
> │      Offset             Info             Type               Symbol's
> Value  Symbol's Name + Addend
> │ -000000000021e450  0000000000000008 R_X86_64_RELATIVE
>       8430
> │ -000000000021e458  0000000000000008 R_X86_64_RELATIVE
>       83f0
> │ -000000000021e460  0000000000000008 R_X86_64_RELATIVE
>       1aaad
> │ -000000000021e468  0000000000000008 R_X86_64_RELATIVE
>       1a9c1
> │ -000000000021e470  0000000000000008 R_X86_64_RELATIVE
>       1a9c4
> │ -000000000021e478  0000000000000008 R_X86_64_RELATIVE
>       1a9ca
> │ -000000000021e480  0000000000000008 R_X86_64_RELATIVE
>       1aa17
> │ -000000000021e488  0000000000000008 R_X86_64_RELATIVE
>       1a9ce
> │ -000000000021e4a0  0000000000000008 R_X86_64_RELATIVE
>       190bd
> │ -000000000021e4a8  0000000000000008 R_X86_64_RELATIVE
>       1a9d2
> │ -000000000021e4b0  0000000000000008 R_X86_64_RELATIVE
>       1a9d6
> │ -000000000021e4b8  0000000000000008 R_X86_64_RELATIVE
>       1aa87
> │ -000000000021e4c0  0000000000000008 R_X86_64_RELATIVE
>       18ebd
> │ -000000000021e4c8  0000000000000008 R_X86_64_RELATIVE
>       1904e
> │ +000000000021e450  0000000000000008 R_X86_64_RELATIVE
>       8460
> │ +000000000021e458  0000000000000008 R_X86_64_RELATIVE
>       8420
> │ +000000000021e460  0000000000000008 R_X86_64_RELATIVE
>       1aaed
> │ +000000000021e468  0000000000000008 R_X86_64_RELATIVE
>       1aa01
> │ +000000000021e470  0000000000000008 R_X86_64_RELATIVE
>       1aa04
> │ +000000000021e478  0000000000000008 R_X86_64_RELATIVE
>       1aa0a
> │ +000000000021e480  0000000000000008 R_X86_64_RELATIVE
>       1aa57
> │ +000000000021e488  0000000000000008 R_X86_64_RELATIVE
>       1aa0e
> │ +000000000021e4a0  0000000000000008 R_X86_64_RELATIVE
>       19100
> │ +000000000021e4a8  0000000000000008 R_X86_64_RELATIVE
>       1aa12
> │ +000000000021e4b0  0000000000000008 R_X86_64_RELATIVE
>       1aa16
> │ +000000000021e4b8  0000000000000008 R_X86_64_RELATIVE
>       1aac7
> │ +000000000021e4c0  0000000000000008 R_X86_64_RELATIVE
>       18f00
> │ +000000000021e4c8  0000000000000008 R_X86_64_RELATIVE
>       19091
> ...
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#182862):
> https://lists.openembedded.org/g/openembedded-core/message/182862
> Mute This Topic: https://lists.openembedded.org/mt/99550848/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
diff mbox series

Patch

diff --git a/meta/conf/distro/include/yocto-uninative.inc b/meta/conf/distro/include/yocto-uninative.inc
index f3c05b7e20..ad4816a1f3 100644
--- a/meta/conf/distro/include/yocto-uninative.inc
+++ b/meta/conf/distro/include/yocto-uninative.inc
@@ -7,9 +7,9 @@ 
 #
 
 UNINATIVE_MAXGLIBCVERSION = "2.37"
-UNINATIVE_VERSION = "3.10"
+UNINATIVE_VERSION = "4.0"
 
 UNINATIVE_URL ?= "http://downloads.yoctoproject.org/releases/uninative/${UNINATIVE_VERSION}/"
-UNINATIVE_CHECKSUM[aarch64] ?= "b11f7dff0ff5e3c971f22e89a105efb0f8d2006fd71d1ea3e5da771e416b0e01"
-UNINATIVE_CHECKSUM[i686] ?= "ad7daa7fca7693ca07eea5279f830333530171d357759b380954a25254edd8dd"
-UNINATIVE_CHECKSUM[x86_64] ?= "ce8ff7e3247da312fbf84008f415bc1b4d113ac9fe4ec91581e4a20cd8b475d3"
+UNINATIVE_CHECKSUM[aarch64] ?= "7baa8418a302df52e00916193b0a04f318356d9d2670c9a2bce3e966efefd738"
+UNINATIVE_CHECKSUM[i686] ?= "83114d36883d43a521e280742b9849bf85d039b2f83d8e21d480659babe75ee8"
+UNINATIVE_CHECKSUM[x86_64] ?= "fd75b2a1a67a10f6b7d65afb7d0f3e71a63b0038e428f34dfe420bb37716558a"