diff --git a/ChangeLog b/ChangeLog index d7076285b27a3871b4ca2f88f9d9d87ac07aa0c8..92658fe7cd1c6842fd2873d0f93e90166c98fb0d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -9,6 +9,9 @@ 2018-01-08 Niels Möller <nisse@lysator.liu.se> + * configure.ac: Check for __builtin_bswap64, define + HAVE_BUILTIN_BSWAP64 if available. + * ctr.c (ctr_fill): New function. Use in ctr_crypt. * ctr.c (ctr_crypt): For in-place operation, increase max buffer diff --git a/configure.ac b/configure.ac index 8668263c104642fbe88dcd4048f39746d1999521..8fb1cb2aa40da2091ef380830fa4ca7423fa4f12 100644 --- a/configure.ac +++ b/configure.ac @@ -203,6 +203,22 @@ LSH_FUNC_STRERROR AC_CHECK_FUNCS(secure_getenv getline) AC_C_BIGENDIAN +AC_CACHE_CHECK([for __builtin_bswap64], + nettle_cv_c_builtin_bswap64, +[AC_TRY_COMPILE([ +#include <stdint.h> +],[ +uint64_t x = 17; +uint64_t y = __builtin_bswap64(x); +], +nettle_cv_c_builtin_bswap64=yes, +nettle_cv_c_builtin_bswap64=no)]) + +AH_TEMPLATE([HAVE_BUILTIN_BSWAP64], [Define if __builtin_bswap64 is available]) +if test "x$nettle_cv_c_builtin_bswap64" = "xyes" ; then + AC_DEFINE(HAVE_BUILTIN_BSWAP64) +fi + LSH_GCC_ATTRIBUTES # According to Simon Josefsson, looking for uint32_t and friends in