> > +-o_flag_munging = sed -e 's/-O\([1-9sgz][1-9sgz]*\)/-O0/g' -e > > 's/-Ofast/-O0/g' > > ++o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O0 /' -e > > 's/[[:blank:]]-Ofast/ -O0 /g'
I guess the 1-9 should have stayed in this one (now it no longer replaces -O1 with -O0) and also the "/g" got missing, so it replaced the first -O* on command line, but not the 2nd one which stayed -O2. To be safe you should add /g to the first sed call as well. It should be fixed upstream as well as the issue is already in the merged version: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=blobdiff;f=random/Makefile.am;h=340df38a798997b975d81a445cbc84cb23f5ea7a;hp=0c935a05952b5f1d91ef5992ec090912a77b03d2;hb=7d9817ca935a35fe6c8e2c2c7615825fa08a3a19;hpb=75e9bcccb69a9dea67d90840bd295bbd1749cea3 Regards, On Sat, Jun 8, 2024 at 12:35 AM Alexandre Belloni via lists.openembedded.org <[email protected]> wrote: > > This seems to fail: > > | libtool: compile: arm-poky-linux-gnueabi-gcc -mfpu=neon -mfloat-abi=hard > -mcpu=cortex-a8 -fstack-protector-strong -O0 -D_FORTIFY_SOURCE=2 -Wformat > -Wformat-security -Werror=format-security -D_TIME_BITS=64 > -D_FILE_OFFSET_BITS=64 > --sysroot=/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/recipe-sysroot > -DHAVE_CONFIG_H -I. -I../../libgcrypt-1.10.3/random -I.. -I../src > -I../../libgcrypt-1.10.3/src -O2 -pipe -g -feliminate-unused-debug-types > -fcanon-prefix-map > -fmacro-prefix-map=/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/libgcrypt-1.10.3=/usr/src/debug/libgcrypt/1.10.3 > > -fdebug-prefix-map=/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/libgcrypt-1.10.3=/usr/src/debug/libgcrypt/1.10.3 > > -fmacro-prefix-map=/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/build=/usr/src/debug/libgcrypt/1.10.3 > > -fdebug-prefix-map=/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/build=/usr/src/debug/libgcrypt/1.10.3 > > -fdebug-prefix-map=/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/recipe-sysroot= > > -fmacro-prefix-map=/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/recipe-sysroot= > > -fdebug-prefix-map=/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/recipe-sysroot-native= > -fvisibility=hidden -fno-delete-null-pointer-checks -Wall -c > ../../libgcrypt-1.10.3/random/rndjent.c -fPIC -DPIC -o .libs/rndjent.o > | In file included from ../../libgcrypt-1.10.3/random/rndjent.c:99: > | ../../libgcrypt-1.10.3/random/jitterentropy-base.c:58:3: error: #error "The > CPU Jitter random number generator must not be compiled with optimizations. > See documentation. Use the compiler switch -O0 for compiling jitterentropy.c." > | 58 | #error "The CPU Jitter random number generator must not be > compiled with optimizations. See documentation. Use the compiler switch -O0 > for compiling jitterentropy.c." > | | ^~~~~ > | make[2]: *** [Makefile:775: rndjent.lo] Error 1 > | make[2]: Leaving directory > '/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/build/random' > | make[1]: *** [Makefile:500: all-recursive] Error 1 > | make[1]: Leaving directory > '/home/pokybuild/yocto-worker/beaglebone-alt/build/build/tmp/work/cortexa8hf-neon-poky-linux-gnueabi/libgcrypt/1.10.3/build' > | make: *** [Makefile:432: all] Error 2 > | ERROR: oe_runmake failed > | WARNING: exit code 1 from a shell command. > NOTE: recipe libgcrypt-1.10.3-r0: task do_compile: Failed > > https://autobuilder.yoctoproject.org/typhoon/#/builders/106/builds/8078/steps/11/logs/stdio > > > > On 06/06/2024 16:26:41+0530, simit.ghane wrote: > > Characters like '-O2' or '-Ofast' will be replaced by '-O1' and '-O0' > > respectively when compiling cipher and random in the filesystem > > paths as well if they happen to contain '-O2' or '-Ofast > > > > If we are cross compiling libgcrypt and sysroot contains such > > characters, we would > > get compile errors because the sysroot path has been modified. > > > > Fix this by adding blank spaces and tabs before the original matching > > pattern in the sed command. > > > > It is difficult to control -O1 for cipher and -O0 for random > > at the same time in OE environment along with patch file. > > So, keeping same change as it is. > > > > Signed-off-by: simit.ghane <[email protected]> > > --- > > v3: No change > > > > ...ilding-error-with-O2-in-sysroot-path.patch | 52 +++++++++++++------ > > 1 file changed, 36 insertions(+), 16 deletions(-) > > > > diff --git > > a/meta/recipes-support/libgcrypt/files/0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch > > > > b/meta/recipes-support/libgcrypt/files/0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch > > index cf9ebfb3e6..339bc9c563 100644 > > --- > > a/meta/recipes-support/libgcrypt/files/0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch > > +++ > > b/meta/recipes-support/libgcrypt/files/0002-libgcrypt-fix-building-error-with-O2-in-sysroot-path.patch > > @@ -1,31 +1,38 @@ > > -From 0f66e796a8522e1043dda03b88d5f6feae839d16 Mon Sep 17 00:00:00 2001 > > -From: Chen Qi <[email protected]> > > -Date: Wed, 16 Aug 2017 10:44:41 +0800 > > -Subject: [PATCH] libgcrypt: fix building error with '-O2' in sysroot path > > +From 7d9817ca935a35fe6c8e2c2c7615825fa08a3a19 Mon Sep 17 00:00:00 2001 > > +From: "simit.ghane" <[email protected]> > > +Date: Tue, 7 May 2024 14:09:03 +0530 > > +Subject: [PATCHV2] Fix building error with '-O2' in sysroot path > > > > -Upstream-Status: Pending > > +Upstream-Status: Backport > > [https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=commit;h=7d9817ca935a35fe6c8e2c2c7615825fa08a3a19] > > + > > +* cipher/Makefile.am (o_flag_munging): Tweak the sed script. > > +* random/Makefile.am (o_flag_munging): Ditto. > > +-- > > + > > +Characters like '-O2' or '-Ofast' will be replaced by '-O1' and '-O0' > > +respectively when compiling cipher and random in the filesystem > > +paths as well if they happen to contain '-O2' or '-Ofast > > > > -Characters like '-O2' or '-Ofast' will be replaced by '-O1' when > > -compiling cipher. > > If we are cross compiling libgcrypt and sysroot contains such > > characters, we would > > get compile errors because the sysroot path has been modified. > > > > -Fix this by adding blank spaces before and after the original matching > > -pattern in the > > -sed command. > > +Fix this by adding blank spaces and tabs before the original matching > > +pattern in the sed command. > > > > -Signed-off-by: Chen Qi <[email protected]> > > +Signed-off-by: simit.ghane <[email protected]> > > > > -Rebase to 1.8.0 > > -Signed-off-by: Hongxu Jia <[email protected]> > > +ChangeLog entries added by wk > > > > +Note that there is also the configure option --disable-O-flag-munging; > > +see the README. > > --- > > cipher/Makefile.am | 2 +- > > - 1 file changed, 1 insertion(+), 1 deletion(-) > > + random/Makefile.am | 2 +- > > + 2 files changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/cipher/Makefile.am b/cipher/Makefile.am > > -index c3d642b..88c883a 100644 > > +index c3d642b2ac..f1c3971c40 100644 > > --- a/cipher/Makefile.am > > +++ b/cipher/Makefile.am > > @@ -153,7 +153,7 @@ gost-s-box: gost-s-box.c > > @@ -33,7 +40,20 @@ index c3d642b..88c883a 100644 > > > > if ENABLE_O_FLAG_MUNGING > > -o_flag_munging = sed -e 's/-O\([2-9sgz][2-9sgz]*\)/-O1/' -e > > 's/-Ofast/-O1/g' > > -+o_flag_munging = sed -e 's/ -O\([2-9sgz][2-9sgz]*\) / -O1 /' -e 's/ > > -Ofast / -O1 /g' > > ++o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O1 /' -e > > 's/[[:blank:]]-Ofast/ -O1 /g' > > + else > > + o_flag_munging = cat > > + endif > > +diff --git a/random/Makefile.am b/random/Makefile.am > > +index 0c935a0595..340df38a79 100644 > > +--- a/random/Makefile.am > > ++++ b/random/Makefile.am > > +@@ -56,7 +56,7 @@ jitterentropy-base.c jitterentropy.h > > jitterentropy-base-user.h > > + > > + # The rndjent module needs to be compiled without optimization. */ > > + if ENABLE_O_FLAG_MUNGING > > +-o_flag_munging = sed -e 's/-O\([1-9sgz][1-9sgz]*\)/-O0/g' -e > > 's/-Ofast/-O0/g' > > ++o_flag_munging = sed -e 's/[[:blank:]]-O\([2-9sgz][2-9sgz]*\)/ -O0 /' -e > > 's/[[:blank:]]-Ofast/ -O0 /g' > > else > > o_flag_munging = cat > > endif > > > > > > > > > > -- > Alexandre Belloni, co-owner and COO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com > > >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#200448): https://lists.openembedded.org/g/openembedded-core/message/200448 Mute This Topic: https://lists.openembedded.org/mt/106520599/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
