Improve sanity checking of MBEDTLS_HAVE_INTxx

Signed-off-by: Dave Rodgman <dave.rodgman@arm.com>
This commit is contained in:
Dave Rodgman 2023-09-06 08:41:05 +01:00
parent b7b8c09c81
commit 85061b97b5
2 changed files with 9 additions and 2 deletions

View file

@ -186,6 +186,15 @@ typedef uint64_t mbedtls_t_udbl;
#endif /* !MBEDTLS_NO_UDBL_DIVISION */ #endif /* !MBEDTLS_NO_UDBL_DIVISION */
#endif /* !MBEDTLS_HAVE_INT64 */ #endif /* !MBEDTLS_HAVE_INT64 */
/*
* Sanity check that exactly one of MBEDTLS_HAVE_INT32 or MBEDTLS_HAVE_INT64 is defined,
* so that code elsewhere doesn't have to check.
*/
#if (!(defined(MBEDTLS_HAVE_INT32) || defined(MBEDTLS_HAVE_INT64))) || \
(defined(MBEDTLS_HAVE_INT32) && defined(MBEDTLS_HAVE_INT64))
#error "Only 32-bit or 64-bit limbs are supported in bignum"
#endif
/** \typedef mbedtls_mpi_uint /** \typedef mbedtls_mpi_uint
* \brief The type of machine digits in a bignum, called _limbs_. * \brief The type of machine digits in a bignum, called _limbs_.
* *

View file

@ -87,8 +87,6 @@ static mbedtls_mpi_uint mpi_bigendian_to_host(mbedtls_mpi_uint a)
return (mbedtls_mpi_uint) MBEDTLS_BSWAP32(a); return (mbedtls_mpi_uint) MBEDTLS_BSWAP32(a);
#elif defined(MBEDTLS_HAVE_INT64) #elif defined(MBEDTLS_HAVE_INT64)
return (mbedtls_mpi_uint) MBEDTLS_BSWAP64(a); return (mbedtls_mpi_uint) MBEDTLS_BSWAP64(a);
#else
#error "This is one of several places that need to be adapted to support a new limb size"
#endif #endif
} }
} }