diff --git a/libc-test/build.rs b/libc-test/build.rs index ac0f996fc4e92..f518f2189489e 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -349,6 +349,9 @@ fn test_apple(target: &str) { // FIXME: ABI has been changed on recent macOSes. "os_unfair_lock_assert_owner" | "os_unfair_lock_assert_not_owner" => true, + // FIXME: Once the SDK get updated to Ventura's level + "freadlink" | "mknodat" | "mkfifoat" => true, + _ => false, } }); diff --git a/libc-test/semver/apple.txt b/libc-test/semver/apple.txt index 244fe7d780c02..7c4356432f5a7 100644 --- a/libc-test/semver/apple.txt +++ b/libc-test/semver/apple.txt @@ -1871,6 +1871,7 @@ flistxattr fmemopen fmount forkpty +freadlink freeifaddrs freelocale fremovexattr @@ -1994,6 +1995,8 @@ memset_s mem_entry_name_port_t mincore mkdirat +mkfifoat +mknodat mkstemps mount msghdr diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index 3348a7a8af457..95aa96195a285 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -5905,6 +5905,15 @@ extern "C" { pub fn dirname(path: *mut ::c_char) -> *mut ::c_char; pub fn basename(path: *mut ::c_char) -> *mut ::c_char; + + pub fn mkfifoat(dirfd: ::c_int, pathname: *const ::c_char, mode: ::mode_t) -> ::c_int; + pub fn mknodat( + dirfd: ::c_int, + pathname: *const ::c_char, + mode: ::mode_t, + dev: dev_t, + ) -> ::c_int; + pub fn freadlink(fd: ::c_int, buf: *mut ::c_char, size: ::size_t) -> ::c_int; } pub unsafe fn mach_task_self() -> ::mach_port_t {