From: Simon Glass <simon.gl...@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.gl...@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

Reply via email to