[PATCH v2 1/3] Bring in linux/limits.h
Simon Glass
sjg at chromium.org
Fri Apr 18 12:59:13 CEST 2025
From: Simon Glass <simon.glass at canonical.com>
Add part of this file from Linux v6.14 so we can include it from the
linux/overflow.h file. Drop the relevant section from kernel.h
The top of the file is omitted since it defines things used in mbedos
and we get an error on SIZE_MAX.
Signed-off-by: Simon Glass <simon.glass at canonical.com>
---
Error is:
In file included from include/limits.h:6,
from lib/mbedtls/external/mbedtls/library/constant_time.c:14:
include/linux/limits.h:7:35: error: missing binary operator before token "0"
7 | #define SIZE_MAX (~(size_t)0)
| ^
lib/mbedtls/external/mbedtls/library/constant_time_internal.h:65:6: note: in expansion of macro ‘SIZE_MAX’
65 | #if (SIZE_MAX > 0xffffffffffffffffULL)
| ^~~~~~~~
include/linux/limits.h:7:35: error: missing binary operator before token "0"
7 | #define SIZE_MAX (~(size_t)0)
| ^
lib/mbedtls/external/mbedtls/library/constant_time_internal.h:71:8: note: in expansion of macro ‘SIZE_MAX’
71 | #elif (SIZE_MAX > 0xffffffff) || defined(MBEDTLS_HAVE_INT64)
| ^~~~~~~~
make[3]: *** [scripts/Makefile.build:256: lib/mbedtls/external/mbedtls/library/constant_time.o] Error 1
make[2]: *** [scripts/Makefile.build:398: lib/mbedtls] Error 2
Changes in v2:
- Add new patch to bring in linux/limits.h
include/limits.h | 2 ++
include/linux/kernel.h | 12 ------------
include/linux/limits.h | 21 +++++++++++++++++++++
3 files changed, 23 insertions(+), 12 deletions(-)
create mode 100644 include/linux/limits.h
diff --git a/include/limits.h b/include/limits.h
index 4700cc7a59f..4927cc7333b 100644
--- a/include/limits.h
+++ b/include/limits.h
@@ -3,6 +3,8 @@
#ifndef _LIMITS_H
#define _LIMITS_H
+#include <linux/limits.h>
+
#define INT_MAX 0x7fffffff
#define UINT_MAX 0xffffffffU
#define CHAR_BIT 8
diff --git a/include/linux/kernel.h b/include/linux/kernel.h
index 9467edd65ab..569804f7264 100644
--- a/include/linux/kernel.h
+++ b/include/linux/kernel.h
@@ -16,18 +16,6 @@
#define LLONG_MIN (-LLONG_MAX - 1)
#define ULLONG_MAX (~0ULL)
-#define U8_MAX ((u8)~0U)
-#define S8_MAX ((s8)(U8_MAX>>1))
-#define S8_MIN ((s8)(-S8_MAX - 1))
-#define U16_MAX ((u16)~0U)
-#define S16_MAX ((s16)(U16_MAX>>1))
-#define S16_MIN ((s16)(-S16_MAX - 1))
-#define U32_MAX ((u32)~0U)
-#define S32_MAX ((s32)(U32_MAX>>1))
-#define S32_MIN ((s32)(-S32_MAX - 1))
-#define U64_MAX ((u64)~0ULL)
-#define S64_MAX ((s64)(U64_MAX>>1))
-#define S64_MIN ((s64)(-S64_MAX - 1))
#define INT32_MAX S32_MAX
diff --git a/include/linux/limits.h b/include/linux/limits.h
new file mode 100644
index 00000000000..0117bf7eea4
--- /dev/null
+++ b/include/linux/limits.h
@@ -0,0 +1,21 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef _LINUX_LIMITS_H
+#define _LINUX_LIMITS_H
+
+#include <linux/types.h>
+
+#define U8_MAX ((u8)~0U)
+#define S8_MAX ((s8)(U8_MAX >> 1))
+#define S8_MIN ((s8)(-S8_MAX - 1))
+#define U16_MAX ((u16)~0U)
+#define S16_MAX ((s16)(U16_MAX >> 1))
+#define S16_MIN ((s16)(-S16_MAX - 1))
+#define U32_MAX ((u32)~0U)
+#define U32_MIN ((u32)0)
+#define S32_MAX ((s32)(U32_MAX >> 1))
+#define S32_MIN ((s32)(-S32_MAX - 1))
+#define U64_MAX ((u64)~0ULL)
+#define S64_MAX ((s64)(U64_MAX >> 1))
+#define S64_MIN ((s64)(-S64_MAX - 1))
+
+#endif /* _LINUX_LIMITS_H */
--
2.43.0
base-commit: 5841e78ed6ebd31b26553003e880be378b232cd9
branch: sec2
More information about the U-Boot
mailing list