Message ID | 20200619065033.8982-1-patrickdepinguin@gmail.com |
---|---|
State | Accepted |
Headers | show |
Series | [master+LTS] package/libopenssl: fix target architecture for MIPS64n32 | expand |
On Fri, 19 Jun 2020 08:50:33 +0200 Thomas De Schampheleire <patrickdepinguin@gmail.com> wrote: > From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> > > Commit 1ebb35ee5fb7bd5e6278a84ac2c18aa0a38056fb changed the libopenssl > target architecture to 'linux-generic64' for 64-bit archs based on > BR2_ARCH_IS_64. However, MIPS64n32 has BR2_ARCH_IS_64 set, but is a 32-bit > ABI. On such board, libopenssl needs to be configured with linux-generic32 > to function properly. > > One symptom of this problem is that ssh-keygen hangs on key generation, > waiting for more random bits. See [1] for the discussion with openssl > upstream. > > Thanks to Ronny Meeus for investigating the issue and kudos to the openssl > community for their responsive and helpful interaction! > > Reported-by: Ronny Meeus <ronny.meeus@nokia.com> > Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> > > [1] https://mta.openssl.org/pipermail/openssl-users/2020-June/012565.html > --- > package/libopenssl/Config.in | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) Thanks a lot for the investigation and fix! I've applied as-is as it is the most immediate fix. However, I am wondering if we shouldn't make BR2_MIPS_NABI32 *not* select BR2_ARCH_IS_64. Indeed, for most packages (which are running userspace code), mips64n32 *is* a 32-bit architecture. We could make that even clearer by having a BR2_KERNEL_ARCH_IS_64, if there's anything that needs to know at the kernel level the bitness. But it overall feels incorrect for BR2_MIPS_NABI32 to select BR2_ARCH_IS_64. What do you think ? Thomas
>>>>> "Thomas" == Thomas De Schampheleire <patrickdepinguin@gmail.com> writes: > From: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> > Commit 1ebb35ee5fb7bd5e6278a84ac2c18aa0a38056fb changed the libopenssl > target architecture to 'linux-generic64' for 64-bit archs based on > BR2_ARCH_IS_64. However, MIPS64n32 has BR2_ARCH_IS_64 set, but is a 32-bit > ABI. On such board, libopenssl needs to be configured with linux-generic32 > to function properly. > One symptom of this problem is that ssh-keygen hangs on key generation, > waiting for more random bits. See [1] for the discussion with openssl > upstream. > Thanks to Ronny Meeus for investigating the issue and kudos to the openssl > community for their responsive and helpful interaction! > Reported-by: Ronny Meeus <ronny.meeus@nokia.com> > Signed-off-by: Thomas De Schampheleire <thomas.de_schampheleire@nokia.com> > [1] https://mta.openssl.org/pipermail/openssl-users/2020-June/012565.html Committed to 2020.02.x and 2020.05.x, thanks.
diff --git a/package/libopenssl/Config.in b/package/libopenssl/Config.in index 881518d1cb..8909e36b9e 100644 --- a/package/libopenssl/Config.in +++ b/package/libopenssl/Config.in @@ -29,7 +29,7 @@ config BR2_PACKAGE_LIBOPENSSL_TARGET_ARCH # no-asm is needed with generic architectures such as # linux-generic{32,64}, see # https://github.com/openssl/openssl/issues/9839 - default "linux-generic64 no-asm" if BR2_ARCH_IS_64 + default "linux-generic64 no-asm" if BR2_ARCH_IS_64 && !BR2_MIPS_NABI32 default "linux-generic32 no-asm" config BR2_PACKAGE_LIBOPENSSL_BIN