initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,119 @@
From 608738ccad9ac3743ccd535bde1e84f401e6176f Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Sat, 20 Jun 2020 12:50:40 +0200
Subject: [PATCH] sha2/sha2.c: fix build on big endian
Build is broken since 865ec9ba1d44e629c1107c299aebd20e901a19ff because
tmp is undefined in put32be and put64be:
sha2.c: In function 'put32be':
sha2.c:177:34: error: 'tmp' undeclared (first use in this function)
MEMCPY_BCOPY(data, &val, sizeof(tmp));
^~~
Fix this error by replacing tmp by val
Moreover, move MEMCPY_BCOPY before its usage or linking step will fail
Fixes:
- http://autobuild.buildroot.org/results/e8704e02fdede7b63e22da552292977b23380b32
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream: https://github.com/eclipse/tinydtls/commit/78a2d32f47165eda10cbf8f5cf79f86fa1c4872b]
---
sha2/sha2.c | 58 ++++++++++++++++++++++++++---------------------------
1 file changed, 29 insertions(+), 29 deletions(-)
diff --git a/sha2/sha2.c b/sha2/sha2.c
index cb6d90f..5c794c6 100644
--- a/sha2/sha2.c
+++ b/sha2/sha2.c
@@ -114,6 +114,33 @@
#error Define BYTE_ORDER to be equal to either LITTLE_ENDIAN or BIG_ENDIAN
#endif
+/*
+ * Macros for copying blocks of memory and for zeroing out ranges
+ * of memory. Using these macros makes it easy to switch from
+ * using memset()/memcpy() and using bzero()/bcopy().
+ *
+ * Please define either SHA2_USE_MEMSET_MEMCPY or define
+ * SHA2_USE_BZERO_BCOPY depending on which function set you
+ * choose to use:
+ */
+#if !defined(SHA2_USE_MEMSET_MEMCPY) && !defined(SHA2_USE_BZERO_BCOPY)
+/* Default to memset()/memcpy() if no option is specified */
+#define SHA2_USE_MEMSET_MEMCPY 1
+#endif
+#if defined(SHA2_USE_MEMSET_MEMCPY) && defined(SHA2_USE_BZERO_BCOPY)
+/* Abort with an error if BOTH options are defined */
+#error Define either SHA2_USE_MEMSET_MEMCPY or SHA2_USE_BZERO_BCOPY, not both!
+#endif
+
+#ifdef SHA2_USE_MEMSET_MEMCPY
+#define MEMSET_BZERO(p,l) memset((p), 0, (l))
+#define MEMCPY_BCOPY(d,s,l) memcpy((d), (s), (l))
+#endif
+#ifdef SHA2_USE_BZERO_BCOPY
+#define MEMSET_BZERO(p,l) bzero((p), (l))
+#define MEMCPY_BCOPY(d,s,l) bcopy((s), (d), (l))
+#endif
+
/*
* Define the followingsha2_* types to types of the correct length on
* the native archtecture. Most BSD systems and Linux define u_intXX_t
@@ -174,7 +201,7 @@ static inline void put32be(sha2_byte* data, sha2_word32 val)
data[1] = val; val >>= 8;
data[0] = val;
#else /* BYTE_ORDER != LITTLE_ENDIAN */
- MEMCPY_BCOPY(data, &val, sizeof(tmp));
+ MEMCPY_BCOPY(data, &val, sizeof(val));
#endif /* BYTE_ORDER != LITTLE_ENDIAN */
}
@@ -209,7 +236,7 @@ static inline void put64be(sha2_byte* data, sha2_word64 val)
data[1] = val; val >>= 8;
data[0] = val;
#else /* BYTE_ORDER != LITTLE_ENDIAN */
- MEMCPY_BCOPY(data, &val, sizeof(tmp));
+ MEMCPY_BCOPY(data, &val, sizeof(val));
#endif /* BYTE_ORDER != LITTLE_ENDIAN */
}
@@ -225,33 +252,6 @@ static inline void put64be(sha2_byte* data, sha2_word64 val)
} \
}
-/*
- * Macros for copying blocks of memory and for zeroing out ranges
- * of memory. Using these macros makes it easy to switch from
- * using memset()/memcpy() and using bzero()/bcopy().
- *
- * Please define either SHA2_USE_MEMSET_MEMCPY or define
- * SHA2_USE_BZERO_BCOPY depending on which function set you
- * choose to use:
- */
-#if !defined(SHA2_USE_MEMSET_MEMCPY) && !defined(SHA2_USE_BZERO_BCOPY)
-/* Default to memset()/memcpy() if no option is specified */
-#define SHA2_USE_MEMSET_MEMCPY 1
-#endif
-#if defined(SHA2_USE_MEMSET_MEMCPY) && defined(SHA2_USE_BZERO_BCOPY)
-/* Abort with an error if BOTH options are defined */
-#error Define either SHA2_USE_MEMSET_MEMCPY or SHA2_USE_BZERO_BCOPY, not both!
-#endif
-
-#ifdef SHA2_USE_MEMSET_MEMCPY
-#define MEMSET_BZERO(p,l) memset((p), 0, (l))
-#define MEMCPY_BCOPY(d,s,l) memcpy((d), (s), (l))
-#endif
-#ifdef SHA2_USE_BZERO_BCOPY
-#define MEMSET_BZERO(p,l) bzero((p), (l))
-#define MEMCPY_BCOPY(d,s,l) bcopy((s), (d), (l))
-#endif
-
/*** THE SIX LOGICAL FUNCTIONS ****************************************/
/*
--
2.26.2
+13
View File
@@ -0,0 +1,13 @@
config BR2_PACKAGE_TINYDTLS
bool "tinydtls"
depends on BR2_TOOLCHAIN_HAS_THREADS
help
tinydtls is a library for Datagram Transport Layer Security
(DTLS) covering both the client and the server state
machine. It is implemented in C and provides support for
the mandatory cipher suites specified in CoAP.
https://projects.eclipse.org/projects/iot.tinydtls
comment "tinydtls needs a toolchain w/ threads"
depends on !BR2_TOOLCHAIN_HAS_THREADS
+3
View File
@@ -0,0 +1,3 @@
# Locally computed:
sha256 af73742835b5a66dc0b4a9c126ca8243b5db2986b4969d76e2b4531aa7e13f67 tinydtls-0.9-rc1.tar.gz
sha256 7e906fb56da52bb6bba38e77eec00e7d37fe65b0b7b28c4bf68ff036573d0de5 LICENSE
+25
View File
@@ -0,0 +1,25 @@
################################################################################
#
# tinydtls
#
################################################################################
TINYDTLS_VERSION = 0.9-rc1
TINYDTLS_SITE = $(call github,eclipse,tinydtls,v$(TINYDTLS_VERSION))
TINYDTLS_LICENSE = EPL-1.0 or EDL-1.0
TINYDTLS_LICENSE_FILES = LICENSE
TINYDTLS_CPE_ID_VENDOR = eclipse
TINYDTLS_INSTALL_STAGING = YES
TINYDTLS_DEPENDENCIES = host-pkgconf
# From git
TINYDTLS_AUTORECONF = YES
# use inttypes.h data types instead of u_intXX_t for musl compatibility
TINYDTLS_CONF_ENV += CFLAGS="$(TARGET_CFLAGS) -DSHA2_USE_INTTYPES_H"
# Fix build with automake >= 1.16.4
define TINYDTLS_TOUCH_AR_LIB
touch $(@D)/ar-lib
endef
TINYDTLS_PRE_CONFIGURE_HOOKS += TINYDTLS_TOUCH_AR_LIB
$(eval $(autotools-package))