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 <ravi@prevas.dk>
This commit is contained in:
Rasmus Villemoes
2025-07-07 22:36:55 +02:00
committed by Tom Rini
parent 0604595c16
commit dd260d95fd
3 changed files with 14 additions and 5 deletions

View File

@@ -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))

View File

@@ -5,8 +5,6 @@
#include <linux/printk.h> /* for printf/pr_* utilities */
#include <limits.h>
#define INT32_MAX S32_MAX
#define STACK_MAGIC 0xdeadbeef
#define REPEAT_BYTE(x) ((~0ul / 0xff) * (x))

View File

@@ -9,6 +9,6 @@
#ifndef __UB_STDINT_H
#define __UB_STDINT_H
#define UINT8_MAX 0xff
#include <limits.h>
#endif