On Mon, 2023-11-13 at 04:14 -1000, Steve Sakoman wrote:
> 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!

https://git.yoctoproject.org/poky/commit/?id=ad3dfac07f856917434deb073fe9c8a788d4c21d

is an example.

Cheers,

Richard

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#190476): 
https://lists.openembedded.org/g/openembedded-core/message/190476
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