From ef3052674a7104990037b7da60cbbcb9d316e764 Mon Sep 17 00:00:00 2001 From: Giulio Benetti Date: Wed, 28 Dec 2022 19:00:53 +0100 Subject: [PATCH] package/rtl8192eu: fix build failure due to function and data types name conflict with Linux Add local patch to rename local sha256 data types and functions that conflict with Linux ones. Fixes: http://autobuild.buildroot.net/results/7a85a1e6df55bbb4dc6741821c849ad7ee5059af Signed-off-by: Giulio Benetti Signed-off-by: Thomas Petazzoni --- ...e-due-to-redefition-of-local-sha256-.patch | 108 ++++++++++++++++++ 1 file changed, 108 insertions(+) create mode 100644 package/rtl8192eu/0001-Fix-build-failure-due-to-redefition-of-local-sha256-.patch diff --git a/package/rtl8192eu/0001-Fix-build-failure-due-to-redefition-of-local-sha256-.patch b/package/rtl8192eu/0001-Fix-build-failure-due-to-redefition-of-local-sha256-.patch new file mode 100644 index 0000000000..52ef8c9005 --- /dev/null +++ b/package/rtl8192eu/0001-Fix-build-failure-due-to-redefition-of-local-sha256-.patch @@ -0,0 +1,108 @@ +From 1f968bd58656f200347bd398b34aa9f1b6393302 Mon Sep 17 00:00:00 2001 +From: Giulio Benetti +Date: Wed, 28 Dec 2022 18:54:48 +0100 +Subject: [PATCH] Fix build failure due to redefition of local sha256 data + types and functions + +Linux provides sha256_init() and 'struct sha256_state' in file +include/crypto/sha2.h so this leads to a build failure due to redefinition. +To avoid this let's prepend to all local exposed functions and data types +rtl_. sha256_process() and sha256_done() are not required to be renamed but +let's change them for consistency. + +[Upstream status: https://github.com/clnhub/rtl8192eu-linux/pull/69] +Signed-off-by: Giulio Benetti +--- + core/crypto/sha256-internal.c | 16 ++++++++-------- + core/crypto/sha256_i.h | 8 ++++---- + 2 files changed, 12 insertions(+), 12 deletions(-) + +diff --git a/core/crypto/sha256-internal.c b/core/crypto/sha256-internal.c +index 4d61cb1..537bb2e 100644 +--- a/core/crypto/sha256-internal.c ++++ b/core/crypto/sha256-internal.c +@@ -26,17 +26,17 @@ + int sha256_vector(size_t num_elem, const u8 *addr[], const size_t *len, + u8 *mac) + { +- struct sha256_state ctx; ++ struct rtl_sha256_state ctx; + size_t i; + + if (TEST_FAIL()) + return -1; + +- sha256_init(&ctx); ++ rtl_sha256_init(&ctx); + for (i = 0; i < num_elem; i++) +- if (sha256_process(&ctx, addr[i], len[i])) ++ if (rtl_sha256_process(&ctx, addr[i], len[i])) + return -1; +- if (sha256_done(&ctx, mac)) ++ if (rtl_sha256_done(&ctx, mac)) + return -1; + return 0; + } +@@ -82,7 +82,7 @@ static const unsigned long K[64] = { + #endif + + /* compress 512-bits */ +-static int sha256_compress(struct sha256_state *md, unsigned char *buf) ++static int sha256_compress(struct rtl_sha256_state *md, unsigned char *buf) + { + u32 S[8], W[64], t0, t1; + u32 t; +@@ -125,7 +125,7 @@ static int sha256_compress(struct sha256_state *md, unsigned char *buf) + + + /* Initialize the hash state */ +-void sha256_init(struct sha256_state *md) ++void rtl_sha256_init(struct rtl_sha256_state *md) + { + md->curlen = 0; + md->length = 0; +@@ -146,7 +146,7 @@ void sha256_init(struct sha256_state *md) + @param inlen The length of the data (octets) + @return CRYPT_OK if successful + */ +-int sha256_process(struct sha256_state *md, const unsigned char *in, ++int rtl_sha256_process(struct rtl_sha256_state *md, const unsigned char *in, + unsigned long inlen) + { + unsigned long n; +@@ -186,7 +186,7 @@ int sha256_process(struct sha256_state *md, const unsigned char *in, + @param out [out] The destination of the hash (32 bytes) + @return CRYPT_OK if successful + */ +-int sha256_done(struct sha256_state *md, unsigned char *out) ++int rtl_sha256_done(struct rtl_sha256_state *md, unsigned char *out) + { + int i; + +diff --git a/core/crypto/sha256_i.h b/core/crypto/sha256_i.h +index a502d2b..93a8858 100644 +--- a/core/crypto/sha256_i.h ++++ b/core/crypto/sha256_i.h +@@ -11,15 +11,15 @@ + + #define SHA256_BLOCK_SIZE 64 + +-struct sha256_state { ++struct rtl_sha256_state { + u64 length; + u32 state[8], curlen; + u8 buf[SHA256_BLOCK_SIZE]; + }; + +-void sha256_init(struct sha256_state *md); +-int sha256_process(struct sha256_state *md, const unsigned char *in, ++void rtl_sha256_init(struct rtl_sha256_state *md); ++int rtl_sha256_process(struct rtl_sha256_state *md, const unsigned char *in, + unsigned long inlen); +-int sha256_done(struct sha256_state *md, unsigned char *out); ++int rtl_sha256_done(struct rtl_sha256_state *md, unsigned char *out); + + #endif /* SHA256_I_H */ +-- +2.34.1 +