| From 00c1654e368f728b213c4e3782045d54098edb25 Mon Sep 17 00:00:00 2001 |
| From: Khem Raj <raj.khem@gmail.com> |
| Date: Sat, 16 Nov 2019 23:03:51 -0800 |
| Subject: [PATCH] kcapi-kdf: Move code to fix |
| |
| Fixes clang build |
| unused function '_bswap32' [-Werror,-Wunused-function] |
| |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| lib/kcapi-kdf.c | 36 ++++++++++++++++-------------------- |
| 1 file changed, 16 insertions(+), 20 deletions(-) |
| |
| diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c |
| index ea39846..8e4a636 100644 |
| --- a/lib/kcapi-kdf.c |
| +++ b/lib/kcapi-kdf.c |
| @@ -54,6 +54,20 @@ |
| #include "kcapi.h" |
| #include "internal.h" |
| |
| +#define GCC_VERSION (__GNUC__ * 10000 \ |
| + + __GNUC_MINOR__ * 100 \ |
| + + __GNUC_PATCHLEVEL__) |
| +#if GCC_VERSION >= 40400 |
| +# define __HAVE_BUILTIN_BSWAP32__ |
| +#endif |
| + |
| +#ifdef __HAVE_BUILTIN_BSWAP32__ |
| +# define be_bswap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x)) |
| +/* Endian dependent byte swap operations. */ |
| +#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ |
| +# define be_bswap32(x) ((uint32_t)(x)) |
| +#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ |
| + |
| static inline uint32_t rol32(uint32_t x, int n) |
| { |
| return ( (x << (n&(32-1))) | (x >> ((32-n)&(32-1))) ); |
| @@ -68,27 +82,9 @@ static inline uint32_t _bswap32(uint32_t x) |
| { |
| return ((rol32(x, 8) & 0x00ff00ffL) | (ror32(x, 8) & 0xff00ff00L)); |
| } |
| - |
| -#define GCC_VERSION (__GNUC__ * 10000 \ |
| - + __GNUC_MINOR__ * 100 \ |
| - + __GNUC_PATCHLEVEL__) |
| -#if GCC_VERSION >= 40400 |
| -# define __HAVE_BUILTIN_BSWAP32__ |
| -#endif |
| - |
| -#ifdef __HAVE_BUILTIN_BSWAP32__ |
| -# define _swap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x)) |
| -#else |
| -# define _swap32(x) _bswap32(x) |
| -#endif |
| - |
| -/* Endian dependent byte swap operations. */ |
| -#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ |
| -# define be_bswap32(x) ((uint32_t)(x)) |
| -#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ |
| -# define be_bswap32(x) _swap32(x) |
| +# define be_bswap32(x) _bswap32(x) |
| #else |
| -#error "Endianess not defined" |
| +# error "Neither builtin_bswap32 nor endianess defined" |
| #endif |
| |
| DSO_PUBLIC |
| -- |
| 2.24.0 |
| |