Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 02 Dec 2025 13:35:12 +0000
From:      Robert Clausecker <fuz@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: f417c9ed6642 - main - powerpc/_stdint.h: fix SIG_ATOMIC_{MIN,MAX,WIDTH}
Message-ID:  <692eeb10.27ecc.564ef7c4@gitrepo.freebsd.org>

index | next in thread | raw e-mail

The branch main has been updated by fuz:

URL: https://cgit.FreeBSD.org/src/commit/?id=f417c9ed6642836c386c922d6e184b618d28127d

commit f417c9ed6642836c386c922d6e184b618d28127d
Author:     Robert Clausecker <fuz@FreeBSD.org>
AuthorDate: 2025-12-02 00:59:05 +0000
Commit:     Robert Clausecker <fuz@FreeBSD.org>
CommitDate: 2025-12-02 13:34:24 +0000

    powerpc/_stdint.h: fix SIG_ATOMIC_{MIN,MAX,WIDTH}
    
    On powerpc/powerpc64, sig_atomic_t is an int, but was treated as if
    it was a long by <machine/_stdint.h>.  This was finally caught by the
    unit test added with 4a1c752 / D53831.
    
    Reported by:    kib
    Reviewed by:    kib, imp
    Approved by:    markj (mentor)
    Fixes:          c3e289e1ce8c9af8d14e9f727632e22b3bf901f9
    MFC after:      1 week
    Differential Revision:  https://reviews.freebsd.org/D54026
---
 sys/powerpc/include/_stdint.h | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/sys/powerpc/include/_stdint.h b/sys/powerpc/include/_stdint.h
index 983db38ccf25..385c33389809 100644
--- a/sys/powerpc/include/_stdint.h
+++ b/sys/powerpc/include/_stdint.h
@@ -167,15 +167,15 @@
  * ISO/IEC 9899:1999
  * 7.18.3  Limits of other integer types
  */
+/* Limits of sig_atomic_t. */
+#define	SIG_ATOMIC_MIN	INT32_MIN
+#define	SIG_ATOMIC_MAX	INT32_MAX
+
 #ifdef __LP64__
 /* Limits of ptrdiff_t. */
 #define	PTRDIFF_MIN	INT64_MIN	
 #define	PTRDIFF_MAX	INT64_MAX
 
-/* Limits of sig_atomic_t. */
-#define	SIG_ATOMIC_MIN	INT64_MIN
-#define	SIG_ATOMIC_MAX	INT64_MAX
-
 /* Limit of size_t. */
 #define	SIZE_MAX	UINT64_MAX
 #else
@@ -183,10 +183,6 @@
 #define	PTRDIFF_MIN	INT32_MIN	
 #define	PTRDIFF_MAX	INT32_MAX
 
-/* Limits of sig_atomic_t. */
-#define	SIG_ATOMIC_MIN	INT32_MIN
-#define	SIG_ATOMIC_MAX	INT32_MAX
-
 /* Limit of size_t. */
 #define	SIZE_MAX	UINT32_MAX
 #endif
@@ -217,13 +213,12 @@
  */
 #ifdef	__LP64__
 #define PTRDIFF_WIDTH		INT64_WIDTH
-#define SIG_ATOMIC_WIDTH	INT64_WIDTH
 #define SIZE_WIDTH		INT64_WIDTH
 #else
 #define PTRDIFF_WIDTH		INT32_WIDTH
-#define SIG_ATOMIC_WIDTH	INT32_WIDTH
 #define SIZE_WIDTH		INT32_WIDTH
 #endif
+#define SIG_ATOMIC_WIDTH	INT32_WIDTH
 #define WCHAR_WIDTH		INT32_WIDTH
 #define WINT_WIDTH		INT32_WIDTH
 #endif /* __ISO_C_VISIBLE >= 2023 */


help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?692eeb10.27ecc.564ef7c4>