On Fri Aug 14, 2026 at 7:18 AM CEST, Jaipaul Cheernam wrote:
> OpenSSL 4.0 removed the ENGINE API entirely. u-boot-tools uses
> ENGINE_get_id, ENGINE_load_public_key, ENGINE_finish, ENGINE_free
> in lib/rsa/rsa-sign.c which causes link failures.
>
> Backport the Provider API support patch from upstream u-boot which
> adds OpenSSL Provider support while maintaining backward compatibility
> with older OpenSSL versions that still have ENGINE.
>
> Upstream-Status: Backport [https://github.com/u-boot/u-boot/pull/918]
> Signed-off-by: Jaipaul Cheernam <[email protected]>
> ---

Hi Jaipaul,

I know this is just an RFC, but I tried a build on the autobuilder: it
looks like more changes are needed to fix u-boot builds. Maybe only for
riscv64 platforms:

ERROR: u-boot-1_2026.07-r0 do_compile: Execution of 
'/srv/pokybuild/yocto-worker/qemuriscv64/build/build/tmp/work/qemuriscv64-poky-linux/u-boot/2026.07/temp/run.do_compile.3905853'
 failed with exit code 1
...
| rsa-sign.c:(.text+0xb): undefined reference to `ENGINE_load_builtin_engines'
| /usr/lib64/gcc/x86_64-suse-linux/15/../../../../x86_64-suse-linux/bin/ld: 
rsa-sign.c:(.text+0x13): undefined reference to `ENGINE_by_id'
| /usr/lib64/gcc/x86_64-suse-linux/15/../../../../x86_64-suse-linux/bin/ld: 
rsa-sign.c:(.text+0x27): undefined reference to `ENGINE_init'
| /usr/lib64/gcc/x86_64-suse-linux/15/../../../../x86_64-suse-linux/bin/ld: 
rsa-sign.c:(.text+0x33): undefined reference to `ENGINE_set_default_RSA'
| /usr/lib64/gcc/x86_64-suse-linux/15/../../../../x86_64-suse-linux/bin/ld: 
rsa-sign.c:(.text+0x58): undefined reference to `ENGINE_ctrl_cmd_string'
| /usr/lib64/gcc/x86_64-suse-linux/15/../../../../x86_64-suse-linux/bin/ld: 
rsa-sign.c:(.text+0x8f): undefined reference to `ENGINE_free'
| /usr/lib64/gcc/x86_64-suse-linux/15/../../../../x86_64-suse-linux/bin/ld: 
rsa-sign.c:(.text+0xbf): undefined reference to `ENGINE_finish'
| /usr/lib64/gcc/x86_64-suse-linux/15/../../../../x86_64-suse-linux/bin/ld: 
tools/generated/lib/rsa/rsa-sign.o: in function `rsa_engine_get_priv_key':
| rsa-sign.c:(.text+0x274): undefined reference to `ENGINE_get_id'
...
| collect2: error: ld returned 1 exit status
...


https://autobuilder.yoctoproject.org/valkyrie/#/builders/45/builds/2124
https://autobuilder.yoctoproject.org/valkyrie/#/builders/56/builds/2173

Thanks,
Mathieu

-- 
Mathieu Dubois-Briand, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#243496): 
https://lists.openembedded.org/g/openembedded-core/message/243496
Mute This Topic: https://lists.openembedded.org/mt/120745102/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to