git: 94323513dd50 - main - types: provide __SIZEOF_{INT{8,16,32,64},TIME,TIME32}_T
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 08 May 2026 20:05:49 UTC
The branch main has been updated by rlibby:
URL: https://cgit.FreeBSD.org/src/commit/?id=94323513dd5070bf1fc3c191c560bd7e17da8931
commit 94323513dd5070bf1fc3c191c560bd7e17da8931
Author: Ryan Libby <rlibby@FreeBSD.org>
AuthorDate: 2026-05-08 19:37:24 +0000
Commit: Ryan Libby <rlibby@FreeBSD.org>
CommitDate: 2026-05-08 19:37:24 +0000
types: provide __SIZEOF_{INT{8,16,32,64},TIME,TIME32}_T
Suggested by: kib
Reviewed by: imp, kib
Discussed with: emaste, jrtc27
Differential Revision: https://reviews.freebsd.org/D56783
---
sys/arm/include/_types.h | 1 +
sys/arm64/include/_types.h | 1 +
sys/powerpc/include/_types.h | 1 +
sys/riscv/include/_types.h | 1 +
sys/sys/_types.h | 5 +++++
sys/sys/abi_types.h | 2 ++
sys/x86/include/_types.h | 2 ++
7 files changed, 13 insertions(+)
diff --git a/sys/arm/include/_types.h b/sys/arm/include/_types.h
index 7319d950443b..9fde5fc5d7c9 100644
--- a/sys/arm/include/_types.h
+++ b/sys/arm/include/_types.h
@@ -57,6 +57,7 @@ typedef __int64_t __int_fast64_t;
typedef __int32_t __register_t;
typedef __int32_t __segsz_t; /* segment size (in pages) */
typedef __int64_t __time_t; /* time()... */
+#define __SIZEOF_TIME_T __SIZEOF_INT64_T
typedef __uint32_t __uint_fast8_t;
typedef __uint32_t __uint_fast16_t;
typedef __uint32_t __uint_fast32_t;
diff --git a/sys/arm64/include/_types.h b/sys/arm64/include/_types.h
index 98f7dea67520..c46f64b2b252 100644
--- a/sys/arm64/include/_types.h
+++ b/sys/arm64/include/_types.h
@@ -55,6 +55,7 @@ typedef __int64_t __int_fast64_t;
typedef __int64_t __register_t;
typedef __int64_t __segsz_t; /* segment size (in pages) */
typedef __int64_t __time_t; /* time()... */
+#define __SIZEOF_TIME_T __SIZEOF_INT64_T
typedef __uint32_t __uint_fast8_t;
typedef __uint32_t __uint_fast16_t;
typedef __uint32_t __uint_fast32_t;
diff --git a/sys/powerpc/include/_types.h b/sys/powerpc/include/_types.h
index 33cc6e731b50..746f9a4837c6 100644
--- a/sys/powerpc/include/_types.h
+++ b/sys/powerpc/include/_types.h
@@ -66,6 +66,7 @@ typedef __int32_t __register_t;
typedef __int32_t __segsz_t; /* segment size (in pages) */
#endif
typedef __int64_t __time_t; /* time()... */
+#define __SIZEOF_TIME_T __SIZEOF_INT64_T
typedef __uint32_t __uint_fast8_t;
typedef __uint32_t __uint_fast16_t;
typedef __uint32_t __uint_fast32_t;
diff --git a/sys/riscv/include/_types.h b/sys/riscv/include/_types.h
index 3e9abd27a156..a9f95d4b6839 100644
--- a/sys/riscv/include/_types.h
+++ b/sys/riscv/include/_types.h
@@ -51,6 +51,7 @@ typedef __int64_t __int_fast64_t;
typedef __int64_t __register_t;
typedef __int64_t __segsz_t; /* segment size (in pages) */
typedef __int64_t __time_t; /* time()... */
+#define __SIZEOF_TIME_T __SIZEOF_INT64_T
typedef __uint32_t __uint_fast8_t;
typedef __uint32_t __uint_fast16_t;
typedef __uint32_t __uint_fast32_t;
diff --git a/sys/sys/_types.h b/sys/sys/_types.h
index a2ee83a862da..bc438c17c8c0 100644
--- a/sys/sys/_types.h
+++ b/sys/sys/_types.h
@@ -40,18 +40,23 @@
*/
typedef signed char __int8_t;
typedef unsigned char __uint8_t;
+#define __SIZEOF_INT8_T __SIZEOF_CHAR__
typedef short __int16_t;
typedef unsigned short __uint16_t;
+#define __SIZEOF_INT16_T __SIZEOF_SHORT__
typedef int __int32_t;
typedef unsigned int __uint32_t;
+#define __SIZEOF_INT32_T __SIZEOF_INT__
#if __SIZEOF_LONG__ == 8
typedef long __int64_t;
typedef unsigned long __uint64_t;
+#define __SIZEOF_INT64_T __SIZEOF_LONG__
#elif __SIZEOF_LONG__ == 4
__extension__
typedef long long __int64_t;
__extension__
typedef unsigned long long __uint64_t;
+#define __SIZEOF_INT64_T __SIZEOF_LONG_LONG__
#else
#error unsupported long size
#endif
diff --git a/sys/sys/abi_types.h b/sys/sys/abi_types.h
index 44d1bd733bbd..ddacd08ff011 100644
--- a/sys/sys/abi_types.h
+++ b/sys/sys/abi_types.h
@@ -27,8 +27,10 @@ typedef struct {
#if defined(__amd64__) || defined(__i386__)
typedef __int32_t time32_t;
+#define __SIZEOF_TIME32_T __SIZEOF_INT32_T
#else
typedef __int64_t time32_t;
+#define __SIZEOF_TIME32_T __SIZEOF_INT64_T
#endif
#define __HAVE_TIME32_T
diff --git a/sys/x86/include/_types.h b/sys/x86/include/_types.h
index b33dc0bfc7af..2630af1257c7 100644
--- a/sys/x86/include/_types.h
+++ b/sys/x86/include/_types.h
@@ -71,10 +71,12 @@ typedef __int64_t __int_fast64_t;
typedef __int64_t __register_t;
typedef __int64_t __segsz_t; /* segment size (in pages) */
typedef __int64_t __time_t; /* time()... */
+#define __SIZEOF_TIME_T __SIZEOF_INT64_T
#else
typedef __int32_t __register_t;
typedef __int32_t __segsz_t;
typedef __int32_t __time_t;
+#define __SIZEOF_TIME_T __SIZEOF_INT32_T
#endif
typedef __uint32_t __uint_fast8_t;
typedef __uint32_t __uint_fast16_t;