mirror of
https://github.com/Mbed-TLS/mbedtls.git
synced 2026-10-05 16:37:24 +00:00
Merge pull request #10542 from minosgalanakis/bugfix/fix-intrisic-header-armf-3.6
[Backport 3.6] Bugfix/fix intrisic header armf 3.6
This commit is contained in:
+10
-7
@@ -15,10 +15,6 @@
|
|||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_SHA256_C) || defined(MBEDTLS_SHA224_C)
|
|
||||||
|
|
||||||
#if defined(__clang__) && (__clang_major__ >= 4)
|
#if defined(__clang__) && (__clang_major__ >= 4)
|
||||||
|
|
||||||
/* Ideally, we would simply use MBEDTLS_ARCH_IS_ARMV8_A in the following #if,
|
/* Ideally, we would simply use MBEDTLS_ARCH_IS_ARMV8_A in the following #if,
|
||||||
@@ -30,15 +26,18 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(MBEDTLS_SHA256_ARCH_IS_ARMV8_A) && !defined(__ARM_FEATURE_CRYPTO)
|
#if defined(MBEDTLS_SHA256_ARCH_IS_ARMV8_A) && !defined(__ARM_FEATURE_CRYPTO)
|
||||||
/* TODO: Re-consider above after https://reviews.llvm.org/D131064 merged.
|
/*
|
||||||
*
|
|
||||||
* The intrinsic declaration are guarded by predefined ACLE macros in clang:
|
* The intrinsic declaration are guarded by predefined ACLE macros in clang:
|
||||||
* these are normally only enabled by the -march option on the command line.
|
* these are normally only enabled by the -march option on the command line.
|
||||||
* By defining the macros ourselves we gain access to those declarations without
|
* By defining the macros ourselves we gain access to those declarations without
|
||||||
* requiring -march on the command line.
|
* requiring -march on the command line.
|
||||||
*
|
*
|
||||||
* `arm_neon.h` is included by common.h, so we put these defines
|
* `arm_neon.h` is included by common.h, so we put these defines
|
||||||
* at the top of this file, before any includes.
|
* at the top of this file, before any includes but after the intrinsic
|
||||||
|
* declaration. This is necessary with
|
||||||
|
* Clang <=15.x. With Clang 16.0 and above, these macro definitions are
|
||||||
|
* no longer required, but they're harmless. See
|
||||||
|
* https://reviews.llvm.org/D131064
|
||||||
*/
|
*/
|
||||||
#define __ARM_FEATURE_CRYPTO 1
|
#define __ARM_FEATURE_CRYPTO 1
|
||||||
/* See: https://arm-software.github.io/acle/main/acle.html#cryptographic-extensions
|
/* See: https://arm-software.github.io/acle/main/acle.html#cryptographic-extensions
|
||||||
@@ -52,6 +51,10 @@
|
|||||||
|
|
||||||
#endif /* defined(__clang__) && (__clang_major__ >= 4) */
|
#endif /* defined(__clang__) && (__clang_major__ >= 4) */
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SHA256_C) || defined(MBEDTLS_SHA224_C)
|
||||||
|
|
||||||
#include "mbedtls/sha256.h"
|
#include "mbedtls/sha256.h"
|
||||||
#include "mbedtls/platform_util.h"
|
#include "mbedtls/platform_util.h"
|
||||||
#include "mbedtls/error.h"
|
#include "mbedtls/error.h"
|
||||||
|
|||||||
+10
-7
@@ -10,26 +10,29 @@
|
|||||||
* http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf
|
* http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "common.h"
|
|
||||||
|
|
||||||
#if defined(MBEDTLS_SHA512_C) || defined(MBEDTLS_SHA384_C)
|
|
||||||
|
|
||||||
#if defined(__aarch64__) && !defined(__ARM_FEATURE_SHA512) && \
|
#if defined(__aarch64__) && !defined(__ARM_FEATURE_SHA512) && \
|
||||||
defined(__clang__) && __clang_major__ >= 7
|
defined(__clang__) && __clang_major__ >= 7
|
||||||
/* TODO: Re-consider above after https://reviews.llvm.org/D131064 merged.
|
/*
|
||||||
*
|
|
||||||
* The intrinsic declaration are guarded by predefined ACLE macros in clang:
|
* The intrinsic declaration are guarded by predefined ACLE macros in clang:
|
||||||
* these are normally only enabled by the -march option on the command line.
|
* these are normally only enabled by the -march option on the command line.
|
||||||
* By defining the macros ourselves we gain access to those declarations without
|
* By defining the macros ourselves we gain access to those declarations without
|
||||||
* requiring -march on the command line.
|
* requiring -march on the command line.
|
||||||
*
|
*
|
||||||
* `arm_neon.h` is included by common.h, so we put these defines
|
* `arm_neon.h` is included by common.h, so we put these defines
|
||||||
* at the top of this file, before any includes.
|
* at the top of this file, before any includes but after the intrinsic
|
||||||
|
* declaration. This is necessary with
|
||||||
|
* Clang <=15.x. With Clang 16.0 and above, these macro definitions are
|
||||||
|
* no longer required, but they're harmless. See
|
||||||
|
* https://reviews.llvm.org/D131064
|
||||||
*/
|
*/
|
||||||
#define __ARM_FEATURE_SHA512 1
|
#define __ARM_FEATURE_SHA512 1
|
||||||
#define MBEDTLS_ENABLE_ARM_SHA3_EXTENSIONS_COMPILER_FLAG
|
#define MBEDTLS_ENABLE_ARM_SHA3_EXTENSIONS_COMPILER_FLAG
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "common.h"
|
||||||
|
|
||||||
|
#if defined(MBEDTLS_SHA512_C) || defined(MBEDTLS_SHA384_C)
|
||||||
|
|
||||||
#include "mbedtls/sha512.h"
|
#include "mbedtls/sha512.h"
|
||||||
#include "mbedtls/platform_util.h"
|
#include "mbedtls/platform_util.h"
|
||||||
#include "mbedtls/error.h"
|
#include "mbedtls/error.h"
|
||||||
|
|||||||
Reference in New Issue
Block a user