[libc-commits] [libc] [libc] Fix Darwin aarch64 fenv and sigsetjmp build support (PR #192079)
Kacper Fiedorowicz via libc-commits
libc-commits at lists.llvm.org
Sat Sep 5 05:50:09 PDT 2026
fenze wrote:
Addressed in 7cfd9b2312. I switched to local `uint32_t` kernel masks as suggested, removedAddressed in 7cfd9b2312. I switched to local `uint32_t` kernel masks as suggested, removed the memcpy, and added a TODO to correct Darwin’s `sigset_t` definition in a follow-up PR.
I also revisited my earlier `EFAULT` concern. Invalid-pointer behavior is undefined under POSIX here, and Darwin does not guarantee `EFAULT`: the system implementation on my machine returned success for an invalid output pointer. I therefore excluded the invalid-pointer assertions on Darwin while retaining them on other platforms.
Added four wrapper tests covering mask conversion, blocking/unblocking, null-input queries, and preservation of the output and errno on an invalid how. These and the six existing `setjmp/sigsetjmp` tests passed using a manually linked native runner. The full libc archive build and an archive-linked public API smoke test also passed.
https://github.com/llvm/llvm-project/pull/192079
More information about the libc-commits
mailing list