diff mbox series

[PATCHv1] Fix building error with '-O2' in sysroot path

Message ID 20240508104826.481616-1-simit.ghane@lge.com
State New
Headers show
Series [PATCHv1] Fix building error with '-O2' in sysroot path | expand

Commit Message

simit.ghane May 8, 2024, 10:48 a.m. UTC
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.

Signed-off-by: simit.ghane <simit.ghane@lge.com>
---
 ...ilding-error-with-O2-in-sysroot-path.patch | 52 +++++++++++++------
 1 file changed, 36 insertions(+), 16 deletions(-)

Comments

Ross Burton May 8, 2024, 2:47 p.m. UTC | #1
Feels like we should both backport that _and_ pass —disable-O-flag-munging, as we control the compiler flags.

Ross

> On 8 May 2024, at 11:48, simit.ghane via lists.openembedded.org <simit.ghane=lge.com@lists.openembedded.org> 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.
> 
> Signed-off-by: simit.ghane <simit.ghane@lge.com>
> ---
> ...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 <Qi.Chen@windriver.com>
> -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" <simit.ghane@lge.com>
> +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 <Qi.Chen@windriver.com>
> +Signed-off-by: simit.ghane <simit.ghane@lge.com>
> 
> -Rebase to 1.8.0
> -Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
> +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
> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#199114): https://lists.openembedded.org/g/openembedded-core/message/199114
> Mute This Topic: https://lists.openembedded.org/mt/105978437/6875888
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [ross.burton@arm.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
simit.ghane May 15, 2024, 10:58 a.m. UTC | #2
Sorry for late reply.

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.
diff mbox series

Patch

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 <Qi.Chen@windriver.com>
-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" <simit.ghane@lge.com>
+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 <Qi.Chen@windriver.com>
+Signed-off-by: simit.ghane <simit.ghane@lge.com>
 
-Rebase to 1.8.0
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+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