[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