Merge pull request #8035 from danielinux/armv8-armasm-ARMv7-A

Allow armv8-asm on ARMv7-A with -mthumb-interwork
This commit is contained in:
Sean Parkinson 2024-10-11 09:49:31 +10:00 committed by GitHub
commit 9c4960f3fa
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 32 additions and 32 deletions

View File

@ -31,7 +31,7 @@
#include <wolfssl/wolfcrypt/settings.h> #include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifndef WOLFSSL_ARMASM_INLINE #ifndef WOLFSSL_ARMASM_INLINE
#ifndef NO_AES #ifndef NO_AES
#ifdef HAVE_AES_DECRYPT #ifdef HAVE_AES_DECRYPT

View File

@ -32,7 +32,7 @@
#include <wolfssl/wolfcrypt/error-crypt.h> #include <wolfssl/wolfcrypt/error-crypt.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
@ -42,7 +42,7 @@
#ifdef WOLFSSL_ARMASM_INLINE #ifdef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifdef __IAR_SYSTEMS_ICC__ #ifdef __IAR_SYSTEMS_ICC__
#define __asm__ asm #define __asm__ asm
@ -4854,7 +4854,7 @@ void AES_GCM_encrypt(const unsigned char* in_p, unsigned char* out_p,
#endif /* !NO_AES */ #endif /* !NO_AES */
#endif /* !__aarch64__ && __arm__ && !__thumb__ */ #endif /* !__aarch64__ && __arm__ && !__thumb__ */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) */ #endif /* !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__)) */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */ #endif /* WOLFSSL_ARMASM_INLINE */

View File

@ -31,7 +31,7 @@
#include <wolfssl/wolfcrypt/settings.h> #include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifndef WOLFSSL_ARMASM_INLINE #ifndef WOLFSSL_ARMASM_INLINE
#ifdef HAVE_CHACHA #ifdef HAVE_CHACHA
.text .text

View File

@ -32,7 +32,7 @@
#include <wolfssl/wolfcrypt/error-crypt.h> #include <wolfssl/wolfcrypt/error-crypt.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
@ -42,7 +42,7 @@
#ifdef WOLFSSL_ARMASM_INLINE #ifdef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifdef __IAR_SYSTEMS_ICC__ #ifdef __IAR_SYSTEMS_ICC__
#define __asm__ asm #define __asm__ asm
@ -570,7 +570,7 @@ void wc_chacha_use_over(byte* over_p, byte* output_p, const byte* input_p,
#endif /* HAVE_CHACHA */ #endif /* HAVE_CHACHA */
#endif /* !__aarch64__ && __arm__ && !__thumb__ */ #endif /* !__aarch64__ && __arm__ && !__thumb__ */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) */ #endif /* !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__)) */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */ #endif /* WOLFSSL_ARMASM_INLINE */

View File

@ -31,7 +31,7 @@
#include <wolfssl/wolfcrypt/settings.h> #include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifndef WOLFSSL_ARMASM_INLINE #ifndef WOLFSSL_ARMASM_INLINE
#if defined(HAVE_CURVE25519) || defined(HAVE_ED25519) #if defined(HAVE_CURVE25519) || defined(HAVE_ED25519)
#if !defined(CURVE25519_SMALL) || !defined(ED25519_SMALL) #if !defined(CURVE25519_SMALL) || !defined(ED25519_SMALL)

View File

@ -32,7 +32,7 @@
#include <wolfssl/wolfcrypt/error-crypt.h> #include <wolfssl/wolfcrypt/error-crypt.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
@ -42,7 +42,7 @@
#ifdef WOLFSSL_ARMASM_INLINE #ifdef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifdef __IAR_SYSTEMS_ICC__ #ifdef __IAR_SYSTEMS_ICC__
#define __asm__ asm #define __asm__ asm
@ -9430,7 +9430,7 @@ void sc_muladd(byte* s_p, const byte* a_p, const byte* b_p, const byte* c_p)
#endif /* HAVE_CURVE25519 || HAVE_ED25519 */ #endif /* HAVE_CURVE25519 || HAVE_ED25519 */
#endif /* !__aarch64__ && __arm__ && !__thumb__ */ #endif /* !__aarch64__ && __arm__ && !__thumb__ */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) */ #endif /* !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__)) */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */ #endif /* WOLFSSL_ARMASM_INLINE */

View File

@ -31,7 +31,7 @@
#include <wolfssl/wolfcrypt/settings.h> #include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifndef WOLFSSL_ARMASM_INLINE #ifndef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_WC_KYBER #ifdef WOLFSSL_WC_KYBER
.text .text

View File

@ -32,7 +32,7 @@
#include <wolfssl/wolfcrypt/error-crypt.h> #include <wolfssl/wolfcrypt/error-crypt.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
@ -42,7 +42,7 @@
#ifdef WOLFSSL_ARMASM_INLINE #ifdef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifdef __IAR_SYSTEMS_ICC__ #ifdef __IAR_SYSTEMS_ICC__
#define __asm__ asm #define __asm__ asm
@ -9233,7 +9233,7 @@ unsigned int kyber_arm32_rej_uniform(sword16* p_p, unsigned int len_p,
#endif /* WOLFSSL_WC_KYBER */ #endif /* WOLFSSL_WC_KYBER */
#endif /* !__aarch64__ && __arm__ && !__thumb__ */ #endif /* !__aarch64__ && __arm__ && !__thumb__ */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) */ #endif /* !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__)) */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */ #endif /* WOLFSSL_ARMASM_INLINE */

View File

@ -31,7 +31,7 @@
#include <wolfssl/wolfcrypt/settings.h> #include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifndef WOLFSSL_ARMASM_INLINE #ifndef WOLFSSL_ARMASM_INLINE
#ifdef HAVE_POLY1305 #ifdef HAVE_POLY1305
.text .text

View File

@ -32,7 +32,7 @@
#include <wolfssl/wolfcrypt/error-crypt.h> #include <wolfssl/wolfcrypt/error-crypt.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
@ -42,7 +42,7 @@
#ifdef WOLFSSL_ARMASM_INLINE #ifdef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifdef __IAR_SYSTEMS_ICC__ #ifdef __IAR_SYSTEMS_ICC__
#define __asm__ asm #define __asm__ asm
@ -389,7 +389,7 @@ void poly1305_final(Poly1305* ctx_p, byte* mac_p)
#endif /* HAVE_POLY1305 */ #endif /* HAVE_POLY1305 */
#endif /* !__aarch64__ && __arm__ && !__thumb__ */ #endif /* !__aarch64__ && __arm__ && !__thumb__ */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) */ #endif /* !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__)) */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */ #endif /* WOLFSSL_ARMASM_INLINE */

View File

@ -31,7 +31,7 @@
#include <wolfssl/wolfcrypt/settings.h> #include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifndef WOLFSSL_ARMASM_INLINE #ifndef WOLFSSL_ARMASM_INLINE
#ifndef NO_SHA256 #ifndef NO_SHA256
#ifdef WOLFSSL_ARMASM_NO_NEON #ifdef WOLFSSL_ARMASM_NO_NEON

View File

@ -32,7 +32,7 @@
#include <wolfssl/wolfcrypt/error-crypt.h> #include <wolfssl/wolfcrypt/error-crypt.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
@ -42,7 +42,7 @@
#ifdef WOLFSSL_ARMASM_INLINE #ifdef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifdef __IAR_SYSTEMS_ICC__ #ifdef __IAR_SYSTEMS_ICC__
#define __asm__ asm #define __asm__ asm
@ -2812,7 +2812,7 @@ void Transform_Sha256_Len(wc_Sha256* sha256_p, const byte* data_p, word32 len_p)
#endif /* !NO_SHA256 */ #endif /* !NO_SHA256 */
#endif /* !__aarch64__ && __arm__ && !__thumb__ */ #endif /* !__aarch64__ && __arm__ && !__thumb__ */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) */ #endif /* !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__)) */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */ #endif /* WOLFSSL_ARMASM_INLINE */

View File

@ -31,7 +31,7 @@
#include <wolfssl/wolfcrypt/settings.h> #include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifndef WOLFSSL_ARMASM_INLINE #ifndef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_SHA3 #ifdef WOLFSSL_SHA3
#ifndef WOLFSSL_ARMASM_NO_NEON #ifndef WOLFSSL_ARMASM_NO_NEON

View File

@ -32,7 +32,7 @@
#include <wolfssl/wolfcrypt/error-crypt.h> #include <wolfssl/wolfcrypt/error-crypt.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
@ -42,7 +42,7 @@
#ifdef WOLFSSL_ARMASM_INLINE #ifdef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifdef __IAR_SYSTEMS_ICC__ #ifdef __IAR_SYSTEMS_ICC__
#define __asm__ asm #define __asm__ asm
@ -2357,7 +2357,7 @@ void BlockSha3(word64* state_p)
#endif /* WOLFSSL_SHA3 */ #endif /* WOLFSSL_SHA3 */
#endif /* !__aarch64__ && __arm__ && !__thumb__ */ #endif /* !__aarch64__ && __arm__ && !__thumb__ */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) */ #endif /* !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__)) */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */ #endif /* WOLFSSL_ARMASM_INLINE */

View File

@ -31,7 +31,7 @@
#include <wolfssl/wolfcrypt/settings.h> #include <wolfssl/wolfcrypt/settings.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifndef WOLFSSL_ARMASM_INLINE #ifndef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_SHA512 #ifdef WOLFSSL_SHA512
#ifdef WOLFSSL_ARMASM_NO_NEON #ifdef WOLFSSL_ARMASM_NO_NEON

View File

@ -32,7 +32,7 @@
#include <wolfssl/wolfcrypt/error-crypt.h> #include <wolfssl/wolfcrypt/error-crypt.h>
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#include <stdint.h> #include <stdint.h>
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include <config.h> #include <config.h>
@ -42,7 +42,7 @@
#ifdef WOLFSSL_ARMASM_INLINE #ifdef WOLFSSL_ARMASM_INLINE
#ifdef WOLFSSL_ARMASM #ifdef WOLFSSL_ARMASM
#if !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) #if !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__))
#ifdef __IAR_SYSTEMS_ICC__ #ifdef __IAR_SYSTEMS_ICC__
#define __asm__ asm #define __asm__ asm
@ -9169,7 +9169,7 @@ void Transform_Sha512_Len(wc_Sha512* sha512_p, const byte* data_p, word32 len_p)
#endif /* WOLFSSL_SHA512 */ #endif /* WOLFSSL_SHA512 */
#endif /* !__aarch64__ && __arm__ && !__thumb__ */ #endif /* !__aarch64__ && __arm__ && !__thumb__ */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* !defined(__aarch64__) && defined(__arm__) && !defined(__thumb__) */ #endif /* !defined(__aarch64__) && defined(__arm__) && (!defined(__thumb__) || defined(__THUMB_INTERWORK__)) */
#endif /* WOLFSSL_ARMASM */ #endif /* WOLFSSL_ARMASM */
#endif /* WOLFSSL_ARMASM_INLINE */ #endif /* WOLFSSL_ARMASM_INLINE */