| Message ID | 20260414093340.4166638-1-khem.raj@oss.qualcomm.com |
|---|---|
| State | New |
| Headers | show |
| Series | strace: Remove -std=gnu23 from ptests makefile to fix reproducibility | expand |
On Tue, 2026-04-14 at 02:33 -0700, Khem Raj via lists.openembedded.org wrote: > with updated ax_prog_cc_for_build.m4 macros, -std=gnu23 can be added to > CC_FOR_BUILD based upon what autoconf-2.73 detects gcc on host to support > which could vary depending upon build host. This gets into Makefile which > is shipped with ptests on tatget. Since we are on gcc-15 this option is > not really needed on target as gcc15 defaults to c23 > > Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> > --- > meta/recipes-devtools/strace/strace_6.19.bb | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/meta/recipes-devtools/strace/strace_6.19.bb b/meta/recipes-devtools/strace/strace_6.19.bb > index 9dcf9d14d5..e7c96262ce 100644 > --- a/meta/recipes-devtools/strace/strace_6.19.bb > +++ b/meta/recipes-devtools/strace/strace_6.19.bb > @@ -52,6 +52,8 @@ do_install_ptest() { > sed -e 's/^srcdir = .*/srcdir = ..\/..\/ptest\/tests/' \ > -e "/^TEST_LOG_DRIVER =/s|(top_srcdir)|(top_builddir)|" \ > -i ${D}/${PTEST_PATH}/${TESTDIR}/Makefile > + # avoid reproducibility issue, -std=gnu23 is used only on hosts with gcc-14 and newer > + sed -i '/^CC_FOR_BUILD=/s/-std=gnu23//g' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile Sadly this doesn't quite work since " -std=gnu23" gets added to the line and hence there would still a whitespace difference :(. I've send another version of this which handles the whitespace (and combines with the previous sed). Cheers, Richard
diff --git a/meta/recipes-devtools/strace/strace_6.19.bb b/meta/recipes-devtools/strace/strace_6.19.bb index 9dcf9d14d5..e7c96262ce 100644 --- a/meta/recipes-devtools/strace/strace_6.19.bb +++ b/meta/recipes-devtools/strace/strace_6.19.bb @@ -52,6 +52,8 @@ do_install_ptest() { sed -e 's/^srcdir = .*/srcdir = ..\/..\/ptest\/tests/' \ -e "/^TEST_LOG_DRIVER =/s|(top_srcdir)|(top_builddir)|" \ -i ${D}/${PTEST_PATH}/${TESTDIR}/Makefile + # avoid reproducibility issue, -std=gnu23 is used only on hosts with gcc-14 and newer + sed -i '/^CC_FOR_BUILD=/s/-std=gnu23//g' ${D}/${PTEST_PATH}/${TESTDIR}/Makefile } RDEPENDS:${PN}-ptest += "make coreutils grep gawk sed locale-base-en-us"
with updated ax_prog_cc_for_build.m4 macros, -std=gnu23 can be added to CC_FOR_BUILD based upon what autoconf-2.73 detects gcc on host to support which could vary depending upon build host. This gets into Makefile which is shipped with ptests on tatget. Since we are on gcc-15 this option is not really needed on target as gcc15 defaults to c23 Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com> --- meta/recipes-devtools/strace/strace_6.19.bb | 2 ++ 1 file changed, 2 insertions(+)