diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-crypto')
3 files changed, 53 insertions, 11 deletions
diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch new file mode 100644 index 000000000..e713665ab --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-Use-__builtin_bswap32-on-Clang-if-supported.patch @@ -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 + diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch index 3dd7ea7f9..7ed9caf09 100644 --- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch +++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi/0001-kcapi-kdf-Move-code-to-fix.patch @@ -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> Date: Sat, 16 Nov 2019 23:03:51 -0800 Subject: [PATCH] kcapi-kdf: Move code to fix @@ -6,13 +6,14 @@ Subject: [PATCH] kcapi-kdf: Move code to fix Fixes clang build 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> --- - lib/kcapi-kdf.c | 36 ++++++++++++++++-------------------- - 1 file changed, 16 insertions(+), 20 deletions(-) + lib/kcapi-kdf.c | 37 +++++++++++++++++-------------------- + 1 file changed, 17 insertions(+), 20 deletions(-) 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 +++ b/lib/kcapi-kdf.c @@ -54,6 +54,20 @@ @@ -26,17 +27,17 @@ index ea39846..8e4a636 100644 +# 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__ ++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +# define be_bswap32(x) ((uint32_t)(x)) +#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) { 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)); } @@ -59,10 +60,11 @@ index ea39846..8e4a636 100644 -# 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) ++# define be_bswap32(x) _bswap32(x) ++# endif #else -#error "Endianess not defined" -+# error "Neither builtin_bswap32 nor endianess defined" ++# error "endianess not defined" #endif DSO_PUBLIC diff --git a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb index aa438e585..4e217a351 100644 --- a/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb +++ b/meta-openembedded/meta-oe/recipes-crypto/libkcapi/libkcapi_git.bb @@ -11,6 +11,7 @@ PV = "1.1.5" SRC_URI = " \ git://github.com/smuellerDD/libkcapi.git \ file://0001-kcapi-kdf-Move-code-to-fix.patch \ + file://0001-Use-__builtin_bswap32-on-Clang-if-supported.patch \ " inherit autotools |