Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Mar 2023 16:24:36 GMT
From:      Brooks Davis <brooks@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: de761318a4a0 - main - riscv: Fix sig_atomic_t limit definitions
Message-ID:  <202303221624.32MGOa5c007666@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by brooks:

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

commit de761318a4a0a030035657ff72ddc93bdd2e0bb0
Author:     Brooks Davis <brooks@FreeBSD.org>
AuthorDate: 2023-03-22 16:23:22 +0000
Commit:     Brooks Davis <brooks@FreeBSD.org>
CommitDate: 2023-03-22 16:23:22 +0000

    riscv: Fix sig_atomic_t limit definitions
    
    sig_atomic_t is defined as a long and thus is 64-bit on arm64.  For some
    reason its limit was incorrectly specified as a 32-bit number.  This had
    the unfortunate side effect of causing gnulib to override most of the
    definitions in stdint.h.  On CheriBSD this breaks all software that uses
    gnulib in annoying and hard to debug ways.
    
    Technically updating the limits might be an ABI change, but these
    defines are largely unused (the only use in tree is in the libc++ test
    suite where it's use an assertion that will fail due to this bug).
    Further, since the underlying type remains the same, we're just
    increasing the range of values a paranoid program might use.
    
    Reviewed by:    emaste
    Sponsored by:   DARPA
    Differential Revision:  https://reviews.freebsd.org/D39194
---
 sys/riscv/include/_stdint.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/sys/riscv/include/_stdint.h b/sys/riscv/include/_stdint.h
index 32e5b6fd081e..d73a9c088b59 100644
--- a/sys/riscv/include/_stdint.h
+++ b/sys/riscv/include/_stdint.h
@@ -143,8 +143,8 @@
 #define	PTRDIFF_MAX	INT64_MAX
 
 /* Limits of sig_atomic_t. */
-#define	SIG_ATOMIC_MIN	INT32_MIN
-#define	SIG_ATOMIC_MAX	INT32_MAX
+#define	SIG_ATOMIC_MIN	INT64_MIN
+#define	SIG_ATOMIC_MAX	INT64_MAX
 
 /* Limit of size_t. */
 #define	SIZE_MAX	UINT64_MAX



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202303221624.32MGOa5c007666>