authorgravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2023-01-02 19:18:33-05:00
committergravatar for michael.dusan@gmail.comMichael Dusan <michael.dusan@gmail.com> 2023-01-02 19:18:33-05:00
log7f012eef0b7bd4dbccf796c2889495150f996fba
tree7dede6d5e6dbe01db9af6e7b34175cdf697ef6a4
parentbd071c98a5f69b5a83ea468708fdcf33f1a6e66c
signaturelock-open Commit is signed but in an unrecognized format.

freebsd: memfd_create: < 13.0 version check

- add conditional compile error - add conditional skip test

2 files changed, 10 insertions(+), 1 deletions(-)

lib/std/os.zig+2
...@@ -6564,6 +6564,8 @@ pub fn memfd_createZ(name: [*:0]const u8, flags: u32) MemFdCreateError!fd_t {...@@ -6564,6 +6564,8 @@ pub fn memfd_createZ(name: [*:0]const u8, flags: u32) MemFdCreateError!fd_t {
6564 }6564 }
6565 },6565 },
6566 .freebsd => {6566 .freebsd => {
6567 if (comptime builtin.os.version_range.semver.max.order(.{ .major = 13, .minor = 0 }) == .lt)
6568 @compileError("memfd_create is unavailable on FreeBSD < 13.0");
6567 const rc = system.memfd_create(name, flags);6569 const rc = system.memfd_create(name, flags);
6568 switch (errno(rc)) {6570 switch (errno(rc)) {
6569 .SUCCESS => return rc,6571 .SUCCESS => return rc,
lib/std/os/test.zig+8-1
...@@ -515,7 +515,14 @@ test "argsAlloc" {...@@ -515,7 +515,14 @@ test "argsAlloc" {
515515
516test "memfd_create" {516test "memfd_create" {
517 // memfd_create is only supported by linux and freebsd.517 // memfd_create is only supported by linux and freebsd.
518 if (native_os != .linux and native_os != .freebsd) return error.SkipZigTest;518 switch (native_os) {
519 .linux => {},
520 .freebsd => {
521 if (comptime builtin.os.version_range.semver.max.order(.{ .major = 13, .minor = 0 }) == .lt)
522 return error.SkipZigTest;
523 },
524 else => return error.SkipZigTest,
525 }
519526
520 const fd = std.os.memfd_create("test", 0) catch |err| switch (err) {527 const fd = std.os.memfd_create("test", 0) catch |err| switch (err) {
521 // Related: https://github.com/ziglang/zig/issues/4019528 // Related: https://github.com/ziglang/zig/issues/4019