freebsd: memfd_create: < 13.0 version check

- add conditional compile error
- add conditional skip test
This commit is contained in:
Michael Dusan 2023-01-02 19:18:33 -05:00
parent bd071c98a5
commit 7f012eef0b
No known key found for this signature in database
GPG Key ID: ED4C5BA849FA1B74
2 changed files with 10 additions and 1 deletions

View File

@ -6564,6 +6564,8 @@ pub fn memfd_createZ(name: [*:0]const u8, flags: u32) MemFdCreateError!fd_t {
}
},
.freebsd => {
if (comptime builtin.os.version_range.semver.max.order(.{ .major = 13, .minor = 0 }) == .lt)
@compileError("memfd_create is unavailable on FreeBSD < 13.0");
const rc = system.memfd_create(name, flags);
switch (errno(rc)) {
.SUCCESS => return rc,

View File

@ -515,7 +515,14 @@ test "argsAlloc" {
test "memfd_create" {
// memfd_create is only supported by linux and freebsd.
if (native_os != .linux and native_os != .freebsd) return error.SkipZigTest;
switch (native_os) {
.linux => {},
.freebsd => {
if (comptime builtin.os.version_range.semver.max.order(.{ .major = 13, .minor = 0 }) == .lt)
return error.SkipZigTest;
},
else => return error.SkipZigTest,
}
const fd = std.os.memfd_create("test", 0) catch |err| switch (err) {
// Related: https://github.com/ziglang/zig/issues/4019