mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-02 13:59:59 +00:00
libkcapi: Update patch to upstream submitted one
Use builtin_bswap32 with clang if available Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
+39
@@ -0,0 +1,39 @@
|
|||||||
|
From 7b5dd67fee58f9f54c8a676abe2131776c0a3c52 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
|
Date: Wed, 20 Nov 2019 13:41:39 -0800
|
||||||
|
Subject: [PATCH] Use __builtin_bswap32 on Clang if supported
|
||||||
|
|
||||||
|
clang pretends to be gcc 4.2.1 so GCC_VERSION macro will decide that
|
||||||
|
__builtin_bswap32 is not supported on clang, whereas in reality it might
|
||||||
|
so its better to add a check for enquiring clang if it supports
|
||||||
|
__builtin_bswap32 or not
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [https://github.com/smuellerDD/libkcapi/pull/83]
|
||||||
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
|
---
|
||||||
|
lib/kcapi-kdf.c | 6 +++++-
|
||||||
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c
|
||||||
|
index 9e53a0b..f32fbe9 100644
|
||||||
|
--- a/lib/kcapi-kdf.c
|
||||||
|
+++ b/lib/kcapi-kdf.c
|
||||||
|
@@ -54,10 +54,14 @@
|
||||||
|
#include "kcapi.h"
|
||||||
|
#include "internal.h"
|
||||||
|
|
||||||
|
+#ifndef __has_builtin
|
||||||
|
+# define __has_builtin(x) 0
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#define GCC_VERSION (__GNUC__ * 10000 \
|
||||||
|
+ __GNUC_MINOR__ * 100 \
|
||||||
|
+ __GNUC_PATCHLEVEL__)
|
||||||
|
-#if GCC_VERSION >= 40400
|
||||||
|
+#if GCC_VERSION >= 40400 || (defined(__clang__) && __has_builtin(__builtin_bswap32))
|
||||||
|
# define __HAVE_BUILTIN_BSWAP32__
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.24.0
|
||||||
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
From 00c1654e368f728b213c4e3782045d54098edb25 Mon Sep 17 00:00:00 2001
|
From 8f961521add49278b48c9721fc53e05ee3543b74 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 16 Nov 2019 23:03:51 -0800
|
Date: Sat, 16 Nov 2019 23:03:51 -0800
|
||||||
Subject: [PATCH] kcapi-kdf: Move code to fix
|
Subject: [PATCH] kcapi-kdf: Move code to fix
|
||||||
@@ -6,13 +6,14 @@ Subject: [PATCH] kcapi-kdf: Move code to fix
|
|||||||
Fixes clang build
|
Fixes clang build
|
||||||
unused function '_bswap32' [-Werror,-Wunused-function]
|
unused function '_bswap32' [-Werror,-Wunused-function]
|
||||||
|
|
||||||
|
Upstream-Status: Submitted [https://github.com/smuellerDD/libkcapi/pull/83]
|
||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
lib/kcapi-kdf.c | 36 ++++++++++++++++--------------------
|
lib/kcapi-kdf.c | 37 +++++++++++++++++--------------------
|
||||||
1 file changed, 16 insertions(+), 20 deletions(-)
|
1 file changed, 17 insertions(+), 20 deletions(-)
|
||||||
|
|
||||||
diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c
|
diff --git a/lib/kcapi-kdf.c b/lib/kcapi-kdf.c
|
||||||
index ea39846..8e4a636 100644
|
index ea39846..9e53a0b 100644
|
||||||
--- a/lib/kcapi-kdf.c
|
--- a/lib/kcapi-kdf.c
|
||||||
+++ b/lib/kcapi-kdf.c
|
+++ b/lib/kcapi-kdf.c
|
||||||
@@ -54,6 +54,20 @@
|
@@ -54,6 +54,20 @@
|
||||||
@@ -26,17 +27,17 @@ index ea39846..8e4a636 100644
|
|||||||
+# define __HAVE_BUILTIN_BSWAP32__
|
+# define __HAVE_BUILTIN_BSWAP32__
|
||||||
+#endif
|
+#endif
|
||||||
+
|
+
|
||||||
+#ifdef __HAVE_BUILTIN_BSWAP32__
|
|
||||||
+# define be_bswap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x))
|
|
||||||
+/* Endian dependent byte swap operations. */
|
+/* Endian dependent byte swap operations. */
|
||||||
+#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
+#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
|
||||||
+# define be_bswap32(x) ((uint32_t)(x))
|
+# define be_bswap32(x) ((uint32_t)(x))
|
||||||
+#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
+#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||||
+
|
+# ifdef __HAVE_BUILTIN_BSWAP32__
|
||||||
|
+# define be_bswap32(x) (uint32_t)__builtin_bswap32((uint32_t)(x))
|
||||||
|
+# else
|
||||||
static inline uint32_t rol32(uint32_t x, int n)
|
static inline uint32_t rol32(uint32_t x, int n)
|
||||||
{
|
{
|
||||||
return ( (x << (n&(32-1))) | (x >> ((32-n)&(32-1))) );
|
return ( (x << (n&(32-1))) | (x >> ((32-n)&(32-1))) );
|
||||||
@@ -68,27 +82,9 @@ static inline uint32_t _bswap32(uint32_t x)
|
@@ -68,27 +82,10 @@ static inline uint32_t _bswap32(uint32_t x)
|
||||||
{
|
{
|
||||||
return ((rol32(x, 8) & 0x00ff00ffL) | (ror32(x, 8) & 0xff00ff00L));
|
return ((rol32(x, 8) & 0x00ff00ffL) | (ror32(x, 8) & 0xff00ff00L));
|
||||||
}
|
}
|
||||||
@@ -59,10 +60,11 @@ index ea39846..8e4a636 100644
|
|||||||
-# define be_bswap32(x) ((uint32_t)(x))
|
-# define be_bswap32(x) ((uint32_t)(x))
|
||||||
-#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
-#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
||||||
-# define be_bswap32(x) _swap32(x)
|
-# define be_bswap32(x) _swap32(x)
|
||||||
+# define be_bswap32(x) _bswap32(x)
|
+# define be_bswap32(x) _bswap32(x)
|
||||||
|
+# endif
|
||||||
#else
|
#else
|
||||||
-#error "Endianess not defined"
|
-#error "Endianess not defined"
|
||||||
+# error "Neither builtin_bswap32 nor endianess defined"
|
+# error "endianess not defined"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DSO_PUBLIC
|
DSO_PUBLIC
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ PV = "1.1.5"
|
|||||||
SRC_URI = " \
|
SRC_URI = " \
|
||||||
git://github.com/smuellerDD/libkcapi.git \
|
git://github.com/smuellerDD/libkcapi.git \
|
||||||
file://0001-kcapi-kdf-Move-code-to-fix.patch \
|
file://0001-kcapi-kdf-Move-code-to-fix.patch \
|
||||||
|
file://0001-Use-__builtin_bswap32-on-Clang-if-supported.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
inherit autotools
|
inherit autotools
|
||||||
|
|||||||
Reference in New Issue
Block a user