[Buildroot] [PATCH] package/wolfssl: Disable broken asm implementations on 32-bit Arm
Peter Korsgaard
peter at korsgaard.com
Tue Feb 28 15:34:08 UTC 2023
>>>>> "Thomas" == Thomas Petazzoni via buildroot <buildroot at buildroot.org> writes:
> Hello Ben,
> On Tue, 14 Jun 2022 21:24:45 +0200
> Ben Hutchings <ben.hutchings at mind.be> wrote:
>> wolfSSL has ARMv8-A assembly implementations of some functions for
>> both A64 and A32 ISAs. However, some of the A32 versions use r11,
>> which is usually not allowed:
>>
>> wolfcrypt/src/port/arm/armv8-aes.c: In function 'wc_AesCbcEncrypt':
>> wolfcrypt/src/port/arm/armv8-aes.c:3303:5: error: fp cannot be used in 'asm' here
>> 3303 | }
>> | ^
>>
>> That can be fixed by adding the compiler flag -fomit-frame-pointer,
>> but then there is another failure:
>>
>> /tmp/ccV19DQV.s: Assembler messages:
>> /tmp/ccV19DQV.s:248: Error: first transfer register must be even -- `ldrd r11,r10,[r14,#4*14]'
>> make[3]: *** [Makefile:5858: wolfcrypt/src/port/arm/src_libwolfssl_la-armv8-chacha.lo] Error 1
>>
>> This is definitely not a valid instruction in A32, which suggests that
>> this code isn't being tested at all upstream. So disable it here.
>>
>> Signed-off-by: Ben Hutchings <ben.hutchings at mind.be>
>> ---
>> package/wolfssl/wolfssl.mk | 4 +---
>> 1 file changed, 1 insertion(+), 3 deletions(-)
> Thanks, I finally applied your patch, after adding a reference to the
> autobuilder failure it is fixing. I also pushed two other patches to
> fix other wolfssl build failures:
> https://gitlab.com/buildroot.org/buildroot/-/commit/36b8c9494b56b877fea62f17926f747c7c7bfb8d
> https://gitlab.com/buildroot.org/buildroot/-/commit/f79a9c775ff0a59027f274a237d98b5f8d31c022
> https://gitlab.com/buildroot.org/buildroot/-/commit/d8dc5315eb712eca0a5cbf793a6714a47ab6e57e
All 3 committed to 2022.11.x and 2022.02.x, thanks.
--
Bye, Peter Korsgaard
More information about the buildroot
mailing list