From 06148e171bf33b769c267b48d0fb4ea853a1bacb Mon Sep 17 00:00:00 2001 From: Matt Joiner <anacrolix@gmail.com> Date: Mon, 4 Sep 2023 12:22:09 +1000 Subject: [PATCH 1/2] Add F_PUNCHHOLE and fpunchhole_t Closes #3336. --- src/unix/bsd/apple/mod.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index bf571aeb738ff..e53cf3f197537 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -378,6 +378,13 @@ s! { pub fst_bytesalloc: ::off_t, } + pub struct fpunchhole_t { + pub fp_flags: ::c_uint, /* unused */ + pub reserved: ::c_uint, /* (to maintain 8-byte alignment) */ + pub fp_offset: ::off_t, /* IN: start of the region */ + pub fp_length: ::off_t, /* IN: size of the region */ + } + pub struct radvisory { pub ra_offset: ::off_t, pub ra_count: ::c_int, @@ -3241,6 +3248,7 @@ pub const F_GLOBAL_NOCACHE: ::c_int = 55; pub const F_NODIRECT: ::c_int = 62; pub const F_LOG2PHYS_EXT: ::c_int = 65; pub const F_BARRIERFSYNC: ::c_int = 85; +pub const F_PUNCHHOLE: ::c_int = 99; pub const F_GETPATH_NOFIRMLINK: ::c_int = 102; pub const F_ALLOCATECONTIG: ::c_uint = 0x02; From ca15272e89bef98d51071967e890564e75be9af3 Mon Sep 17 00:00:00 2001 From: Matt Joiner <anacrolix@gmail.com> Date: Mon, 4 Sep 2023 12:25:45 +1000 Subject: [PATCH 2/2] Update semver for apple Also I sorted it. --- libc-test/semver/apple.txt | 80 +++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 39 deletions(-) diff --git a/libc-test/semver/apple.txt b/libc-test/semver/apple.txt index 10e505ed46dd0..64d0269d45eb9 100644 --- a/libc-test/semver/apple.txt +++ b/libc-test/semver/apple.txt @@ -193,10 +193,10 @@ BUFSIZ BUS_ADRALN BUS_ADRERR BUS_OBJERR -CCStatus CCCryptorStatus -CCRandomGenerateBytes CCRNGStatus +CCRandomGenerateBytes +CCStatus CIGNORE CLD_CONTINUED CLD_DUMPED @@ -442,6 +442,7 @@ F_NOCACHE F_NODIRECT F_PEOFPOSMODE F_PREALLOCATE +F_PUNCHHOLE F_RDADVISE F_RDAHEAD F_RDLCK @@ -640,8 +641,8 @@ IPV6_PKTINFO IPV6_RECVPKTINFO IPV6_RECVTCLASS IPV6_TCLASS -IP_HDRINCL IP_BOUND_IF +IP_HDRINCL IP_PKTINFO IP_RECVDSTADDR IP_RECVIF @@ -677,7 +678,6 @@ KERN_FAILURE KERN_FILE KERN_HOSTID KERN_HOSTNAME -KERN_IPC KERN_INSUFFICIENT_BUFFER_SIZE KERN_INVALID_ADDRESS KERN_INVALID_ARGUMENT @@ -685,12 +685,13 @@ KERN_INVALID_HOST KERN_INVALID_LEDGER KERN_INVALID_MEMORY_CONTROL KERN_INVALID_NAME -KERN_INVALID_POLICY KERN_INVALID_OBJECT +KERN_INVALID_POLICY +KERN_INVALID_RIGHT KERN_INVALID_SECURITY KERN_INVALID_TASK -KERN_INVALID_RIGHT KERN_INVALID_VALUE +KERN_IPC KERN_JOB_CONTROL KERN_KDBUFWAIT KERN_KDCPUMAP @@ -714,11 +715,11 @@ KERN_KDSET_TYPEFILTER KERN_KDTHRMAP KERN_KDWRITEMAP KERN_KDWRITETR -KERN_LOGSIGEXIT KERN_LOCK_OWNED KERN_LOCK_OWNED_SELF KERN_LOCK_SET_DESTROYED KERN_LOCK_UNSTABLE +KERN_LOGSIGEXIT KERN_LOW_PRI_DELAY KERN_LOW_PRI_WINDOW KERN_MAXFILES @@ -780,9 +781,9 @@ KERN_SAFEBOOT KERN_SAVED_IDS KERN_SECURELVL KERN_SEMAPHORE_DESTROYED -KERN_SUCCESS KERN_SHREG_PRIVATIZABLE KERN_SPECULATIVE_READS +KERN_SUCCESS KERN_SUGID_COREDUMP KERN_SYMFILE KERN_SYSV @@ -1272,8 +1273,8 @@ SAE_ASSOCID_ANY SAE_CONNID_ALL SAE_CONNID_ANY SCALE_PPM -SCHED_OTHER SCHED_FIFO +SCHED_OTHER SCHED_RR SCM_CREDS SCM_RIGHTS @@ -1369,12 +1370,12 @@ TCP_MAXSEG TCP_NOOPT TCP_NOPUSH THOUSEP -THREAD_BACKGROUND_POLICY -THREAD_BACKGROUND_POLICY_DARWIN_BG -THREAD_BACKGROUND_POLICY_COUNT THREAD_AFFINITY_POLICY THREAD_AFFINITY_POLICY_COUNT THREAD_AFFINITY_TAG_NULL +THREAD_BACKGROUND_POLICY +THREAD_BACKGROUND_POLICY_COUNT +THREAD_BACKGROUND_POLICY_DARWIN_BG THREAD_BASIC_INFO THREAD_BASIC_INFO_COUNT THREAD_EXTENDED_INFO @@ -1671,10 +1672,10 @@ XATTR_SHOWCOMPRESSION XUCRED_VERSION YESEXPR YESSTR -_CS_PATH +_CS_DARWIN_USER_CACHE_DIR _CS_DARWIN_USER_DIR _CS_DARWIN_USER_TEMP_DIR -_CS_DARWIN_USER_CACHE_DIR +_CS_PATH _IOFBF _IOLBF _IONBF @@ -1742,8 +1743,8 @@ _SC_PRIORITY_SCHEDULING _SC_RAW_SOCKETS _SC_READER_WRITER_LOCKS _SC_REALTIME_SIGNALS -_SC_RE_DUP_MAX _SC_REGEXP +_SC_RE_DUP_MAX _SC_RTSIG_MAX _SC_SAVED_IDS _SC_SEMAPHORES @@ -1843,6 +1844,7 @@ backtrace_from_fp backtrace_image_offsets backtrace_symbols backtrace_symbols_fd +basename boolean_t bpf_hdr brk @@ -1870,6 +1872,7 @@ ctime_r ctl_info difftime dirfd +dirname disconnectx dqblk duplocale @@ -1889,6 +1892,7 @@ flistxattr fmemopen fmount forkpty +fpunchhole_t freadlink freeifaddrs freelocale @@ -2004,13 +2008,13 @@ malloc_zone_t malloc_zone_valloc max_align_t mcontext_t -memory_object_t +mem_entry_name_port_t memory_object_offset_t +memory_object_t +memset_pattern16 memset_pattern4 memset_pattern8 -memset_pattern16 memset_s -mem_entry_name_port_t mincore mkdirat mkfifoat @@ -2032,21 +2036,21 @@ openat openpty os_log_create os_log_t -os_log_type_t os_log_type_enabled +os_log_type_t os_signpost_enabled os_signpost_id_generate os_signpost_id_make_with_pointer os_signpost_id_t os_signpost_type_t os_unfair_lock +os_unfair_lock_assert_not_owner +os_unfair_lock_assert_owner +os_unfair_lock_lock os_unfair_lock_s os_unfair_lock_t -os_unfair_lock_lock os_unfair_lock_trylock os_unfair_lock_unlock -os_unfair_lock_assert_owner -os_unfair_lock_assert_not_owner pause policy_t popen @@ -2077,21 +2081,21 @@ posix_spawnp preadv proc_bsdinfo proc_kmsgbuf +proc_libversion proc_listallpids proc_listchildpids proc_listpgrppids proc_listpids -proc_libversion proc_name -proc_pidinfo proc_pidfdinfo proc_pidfileportinfo +proc_pidinfo proc_pidpath proc_regionfilename -proc_set_no_smt -proc_setthread_no_smt proc_set_csm +proc_set_no_smt proc_setthread_csm +proc_setthread_no_smt proc_taskallinfo proc_taskinfo proc_threadinfo @@ -2102,26 +2106,25 @@ pseudo_AF_RTIP pseudo_AF_XTP pthread_attr_getschedparam pthread_attr_setschedparam +pthread_cancel +pthread_condattr_getpshared +pthread_condattr_setpshared pthread_cpu_number_np pthread_create_from_mach_thread +pthread_from_mach_thread_np +pthread_get_stackaddr_np +pthread_get_stacksize_np +pthread_getname_np pthread_getschedparam pthread_introspection_getspecific_np -pthread_introspection_hook_t pthread_introspection_hook_install +pthread_introspection_hook_t pthread_introspection_setspecific_np pthread_jit_write_callback_t pthread_jit_write_freeze_callbacks_np pthread_jit_write_protect_np pthread_jit_write_protect_supported_np pthread_jit_write_with_callback_np -pthread_setschedparam -pthread_cancel -pthread_condattr_getpshared -pthread_condattr_setpshared -pthread_from_mach_thread_np -pthread_get_stackaddr_np -pthread_get_stacksize_np -pthread_getname_np pthread_kill pthread_main_np pthread_mutexattr_getpshared @@ -2129,6 +2132,7 @@ pthread_mutexattr_setpshared pthread_rwlockattr_getpshared pthread_rwlockattr_setpshared pthread_setname_np +pthread_setschedparam pthread_stack_frame_decode_np ptrace pututxline @@ -2236,11 +2240,11 @@ thread_identifier_info_t thread_info thread_info_t thread_inspect_t -thread_policy_set thread_policy_get +thread_policy_set +time_value_t timeval32 timex -time_value_t truncate ttyname_r ucontext_t @@ -2261,5 +2265,3 @@ wait4 waitid xsw_usage xucred -dirname -basename