[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