From 3a08d2f162de86e2613392c78e75df3b3a19aaf8 Mon Sep 17 00:00:00 2001 From: Lukas Lalinsky Date: Fri, 14 Nov 2025 17:48:19 +0100 Subject: [PATCH 1/3] Define std.c.MADV for NetBSD The `.netbsd` branch was completely missing. Validated against the actual system headers. --- lib/std/c.zig | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/std/c.zig b/lib/std/c.zig index bfda9c31c9..57852d4830 100644 --- a/lib/std/c.zig +++ b/lib/std/c.zig @@ -1599,6 +1599,15 @@ pub const MADV = switch (native_os) { pub const SEQUENTIAL = 0x5; pub const RANDOM = 0x6; }, + .netbsd => struct { + pub const NORMAL = 0; + pub const RANDOM = 1; + pub const SEQUENTIAL = 2; + pub const WILLNEED = 3; + pub const DONTNEED = 4; + pub const SPACEAVAIL = 5; + pub const FREE = 6; + }, else => void, }; pub const MCL = switch (native_os) { From 6fc5923a545952ed66e74f1018b86d3294f5810d Mon Sep 17 00:00:00 2001 From: Lukas Lalinsky Date: Fri, 14 Nov 2025 18:01:57 +0100 Subject: [PATCH 2/3] Define std.c.MADV for openbsd --- lib/std/c.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/c.zig b/lib/std/c.zig index 57852d4830..de7e573378 100644 --- a/lib/std/c.zig +++ b/lib/std/c.zig @@ -1599,7 +1599,7 @@ pub const MADV = switch (native_os) { pub const SEQUENTIAL = 0x5; pub const RANDOM = 0x6; }, - .netbsd => struct { + .netbsd, .openbsd => struct { pub const NORMAL = 0; pub const RANDOM = 1; pub const SEQUENTIAL = 2; From 6bdea35ce543b1112bc48ccc30ae62f094d1aa2b Mon Sep 17 00:00:00 2001 From: Lukas Lalinsky Date: Fri, 14 Nov 2025 18:02:53 +0100 Subject: [PATCH 3/3] Fix std.c.MSF.SYNC for freebsd, openbsd, dragonfly --- lib/std/c.zig | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/lib/std/c.zig b/lib/std/c.zig index de7e573378..090cace31e 100644 --- a/lib/std/c.zig +++ b/lib/std/c.zig @@ -1640,7 +1640,17 @@ pub const MSF = switch (native_os) { pub const DEACTIVATE = 0x8; pub const SYNC = 0x10; }, - .openbsd, .haiku, .dragonfly, .netbsd, .illumos, .freebsd => struct { + .freebsd, .dragonfly => struct { + pub const SYNC = 0; + pub const ASYNC = 1; + pub const INVALIDATE = 2; + }, + .openbsd => struct { + pub const ASYNC = 1; + pub const SYNC = 2; + pub const INVALIDATE = 4; + }, + .haiku, .netbsd, .illumos => struct { pub const ASYNC = 1; pub const INVALIDATE = 2; pub const SYNC = 4;