diff options
| author | mnikic <nikic.milos@gmail.com> | 2026-04-12 05:07:15 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-04-12 08:07:15 -0400 |
| commit | 2f6c560002f11c5d6e60b1eeeb6896dbc50d48bd (patch) | |
| tree | 8cc6d160b18f2b53a5b496169994b69a1ddcc8ad /runtime/lua/vim/_meta/api.lua | |
| parent | 73cfc3ca03c946c623c700258ec424d004982108 (diff) | |
| download | rneovim-2f6c560002f11c5d6e60b1eeeb6896dbc50d48bd.tar.gz rneovim-2f6c560002f11c5d6e60b1eeeb6896dbc50d48bd.tar.bz2 rneovim-2f6c560002f11c5d6e60b1eeeb6896dbc50d48bd.zip | |
build: support GNU Hurd by skipping BSD sysctl checks #38975
Problem:
Neovim currently fails to build on GNU Hurd. Because Hurd relies on
glibc, `<sys/param.h>` defines the `BSD` macro for 4.4BSD compatibility.
The preprocessor incorrectly routes Hurd into the BSD code paths, which
fatally fail during compilation because Hurd lacks `<sys/sysctl.h>` and
the `sysctl()` function.
Solution:
Update the preprocessor guards in `os/proc.c` to explicitly exclude
`__gnu_hurd__` from the BSD-specific `sysctl` blocks. Instead, group GNU
Hurd with the `__linux__` paths, as both systems rely on standard POSIX
interfaces and `/proc` parsing (which Hurd fully supports via its
`procfs` translator).
Testing:
The test suite does not fully pass yet natively on GNU Hurd
(specifically tests involving PTY closures and SIGHUP/SIGTERM trapping,
like `autocmd TermClose kills PTY job`). This is due to underlying
differences in Hurd's Mach RPC architecture and the `term` translator.
This patch does not attempt to fix those test executions, but simply
unblocks the core compiler as a necessary first step.
Diffstat (limited to 'runtime/lua/vim/_meta/api.lua')
0 files changed, 0 insertions, 0 deletions