libkcapi: Move static inline functions where used

Clang warns about unused functions on some arches e.g. mips
unused function '_bswap32' [-Werror,-Wunused-function]

Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Khem Raj 2019-11-16 23:30:10 -08:00
parent 0d2b80bd78
commit bd4e75ac21
2 changed files with 72 additions and 0 deletions

View File

@ -0,0 +1,71 @@
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

View File

@ -10,6 +10,7 @@ SRCREV = "5649050d201856bf06c8738b5d2aa1710c86ac2f"
PV = "1.1.5"
SRC_URI = " \
git://github.com/smuellerDD/libkcapi.git \
file://0001-kcapi-kdf-Move-code-to-fix.patch \
"
inherit autotools