diff options
| author | Dan McGregor <dan.mcgregor@usask.ca> | 2025-02-28 14:32:06 -0600 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-03-06 11:16:46 +0000 |
| commit | f0a765624b3e815b928f79366366622e0c08a5da (patch) | |
| tree | 109f6787a43a4482416c635a05026df68436c415 /meta/recipes-connectivity | |
| parent | 6b6c774db85d91c264fa8a2a735d131da2272715 (diff) | |
| download | poky-f0a765624b3e815b928f79366366622e0c08a5da.tar.gz | |
openssl-native(sdk): poision built in paths
Long ago, in the OpenSSL 1.1 days changing CFLAGS worked to override
hard-coded paths in the OpenSSL libraries. Even as far back as
kirkstone this was no longer working.
Override make variables instead to poision the paths that get built
into the native (and nativesdk) libraries so they become relocatable
again.
While here, remove the -isystem<foo> compiler argument from the compiler
command line stored in the library, just like we already remove the
prefix-map and sysroot arguments.
(From OE-Core rev: d1b29222ad6243c15275a04f9de5989cf158cb2e)
Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-connectivity')
| -rw-r--r-- | meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch | 18 | ||||
| -rw-r--r-- | meta/recipes-connectivity/openssl/openssl_3.4.1.bb | 4 |
2 files changed, 13 insertions, 9 deletions
diff --git a/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch b/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch index b8672735ab..91a95d8929 100644 --- a/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch +++ b/meta/recipes-connectivity/openssl/openssl/0001-buildinfo-strip-sysroot-and-debug-prefix-map-from-co.patch | |||
| @@ -30,23 +30,26 @@ Update to fix buildpaths qa issue for '-ffile-prefix-map'. | |||
| 30 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 30 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 31 | 31 | ||
| 32 | --- | 32 | --- |
| 33 | Configurations/unix-Makefile.tmpl | 12 +++++++++++- | 33 | Configurations/unix-Makefile.tmpl | 16 +++++++++++++++- |
| 34 | crypto/build.info | 2 +- | 34 | crypto/build.info | 2 +- |
| 35 | 2 files changed, 12 insertions(+), 2 deletions(-) | 35 | 2 files changed, 16 insertions(+), 2 deletions(-) |
| 36 | 36 | ||
| 37 | Index: openssl-3.0.4/Configurations/unix-Makefile.tmpl | 37 | diff --git a/Configurations/unix-Makefile.tmpl b/Configurations/unix-Makefile.tmpl |
| 38 | =================================================================== | 38 | index 09303c4..011bda1 100644 |
| 39 | --- openssl-3.0.4.orig/Configurations/unix-Makefile.tmpl | 39 | --- a/Configurations/unix-Makefile.tmpl |
| 40 | +++ openssl-3.0.4/Configurations/unix-Makefile.tmpl | 40 | +++ b/Configurations/unix-Makefile.tmpl |
| 41 | @@ -502,13 +502,23 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (), | 41 | @@ -502,13 +502,27 @@ BIN_LDFLAGS={- join(' ', $target{bin_lflags} || (), |
| 42 | '$(CNF_LDFLAGS)', '$(LDFLAGS)') -} | 42 | '$(CNF_LDFLAGS)', '$(LDFLAGS)') -} |
| 43 | BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS) | 43 | BIN_EX_LIBS=$(CNF_EX_LIBS) $(EX_LIBS) |
| 44 | 44 | ||
| 45 | -# CPPFLAGS_Q is used for one thing only: to build up buildinf.h | 45 | -# CPPFLAGS_Q is used for one thing only: to build up buildinf.h |
| 46 | +# *_Q variables are used for one thing only: to build up buildinf.h | 46 | +# *_Q variables are used for one thing only: to build up buildinf.h |
| 47 | CPPFLAGS_Q={- $cppflags1 =~ s|([\\"])|\\$1|g; | 47 | CPPFLAGS_Q={- $cppflags1 =~ s|([\\"])|\\$1|g; |
| 48 | + $cppflags1 =~ s|-isystem/[^ ]+/usr/include||g; | ||
| 48 | $cppflags2 =~ s|([\\"])|\\$1|g; | 49 | $cppflags2 =~ s|([\\"])|\\$1|g; |
| 50 | + $cppflags2 =~ s|-isystem/[^ ]+/usr/include||g; | ||
| 49 | $lib_cppflags =~ s|([\\"])|\\$1|g; | 51 | $lib_cppflags =~ s|([\\"])|\\$1|g; |
| 52 | + $lib_cppflags =~ s|-isystem/[^ ]+/usr/include||g; | ||
| 50 | join(' ', $lib_cppflags || (), $cppflags2 || (), | 53 | join(' ', $lib_cppflags || (), $cppflags2 || (), |
| 51 | $cppflags1 || ()) -} | 54 | $cppflags1 || ()) -} |
| 52 | 55 | ||
| @@ -54,6 +57,7 @@ Index: openssl-3.0.4/Configurations/unix-Makefile.tmpl | |||
| 54 | + s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g; | 57 | + s|-fdebug-prefix-map=[^ ]+|-fdebug-prefix-map=|g; |
| 55 | + s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g; | 58 | + s|-fmacro-prefix-map=[^ ]+|-fmacro-prefix-map=|g; |
| 56 | + s|-ffile-prefix-map=[^ ]+|-ffile-prefix-map=|g; | 59 | + s|-ffile-prefix-map=[^ ]+|-ffile-prefix-map=|g; |
| 60 | + s|-isystem/[^ ]+/usr/include ||g; | ||
| 57 | + } | 61 | + } |
| 58 | + join(' ', @{$config{CFLAGS}}) -} | 62 | + join(' ', @{$config{CFLAGS}}) -} |
| 59 | + | 63 | + |
diff --git a/meta/recipes-connectivity/openssl/openssl_3.4.1.bb b/meta/recipes-connectivity/openssl/openssl_3.4.1.bb index 1a054a3675..8da64aea6a 100644 --- a/meta/recipes-connectivity/openssl/openssl_3.4.1.bb +++ b/meta/recipes-connectivity/openssl/openssl_3.4.1.bb | |||
| @@ -49,8 +49,8 @@ EXTRA_OECONF:append:class-native = " --with-rand-seed=os,devrandom" | |||
| 49 | EXTRA_OECONF:append:class-nativesdk = " --with-rand-seed=os,devrandom" | 49 | EXTRA_OECONF:append:class-nativesdk = " --with-rand-seed=os,devrandom" |
| 50 | 50 | ||
| 51 | # Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate. | 51 | # Relying on hardcoded built-in paths causes openssl-native to not be relocateable from sstate. |
| 52 | CFLAGS:append:class-native = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin" | 52 | EXTRA_OEMAKE:append:task-compile:class-native = ' OPENSSLDIR="/not/builtin" ENGINESDIR="/not/builtin" MODULESDIR="/not/builtin"' |
| 53 | CFLAGS:append:class-nativesdk = " -DOPENSSLDIR=/not/builtin -DENGINESDIR=/not/builtin" | 53 | EXTRA_OEMAKE:append:task-compile:class-nativesdk = ' OPENSSLDIR="/not/builtin" ENGINESDIR="/not/builtin" MODULESDIR="/not/builtin"' |
| 54 | 54 | ||
| 55 | # This allows disabling deprecated or undesirable crypto algorithms. | 55 | # This allows disabling deprecated or undesirable crypto algorithms. |
| 56 | # The default is to trust upstream choices. | 56 | # The default is to trust upstream choices. |
