aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/build/Makefile4
-rw-r--r--tools/build/cross-build/include/common/sys/cdefs.h10
-rw-r--r--tools/tools/crypto/cryptocheck.c9
3 files changed, 21 insertions, 2 deletions
diff --git a/tools/build/Makefile b/tools/build/Makefile
index 09351900599a..fdec5f11311d 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -85,6 +85,10 @@ INCS+= stdlib.h
SRCS+= reallocarray.c
.endif
+.if !exists(${HOST_INCLUDE_ROOT}/stdckdint.h)
+INCS+= stdckdint.h
+.endif
+
.if exists(${HOST_INCLUDE_ROOT}/sys/stat.h)
_WITH_UTIMENS!= grep -c utimensat ${HOST_INCLUDE_ROOT}/sys/stat.h || true
.else
diff --git a/tools/build/cross-build/include/common/sys/cdefs.h b/tools/build/cross-build/include/common/sys/cdefs.h
index 3f9b7866141f..faad5eccb3af 100644
--- a/tools/build/cross-build/include/common/sys/cdefs.h
+++ b/tools/build/cross-build/include/common/sys/cdefs.h
@@ -270,6 +270,16 @@
#define __ISO_C_VISIBLE 2011
#define __EXT1_VISIBLE 1
+/*
+ * Macro to test if we're using a specific version of gcc or later.
+ */
+#if defined(__GNUC__)
+#define __GNUC_PREREQ__(ma, mi) \
+ (__GNUC__ > (ma) || __GNUC__ == (ma) && __GNUC_MINOR__ >= (mi))
+#else
+#define __GNUC_PREREQ__(ma, mi) 0
+#endif
+
/* Alignment builtins for better type checking and improved code generation. */
/* Provide fallback versions for other compilers (GCC/Clang < 10): */
#if !__has_builtin(__builtin_is_aligned)
diff --git a/tools/tools/crypto/cryptocheck.c b/tools/tools/crypto/cryptocheck.c
index 6506671455ac..46a364b0453c 100644
--- a/tools/tools/crypto/cryptocheck.c
+++ b/tools/tools/crypto/cryptocheck.c
@@ -362,9 +362,11 @@ enable_user_soft(void)
size_t cursize = sizeof(curstate);
if (sysctlbyname(CRYPT_SOFT_ALLOW, &curstate, &cursize,
- &on, sizeof(on)) == 0) {
+ &on, sizeof(on)) == 0) {
if (curstate == 0)
atexit(reset_user_soft);
+ } else {
+ err(1, "sysctl(%s)", CRYPT_SOFT_ALLOW);
}
}
@@ -373,7 +375,10 @@ crlookup(const char *devname)
{
struct crypt_find_op find;
- if (strncmp(devname, "soft", 4) == 0) {
+ if (strncmp(devname, "soft", 4) == 0 ||
+ strncmp(devname, "ossl", 4) == 0 ||
+ strncmp(devname, "aesni", 5) == 0 ||
+ strncmp(devname, "armv8crypto", 11) == 0) {
enable_user_soft();
return CRYPTO_FLAG_SOFTWARE;
}