On Mon, Nov 13, 2023 at 3:42 AM Richard Purdie
<[email protected]> wrote:
>
> On Sat, 2023-11-11 at 05:03 -1000, Steve Sakoman wrote:
> > We are seeing reproducibility issues where gcc-cross sometimes defaults
> > to gnu11 and other times to gnu17.
> >
> > Specify std=gnu17 rather than leave this to chance.
> >
> > Signed-off-by: Steve Sakoman <[email protected]>
> > Signed-off-by: Khem Raj <[email protected]>
> > ---
> >  meta/recipes-support/lz4/lz4_1.9.2.bb | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/meta/recipes-support/lz4/lz4_1.9.2.bb 
> > b/meta/recipes-support/lz4/lz4_1.9.2.bb
> > index c2e24b518c..8cf71fdc04 100644
> > --- a/meta/recipes-support/lz4/lz4_1.9.2.bb
> > +++ b/meta/recipes-support/lz4/lz4_1.9.2.bb
> > @@ -23,6 +23,7 @@ S = "${WORKDIR}/git"
> >  # Fixed in r118, which is larger than the current version.
> >  CVE_CHECK_WHITELIST += "CVE-2014-4715"
> >
> > +CFLAGS_append = " -std=gnu17"
> >  EXTRA_OEMAKE = "PREFIX=${prefix} CC='${CC}' CFLAGS='${CFLAGS}' 
> > DESTDIR=${D} LIBDIR=${libdir} INCLUDEDIR=${includedir} BUILD_STATIC=no"
> >
> >  do_install() {
>
> I've looked into this a lot more and I'm now of the opinion this is
> totally wrong and definitely should not merge.
>
> An example failure is:
>
> http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20231109-ch73ktqp/packages/diff-html/
>
> First, it is worth noting the huge size difference. It appears debug
> line information is being missed out. The difference in cflags is a
> false lead, it is because crti.S is compiled with c17 and the producer
> string is being mis-compared, the data is missing on one side.
>
> So what we're looking for really is a cflags issue where -g is going
> missing.
>
> I did check older failures which look similar:
>
> http://autobuilder.yocto.io/pub/repro-fail/oe-reproducible-20231105-_xpb575y/packages/diff-html/
>
> Since we're looking for cflags issues:
>
> https://github.com/lz4/lz4/commit/7d8d1075e696d585238e6aa6a4f43dc759da250e
>
> looks interesting and leads to:
>
> https://savannah.gnu.org/bugs/?func=detailitem&item_id=59230
>
> If the makefile had intermittently picked up CFLAGS from the
> environment, the output would be identical to the previous cflags patch
> in the series, which would cross link the hash equivalence
> inputs/outputs and could generally confuse things.

Thanks for looking into this!  I will remove the patch from the series.

> The real question is which autobuilder worker is compiling without the
> -g option and is it a make bug? Perhaps it doesn't matter and we just
> need to force the input and output hashes to change to stop the errors
> once the previous patch is applied.

What is the proper way to force the input and output hashes to change?

Thanks again!

Steve
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#190474): 
https://lists.openembedded.org/g/openembedded-core/message/190474
Mute This Topic: https://lists.openembedded.org/mt/102526884/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to