]> Git Repo - buildroot-mgba.git/commitdiff
package/rtl8192eu: fix build failure due to function and data types name conflict...
authorGiulio Benetti <[email protected]>
Wed, 28 Dec 2022 18:00:53 +0000 (19:00 +0100)
committerThomas Petazzoni <[email protected]>
Wed, 28 Dec 2022 19:53:29 +0000 (20:53 +0100)
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 <[email protected]>
Signed-off-by: Thomas Petazzoni <[email protected]>
package/rtl8192eu/0001-Fix-build-failure-due-to-redefition-of-local-sha256-.patch [new file with mode: 0644]

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 (file)
index 0000000..52ef8c9
--- /dev/null
@@ -0,0 +1,108 @@
+From 1f968bd58656f200347bd398b34aa9f1b6393302 Mon Sep 17 00:00:00 2001
+From: Giulio Benetti <[email protected]>
+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 <[email protected]>
+---
+ 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
+
This page took 0.046618 seconds and 4 git commands to generate.