From dd260d95fd26deedc64f076b554759d09420f006 Mon Sep 17 00:00:00 2001 From: Rasmus Villemoes Date: Mon, 7 Jul 2025 22:36:55 +0200 Subject: [PATCH] limits.h: provide all limit macros for standard [u]intNN_t types Currently, we only have UINT32_MAX and UINT64_MAX in limits.h, and then stdint.h and kernel.h somewhat randomly define UINT8_MAX and INT32_MAX, respectively. Provide a full set of definitions in terms of the min/max macros for the types that [u]intNN_t are defined in terms of, namely the {s,u}NN ones. Try to avoid breaking whatever depended on getting UINT8_MAX from our compat stdint.h by replacing it with an include of limits.h. Signed-off-by: Rasmus Villemoes --- include/limits.h | 15 +++++++++++++-- include/linux/kernel.h | 2 -- include/stdint.h | 2 +- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/include/limits.h b/include/limits.h index c2e3d0302b7..a032bc5b84d 100644 --- a/include/limits.h +++ b/include/limits.h @@ -44,9 +44,20 @@ #define S64_MAX LLONG_MAX #define S64_MIN LLONG_MIN +#define UINT8_MAX U8_MAX +#define INT8_MAX S8_MAX +#define INT8_MIN S8_MIN +#define UINT16_MAX U16_MAX +#define INT16_MAX S16_MAX +#define INT16_MIN S16_MIN +#define UINT32_MAX U32_MAX +#define INT32_MAX S32_MAX +#define INT32_MIN S32_MIN +#define UINT64_MAX U64_MAX +#define INT64_MAX S64_MAX +#define INT64_MIN S64_MIN + #define CHAR_BIT 8 -#define UINT32_MAX 0xffffffffU -#define UINT64_MAX 0xffffffffffffffffULL #if (defined(CONFIG_64BIT) && !defined(CONFIG_SPL_BUILD)) || \ (defined(CONFIG_SPL_64BIT) && defined(CONFIG_SPL_BUILD)) diff --git a/include/linux/kernel.h b/include/linux/kernel.h index d3d979834ae..e0443ecac84 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h @@ -5,8 +5,6 @@ #include /* for printf/pr_* utilities */ #include -#define INT32_MAX S32_MAX - #define STACK_MAGIC 0xdeadbeef #define REPEAT_BYTE(x) ((~0ul / 0xff) * (x)) diff --git a/include/stdint.h b/include/stdint.h index dea83c8226a..90fd2bdee08 100644 --- a/include/stdint.h +++ b/include/stdint.h @@ -9,6 +9,6 @@ #ifndef __UB_STDINT_H #define __UB_STDINT_H -#define UINT8_MAX 0xff +#include #endif -- 2.47.2