From 66f53abf3c8fad795f40710d81a4967994269dd5 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Fri, 11 Sep 2026 00:08:56 +0100 Subject: [PATCH 1/2] tools: Update fetch_them_macos_headers.zig for macOS 27 --- tools/fetch_them_macos_headers.zig | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/fetch_them_macos_headers.zig b/tools/fetch_them_macos_headers.zig index d2b7dd2f933e50d25f5f46f53888abad9986c8f3..bc7f137ee74674022c3ff0d6bd367b013b463b05 100644 --- a/tools/fetch_them_macos_headers.zig +++ b/tools/fetch_them_macos_headers.zig @@ -24,6 +24,7 @@ const OsVer = enum(u32) { sonoma = 14, sequoia = 15, tahoe = 26, + golden_gate = 27, }; const Target = struct { -- 2.54.0 From 797f46d0ef8fc6e368b2cc5bc4e721b4c2e22c31 Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Fri, 11 Sep 2026 00:11:01 +0100 Subject: [PATCH 2/2] libc: Update macOS headers to SDK 27.0 --- lib/libc/darwin/SDKSettings.json | 2 +- lib/libc/darwin/libSystem.tbd | 1397 +++++++++-------- .../include/any-darwin-any/AssertMacros.h | 2 +- .../any-darwin-any/AvailabilityInternal.h | 28 +- .../any-darwin-any/AvailabilityVersions.h | 17 +- .../any-darwin-any/TargetConditionals.h | 11 +- lib/libc/include/any-darwin-any/_stdlib.h | 4 +- .../include/any-darwin-any/_types/_nl_item.h | 2 +- lib/libc/include/any-darwin-any/arm/limits.h | 2 +- .../include/any-darwin-any/dispatch/base.h | 2 +- .../include/any-darwin-any/dispatch/block.h | 149 +- .../any-darwin-any/dispatch/dispatch.h | 2 +- .../include/any-darwin-any/dispatch/group.h | 2 +- .../include/any-darwin-any/dispatch/object.h | 16 +- .../include/any-darwin-any/dispatch/once.h | 2 +- .../include/any-darwin-any/dispatch/queue.h | 51 +- .../include/any-darwin-any/dispatch/source.h | 7 +- .../include/any-darwin-any/dispatch/time.h | 2 +- lib/libc/include/any-darwin-any/dlfcn.h | 264 +++- lib/libc/include/any-darwin-any/fts.h | 222 +-- lib/libc/include/any-darwin-any/fts_compat.h | 197 +++ lib/libc/include/any-darwin-any/i386/limits.h | 2 +- .../mach-o/compact_unwind_encoding.h | 13 +- lib/libc/include/any-darwin-any/mach-o/dyld.h | 81 +- .../any-darwin-any/mach-o/dyld_images.h | 4 - .../any-darwin-any/mach-o/fixup-chains.h | 28 + .../include/any-darwin-any/mach-o/utils.h | 214 +-- .../any-darwin-any/mach/arm/exception.h | 1 - .../any-darwin-any/mach/arm/thread_status.h | 2 +- .../any-darwin-any/mach/arm/vm_param.h | 53 +- .../include/any-darwin-any/mach/host_info.h | 23 +- .../any-darwin-any/mach/host_special_ports.h | 8 +- .../include/any-darwin-any/mach/mach_host.h | 2 +- .../include/any-darwin-any/mach/mach_types.h | 2 +- .../include/any-darwin-any/mach/machine.h | 27 + .../any-darwin-any/mach/memory_object_types.h | 2 +- lib/libc/include/any-darwin-any/mach/port.h | 49 +- .../any-darwin-any/mach/processor_info.h | 23 +- lib/libc/include/any-darwin-any/mach/task.h | 12 +- .../include/any-darwin-any/mach/task_info.h | 33 +- .../include/any-darwin-any/mach/thread_act.h | 12 +- lib/libc/include/any-darwin-any/mach/vm_map.h | 4 +- .../include/any-darwin-any/mach/vm_param.h | 1 + .../include/any-darwin-any/mach/vm_region.h | 43 +- .../any-darwin-any/mach/vm_statistics.h | 124 +- .../any-darwin-any/mach_debug/zone_info.h | 8 + .../include/any-darwin-any/malloc/_malloc.h | 2 + .../any-darwin-any/malloc/_malloc_type.h | 2 + .../include/any-darwin-any/malloc/malloc.h | 26 +- lib/libc/include/any-darwin-any/math.h | 12 +- lib/libc/include/any-darwin-any/net/if.h | 6 +- lib/libc/include/any-darwin-any/net/if_var.h | 1 + .../include/any-darwin-any/objc/message.h | 2 +- .../include/any-darwin-any/objc/runtime.h | 25 +- lib/libc/include/any-darwin-any/os/lock.h | 5 +- .../any-darwin-any/sys/_symbol_aliasing.h | 24 + .../any-darwin-any/sys/_types/_graftdmg_un.h | 1 + lib/libc/include/any-darwin-any/sys/aio.h | 50 +- lib/libc/include/any-darwin-any/sys/event.h | 3 +- lib/libc/include/any-darwin-any/sys/fcntl.h | 35 +- lib/libc/include/any-darwin-any/sys/paths.h | 7 +- .../include/any-darwin-any/sys/resource.h | 11 +- lib/libc/include/any-darwin-any/sys/signal.h | 1 + lib/libc/include/any-darwin-any/sys/socket.h | 2 + lib/libc/include/any-darwin-any/sys/spawn.h | 8 +- lib/libc/include/any-darwin-any/sys/stat.h | 6 + lib/libc/include/any-darwin-any/sys/sysctl.h | 8 + lib/libc/include/any-darwin-any/sys/unistd.h | 5 + lib/libc/include/any-darwin-any/sys/wait.h | 2 +- lib/libc/include/any-darwin-any/xpc/base.h | 240 ++- 70 files changed, 2289 insertions(+), 1347 deletions(-) create mode 100644 lib/libc/include/any-darwin-any/fts_compat.h diff --git a/lib/libc/darwin/SDKSettings.json b/lib/libc/darwin/SDKSettings.json index 114df7e8c0c05ca07280880269469c8e7f3dcaa7..5740f2dc2b5c5ca14d8745d43c9868b80a023c4e 100644 --- a/lib/libc/darwin/SDKSettings.json +++ b/lib/libc/darwin/SDKSettings.json @@ -1 +1 @@ -{"MinimalDisplayName":"26.5"} +{"MinimalDisplayName":"27.0"} diff --git a/lib/libc/darwin/libSystem.tbd b/lib/libc/darwin/libSystem.tbd index 214e3f1c32292058d0701811aae98ac5eb4c9834..382946e2b3c37755b55c0d4cca49619569dea556 100644 --- a/lib/libc/darwin/libSystem.tbd +++ b/lib/libc/darwin/libSystem.tbd @@ -1,10 +1,12 @@ --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/libSystem.B.dylib' -current-version: 1356 +current-version: 1359 reexported-libraries: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] libraries: [ '/usr/lib/system/libcache.dylib', '/usr/lib/system/libcommonCrypto.dylib', '/usr/lib/system/libcompiler_rt.dylib', '/usr/lib/system/libcopyfile.dylib', '/usr/lib/system/libcorecrypto.dylib', '/usr/lib/system/libdispatch.dylib', @@ -36,19 +38,23 @@ exports: 'R8289209$_setattrlist', 'R8289209$_setrlimit', 'R8289209$_sigaction', 'R8289209$_stat', 'R8289209$_sysctl', 'R8289209$_time', 'R8289209$_unlink', 'R8289209$_write' ] - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ ___crashreporter_info__, _libSystem_init_after_boot_tasks_4launchd, _mach_init_routine ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libcache.dylib' current-version: 95 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _cache_create, _cache_destroy, _cache_get, _cache_get_and_retain, _cache_get_cost_hint, _cache_get_count_hint, _cache_get_info, _cache_get_info_for_key, _cache_get_info_for_keys, _cache_get_minimum_values_hint, @@ -63,14 +69,17 @@ exports: _cache_value_make_purgeable_cb ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libcommonCrypto.dylib' current-version: 65535 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _CCAESCmac, _CCAESCmacCreate, _CCAESCmacDestroy, _CCAESCmacFinal, _CCAESCmacOutputSizeFromContext, _CCAESCmacUpdate, _CCBigNumAdd, _CCBigNumAddI, _CCBigNumBitCount, _CCBigNumByteCount, _CCBigNumClear, @@ -83,8 +92,9 @@ exports: _CCBigNumSub, _CCBigNumSubI, _CCBigNumToData, _CCBigNumToDecimalString, _CCBigNumToHexString, _CCBigNumZeroLSBCount, _CCCKG2ContributorCommit, _CCCKG2ContributorCreate, _CCCKG2ContributorDestroy, _CCCKG2ContributorFinish, - _CCCKG2GetCommitmentSize, _CCCKG2GetOpeningSize, _CCCKG2GetShareSize, - _CCCKG2OwnerCreate, _CCCKG2OwnerDestroy, _CCCKG2OwnerFinish, + _CCCKG2ContributorFinishWithDomain, _CCCKG2GetCommitmentSize, + _CCCKG2GetOpeningSize, _CCCKG2GetShareSize, _CCCKG2OwnerCreate, + _CCCKG2OwnerDestroy, _CCCKG2OwnerFinish, _CCCKG2OwnerFinishWithDomain, _CCCKG2OwnerGenerateShare, _CCCKG2ParamsP224Sha256Version2, _CCCKGContributorCommit, _CCCKGContributorCreate, _CCCKGContributorDestroy, _CCCKGContributorFinish, _CCCKGGetCommitmentSize, _CCCKGGetOpeningSize, @@ -146,11 +156,11 @@ exports: _ccDevRandomGetRngState, _kCCRandomDefault, _kCCRandomDevRandom ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, arm64-macos, arm64e-macos ] +targets: [ x86_64-macos, arm64-macos, arm64e-macos, arm64e.x1-macos ] install-name: '/usr/lib/system/libcompiler_rt.dylib' -current-version: 103.3 +current-version: 103.4 parent-umbrella: - - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos, arm64e.x1-macos ] umbrella: System exports: - targets: [ x86_64-macos ] @@ -189,7 +199,7 @@ exports: ___paritysi2, ___parityti2, ___popcountdi2, ___popcountsi2, ___popcountti2, ___powixf2, ___subvdi3, ___subvsi3, ___subvti3, ___ucmpdi2, ___ucmpti2, ___udivdi3, ___udivmoddi4, ___umoddi3 ] - - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ '$ld$hide$os10.10$___chkstk_darwin', '$ld$hide$os10.10$___extendhfsf2', '$ld$hide$os10.10$___truncdfhf2', '$ld$hide$os10.10$___truncsfhf2', '$ld$hide$os10.10$_atomic_flag_clear', '$ld$hide$os10.10$_atomic_flag_clear_explicit', @@ -373,23 +383,28 @@ exports: _atomic_signal_fence, _atomic_thread_fence ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libcopyfile.dylib' parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _copyfile, _copyfile_state_alloc, _copyfile_state_free, _copyfile_state_get, _copyfile_state_set, _fcopyfile, _xattr_flags_from_name, _xattr_intent_with_flags, _xattr_name_with_flags, _xattr_name_without_flags, _xattr_preserve_for_intent ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libcorecrypto.dylib' -current-version: 1922.121.1 +current-version: 2109.0.22 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - targets: [ x86_64-macos, x86_64-maccatalyst ] @@ -401,12 +416,13 @@ exports: _ccaes_intel_xts_encrypt_aesni_mode, _ccaes_intel_xts_encrypt_opt_mode, _ccsha1_vng_intel_SupplementalSSE3_di, _ccsha224_vng_intel_SupplementalSSE3_di, _ccsha256_vng_intel_SupplementalSSE3_di ] - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] - symbols: [ _CCEC_FAULT_CANARY, _CCMLDSA_FAULT_CANARY, _CCRSA_PKCS1_FAULT_CANARY, - _CCRSA_PSS_FAULT_CANARY, _CCSS_PRIME_P192, _CCSS_PRIME_P224, - _CCSS_PRIME_P256, _CCSS_PRIME_P384, _CCSS_PRIME_P521, _cc_abort, - _cc_atfork_child, _cc_atfork_parent, _cc_atfork_prepare, _cc_clear, - _cc_cmp_safe, _cc_impl_name, _cc_try_abort, _cc_try_abort_if, + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] + symbols: [ _CCEC_FAULT_CANARY, _CCHYBRIDSIG_FAULT_CANARY, _CCMLDSA_FAULT_CANARY, + _CCRSA_PKCS1_FAULT_CANARY, _CCRSA_PSS_FAULT_CANARY, _CCSS_PRIME_P192, + _CCSS_PRIME_P224, _CCSS_PRIME_P256, _CCSS_PRIME_P384, _CCSS_PRIME_P521, + _cc_abort, _cc_atfork_child, _cc_atfork_parent, _cc_atfork_prepare, + _cc_clear, _cc_cmp_safe, _cc_impl_name, _cc_try_abort, _cc_try_abort_if, _ccaes_cbc_decrypt_mode, _ccaes_cbc_encrypt_mode, _ccaes_ccm_decrypt_mode, _ccaes_ccm_encrypt_mode, _ccaes_cfb8_decrypt_mode, _ccaes_cfb8_encrypt_mode, _ccaes_cfb_decrypt_mode, _ccaes_cfb_encrypt_mode, _ccaes_ctr_crypt_mode, @@ -416,14 +432,11 @@ exports: _ccaes_ltc_ecb_encrypt_mode, _ccaes_ofb_crypt_mode, _ccaes_siv_decrypt_mode, _ccaes_siv_encrypt_mode, _ccaes_siv_hmac_sha256_decrypt_mode, _ccaes_siv_hmac_sha256_encrypt_mode, _ccaes_unwind, _ccaes_xts_decrypt_mode, - _ccaes_xts_encrypt_mode, _ccansikdf_x963, _ccapsic_client_check_intersect_response, - _ccapsic_client_generate_match_response, _ccapsic_client_init, - _ccapsic_client_state_sizeof, _ccapsic_server_determine_intersection, - _ccapsic_server_encode_element, _ccapsic_server_init, _ccapsic_server_state_sizeof, - _ccascon_ascon128a, _ccascon_ascon128a_cmac, _ccascon_ascon128a_cmac_ref, - _ccascon_ascon128a_decrypt, _ccascon_ascon128a_encrypt, _ccascon_ascon128a_ref, - _ccascon_cmac_init, _ccascon_cmac_process, _ccascon_cmac_tag, - _ccascon_cmac_verify, _ccblowfish_cbc_decrypt_mode, _ccblowfish_cbc_encrypt_mode, + _ccaes_xts_encrypt_mode, _ccansikdf_x963, _ccascon_ascon128a, + _ccascon_ascon128a_cmac, _ccascon_ascon128a_cmac_ref, _ccascon_ascon128a_decrypt, + _ccascon_ascon128a_encrypt, _ccascon_ascon128a_ref, _ccascon_cmac_init, + _ccascon_cmac_process, _ccascon_cmac_tag, _ccascon_cmac_verify, + _ccblowfish_cbc_decrypt_mode, _ccblowfish_cbc_encrypt_mode, _ccblowfish_cfb8_decrypt_mode, _ccblowfish_cfb8_encrypt_mode, _ccblowfish_cfb_decrypt_mode, _ccblowfish_cfb_encrypt_mode, _ccblowfish_ctr_crypt_mode, _ccblowfish_ecb_decrypt_mode, @@ -448,8 +461,9 @@ exports: _ccchacha20poly1305_encrypt_oneshot, _ccchacha20poly1305_finalize, _ccchacha20poly1305_incnonce, _ccchacha20poly1305_info, _ccchacha20poly1305_init, _ccchacha20poly1305_reset, _ccchacha20poly1305_setnonce, _ccchacha20poly1305_verify, - _ccckg2_contributor_commit, _ccckg2_contributor_finish, _ccckg2_ctx_cp, - _ccckg2_ctx_di, _ccckg2_init, _ccckg2_owner_finish, _ccckg2_owner_generate_share, + _ccckg2_contributor_commit, _ccckg2_contributor_finish, _ccckg2_contributor_finish_with_domain, + _ccckg2_ctx_cp, _ccckg2_ctx_di, _ccckg2_init, _ccckg2_owner_finish, + _ccckg2_owner_finish_with_domain, _ccckg2_owner_generate_share, _ccckg2_params_p224_sha256_v2, _ccckg2_sizeof_commitment, _ccckg2_sizeof_ctx, _ccckg2_sizeof_opening, _ccckg2_sizeof_share, _ccckg_contributor_commit, _ccckg_contributor_finish, _ccckg_ctx_cp, @@ -516,8 +530,11 @@ exports: _ccdh_gp_rfc3526group18, _ccdh_gp_rfc5114_MODP_1024_160, _ccdh_gp_rfc5114_MODP_2048_224, _ccdh_gp_rfc5114_MODP_2048_256, _ccdh_gp_size, _ccdh_import_full, _ccdh_import_priv, _ccdh_import_pub, _ccdh_init_gp_from_bytes, - _ccdigest, _ccdigest_init, _ccdigest_oid_lookup, _ccdigest_parallel, - _ccdigest_update, _ccdrbg_context_size, _ccdrbg_df_bc_init, + _ccdigest, _ccdigest_init, _ccdigest_managed_dit, _ccdigest_managed_dit_final, + _ccdigest_managed_dit_init, _ccdigest_managed_dit_update, + _ccdigest_oid_lookup, _ccdigest_parallel, _ccdigest_update, + _ccdit_managed_context_begin, _ccdit_managed_context_end, + _ccdit_managed_context_is_enabled, _ccdrbg_context_size, _ccdrbg_df_bc_init, _ccdrbg_done, _ccdrbg_factory_nistctr, _ccdrbg_factory_nisthmac, _ccdrbg_generate, _ccdrbg_init, _ccdrbg_must_reseed, _ccdrbg_reseed, _ccec_affinify, _ccec_blind, _ccec_compact_export, _ccec_compact_export_pub, @@ -526,10 +543,11 @@ exports: _ccec_compact_import_priv_size, _ccec_compact_import_pub, _ccec_compact_import_pub_size, _ccec_compact_transform_key, _ccec_compressed_x962_export_pub, _ccec_compressed_x962_export_pub_size, - _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_cp_192, - _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, _ccec_curve_for_length_lookup, - _ccec_der_export_diversified_pub, _ccec_der_export_diversified_pub_size, - _ccec_der_export_priv, _ccec_der_export_priv_size, _ccec_der_import_diversified_pub, + _ccec_compressed_x962_import_pub, _ccec_compute_key, _ccec_compute_pubkey, + _ccec_cp_192, _ccec_cp_224, _ccec_cp_256, _ccec_cp_384, _ccec_cp_521, + _ccec_curve_for_length_lookup, _ccec_der_export_diversified_pub, + _ccec_der_export_diversified_pub_size, _ccec_der_export_priv, + _ccec_der_export_priv_size, _ccec_der_import_diversified_pub, _ccec_der_import_priv, _ccec_der_import_priv_keytype, _ccec_diversify_min_entropy_len, _ccec_diversify_priv_twin, _ccec_diversify_pub, _ccec_diversify_pub_twin, _ccec_export_affine_point, _ccec_export_affine_point_size, @@ -613,43 +631,56 @@ exports: _cchpke_params_sizeof_kem_sk, _cchpke_params_x25519_AESGCM128_HKDF_SHA256, _cchpke_params_x25519_AESGCM256_HKDF_SHA256, _cchpke_params_xwing_AESGCM128_HKDF_SHA256, _cchpke_responder_decrypt, _cchpke_responder_export, _cchpke_responder_open, - _cchpke_responder_setup, _cckem_decapsulate, _cckem_derive_key_from_seed, - _cckem_encapsulate, _cckem_encapsulated_key_nbytes_ctx, _cckem_encapsulated_key_nbytes_info, + _cchpke_responder_setup, _cchybridsig_export_privkey, _cchybridsig_export_pubkey, + _cchybridsig_full_ctx_prehash, _cchybridsig_full_ctx_sig_nbytes, + _cchybridsig_generate_key, _cchybridsig_import_privkey, _cchybridsig_import_pubkey, + _cchybridsig_lamps13_mldsa87_rsa3072_full_ctx_init, _cchybridsig_lamps13_mldsa87_rsa3072_pub_ctx_init, + _cchybridsig_mldsa87_rsa3072_full_ctx_init, _cchybridsig_mldsa87_rsa3072_pub_ctx_init, + _cchybridsig_privkey_nbytes, _cchybridsig_pub_ctx_prehash, + _cchybridsig_pub_ctx_sig_nbytes, _cchybridsig_pubkey_nbytes, + _cchybridsig_public_ctx, _cchybridsig_sign, _cchybridsig_sign_prehashed_with_context, + _cchybridsig_sign_with_context, _cchybridsig_verify, _cchybridsig_verify_prehashed_with_context, + _cchybridsig_verify_prehashed_with_context_and_canary, _cchybridsig_verify_with_canary, + _cchybridsig_verify_with_context, _cchybridsig_verify_with_context_and_canary, + _cckem_decapsulate, _cckem_derive_key_from_seed, _cckem_encapsulate, + _cckem_encapsulated_key_nbytes_ctx, _cckem_encapsulated_key_nbytes_info, _cckem_export_privkey, _cckem_export_pubkey, _cckem_full_ctx_init, _cckem_generate_key, _cckem_generate_key_with_seed, _cckem_import_privkey, _cckem_import_pubkey, _cckem_kyber1024, _cckem_kyber768, _cckem_mlkem1024, - _cckem_mlkem768, _cckem_privkey_nbytes_ctx, _cckem_privkey_nbytes_info, - _cckem_pub_ctx_init, _cckem_pubkey_nbytes_ctx, _cckem_pubkey_nbytes_info, - _cckem_public_ctx, _cckem_seed_nbytes_ctx, _cckem_seed_nbytes_info, - _cckem_shared_key_nbytes_ctx, _cckem_shared_key_nbytes_info, - _cckem_sizeof_full_ctx, _cckem_sizeof_pub_ctx, _cckem_xwing_mlkem768x25519, - _cclr_aes_init, _cclr_block_nbytes, _cclr_decrypt_block, _cclr_encrypt_block, - _ccmd2_ltc_di, _ccmd4_ltc_di, _ccmd5_di, _ccmd5_ltc_di, _ccmgf, - _ccmldsa65, _ccmldsa87, _ccmldsa_derive_key_from_seed, _ccmldsa_export_privkey, - _ccmldsa_export_pubkey, _ccmldsa_full_ctx_init, _ccmldsa_generate_key, - _ccmldsa_generate_key_with_seed, _ccmldsa_hash_nbytes_ctx, - _ccmldsa_hash_nbytes_params, _ccmldsa_import_privkey, _ccmldsa_import_pubkey, - _ccmldsa_prehash, _ccmldsa_prehash_with_context, _ccmldsa_privkey_nbytes_ctx, - _ccmldsa_privkey_nbytes_params, _ccmldsa_pub_ctx_init, _ccmldsa_pubkey_nbytes_ctx, - _ccmldsa_pubkey_nbytes_params, _ccmldsa_public_ctx, _ccmldsa_seed_nbytes_ctx, - _ccmldsa_seed_nbytes_params, _ccmldsa_sign, _ccmldsa_sign_prehashed, - _ccmldsa_sign_with_context, _ccmldsa_signature_nbytes_ctx, - _ccmldsa_signature_nbytes_params, _ccmldsa_sizeof_full_ctx, - _ccmldsa_sizeof_pub_ctx, _ccmldsa_verify, _ccmldsa_verify_prehashed, - _ccmldsa_verify_prehashed_with_canary, _ccmldsa_verify_with_canary, - _ccmldsa_verify_with_context, _ccmldsa_verify_with_context_and_canary, - _ccmode_factory_cbc_decrypt, _ccmode_factory_cbc_encrypt, - _ccmode_factory_ccm_decrypt, _ccmode_factory_ccm_encrypt, - _ccmode_factory_cfb8_decrypt, _ccmode_factory_cfb8_encrypt, - _ccmode_factory_cfb_decrypt, _ccmode_factory_cfb_encrypt, - _ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt, _ccmode_factory_gcm_encrypt, - _ccmode_factory_ofb_crypt, _ccmode_factory_siv_decrypt, _ccmode_factory_siv_encrypt, - _ccmode_factory_xts_decrypt, _ccmode_factory_xts_encrypt, - _ccn_add, _ccn_add1, _ccn_bitlen, _ccn_cmp, _ccn_cmpn, _ccn_lprint, - _ccn_print, _ccn_read_uint, _ccn_set_bit, _ccn_seti, _ccn_sub, - _ccn_swap, _ccn_write_int, _ccn_write_int_size, _ccn_write_uint, - _ccn_write_uint_padded, _ccn_write_uint_padded_ct, _ccn_write_uint_size, - _ccn_xor, _ccn_zero, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed, + _cckem_mlkem1024_unmasked, _cckem_mlkem768, _cckem_mlkem768_unmasked, + _cckem_privkey_nbytes_ctx, _cckem_privkey_nbytes_info, _cckem_pub_ctx_init, + _cckem_pubkey_nbytes_ctx, _cckem_pubkey_nbytes_info, _cckem_public_ctx, + _cckem_seed_nbytes_ctx, _cckem_seed_nbytes_info, _cckem_shared_key_nbytes_ctx, + _cckem_shared_key_nbytes_info, _cckem_sizeof_full_ctx, _cckem_sizeof_pub_ctx, + _cckem_xwing_mlkem768x25519, _cckmac256_info, _cckmac_finalize, + _cckmac_init, _cckmac_update, _cclr_aes_init, _cclr_block_nbytes, + _cclr_decrypt_block, _cclr_encrypt_block, _ccmd2_ltc_di, _ccmd4_ltc_di, + _ccmd5_di, _ccmd5_ltc_di, _ccmgf, _ccmldsa65, _ccmldsa87, + _ccmldsa_derive_key_from_seed, _ccmldsa_export_privkey, _ccmldsa_export_pubkey, + _ccmldsa_full_ctx_init, _ccmldsa_generate_key, _ccmldsa_generate_key_with_seed, + _ccmldsa_hash_nbytes_ctx, _ccmldsa_hash_nbytes_params, _ccmldsa_import_privkey, + _ccmldsa_import_pubkey, _ccmldsa_prehash, _ccmldsa_prehash_with_context, + _ccmldsa_privkey_nbytes_ctx, _ccmldsa_privkey_nbytes_params, + _ccmldsa_pub_ctx_init, _ccmldsa_pubkey_nbytes_ctx, _ccmldsa_pubkey_nbytes_params, + _ccmldsa_public_ctx, _ccmldsa_seed_nbytes_ctx, _ccmldsa_seed_nbytes_params, + _ccmldsa_sign, _ccmldsa_sign_prehashed, _ccmldsa_sign_with_context, + _ccmldsa_signature_nbytes_ctx, _ccmldsa_signature_nbytes_params, + _ccmldsa_sizeof_full_ctx, _ccmldsa_sizeof_pub_ctx, _ccmldsa_verify, + _ccmldsa_verify_prehashed, _ccmldsa_verify_prehashed_with_canary, + _ccmldsa_verify_with_canary, _ccmldsa_verify_with_context, + _ccmldsa_verify_with_context_and_canary, _ccmode_factory_cbc_decrypt, + _ccmode_factory_cbc_encrypt, _ccmode_factory_ccm_decrypt, + _ccmode_factory_ccm_encrypt, _ccmode_factory_cfb8_decrypt, + _ccmode_factory_cfb8_encrypt, _ccmode_factory_cfb_decrypt, + _ccmode_factory_cfb_encrypt, _ccmode_factory_ctr_crypt, _ccmode_factory_gcm_decrypt, + _ccmode_factory_gcm_encrypt, _ccmode_factory_ofb_crypt, _ccmode_factory_siv_decrypt, + _ccmode_factory_siv_encrypt, _ccmode_factory_xts_decrypt, + _ccmode_factory_xts_encrypt, _ccn_add, _ccn_add1, _ccn_bitlen, + _ccn_cmp, _ccn_cmpn, _ccn_lprint, _ccn_print, _ccn_read_uint, + _ccn_set_bit, _ccn_seti, _ccn_sub, _ccn_swap, _ccn_write_int, + _ccn_write_int_size, _ccn_write_uint, _ccn_write_uint_padded, + _ccn_write_uint_padded_ct, _ccn_write_uint_size, _ccn_xor, + _ccn_zero, _ccnistkdf_ctr_cmac, _ccnistkdf_ctr_cmac_fixed, _ccnistkdf_ctr_hmac, _ccnistkdf_ctr_hmac_fixed, _ccofb_block_size, _ccofb_context_size, _ccofb_init, _ccofb_one_shot, _ccofb_update, _ccoid_equal, _ccoid_payload, _ccoid_size, _ccpad_cts1_decrypt, @@ -699,8 +730,9 @@ exports: _ccsae_verify_commitment_with_rejected_groups, _ccsae_verify_confirmation, _ccscrypt, _ccscrypt_storage_size, _ccsha1_di, _ccsha1_eay_di, _ccsha1_ltc_di, _ccsha224_di, _ccsha224_ltc_di, _ccsha256_di, - _ccsha256_ltc_di, _ccsha384_di, _ccsha384_ltc_di, _ccsha3_224_di, - _ccsha3_256_di, _ccsha3_384_di, _ccsha3_512_di, _ccsha512_256_di, + _ccsha256_ltc_di, _ccsha384_di, _ccsha384_ltc_di, _ccsha3_224_c_di, + _ccsha3_224_di, _ccsha3_256_c_di, _ccsha3_256_di, _ccsha3_384_c_di, + _ccsha3_384_di, _ccsha3_512_c_di, _ccsha3_512_di, _ccsha512_256_di, _ccsha512_256_ltc_di, _ccsha512_di, _ccsha512_ltc_di, _ccshake128, _ccshake128_xi, _ccshake256, _ccshake256_xi, _ccsigma_clear, _ccsigma_clear_key, _ccsigma_compute_mac, _ccsigma_derive_session_keys, @@ -723,13 +755,14 @@ exports: _ccspake_get_session_key, _ccspake_kex_generate, _ccspake_kex_process, _ccspake_mac_compute, _ccspake_mac_hkdf_cmac_aes128_sha256, _ccspake_mac_hkdf_hmac_sha256, _ccspake_mac_hkdf_hmac_sha512, - _ccspake_mac_verify_and_get_session_key, _ccspake_prover_init, - _ccspake_prover_initialize, _ccspake_reduce_w, _ccspake_reduce_w_RFC9383, - _ccspake_sizeof_ctx, _ccspake_sizeof_point, _ccspake_sizeof_w, - _ccspake_verifier_init, _ccspake_verifier_initialize, _ccsrp_client_process_challenge, - _ccsrp_client_set_noUsernameInX, _ccsrp_client_start_authentication, - _ccsrp_client_verify_session, _ccsrp_ctx_init, _ccsrp_ctx_init_option, - _ccsrp_ctx_init_with_size_option, _ccsrp_exchange_size, _ccsrp_generate_salt_and_verification, + _ccspake_mac_nistkdf_cmac_aes128_sha256, _ccspake_mac_verify_and_get_session_key, + _ccspake_prover_init, _ccspake_prover_initialize, _ccspake_reduce_w, + _ccspake_reduce_w_RFC9383, _ccspake_sizeof_ctx, _ccspake_sizeof_point, + _ccspake_sizeof_w, _ccspake_verifier_init, _ccspake_verifier_initialize, + _ccsrp_client_process_challenge, _ccsrp_client_set_noUsernameInX, + _ccsrp_client_start_authentication, _ccsrp_client_verify_session, + _ccsrp_ctx_init, _ccsrp_ctx_init_option, _ccsrp_ctx_init_with_size_option, + _ccsrp_exchange_size, _ccsrp_generate_salt_and_verification, _ccsrp_generate_verifier, _ccsrp_get_premaster_secret, _ccsrp_get_session_key, _ccsrp_get_session_key_length, _ccsrp_gp_rfc5054_1024, _ccsrp_gp_rfc5054_2048, _ccsrp_gp_rfc5054_3072, _ccsrp_gp_rfc5054_4096, _ccsrp_gp_rfc5054_8192, @@ -752,13 +785,14 @@ exports: _ccwrap_auth_decrypt, _ccwrap_auth_decrypt_withiv, _ccwrap_auth_encrypt, _ccwrap_auth_encrypt_withiv, _ccwrap_unwrapped_size, _ccwrap_wrapped_size, _ccxof_absorb, _ccxof_init, _ccxof_squeeze, _ccxts_block_size, - _ccxts_context_size, _ccxts_init, _ccxts_one_shot, _ccxts_set_tweak, - _ccxts_update, _ccz_add, _ccz_addi, _ccz_bit, _ccz_bitlen, - _ccz_capacity, _ccz_cmp, _ccz_cmpi, _ccz_divmod, _ccz_expmod, - _ccz_free, _ccz_init, _ccz_is_negative, _ccz_is_one, _ccz_is_prime, - _ccz_is_zero, _ccz_lsl, _ccz_lsr, _ccz_mod, _ccz_mul, _ccz_muli, - _ccz_mulmod, _ccz_n, _ccz_neg, _ccz_random_bits, _ccz_read_radix, - _ccz_read_uint, _ccz_set, _ccz_set_bit, _ccz_set_capacity, + _ccxts_context_size, _ccxts_init, _ccxts_managed_dit_init, + _ccxts_managed_dit_set_tweak, _ccxts_managed_dit_update, _ccxts_one_shot, + _ccxts_set_tweak, _ccxts_update, _ccz_add, _ccz_addi, _ccz_bit, + _ccz_bitlen, _ccz_capacity, _ccz_cmp, _ccz_cmpi, _ccz_divmod, + _ccz_expmod, _ccz_free, _ccz_init, _ccz_is_negative, _ccz_is_one, + _ccz_is_prime, _ccz_is_zero, _ccz_lsl, _ccz_lsr, _ccz_mod, + _ccz_mul, _ccz_muli, _ccz_mulmod, _ccz_n, _ccz_neg, _ccz_random_bits, + _ccz_read_radix, _ccz_read_uint, _ccz_set, _ccz_set_bit, _ccz_set_capacity, _ccz_set_n, _ccz_set_sign, _ccz_seti, _ccz_sign, _ccz_size, _ccz_sub, _ccz_subi, _ccz_trailing_zeros, _ccz_write_int, _ccz_write_int_size, _ccz_write_radix, _ccz_write_radix_size, @@ -766,25 +800,31 @@ exports: _cczp_bitlen, _cczp_inv, _cczp_mod, _cczp_mul, _cczp_n, _cczp_prime, _cczp_sub, _csss_shamir_share_bag_can_recover_secret, _fipspost_post, _fipspost_trace_vtable, _map_to_curve_sswu ] - - targets: [ arm64e-macos, arm64e-maccatalyst ] + - targets: [ arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _ccaes_arm_cbc_decrypt_mode, _ccaes_arm_cbc_encrypt_mode, _ccaes_arm_cfb_decrypt_mode, _ccaes_arm_cfb_encrypt_mode, + _ccaes_arm_ecb_aligned_decrypt_mode, _ccaes_arm_ecb_aligned_encrypt_mode, _ccaes_arm_ecb_decrypt_mode, _ccaes_arm_ecb_encrypt_mode, - _ccaes_arm_ofb_crypt_mode, _ccaes_arm_xts_decrypt_mode, _ccaes_arm_xts_encrypt_mode, - _ccsha1_vng_arm_di, _ccsha224_vng_arm_di, _ccsha256_vng_arm64neon_di, + _ccaes_arm_ofb_crypt_mode, _ccaes_arm_xts_aligned_decrypt_mode, + _ccaes_arm_xts_aligned_encrypt_mode, _ccaes_arm_xts_decrypt_mode, + _ccaes_arm_xts_encrypt_mode, _ccsha1_vng_arm_di, _ccsha224_vng_arm_di, + _ccsha256_vng_arm64neon_di, _ccsha256_vng_arm_aligned_di, _ccsha256_vng_arm_di, _ccsha384_vng_arm_di, _ccsha384_vng_arm_hw_di, _ccsha512_256_vng_arm_di, _ccsha512_256_vng_arm_hw_di, _ccsha512_vng_arm_di, _ccsha512_vng_arm_hw_di ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libdispatch.dylib' -current-version: 1542.100.32 +current-version: 1605.0.2 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ '$ld$hide$os10.12$_dispatch_assert_queue', '$ld$hide$os10.12$_dispatch_assert_queue_not', '$ld$hide$os10.12$_dispatch_queue_create_with_target', __dispatch_begin_NSAutoReleasePool, __dispatch_bug, __dispatch_data_destructor_free, __dispatch_data_destructor_munmap, @@ -894,6 +934,7 @@ exports: _dispatch_source_set_timer, _dispatch_source_testcancel, _dispatch_suspend, _dispatch_swift_job_should_yield, _dispatch_sync, _dispatch_sync_f, _dispatch_thread_get_current_override_qos_floor, _dispatch_thread_override_self, + _dispatch_thread_override_self_with_base, _dispatch_thread_reset_override_self, _dispatch_time, _dispatch_time_from_nsec, _dispatch_time_to_nsec, _dispatch_time_to_nsecs, _dispatch_tsd_indexes, _dispatch_verify_current_queue_4swiftonly, _dispatch_walltime, _dispatch_workloop_copy_current, _dispatch_workloop_create, @@ -946,17 +987,17 @@ exports: --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libdyld.dylib' current-version: 0 compatibility-version: 0 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _NSVersionOfLinkTimeLibrary, _NSVersionOfRunTimeLibrary, _NXArgc, _NXArgv, __NSGetExecutablePath, ___progname, __dyld_atfork_parent, __dyld_atfork_prepare, __dyld_call_with_writable_tpro_memory, @@ -969,12 +1010,12 @@ exports: __dyld_for_objc_header_opt_rw, __dyld_fork_child, __dyld_framework_HWTrace_spis_enabled, __dyld_get_dlopen_image_header, __dyld_get_dyld_header, __dyld_get_image_header, __dyld_get_image_name, __dyld_get_image_slide, __dyld_get_image_uuid, - __dyld_get_image_vmaddr_slide, __dyld_get_objc_selector, __dyld_get_prog_image_header, - __dyld_get_shared_cache_range, __dyld_get_shared_cache_uuid, - __dyld_get_swift_prespecialized_data, __dyld_has_fix_for_radar, - __dyld_has_preoptimized_swift_protocol_conformances, __dyld_image_count, - __dyld_images_for_addresses, __dyld_initializer, __dyld_is_memory_immutable, - __dyld_is_objc_constant, __dyld_is_preoptimized_objc_image_loaded, + __dyld_get_image_vmaddr_slide, __dyld_get_lib_msg_send_offsets, + __dyld_get_objc_selector, __dyld_get_prog_image_header, __dyld_get_shared_cache_range, + __dyld_get_shared_cache_uuid, __dyld_get_swift_prespecialized_data, + __dyld_has_fix_for_radar, __dyld_has_preoptimized_swift_protocol_conformances, + __dyld_image_count, __dyld_images_for_addresses, __dyld_initializer, + __dyld_is_memory_immutable, __dyld_is_objc_constant, __dyld_is_preoptimized_objc_image_loaded, __dyld_is_pseudodylib, __dyld_launch_mode, __dyld_lazy_load, __dyld_lookup_section_info, __dyld_objc_class_count, __dyld_objc_notify_register, __dyld_objc_register_callbacks, __dyld_objc_uses_large_shared_cache, @@ -987,78 +1028,86 @@ exports: __dyld_process_info_retain, __dyld_pseudodylib_deregister, __dyld_pseudodylib_deregister_callbacks, __dyld_pseudodylib_register, __dyld_pseudodylib_register_callbacks, __dyld_register_dlsym_notifier, - __dyld_register_driverkit_main, __dyld_register_for_bulk_image_loads, - __dyld_register_for_image_loads, __dyld_register_func_for_add_image, - __dyld_register_func_for_remove_image, __dyld_shared_cache_contains_path, - __dyld_shared_cache_file_path_containing_address, __dyld_shared_cache_is_locally_built, - __dyld_shared_cache_optimized, __dyld_shared_cache_real_path, + __dyld_register_dlsym_notifier_with_handle, __dyld_register_driverkit_main, + __dyld_register_for_bulk_image_loads, __dyld_register_for_image_loads, + __dyld_register_func_for_add_image, __dyld_register_func_for_remove_image, + __dyld_shared_cache_contains_path, __dyld_shared_cache_file_path_containing_address, + __dyld_shared_cache_is_locally_built, __dyld_shared_cache_optimized, + __dyld_shared_cache_real_path, __dyld_shared_cache_will_check_for_image_overrides, __dyld_stack_bottom, __dyld_stack_range, __dyld_stack_top, - __dyld_swift_optimizations_version, __dyld_visit_objc_classes, - __tlv_atexit, __tlv_bootstrap, __tlv_exit, _dladdr, _dlclose, - _dlerror, _dlopen, _dlopen_audited, _dlopen_from, _dlopen_preflight, - _dlsym, _dyldVersionNumber, _dyldVersionString, _dyld_dynamic_interpose, - _dyld_for_each_installed_shared_cache, _dyld_for_each_installed_shared_cache_ex, - _dyld_for_each_installed_shared_cache_with_system_path, _dyld_get_active_platform, - _dyld_get_base_platform, _dyld_get_image_versions, _dyld_get_min_os_version, - _dyld_get_program_min_os_version, _dyld_get_program_minos_version_token, - _dyld_get_program_sdk_version, _dyld_get_program_sdk_version_token, - _dyld_get_sdk_version, _dyld_has_inserted_or_interposing_libraries, - _dyld_image_content_for_section, _dyld_image_content_for_segment, - _dyld_image_copy_uuid, _dyld_image_for_each_section_info, - _dyld_image_for_each_segment_info, _dyld_image_get_file_path, - _dyld_image_get_installname, _dyld_image_header_containing_address, - _dyld_image_local_nlist_content_4Symbolication, _dyld_image_path_containing_address, - _dyld_image_release_4HWTrace, _dyld_image_retain_4HWTrace, - _dyld_image_segment_data_4HWTrace, _dyld_is_simulator_platform, - _dyld_minos_at_least, _dyld_need_closure, _dyld_process_create_for_current_task, - _dyld_process_create_for_task, _dyld_process_dispose, _dyld_process_has_objc_patches, - _dyld_process_is_restricted, _dyld_process_register_for_event_notification, - _dyld_process_register_for_image_notifications, _dyld_process_snapshot_create_for_process, - _dyld_process_snapshot_create_from_data, _dyld_process_snapshot_create_metrics, - _dyld_process_snapshot_dispose, _dyld_process_snapshot_for_each_image, - _dyld_process_snapshot_get_shared_cache, _dyld_process_unregister_for_notification, - _dyld_program_minos_at_least, _dyld_program_sdk_at_least, - _dyld_sdk_at_least, _dyld_shared_cache_copy_uuid, _dyld_shared_cache_file_path, - _dyld_shared_cache_find_iterate_text, _dyld_shared_cache_for_each_file, - _dyld_shared_cache_for_each_image, _dyld_shared_cache_for_file, - _dyld_shared_cache_get_base_address, _dyld_shared_cache_get_mapped_size, + __dyld_swift_optimizations_version, __dyld_thread_local_free, + __dyld_visit_objc_classes, __tlv_atexit, __tlv_bootstrap, + __tlv_exit, _dladdr, _dlclose, _dlerror, _dlopen, _dlopen_audited, + _dlopen_from, _dlopen_preflight, _dlsym, _dyldVersionNumber, + _dyldVersionString, _dyld_dynamic_interpose, _dyld_for_each_installed_shared_cache, + _dyld_for_each_installed_shared_cache_ex, _dyld_for_each_installed_shared_cache_with_system_path, + _dyld_get_active_platform, _dyld_get_base_platform, _dyld_get_image_versions, + _dyld_get_min_os_version, _dyld_get_program_min_os_version, + _dyld_get_program_minos_version_token, _dyld_get_program_sdk_version, + _dyld_get_program_sdk_version_token, _dyld_get_sdk_version, + _dyld_has_inserted_or_interposing_libraries, _dyld_image_content_for_section, + _dyld_image_content_for_segment, _dyld_image_copy_uuid, _dyld_image_for_each_section_info, + _dyld_image_for_each_segment_info, _dyld_image_get_cpu_subtype, + _dyld_image_get_cpu_type, _dyld_image_get_file_path, _dyld_image_get_installname, + _dyld_image_header_containing_address, _dyld_image_local_nlist_content_4Symbolication, + _dyld_image_path_containing_address, _dyld_image_release_4HWTrace, + _dyld_image_retain_4HWTrace, _dyld_image_segment_data_4HWTrace, + _dyld_is_simulator_platform, _dyld_minos_at_least, _dyld_need_closure, + _dyld_process_create_for_current_task, _dyld_process_create_for_task, + _dyld_process_dispose, _dyld_process_has_objc_patches, _dyld_process_is_restricted, + _dyld_process_register_for_event_notification, _dyld_process_register_for_image_notifications, + _dyld_process_snapshot_create_for_process, _dyld_process_snapshot_create_from_data, + _dyld_process_snapshot_create_metrics, _dyld_process_snapshot_dispose, + _dyld_process_snapshot_for_each_image, _dyld_process_snapshot_get_shared_cache, + _dyld_process_unregister_for_notification, _dyld_program_minos_at_least, + _dyld_program_sdk_at_least, _dyld_sdk_at_least, _dyld_shared_cache_copy_uuid, + _dyld_shared_cache_file_path, _dyld_shared_cache_find_iterate_text, + _dyld_shared_cache_for_each_file, _dyld_shared_cache_for_each_image, + _dyld_shared_cache_for_each_unattributed_range, _dyld_shared_cache_for_file, + _dyld_shared_cache_get_base_address, _dyld_shared_cache_get_cpu_subtype, + _dyld_shared_cache_get_cpu_type, _dyld_shared_cache_get_mapped_size, _dyld_shared_cache_is_mapped_private, _dyld_shared_cache_iterate_text, - _dyld_shared_cache_pin_mapping, _dyld_shared_cache_some_image_overridden, + _dyld_shared_cache_pin_mapping, _dyld_shared_cache_range_type_all, + _dyld_shared_cache_range_type_all_code, _dyld_shared_cache_some_image_overridden, _dyld_shared_cache_unpin_mapping, _dyld_version_token_at_least, _dyld_version_token_get_platform, _environ, _macho_arch_name_for_cpu_type, _macho_arch_name_for_mach_header, _macho_best_slice, _macho_best_slice_in_fd, - _macho_cpu_type_for_arch_name, _macho_dylib_install_name, - _macho_for_each_defined_rpath, _macho_for_each_dependent_dylib, - _macho_for_each_exported_symbol, _macho_for_each_imported_symbol, - _macho_for_each_runnable_arch_name, _macho_for_each_slice, - _macho_for_each_slice_in_fd, _macho_source_version, dyld_stub_binder ] - - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + _macho_cpu_type_for_arch_name, _macho_disk_section_content, + _macho_disk_slice_valid_for_dyld, _macho_dyld_section_content, + _macho_dylib_install_name, _macho_for_each_defined_rpath, + _macho_for_each_dependent_dylib, _macho_for_each_exported_symbol, + _macho_for_each_imported_symbol, _macho_for_each_runnable_arch_name, + _macho_for_each_runnable_platform, _macho_for_each_slice, + _macho_for_each_slice_in_fd, _macho_platform_for_name, _macho_platform_name, + _macho_source_version, _macho_supports_pointer_authentication, + dyld_stub_binder ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ _NSAddImage, _NSAddLibrary, _NSAddLibraryWithSearching, _NSAddressOfSymbol, _NSCreateObjectFileImageFromFile, _NSCreateObjectFileImageFromMemory, _NSDestroyObjectFileImage, _NSGetSectionDataInObjectFileImage, - _NSInstallLinkEditErrorHandlers, _NSIsSymbolDefinedInObjectFileImage, - _NSIsSymbolNameDefined, _NSIsSymbolNameDefinedInImage, _NSIsSymbolNameDefinedWithHint, + _NSIsSymbolDefinedInObjectFileImage, _NSIsSymbolNameDefined, + _NSIsSymbolNameDefinedInImage, _NSIsSymbolNameDefinedWithHint, _NSLibraryNameForModule, _NSLinkEditError, _NSLinkModule, _NSLookupAndBindSymbol, _NSLookupAndBindSymbolWithHint, _NSLookupSymbolInImage, _NSLookupSymbolInModule, _NSModuleForSymbol, _NSNameOfModule, - _NSNameOfSymbol, _NSSymbolDefinitionCountInObjectFileImage, - _NSSymbolDefinitionNameInObjectFileImage, _NSSymbolReferenceCountInObjectFileImage, - _NSSymbolReferenceNameInObjectFileImage, _NSUnLinkModule, - __dyld_all_twolevel_modules_prebound, __dyld_bind_fully_image_containing_address, + _NSUnLinkModule, __dyld_bind_fully_image_containing_address, __dyld_get_image_header_containing_address, __dyld_image_containing_address, - __dyld_launched_prebound, __dyld_lookup_and_bind, __dyld_lookup_and_bind_fully, - __dyld_lookup_and_bind_with_hint, __dyld_present, __dyld_process_info_for_each_aot_image, - _dyld_shared_cache_for_each_subcache4Rosetta, _dyld_shared_subcache_get_info4Rosetta ] + __dyld_lookup_and_bind, __dyld_lookup_and_bind_fully, __dyld_lookup_and_bind_with_hint, + __dyld_present, __dyld_process_info_for_each_aot_image, _dyld_shared_cache_for_each_subcache4Rosetta, + _dyld_shared_subcache_get_info4Rosetta ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libkeymgr.dylib' current-version: 31 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ ___keymgr_dwarf2_register_sections, ___keymgr_initializer, __keymgr_get_and_lock_processwide_ptr, __keymgr_get_and_lock_processwide_ptr_2, __keymgr_get_lock_count_processwide_ptr, __keymgr_get_lockmode_processwide_ptr, @@ -1066,14 +1115,14 @@ exports: __keymgr_unlock_processwide_ptr, _keymgrVersionNumber, _keymgrVersionString ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, arm64-macos, arm64e-macos ] +targets: [ x86_64-macos, arm64-macos, arm64e-macos, arm64e.x1-macos ] install-name: '/usr/lib/system/libmacho.dylib' current-version: 1040 parent-umbrella: - - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos, arm64e.x1-macos ] umbrella: System exports: - - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ _NXCombineCpuSubtypes, _NXFindBestFatArch, _NXFindBestFatArch_64, _NXFreeArchInfo, _NXGetAllArchInfos, _NXGetArchInfoFromCpuType, _NXGetArchInfoFromName, _NXGetLocalArchInfo, _get_edata, _get_end, @@ -1105,14 +1154,17 @@ exports: _swap_x86_thread_state, _swap_x86_thread_state64 ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libquarantine.dylib' -current-version: 196.120.2 +current-version: 217.0.4 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __qtn_error, __qtn_file_alloc, __qtn_file_apply_to_fd, __qtn_file_apply_to_mount_point, __qtn_file_apply_to_path, __qtn_file_clone, __qtn_file_free, __qtn_file_get_flags, __qtn_file_get_identifier, __qtn_file_get_metadata, @@ -1133,7 +1185,7 @@ exports: _responsibility_get_pid_responsible_for_pid, _responsibility_get_responsible_for_pid, _responsibility_get_uniqueid_responsible_for_pid, _responsibility_init, _responsibility_set_pid_responsible_for_pid ] - - targets: [ x86_64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ _qtn_spawnattrs_get_tracking_data, _qtn_spawnattrs_set_tracking_data, _responsibility_get_attribution_for_audittoken, _responsibility_get_responsible_audit_token_for_audit_token, _responsibility_identity_get_binary_entitlement_data, _responsibility_identity_get_binary_is_platform, @@ -1149,14 +1201,17 @@ exports: _responsibility_spawnattrs_getdisclaim, _responsibility_spawnattrs_setdisclaim ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libremovefile.dylib' -current-version: 85.100.6 +current-version: 96 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ ___removefile_init_random, ___removefile_random_char, ___removefile_randomize_buffer, ___removefile_rename_unlink, ___removefile_sunlink, ___removefile_tree_walker, ___removefile_tree_walker_slim, _removefile, _removefile_cancel, @@ -1164,14 +1219,17 @@ exports: _removefile_state_set, _removefileat ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_asl.dylib' -current-version: 406 +current-version: 409 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _ASL_LEVEL_TO_STRING, __asl_evaluate_send, __asl_fork_child, __asl_lib_log, __asl_log_args_to_xpc, __asl_msg_dump, __asl_mt_shim_fork_child, __asl_mt_shim_send_message, __asl_server_cancel_direct_watch, @@ -1242,14 +1300,17 @@ exports: _setlogmask, _syslog, '_syslog$DARWIN_EXTSN', _vsyslog ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_blocks.dylib' -current-version: 96 +current-version: 98.1 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _Block_size, __Block_copy, __Block_extended_layout, __Block_has_signature, __Block_isDeallocating, __Block_layout, __Block_object_assign, __Block_object_dispose, __Block_release, __Block_signature, @@ -1258,11 +1319,13 @@ exports: __NSConcreteStackBlock, __NSConcreteWeakBlockVariable ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_c.dylib' -current-version: 1752.120.2 +current-version: 1786.0.3 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - targets: [ x86_64-macos, x86_64-maccatalyst ] @@ -1279,7 +1342,8 @@ exports: '_scandirat$INODE64', '_scandirat_b$INODE64', '_seekdir$INODE64', _statx64_np, '_statx_np$INODE64', _strtoencf80_l, '_telldir$INODE64', mcount ] - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ '$ld$weak$os10.11$_basename_r', '$ld$weak$os10.11$_clock_getres', '$ld$weak$os10.11$_clock_gettime', '$ld$weak$os10.11$_clock_settime', '$ld$weak$os10.11$_dirname_r', '$ld$weak$os10.11$_getentropy', @@ -1397,8 +1461,11 @@ exports: _fputws, _fputws_l, _fread, _free_printf_comp, _free_printf_domain, _freelocale, _freopen, _fscanf, _fscanf_l, _fseek, _fseeko, _fsetpos, _fstatvfs, _fstatx_np, _fsync_volume_np, _ftell, - _ftello, _ftime, _ftok, _ftrylockfile, _fts_children, _fts_close, - _fts_open, _fts_open_b, _fts_read, _fts_set, _ftw, _fungetrune, + _ftello, _ftime, _ftok, _ftrylockfile, _fts_children, '_fts_children$NFTS', + _fts_close, '_fts_close$NFTS', '_fts_get_clientptr$NFTS', + '_fts_get_stream$NFTS', _fts_open, '_fts_open$NFTS', _fts_open_b, + '_fts_open_b$NFTS', _fts_read, '_fts_read$NFTS', _fts_set, + '_fts_set$NFTS', '_fts_set_clientptr$NFTS', _ftw, _fungetrune, _funlockfile, _funopen, _fwide, _fwprintf, _fwprintf_l, _fwrite, _fwscanf, _fwscanf_l, _fxprintf, _fxprintf_exec, _gcvt, _getbsize, _getc, _getc_unlocked, _getchar, _getchar_unlocked, _getcwd, @@ -1508,15 +1575,10 @@ exports: _timegm, _timelocal, _timeoff, _times, _timespec_get, _timezone, _timingsafe_bcmp, _tmpfile, _tmpnam, _toascii, _tolower, _tolower_l, _toupper, _toupper_l, _towctrans, _towctrans_l, _towlower, - _towlower_l, _towupper, _towupper_l, _tre_ast_new_catenation, - _tre_ast_new_iter, _tre_ast_new_literal, _tre_ast_new_node, - _tre_ast_new_union, _tre_compile, _tre_fill_pmatch, _tre_free, - _tre_mem_alloc_impl, _tre_mem_destroy, _tre_mem_new_impl, - _tre_parse, _tre_stack_destroy, _tre_stack_new, _tre_stack_num_items, - _tre_tnfa_run_backtrack, _tre_tnfa_run_parallel, _tsearch, - _ttyname, _ttyname_r, _ttyslot, _twalk, _tzname, _tzset, _tzsetwall, - _ualarm, _ulimit, _umaskx_np, _uname, _ungetc, _ungetwc, _ungetwc_l, - _unlockpt, _unsetenv, _unvis, _uselocale, _usleep, '_usleep$NOCANCEL', + _towlower_l, _towupper, _towupper_l, _tsearch, _ttyname, _ttyname_r, + _ttyslot, _twalk, _tzname, _tzset, _tzsetwall, _ualarm, _ulimit, + _umaskx_np, _uname, _ungetc, _ungetwc, _ungetwc_l, _unlockpt, + _unsetenv, _unvis, _uselocale, _usleep, '_usleep$NOCANCEL', _utime, _utmpxname, _uuid_clear, _uuid_compare, _uuid_copy, _uuid_generate, _uuid_generate_random, _uuid_generate_time, _uuid_is_null, _uuid_pack, _uuid_parse, _uuid_unpack, _uuid_unparse, @@ -1548,21 +1610,25 @@ exports: _xprintf_exec ] weak-symbols: [ __os_debug_log_redirect_func ] reexports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _bcmp, _bzero, _index, _memccpy, _memchr, _memcmp, _memcpy, _memmove, _memset, _memset_pattern16, _memset_pattern4, _memset_pattern8, _strchr, _strcmp, _strcpy, _strlcat, _strlcpy, _strlen, _strncmp, _strncpy, _strnlen, _strstr ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_collections.dylib' -current-version: 1752.120.2 +current-version: 1786.0.3 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _os_map_128_clear, _os_map_128_count, _os_map_128_delete, _os_map_128_destroy, _os_map_128_find, _os_map_128_foreach, _os_map_128_init, _os_map_128_insert, _os_map_32_clear, _os_map_32_count, @@ -1572,24 +1638,30 @@ exports: _os_map_64_init, _os_map_64_insert, _os_map_str_clear, _os_map_str_count, _os_map_str_delete, _os_map_str_destroy, _os_map_str_entry, _os_map_str_find, _os_map_str_foreach, _os_map_str_init, _os_map_str_insert, - _os_set_32_ptr_clear, _os_set_32_ptr_count, _os_set_32_ptr_delete, - _os_set_32_ptr_destroy, _os_set_32_ptr_find, _os_set_32_ptr_foreach, - _os_set_32_ptr_init, _os_set_32_ptr_insert, _os_set_64_ptr_clear, - _os_set_64_ptr_count, _os_set_64_ptr_delete, _os_set_64_ptr_destroy, - _os_set_64_ptr_find, _os_set_64_ptr_foreach, _os_set_64_ptr_init, - _os_set_64_ptr_insert, _os_set_str_ptr_clear, _os_set_str_ptr_count, - _os_set_str_ptr_delete, _os_set_str_ptr_destroy, _os_set_str_ptr_find, - _os_set_str_ptr_foreach, _os_set_str_ptr_init, _os_set_str_ptr_insert ] + _os_set_128_ptr_clear, _os_set_128_ptr_count, _os_set_128_ptr_delete, + _os_set_128_ptr_destroy, _os_set_128_ptr_find, _os_set_128_ptr_foreach, + _os_set_128_ptr_init, _os_set_128_ptr_insert, _os_set_32_ptr_clear, + _os_set_32_ptr_count, _os_set_32_ptr_delete, _os_set_32_ptr_destroy, + _os_set_32_ptr_find, _os_set_32_ptr_foreach, _os_set_32_ptr_init, + _os_set_32_ptr_insert, _os_set_64_ptr_clear, _os_set_64_ptr_count, + _os_set_64_ptr_delete, _os_set_64_ptr_destroy, _os_set_64_ptr_find, + _os_set_64_ptr_foreach, _os_set_64_ptr_init, _os_set_64_ptr_insert, + _os_set_str_ptr_clear, _os_set_str_ptr_count, _os_set_str_ptr_delete, + _os_set_str_ptr_destroy, _os_set_str_ptr_find, _os_set_str_ptr_foreach, + _os_set_str_ptr_init, _os_set_str_ptr_insert ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_configuration.dylib' -current-version: 1405.120.5 +current-version: 1446 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __dns_configuration_ack, __libSC_info_fork_child, __libSC_info_fork_parent, __libSC_info_fork_prepare, __nwi_config_agent_copy_data, __nwi_state_ack, __nwi_state_force_refresh, _config_agent_copy_dns_information, @@ -1606,18 +1678,24 @@ exports: _nwi_state_get_reachability_flags, _nwi_state_release ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_containermanager.dylib' parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _CMCONTAINERSEAM_DEFAULT, _CMDISPATCHSEAM_DEFAULT, _CMFSSEAM_DEFAULT, - _CMNOTIFYSEAM_DEFAULT, _CMPWDSEAM_DEFAULT, _CMQUARANTINESEAM_DEFAULT, - _CMSANDBOXSEAM_DEFAULT, _CONTAINER_CLASS_NAMES, _CONTAINER_NOTIFY_GENERATION_INITIAL, + _CMKPERSONASEAM_DEFAULT, _CMNOTIFYSEAM_DEFAULT, _CMPWDSEAM_DEFAULT, + _CMQUARANTINESEAM_DEFAULT, _CMSANDBOXSEAM_DEFAULT, _CONTAINER_CLASS_NAMES, + _CONTAINER_MODE_ERROR, _CONTAINER_NOTIFY_GENERATION_INITIAL, _CONTAINER_NOTIFY_GENERATION_INVALID, _CONTAINER_NOTIFY_USER_INVALIDATED, - _CONTAINER_PERSONA_CURRENT, _CONTAINER_PERSONA_PRIMARY, __container_init, + _CONTAINER_PERSONA_ALL_AVAILABLE, _CONTAINER_PERSONA_CURRENT, + _CONTAINER_PERSONA_PRIMARY, _CONTAINER_POSIX_OWNERSHIP_NULL, + _CONTAINER_TRAVERSE_ATTR_ENTRY_LENGTH_FIELD_SIZE, __container_init, __container_notify_copy_notify_name, __container_query_get_next_result_sync, __container_query_get_result_at_index, __container_query_get_servicing_pid, __container_query_operation_set_private_flags, __container_query_reset_iterator, @@ -1631,8 +1709,9 @@ exports: _container_audit_token_copy_entitlement, _container_audit_token_copy_executable_name, _container_audit_token_copy_executable_name_with_pid, _container_audit_token_for_pid, _container_audit_token_get_codesign_status, _container_audit_token_get_egid, - _container_audit_token_get_euid, _container_audit_token_get_pid, - _container_audit_token_get_platform, _container_audit_token_is_valid, + _container_audit_token_get_euid, _container_audit_token_get_launch_persona, + _container_audit_token_get_pid, _container_audit_token_get_platform, + _container_audit_token_get_uid, _container_audit_token_is_valid, _container_authorize, _container_authorize_container, _container_authorize_container_for_self, _container_authorize_get_result_description, _container_base64_decode, _container_base64_decode_string, _container_base64_encode, @@ -1642,10 +1721,12 @@ exports: _container_class_supports_randomized_path, _container_class_supports_randomized_path_on_current_platform, _container_client_copy_decoded_from_xpc_object, _container_client_copy_encoded_xpc_object, _container_client_copy_entitlement, _container_client_create_from_audit_token, + _container_client_create_from_audit_token_with_launch_persona, _container_client_get_audit_token, _container_client_get_codesign_identifier, _container_client_get_codesign_team_identifier, _container_client_get_egid, - _container_client_get_euid, _container_client_get_persona_unique_string, - _container_client_get_pid, _container_client_get_platform, + _container_client_get_euid, _container_client_get_launch_persona, + _container_client_get_persona_unique_string, _container_client_get_pid, + _container_client_get_platform, _container_client_get_uid, _container_client_initializer, _container_client_is_alive, _container_client_is_platform_binary, _container_client_is_sandboxed, _container_client_is_signature_valid, _container_client_is_signed, @@ -1665,6 +1746,7 @@ exports: _container_create_or_lookup_path_for_current_user, _container_create_or_lookup_path_for_platform, _container_create_or_lookup_system_group_paths, _container_create_or_lookup_user_managed_assets_path, _container_create_or_lookup_user_managed_assets_relative_path, + _container_debug_copy_state, _container_debug_dump_state, _container_delete, _container_delete_all_container_content, _container_delete_all_data_container_content_for_current_user, _container_delete_array_of_containers, _container_delete_user_managed_assets, @@ -1685,6 +1767,7 @@ exports: _container_frozenset_get_count, _container_frozenset_get_creator_of_container_at_index, _container_frozenset_get_generation, _container_frozenset_get_identifier_of_container_at_index, _container_frozenset_get_is_new_of_container_at_index, _container_frozenset_get_is_transient_of_container_at_index, + _container_frozenset_get_ownership_of_container_at_index, _container_frozenset_get_path_of_container_at_index, _container_frozenset_get_persona_unique_string_of_container_at_index, _container_frozenset_get_stored_string, _container_frozenset_get_uid_of_container_at_index, _container_frozenset_get_uma_relative_path_of_container_at_index, @@ -1692,11 +1775,12 @@ exports: _container_frozenset_get_uuid_of_container_at_index, _container_fs_add_path_component, _container_fs_append_trailing_slash, _container_fs_item_exists, _container_fs_item_exists_at, _container_fs_load_plist_at, - _container_fs_path_at, _container_fs_resolve_dirent_type_at, - _container_get_all_with_class_for_current_user, _container_get_class, - _container_get_creator_codesign_identifier, _container_get_error_description, - _container_get_identifier, _container_get_info, _container_get_info_value_for_key, - _container_get_path, _container_get_persona_unique_string, + _container_fs_parse_mode_string, _container_fs_path_at, _container_fs_resolve_dirent_type_at, + _container_fs_set_mode_string, _container_get_all_with_class_for_current_user, + _container_get_class, _container_get_creator_codesign_identifier, + _container_get_error_description, _container_get_identifier, + _container_get_info, _container_get_info_value_for_key, _container_get_path, + _container_get_persona_unique_string, _container_get_posix_ownership, _container_get_uid, _container_get_unique_path_component, _container_get_user_managed_assets_relative_path, _container_group_container_identifiers_for_current_user, _container_info_delete, _container_info_modify, _container_info_put, @@ -1705,44 +1789,50 @@ exports: _container_log_client_fault_logging_is_enabled, _container_log_error, _container_log_error_with_faults, _container_log_ext_error, _container_log_ext_error_with_faults, _container_log_handle_for_category, - _container_log_replication_disable, _container_log_replication_enable_to_uid_relative_path, - _container_log_replication_prune_for_uid, _container_log_set_client_fault_logging, + _container_log_set_client_fault_logging, _container_notify_cancel_generation_handler, _container_notify_create, _container_notify_create_with_class, _container_notify_create_with_initial_gen_count, _container_notify_free, _container_notify_get_generation, _container_notify_get_last_error, _container_notify_has_changed, _container_notify_increment_generation, - _container_notify_post, _container_notify_set_class, _container_notify_set_event_handler, + _container_notify_post, _container_notify_register_generation_handler, + _container_notify_set_class, _container_notify_set_event_handler, _container_notify_set_flags, _container_notify_set_generation, _container_notify_set_queue, _container_notify_set_uid, _container_notify_start, _container_notify_stop, _container_object_copy, _container_object_create, _container_object_create_blank, _container_object_free, _container_object_get_class, _container_object_get_creator_codesign_identifier, _container_object_get_identifier, _container_object_get_info, _container_object_get_path, _container_object_get_persona_unique_string, - _container_object_get_query, _container_object_get_sandbox_token, - _container_object_get_uid, _container_object_get_unique_path_component, - _container_object_get_user_managed_assets_relative_path, _container_object_get_uuid, - _container_object_is_new, _container_object_is_transient, + _container_object_get_posix_ownership, _container_object_get_query, + _container_object_get_sandbox_token, _container_object_get_uid, + _container_object_get_unique_path_component, _container_object_get_user_managed_assets_relative_path, + _container_object_get_uuid, _container_object_is_new, _container_object_is_transient, _container_object_sandbox_extension_activate, _container_object_set_backing_store_from_query, _container_object_set_class, _container_object_set_creator_codesign_identifier, _container_object_set_info, _container_object_set_is_new, - _container_object_set_path, _container_object_set_sandbox_token, - _container_object_set_transient, _container_object_set_unique_path_component, - _container_object_set_user_managed_assets_relative_path, _container_object_set_uuid, - _container_object_update_metadata, _container_operation_complete_background_tasks, - _container_operation_delete, _container_operation_delete_array, - _container_operation_delete_reclaim_disk_space, _container_paths_context_create, + _container_object_set_path, _container_object_set_posix_ownership, + _container_object_set_sandbox_token, _container_object_set_transient, + _container_object_set_unique_path_component, _container_object_set_user_managed_assets_relative_path, + _container_object_set_uuid, _container_object_update_metadata, + _container_operation_complete_background_tasks, _container_operation_delete, + _container_operation_delete_array, _container_operation_delete_reclaim_disk_space, + _container_operation_set_data_protection, _container_paths_context_create, _container_paths_context_free, _container_paths_context_set_class, _container_paths_context_set_flags, _container_paths_context_set_persona_unique_string, _container_paths_context_set_transient, _container_paths_context_set_uid, - _container_paths_copy_container_at, _container_paths_copy_container_from_path, - _container_paths_copy_container_root_path_for_context, _container_paths_copy_part_subpath, - _container_paths_copy_uid_home_relative, _container_paths_create_uid_home_relative, - _container_paths_enumerate_containers_at, _container_perfect_hash_copyout_external_bytes, - _container_perfect_hash_count, _container_perfect_hash_create, - _container_perfect_hash_create_from_external_bytes, _container_perfect_hash_destroy, - _container_perfect_hash_index_of, _container_perfect_hash_num_indexes, - _container_perform_with_client_context, _container_persona_collect_all_ids, - _container_persona_convert_unique_string_to_persona_uid, _container_persona_foreach, + _container_paths_copy_container_at, _container_paths_copy_container_from_managed_prefix_path, + _container_paths_copy_container_from_path, _container_paths_copy_container_root_path_for_context, + _container_paths_copy_part_subpath, _container_paths_copy_uid_home_relative, + _container_paths_create_uid_home_relative, _container_paths_enumerate_containers_at, + _container_perfect_hash_copyout_external_bytes, _container_perfect_hash_count, + _container_perfect_hash_create, _container_perfect_hash_create_from_external_bytes, + _container_perfect_hash_destroy, _container_perfect_hash_index_of, + _container_perfect_hash_num_indexes, _container_perform_with_client_context, + _container_persona_collect_all_ids, _container_persona_convert_unique_string_to_persona_uid, + _container_persona_copy, _container_persona_copy_from_persona_id, + _container_persona_copy_from_voucher_proximate, _container_persona_foreach, + _container_persona_foreach_path_by_type, _container_persona_free, + _container_persona_get_unique_string, _container_posix_ownership_copy_unlocalized_description, + _container_posix_ownership_default, _container_posix_ownership_is_null, _container_process_restored_container, _container_pwd_copy_user_home_path, _container_pwd_for_name, _container_pwd_for_uid, _container_pwd_get_cached_current_user_home_path, _container_pwd_get_mobile_user_uid, _container_query_copy, @@ -1752,8 +1842,9 @@ exports: _container_query_iterate_results_with_subquery_sync, _container_query_operation_set_client, _container_query_operation_set_flags, _container_query_operation_set_part, _container_query_operation_set_part_domain, _container_query_operation_set_platform, - _container_query_set_class, _container_query_set_group_identifiers, - _container_query_set_identifiers, _container_query_set_include_other_owners, + _container_query_set_class, _container_query_set_container_identifiers, + _container_query_set_group_identifiers, _container_query_set_identifiers, + _container_query_set_include_other_owners, _container_query_set_ownership, _container_query_set_persona_unique_string, _container_query_set_transient, _container_query_set_uid, _container_realpath, _container_realpathat, _container_recreate_structure, _container_references_get_last_error, @@ -1763,7 +1854,8 @@ exports: _container_sandbox_issue_extension, _container_seam_container_reset, _container_seam_container_set_common, _container_seam_dispatch_reset, _container_seam_dispatch_set_common, _container_seam_fs_ensure_lazy_loaded, - _container_seam_fs_reset, _container_seam_fs_set_common, _container_seam_notify_reset, + _container_seam_fs_reset, _container_seam_fs_set_common, _container_seam_kpersona_reset, + _container_seam_kpersona_set_common, _container_seam_notify_reset, _container_seam_notify_set_common, _container_seam_pwd_reset, _container_seam_pwd_set_common, _container_seam_quarantine_reset, _container_seam_quarantine_set_common, _container_seam_sandbox_reset, @@ -1791,10 +1883,12 @@ exports: _container_user_managed_assets_relative_path, _container_xpc_connection_is_shared, _container_xpc_create_connection, _container_xpc_decode_container_object, _container_xpc_decode_create_container_object_array, _container_xpc_decode_error, + _container_xpc_decode_ownership_object, _container_xpc_decode_persona_object, _container_xpc_encode_client_onto_message, _container_xpc_encode_container_array, _container_xpc_encode_container_as_object, _container_xpc_encode_container_metadata_as_object, _container_xpc_encode_container_object, _container_xpc_encode_error, - _container_xpc_encode_error_as_object, _container_xpc_get_incoming_reply_preprocess_block, + _container_xpc_encode_error_as_object, _container_xpc_encode_ownership_as_object, + _container_xpc_encode_persona_as_object, _container_xpc_get_incoming_reply_preprocess_block, _container_xpc_get_outgoing_message_postprocess_block, _container_xpc_get_outgoing_message_send_block, _container_xpc_get_raw_connection, _container_xpc_invalidate_connection, _container_xpc_release, _container_xpc_send_message, _container_xpc_send_sync_message, @@ -1802,9 +1896,9 @@ exports: _container_xpc_set_incoming_reply_preprocess_block, _container_xpc_set_outgoing_message_postprocess_block, _container_xpc_set_outgoing_message_send_block, _container_xpc_set_use_shared_connection, _container_xpc_shared_copy_connection, _gCMContainerSeam, - _gCMDispatchSeam, _gCMFSSeam, _gCMNotifySeam, _gCMPWDSeam, - _gCMQuarantineSeam, _gCMSandboxSeam ] - - targets: [ x86_64-maccatalyst, arm64e-maccatalyst ] + _gCMDispatchSeam, _gCMFSSeam, _gCMKPersonaSeam, _gCMNotifySeam, + _gCMPWDSeam, _gCMQuarantineSeam, _gCMSandboxSeam ] + - targets: [ x86_64-maccatalyst, arm64e-maccatalyst, arm64e.x1-maccatalyst ] symbols: [ _CONTAINER_CURRENT_MOBILE_UID, _CONTAINER_INSTALLATION_UID, _CONTAINER_SYSTEM_UID, _container_create_or_lookup, _container_create_or_lookup_app_group_paths, _container_create_or_lookup_group_container_paths_for_current_user, @@ -1818,32 +1912,38 @@ exports: _container_references_set_uid ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_coreservices.dylib' current-version: 129 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _NSGetNextSearchPathEnumeration, _NSStartSearchPathEnumeration, _NSStartSearchPathEnumerationPrivate, ___user_local_dirname, ___user_relative_dirname, __dirhelper, __dirhelper_relative, __get_user_dir_suffix, __libcoreservices_fork_child, __set_user_dir_suffix, _sysdir_get_next_search_path_enumeration, _sysdir_start_search_path_enumeration, _sysdir_start_search_path_enumeration_private ] - - targets: [ x86_64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ ___user_relative_dirname_with_hints, __dirhelper_relative_with_hints, __dirhelper_remove_test, __dirhelper_test, __idle_exit ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_darwin.dylib' parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ ___libdarwin_init, ___os_temporary_resource_shortage, _claimfd_np, _close_drop_np, _close_drop_optional_np, _crfprintf_np, _dirstat_np, _dirstatat_np, _dup_np, _err_np, _errc_np, _fcheck_np, _memdup2_np, @@ -1853,46 +1953,52 @@ exports: _os_crash_spawnattr_set_reporter_port, _os_enumerate_boot_args, _os_enumerate_boot_args_b, _os_enumerate_boot_args_from_buffer, _os_enumerate_boot_args_from_buffer_b, _os_flagset_copy_string, - _os_localtime_file, _os_mach_msg_copy_description, _os_mach_msg_get_audit_trailer, - _os_mach_msg_get_context_trailer, _os_mach_msg_get_trailer, - _os_mach_msg_trailer_copy_description, _os_mach_port_copy_description, - _os_parse_boot_arg_from_buffer_int, _os_parse_boot_arg_from_buffer_string, - _os_parse_boot_arg_int, _os_parse_boot_arg_string, _os_simple_hash, - _os_simple_hash_string, _os_simple_hash_string_with_seed, - _os_simple_hash_with_seed, _os_subcommand_fprintf, _os_subcommand_main, - _os_subcommand_vfprintf, _os_variant_allows_internal_security_policies, - _os_variant_allows_security_research, _os_variant_check, _os_variant_copy_description, - _os_variant_has_factory_content, _os_variant_has_internal_content, - _os_variant_has_internal_diagnostics, _os_variant_has_internal_ui, - _os_variant_init_4launchd, _os_variant_is_darwinos, _os_variant_is_recovery, - _os_variant_uses_ephemeral_storage, _realpath_np, _strerror_np, - _strexit_np, _symerror_np, _symexit_np, _sysctl_get_data_np, - _sysctlbyname_get_data_np, _sysexit_np, _vcrfprintf_np, _verr_np, - _verrc_np, _vwarn_np, _vwfprintf_np, _warn_np, _wfprintf_np, - _xferfd_np, _zsnprintf_np ] - - targets: [ x86_64-macos, arm64e-macos ] + _os_localtime_file, _os_lockdown_mode_enabled, _os_mach_msg_copy_description, + _os_mach_msg_get_audit_trailer, _os_mach_msg_get_context_trailer, + _os_mach_msg_get_trailer, _os_mach_msg_trailer_copy_description, + _os_mach_port_copy_description, _os_parse_boot_arg_from_buffer_int, + _os_parse_boot_arg_from_buffer_string, _os_parse_boot_arg_int, + _os_parse_boot_arg_string, _os_simple_hash, _os_simple_hash_string, + _os_simple_hash_string_with_seed, _os_simple_hash_with_seed, + _os_subcommand_fprintf, _os_subcommand_main, _os_subcommand_vfprintf, + _os_variant_allows_internal_security_policies, _os_variant_allows_security_research, + _os_variant_check, _os_variant_copy_description, _os_variant_has_factory_content, + _os_variant_has_internal_content, _os_variant_has_internal_diagnostics, + _os_variant_has_internal_ui, _os_variant_init_4launchd, _os_variant_is_darwinos, + _os_variant_is_recovery, _os_variant_uses_ephemeral_storage, + _realpath_np, _strerror_np, _strexit_np, _symerror_np, _symexit_np, + _sysctl_get_data_np, _sysctlbyname_get_data_np, _sysexit_np, + _vcrfprintf_np, _verr_np, _verrc_np, _vwarn_np, _vwfprintf_np, + _warn_np, _wfprintf_np, _xferfd_np, _zsnprintf_np ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ _os_boot_mode_query, _os_variant_is_basesystem ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_darwindirectory.dylib' parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _DarwinDirectoryGetGeneration, _DarwinDirectoryRecordStoreApply, _DarwinDirectoryRecordStoreApplyWithFilter ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_dnssd.dylib' -current-version: 2881.120.11 +current-version: 3111.0.5 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _DNSServiceAddRecord, _DNSServiceAttrCreate, _DNSServiceAttrFree, _DNSServiceAttrSetFailoverPolicy, _DNSServiceAttrSetValidationData, _DNSServiceAttrSetValidationPolicy, _DNSServiceAttributeCreate, @@ -1920,42 +2026,49 @@ exports: _kDNSServiceAttributeAAAAFallback ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, arm64e-macos ] +targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] install-name: '/usr/lib/system/libsystem_eligibility.dylib' -current-version: 319.121.1 +current-version: 446.1.3 parent-umbrella: - - targets: [ x86_64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] umbrella: System exports: - - targets: [ x86_64-macos, arm64e-macos ] - symbols: [ _os_eligibility_domain_for_name, _os_eligibility_dump_sysdiagnose_data_to_dir, - _os_eligibility_fetch_newest_policies, _os_eligibility_force_domain_answer, - _os_eligibility_force_domain_set_answers, _os_eligibility_get_all_domain_answers, - _os_eligibility_get_domain_answer, _os_eligibility_get_domain_notification_name, - _os_eligibility_get_error_description, _os_eligibility_get_internal_state, - _os_eligibility_get_state_dump, _os_eligibility_precise_locations, - _os_eligibility_reset_all_domains, _os_eligibility_reset_domain, - _os_eligibility_set_input, _os_eligibility_set_test_mode ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] + symbols: [ _os_eligibility_bring_up_daemon_4_migration, _os_eligibility_bring_up_daemon_4_secure_erase, + _os_eligibility_diff_mobile_asset, _os_eligibility_domain_for_name, + _os_eligibility_dump_sysdiagnose_data_to_dir, _os_eligibility_fetch_newest_policies, + _os_eligibility_force_domain_answer, _os_eligibility_force_domain_set_answers, + _os_eligibility_get_all_domain_answers, _os_eligibility_get_domain_answer, + _os_eligibility_get_domain_notification_name, _os_eligibility_get_error_description, + _os_eligibility_get_internal_state, _os_eligibility_get_state_dump, + _os_eligibility_precise_locations, _os_eligibility_reset_all_domains, + _os_eligibility_reset_domain, _os_eligibility_set_input, _os_eligibility_set_test_mode ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_featureflags.dylib' -current-version: 103 +current-version: 108 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __os_feature_enabled_impl, __os_feature_enabled_simple_impl ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_info.dylib' parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _LI_get_thread_item, _LI_get_thread_list, _LI_ils_create, _LI_set_thread_item, _LI_set_thread_list, ___dn_skipname, __authenticate, __ds_running, __gai_nat64_can_v4_address_be_synthesized, @@ -2071,12 +2184,12 @@ exports: --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_kernel.dylib' -current-version: 12377.121.6 +current-version: 13432.1.9 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - targets: [ x86_64-macos, x86_64-maccatalyst ] @@ -2084,7 +2197,7 @@ exports: '_getfsstat$INODE64', _i386_get_ldt, _i386_set_ldt, '_lstat$INODE64', '_pselect$1050', '_select$1050', '_stat$INODE64', '_statfs$INODE64' ] - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _NDR_record, _____sigwait_nocancel, ____kernelVersionNumber, ____kernelVersionString, ___abort_with_payload, ___accept, ___accept_nocancel, ___access_extended, ___aio_suspend_nocancel, @@ -2097,16 +2210,16 @@ exports: ___csrctl, ___darwin_check_fd_set_overflow, ___debug_syscall_reject, ___debug_syscall_reject_config, ___delete, ___disable_threadsignal, ___error, ___execve, ___exit, ___fchmod, ___fchmod_extended, - ___fcntl, ___fcntl_nocancel, ___fork, ___fs_snapshot, ___fstat64_extended, - ___fstat_extended, ___fsync_nocancel, ___get_remove_counter, - ___getattrlist, ___getdirentries64, ___gethostuuid, ___getlogin, - ___getpeername, ___getpid, ___getrlimit, ___getsgroups, ___getsockname, - ___gettid, ___gettimeofday, ___getwgroups, ___guarded_open_dprotected_np, - ___guarded_open_np, ___identitysvc, ___inc_remove_counter, - ___initgroups, ___ioctl, ___iopolicysys, ___kdebug_trace, - ___kdebug_trace64, ___kdebug_trace_string, ___kdebug_typefilter, - ___kill, ___kqueue_workloop_ctl, ___lchown, ___libkernel_init, - ___libkernel_init_after_boot_tasks, ___libkernel_init_late, + ___fchmodat, ___fcntl, ___fcntl_nocancel, ___fork, ___fs_snapshot, + ___fstat64_extended, ___fstat_extended, ___fsync_nocancel, + ___get_remove_counter, ___getattrlist, ___getdirentries64, + ___gethostuuid, ___getlogin, ___getpeername, ___getpid, ___getrlimit, + ___getsgroups, ___getsockname, ___gettid, ___gettimeofday, + ___getwgroups, ___guarded_open_dprotected_np, ___guarded_open_np, + ___identitysvc, ___inc_remove_counter, ___initgroups, ___ioctl, + ___iopolicysys, ___kdebug_trace, ___kdebug_trace64, ___kdebug_trace_string, + ___kdebug_typefilter, ___kill, ___kqueue_workloop_ctl, ___lchown, + ___libkernel_init, ___libkernel_init_after_boot_tasks, ___libkernel_init_late, ___libkernel_platform_init, ___libkernel_voucher_init, ___listen, ___log_data, ___lseek, ___lstat64_extended, ___lstat_extended, ___mac_execve, ___mac_get_fd, ___mac_get_file, ___mac_get_link, @@ -2124,20 +2237,20 @@ exports: ___openat_nocancel, ___os_nexus_flow_add, ___os_nexus_flow_del, ___os_nexus_get_llink_info, ___os_nexus_ifattach, ___os_nexus_ifdetach, ___oslog_coproc, ___oslog_coproc_reg, ___persona, ___pipe, - ___poll_nocancel, ___posix_spawn, ___pread_nocancel, ___preadv_nocancel, - ___proc_info, ___proc_info_extended_id, ___process_policy, - ___pselect, ___pselect_nocancel, ___psynch_cvbroad, ___psynch_cvclrprepost, - ___psynch_cvsignal, ___psynch_cvwait, ___psynch_mutexdrop, - ___psynch_mutexwait, ___psynch_rw_downgrade, ___psynch_rw_longrdlock, - ___psynch_rw_rdlock, ___psynch_rw_unlock, ___psynch_rw_unlock2, - ___psynch_rw_upgrade, ___psynch_rw_wrlock, ___psynch_rw_yieldwrlock, - ___pthread_canceled, ___pthread_chdir, ___pthread_fchdir, - ___pthread_kill, ___pthread_markcancel, ___pthread_sigmask, - ___ptrace, ___pwrite_nocancel, ___pwritev_nocancel, ___read_nocancel, - ___readv_nocancel, ___reboot, ___record_system_event, ___recvfrom, - ___recvfrom_nocancel, ___recvmsg, ___recvmsg_nocancel, ___rename, - ___renameat, ___renameatx_np, ___rmdir, ___sandbox_me, ___sandbox_mm, - ___sandbox_ms, ___sandbox_msp, ___select, ___select_nocancel, + ___pipe2, ___poll_nocancel, ___posix_spawn, ___pread_nocancel, + ___preadv_nocancel, ___proc_info, ___proc_info_extended_id, + ___process_policy, ___pselect, ___pselect_nocancel, ___psynch_cvbroad, + ___psynch_cvclrprepost, ___psynch_cvsignal, ___psynch_cvwait, + ___psynch_mutexdrop, ___psynch_mutexwait, ___psynch_rw_downgrade, + ___psynch_rw_longrdlock, ___psynch_rw_rdlock, ___psynch_rw_unlock, + ___psynch_rw_unlock2, ___psynch_rw_upgrade, ___psynch_rw_wrlock, + ___psynch_rw_yieldwrlock, ___pthread_canceled, ___pthread_chdir, + ___pthread_fchdir, ___pthread_kill, ___pthread_markcancel, + ___pthread_sigmask, ___ptrace, ___pwrite_nocancel, ___pwritev_nocancel, + ___read_nocancel, ___readv_nocancel, ___reboot, ___record_system_event, + ___recvfrom, ___recvfrom_nocancel, ___recvmsg, ___recvmsg_nocancel, + ___rename, ___renameat, ___renameatx_np, ___rmdir, ___sandbox_me, + ___sandbox_mm, ___sandbox_ms, ___sandbox_msp, ___select, ___select_nocancel, ___sem_open, ___sem_wait_nocancel, ___semctl, ___semsys, ___semwait_signal, ___semwait_signal_nocancel, ___sendmsg, ___sendmsg_nocancel, ___sendto, ___sendto_nocancel, ___setattrlist, ___setlogin, @@ -2203,13 +2316,14 @@ exports: _abort_with_payload, _abort_with_reason, _accept, '_accept$NOCANCEL', _access, _accessx_np, _acct, _act_get_state, _act_set_state, _adjtime, _aio_cancel, _aio_error, _aio_fsync, _aio_read, - _aio_return, _aio_suspend, '_aio_suspend$NOCANCEL', _aio_write, - _audit, _audit_session_join, _audit_session_port, _audit_session_self, - _auditctl, _auditon, _bind, _bootstrap_port, _cerror, _cerror_nocancel, - _change_fdguard_np, _chdir, _chflags, _chmod, _chown, _chroot, - _clock_alarm, _clock_alarm_reply, _clock_get_attributes, _clock_get_time, - _clock_set_attributes, _clock_set_time, _clock_sleep, _clock_sleep_trap, - _clonefile, _clonefileat, _close, '_close$NOCANCEL', _coalition_create, + _aio_readv, _aio_return, _aio_suspend, '_aio_suspend$NOCANCEL', + _aio_write, _aio_writev, _audit, _audit_session_join, _audit_session_port, + _audit_session_self, _auditctl, _auditon, _bind, _bootstrap_port, + _cerror, _cerror_nocancel, _change_fdguard_np, _chdir, _chflags, + _chmod, _chown, _chroot, _clock_alarm, _clock_alarm_reply, + _clock_get_attributes, _clock_get_time, _clock_set_attributes, + _clock_set_time, _clock_sleep, _clock_sleep_trap, _clonefile, + _clonefileat, _close, '_close$NOCANCEL', _coalition_create, _coalition_info_debug_info, _coalition_info_pid_list, _coalition_info_resource_usage, _coalition_info_set_efficiency, _coalition_info_set_name, _coalition_ledger_set_logical_writes_limit, _coalition_policy_get, @@ -2217,43 +2331,47 @@ exports: _connect, '_connect$NOCANCEL', _connectx, _csops, _csops_audittoken, _csr_check, _csr_get_active_config, _debug_control_port_for_pid, _debug_syscall_reject, _debug_syscall_reject_config, _denap_boost_assertion_token, - _disconnectx, _dup, _dup2, _errno, _etap_trace_thread, _exc_server, - _exc_server_routine, _exception_raise, _exception_raise_state, - _exception_raise_state_identity, _exchangedata, _exclaves_aoe_enumerate_and_setup_services, - _exclaves_aoe_get_all_service_infos, _exclaves_aoe_message_loop, - _exclaves_aoe_message_loop_with_service_id, _exclaves_aoe_setup, - _exclaves_aoe_work_loop, _exclaves_aoe_work_loop_with_service_id, + _disableiopolicy_np, _disconnectx, _dup, _dup2, _dup3, _enableiopolicy_np, + _errno, _etap_trace_thread, _exc_server, _exc_server_routine, + _exception_raise, _exception_raise_state, _exception_raise_state_identity, + _exchangedata, _exclaves_aoe_enumerate_and_setup_services, + _exclaves_aoe_get_all_service_infos, _exclaves_aoe_message_loop_with_service_id, + _exclaves_aoe_setup, _exclaves_aoe_work_loop_with_service_id, _exclaves_arbitrated_buffer_copyout, _exclaves_arbitrated_buffer_create, _exclaves_audio_buffer_copyout, _exclaves_audio_buffer_copyout_with_status, - _exclaves_audio_buffer_create, _exclaves_boot, _exclaves_daemon_notification_deregister, - _exclaves_daemon_notification_register, _exclaves_endpoint_call, - _exclaves_inbound_buffer_copyin, _exclaves_inbound_buffer_create, - _exclaves_indicator_min_on_time, _exclaves_launch_conclave, - _exclaves_lookup_service, _exclaves_named_buffer_copyin, _exclaves_named_buffer_copyout, - _exclaves_named_buffer_create, _exclaves_notification_create, - _exclaves_outbound_buffer_copyout, _exclaves_outbound_buffer_create, - _exclaves_sensor_create, _exclaves_sensor_start, _exclaves_sensor_status, - _exclaves_sensor_stop, _execve, _faccessat, _fchdir, _fchflags, - _fchmod, _fchmodat, _fchown, _fchownat, _fclonefileat, _fcntl, - '_fcntl$NOCANCEL', _fdatasync, _ffsctl, _fgetattrlist, _fgetxattr, - _fhopen, _fileport_makefd, _fileport_makeport, _flistxattr, - _flock, _fmount, _fpathconf, _freadlink, _fremovexattr, _fs_snapshot_create, - _fs_snapshot_delete, _fs_snapshot_list, _fs_snapshot_mount, - _fs_snapshot_rename, _fs_snapshot_revert, _fs_snapshot_root, - _fsctl, _fsetattrlist, _fsetxattr, _fsgetpath, _fsgetpath_ext, - _fstat, _fstat64, _fstatat, _fstatat64, _fstatfs, _fstatfs64, - _fstatfs_ext, _fsync, '_fsync$NOCANCEL', _ftruncate, _funmount, - _futimens, _futimes, _getattrlist, _getattrlistat, _getattrlistbulk, + _exclaves_audio_buffer_create, _exclaves_boot, _exclaves_c2cc_recv_loop, + _exclaves_conclave_enable_c2cc_recv, _exclaves_daemon_notification_deregister, + _exclaves_daemon_notification_register, _exclaves_device_state, + _exclaves_endpoint_call, _exclaves_exsurfaceroot_connection_create, + _exclaves_exsurfaceroot_surface_usecount_update, _exclaves_inbound_buffer_copyin, + _exclaves_inbound_buffer_create, _exclaves_indicator_min_on_time, + _exclaves_launch_conclave, _exclaves_lookup_service, _exclaves_named_buffer_copyin, + _exclaves_named_buffer_copyout, _exclaves_named_buffer_create, + _exclaves_notification_create, _exclaves_outbound_buffer_copyout, + _exclaves_outbound_buffer_create, _exclaves_sensor_create, + _exclaves_sensor_start, _exclaves_sensor_status, _exclaves_sensor_stop, + _exclaves_stats_count, _exclaves_stats_describe, _exclaves_stats_read, + _execve, _faccessat, _fchdir, _fchflags, _fchflagsat, _fchmod, + _fchmodat, _fchown, _fchownat, _fclonefileat, _fcntl, '_fcntl$NOCANCEL', + _fdatasync, _ffsctl, _fgetattrlist, _fgetxattr, _fhopen, _fileport_makefd, + _fileport_makeport, _flistxattr, _flock, _fmount, _fpathconf, + _freadlink, _fremovexattr, _fs_snapshot_create, _fs_snapshot_delete, + _fs_snapshot_list, _fs_snapshot_mount, _fs_snapshot_rename, + _fs_snapshot_revert, _fs_snapshot_root, _fsctl, _fsctlat, + _fsetattrlist, _fsetxattr, _fsgetpath, _fsgetpath_ext, _fstat, + _fstat64, _fstatat, _fstatat64, _fstatfs, _fstatfs64, _fstatfs_ext, + _fsync, '_fsync$NOCANCEL', _ftruncate, _funmount, _futimens, + _futimes, _getattrlist, _getattrlistat, _getattrlistbulk, _getaudit, _getaudit_addr, _getauid, _getdirentries, _getdirentriesattr, _getdtablesize, _getegid, _getentropy, _geteuid, _getfh, _getfsstat, _getfsstat64, _getgid, _getgroups, _gethostuuid, _getiopolicy_np, _getitimer, _getpeername, _getpgid, _getpgrp, _getpid, _getppid, _getpriority, _getrlimit, _getrusage, _getsgroups_np, _getsid, - _getsockname, _getsockopt, _getuid, _getwgroups_np, _getxattr, - _grab_pgo_data, _graftdmg, _guarded_close_np, _guarded_kqueue_np, - _guarded_open_dprotected_np, _guarded_open_np, _guarded_pwrite_np, - _guarded_write_np, _guarded_writev_np, _host_check_multiuser_mode, - _host_create_mach_voucher, _host_create_mach_voucher_trap, + _getsockname, _getsockopt, _getuid, _getumask, _getwgroups_np, + _getxattr, _grab_pgo_data, _graftdmg, _guarded_close_np, _guarded_ftruncate_np, + _guarded_kqueue_np, _guarded_open_dprotected_np, _guarded_open_np, + _guarded_pwrite_np, _guarded_write_np, _guarded_writev_np, + _host_check_multiuser_mode, _host_create_mach_voucher, _host_create_mach_voucher_trap, _host_default_memory_manager, _host_get_UNDServer, _host_get_atm_diagnostic_flag, _host_get_boot_info, _host_get_clock_control, _host_get_clock_service, _host_get_exception_ports, _host_get_io_main, _host_get_io_master, @@ -2276,25 +2394,26 @@ exports: _kill, _kmod_control, _kmod_create, _kmod_destroy, _kmod_get_info, _kpersona_alloc, _kpersona_dealloc, _kpersona_find, _kpersona_find_by_type, _kpersona_get, _kpersona_getpath, _kpersona_info, _kpersona_palloc, - _kpersona_pidinfo, _kqueue, _lchown, _ledger, _link, _linkat, - _lio_listio, _listen, _listxattr, _lock_set_create, _lock_set_destroy, - _log_data_as_kernel, _lseek, _lstat, _lstat64, _mach_absolute_time, - _mach_approximate_time, _mach_boottime_usec, _mach_continuous_approximate_time, - _mach_continuous_time, _mach_error, _mach_error_full_diag, - _mach_error_string, _mach_error_type, _mach_eventlink_associate, - _mach_eventlink_create, _mach_eventlink_destroy, _mach_eventlink_disassociate, - _mach_eventlink_signal, _mach_eventlink_signal_wait_until, + _kpersona_pidinfo, _kpersona_pidinfo_audit_token, _kqueue, + _lchown, _ledger, _link, _linkat, _lio_listio, _listen, _listxattr, + _lock_set_create, _lock_set_destroy, _log_data_as_kernel, + _lseek, _lstat, _lstat64, _mach_absolute_time, _mach_approximate_time, + _mach_boottime_usec, _mach_continuous_approximate_time, _mach_continuous_time, + _mach_error, _mach_error_full_diag, _mach_error_string, _mach_error_type, + _mach_eventlink_associate, _mach_eventlink_create, _mach_eventlink_destroy, + _mach_eventlink_disassociate, _mach_eventlink_signal, _mach_eventlink_signal_wait_until, _mach_eventlink_wait_until, _mach_generate_activity_id, _mach_get_times, _mach_host_self, _mach_host_special_port_description, _mach_host_special_port_for_id, _mach_init, _mach_make_memory_entry, _mach_make_memory_entry_64, _mach_memory_entry_access_tracking, _mach_memory_entry_get_page_counts, _mach_memory_entry_ownership, _mach_memory_entry_purgable_control, - _mach_memory_info, _mach_memory_info_redacted, _mach_memory_object_memory_entry, - _mach_memory_object_memory_entry_64, _mach_msg, _mach_msg2_internal, - _mach_msg2_trap, _mach_msg_destroy, _mach_msg_overwrite, _mach_msg_overwrite_trap, - _mach_msg_priority_encode, _mach_msg_priority_is_pthread_priority, - _mach_msg_priority_overide_qos, _mach_msg_priority_qos, _mach_msg_priority_relpri, - _mach_msg_receive, _mach_msg_send, _mach_msg_server, _mach_msg_server_importance, + _mach_memory_entry_region_info, _mach_memory_info, _mach_memory_info_redacted, + _mach_memory_object_memory_entry, _mach_memory_object_memory_entry_64, + _mach_msg, _mach_msg2_internal, _mach_msg2_trap, _mach_msg_destroy, + _mach_msg_overwrite, _mach_msg_overwrite_trap, _mach_msg_priority_encode, + _mach_msg_priority_is_pthread_priority, _mach_msg_priority_overide_qos, + _mach_msg_priority_qos, _mach_msg_priority_relpri, _mach_msg_receive, + _mach_msg_send, _mach_msg_server, _mach_msg_server_importance, _mach_msg_server_once, _mach_msg_trap, _mach_notify_dead_name, _mach_notify_no_senders, _mach_notify_port_deleted, _mach_notify_port_destroyed, _mach_notify_send_once, _mach_port_allocate, _mach_port_allocate_full, @@ -2423,7 +2542,7 @@ exports: _os_packet_trace_event, _os_proc_available_memory, _panic, _panic_init, _panic_with_data, _pathconf, _peeloff, _pid_for_task, _pid_hibernate, _pid_resume, _pid_shutdown_networking, _pid_shutdown_sockets, - _pid_suspend, _pipe, _pivot_root, _poll, '_poll$NOCANCEL', + _pid_suspend, _pipe, _pipe2, _pivot_root, _poll, '_poll$NOCANCEL', _port_obj_init, _port_obj_table, _port_obj_table_size, _posix_madvise, _posix_spawn, _posix_spawn_file_actions_add_fileportdup2_np, _posix_spawn_file_actions_addchdir, _posix_spawn_file_actions_addchdir_np, @@ -2433,6 +2552,7 @@ exports: _posix_spawn_file_actions_destroy, _posix_spawn_file_actions_init, _posix_spawnattr_destroy, _posix_spawnattr_disable_ptr_auth_a_keys_np, _posix_spawnattr_get_darwin_role_np, _posix_spawnattr_get_qos_clamp_np, + _posix_spawnattr_get_shared_region_config_np, _posix_spawnattr_get_shared_region_namespace_np, _posix_spawnattr_getarchpref_np, _posix_spawnattr_getbinpref_np, _posix_spawnattr_getcpumonitor, _posix_spawnattr_getflags, _posix_spawnattr_getmacpolicyinfo_np, _posix_spawnattr_getpcontrol_np, @@ -2452,62 +2572,64 @@ exports: _posix_spawnattr_set_persona_uid_np, _posix_spawnattr_set_platform_np, _posix_spawnattr_set_portlimits_ext, _posix_spawnattr_set_ptrauth_task_port_np, _posix_spawnattr_set_qos_clamp_np, _posix_spawnattr_set_registered_ports_np, - _posix_spawnattr_set_subsystem_root_path_np, _posix_spawnattr_set_telemetry_np, - _posix_spawnattr_set_threadlimit_ext, _posix_spawnattr_set_uid_np, - _posix_spawnattr_set_use_sec_transition_shims_np, _posix_spawnattr_setarchpref_np, - _posix_spawnattr_setauditsessionport_np, _posix_spawnattr_setbinpref_np, - _posix_spawnattr_setcoalition_np, _posix_spawnattr_setcpumonitor, - _posix_spawnattr_setcpumonitor_default, _posix_spawnattr_setdataless_iopolicy_np, - _posix_spawnattr_setexceptionports_np, _posix_spawnattr_setflags, - _posix_spawnattr_setjetsam_ext, _posix_spawnattr_setmacpolicyinfo_np, - _posix_spawnattr_setnosmt_np, _posix_spawnattr_setpcontrol_np, - _posix_spawnattr_setpgroup, _posix_spawnattr_setprocesstype_np, - _posix_spawnattr_setsigdefault, _posix_spawnattr_setsigmask, - _posix_spawnattr_setspecialport_np, _pread, '_pread$NOCANCEL', - _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, _proc_clear_delayidlesleep, - _proc_clear_dirty, _proc_clear_vmpressure, _proc_current_thread_schedinfo, - _proc_denap_assertion_begin_with_msg, _proc_denap_assertion_complete, - _proc_disable_apptype, _proc_disable_cpumon, _proc_disable_wakemon, - _proc_donate_importance_boost, _proc_enable_apptype, _proc_get_cpumon_params, - _proc_get_dirty, _proc_get_wakemon_params, _proc_importance_assertion_begin_with_msg, - _proc_importance_assertion_complete, _proc_kmsgbuf, _proc_libversion, - _proc_list_dynkqueueids, _proc_list_uptrs, _proc_listallpids, - _proc_listchildpids, _proc_listcoalitions, _proc_listpgrppids, - _proc_listpids, _proc_listpidspath, _proc_name, _proc_pid_rusage, - _proc_piddynkqueueinfo, _proc_pidfdinfo, _proc_pidfileportinfo, - _proc_pidinfo, _proc_pidoriginatorinfo, _proc_pidpath, _proc_pidpath_audittoken, - _proc_regionfilename, _proc_reset_footprint_interval, _proc_resume_cpumon, - _proc_rlimit_control, _proc_set_cpumon_defaults, _proc_set_cpumon_params, - _proc_set_cpumon_params_fatal, _proc_set_csm, _proc_set_delayidlesleep, - _proc_set_dirty, _proc_set_no_smt, _proc_set_owner_vmpressure, - _proc_set_wakemon_defaults, _proc_set_wakemon_params, _proc_setcpu_percentage, - _proc_setpcontrol, _proc_setthread_cpupercent, _proc_setthread_csm, - _proc_setthread_no_smt, _proc_signal_delegate, _proc_signal_with_audittoken, - _proc_suppress, _proc_terminate, _proc_terminate_all_rsr, - _proc_terminate_delegate, _proc_terminate_with_audittoken, - _proc_trace_log, _proc_track_dirty, _proc_udata_info, _proc_uuid_policy, - _processor_assign, _processor_control, _processor_exit, _processor_get_assignment, - _processor_info, _processor_set_create, _processor_set_default, - _processor_set_destroy, _processor_set_info, _processor_set_max_priority, - _processor_set_policy_control, _processor_set_policy_disable, - _processor_set_policy_enable, _processor_set_stack_usage, - _processor_set_statistics, _processor_set_tasks, _processor_set_tasks_with_flavor, - _processor_set_threads, _processor_start, _pselect, '_pselect$DARWIN_EXTSN', - '_pselect$DARWIN_EXTSN$NOCANCEL', '_pselect$NOCANCEL', _pthread_getugid_np, - _pthread_setugid_np, _ptrace, _pwrite, '_pwrite$NOCANCEL', - _pwritev, '_pwritev$NOCANCEL', _quota, _quotactl, _read, '_read$NOCANCEL', - _readlink, _readlinkat, _readv, '_readv$NOCANCEL', _reboot, - _reboot_np, _record_system_event_as_kernel, _recvfrom, '_recvfrom$NOCANCEL', - _recvmsg, '_recvmsg$NOCANCEL', _recvmsg_x, _register_uexc_handler, - _removexattr, _rename, _rename_ext, _renameat, _renameatx_np, - _renamex_np, _revoke, _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN', - '_select$DARWIN_EXTSN$NOCANCEL', '_select$NOCANCEL', _sem_close, - _sem_destroy, _sem_getvalue, _sem_init, _sem_open, _sem_post, - _sem_trywait, _sem_unlink, _sem_wait, '_sem_wait$NOCANCEL', - _semaphore_create, _semaphore_destroy, _semaphore_signal, - _semaphore_signal_all, _semaphore_signal_all_trap, _semaphore_signal_thread, - _semaphore_signal_thread_trap, _semaphore_signal_trap, _semaphore_timedwait, - _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap, + _posix_spawnattr_set_shared_region_config_np, _posix_spawnattr_set_shared_region_namespace_np, + _posix_spawnattr_set_subsystem_root_path_np, _posix_spawnattr_set_task_security_policy_np, + _posix_spawnattr_set_telemetry_np, _posix_spawnattr_set_threadlimit_ext, + _posix_spawnattr_set_uid_np, _posix_spawnattr_set_use_sanitizers_np, + _posix_spawnattr_set_use_sec_transition_shims_np, _posix_spawnattr_set_virtual_env_np, + _posix_spawnattr_setarchpref_np, _posix_spawnattr_setauditsessionport_np, + _posix_spawnattr_setbinpref_np, _posix_spawnattr_setcoalition_np, + _posix_spawnattr_setcpumonitor, _posix_spawnattr_setcpumonitor_default, + _posix_spawnattr_setdataless_iopolicy_np, _posix_spawnattr_setexceptionports_np, + _posix_spawnattr_setflags, _posix_spawnattr_setjetsam_ext, + _posix_spawnattr_setmacpolicyinfo_np, _posix_spawnattr_setnosmt_np, + _posix_spawnattr_setpcontrol_np, _posix_spawnattr_setpgroup, + _posix_spawnattr_setprocesstype_np, _posix_spawnattr_setsigdefault, + _posix_spawnattr_setsigmask, _posix_spawnattr_setspecialport_np, + _pread, '_pread$NOCANCEL', _preadv, '_preadv$NOCANCEL', _proc_clear_cpulimits, + _proc_clear_delayidlesleep, _proc_clear_dirty, _proc_clear_vmpressure, + _proc_current_thread_schedinfo, _proc_denap_assertion_begin_with_msg, + _proc_denap_assertion_complete, _proc_disable_apptype, _proc_disable_cpumon, + _proc_disable_wakemon, _proc_donate_importance_boost, _proc_enable_apptype, + _proc_get_cpumon_params, _proc_get_dirty, _proc_get_wakemon_params, + _proc_importance_assertion_begin_with_msg, _proc_importance_assertion_complete, + _proc_kmsgbuf, _proc_libversion, _proc_list_dynkqueueids, + _proc_list_uptrs, _proc_listallpids, _proc_listchildpids, + _proc_listcoalitions, _proc_listpgrppids, _proc_listpids, + _proc_listpidspath, _proc_name, _proc_pid_rusage, _proc_piddynkqueueinfo, + _proc_pidfdinfo, _proc_pidfileportinfo, _proc_pidinfo, _proc_pidoriginatorinfo, + _proc_pidpath, _proc_pidpath_audittoken, _proc_regionfilename, + _proc_reset_footprint_interval, _proc_resume_cpumon, _proc_rlimit_control, + _proc_set_cpumon_defaults, _proc_set_cpumon_params, _proc_set_cpumon_params_fatal, + _proc_set_csm, _proc_set_delayidlesleep, _proc_set_dirty, + _proc_set_no_smt, _proc_set_owner_vmpressure, _proc_set_wakemon_defaults, + _proc_set_wakemon_params, _proc_setcpu_percentage, _proc_setpcontrol, + _proc_setthread_cpupercent, _proc_setthread_csm, _proc_setthread_no_smt, + _proc_signal_delegate, _proc_signal_with_audittoken, _proc_suppress, + _proc_terminate, _proc_terminate_all_rsr, _proc_terminate_delegate, + _proc_terminate_with_audittoken, _proc_trace_log, _proc_track_dirty, + _proc_udata_info, _proc_uuid_policy, _processor_assign, _processor_control, + _processor_exit, _processor_get_assignment, _processor_info, + _processor_set_create, _processor_set_default, _processor_set_destroy, + _processor_set_info, _processor_set_max_priority, _processor_set_policy_control, + _processor_set_policy_disable, _processor_set_policy_enable, + _processor_set_stack_usage, _processor_set_statistics, _processor_set_tasks, + _processor_set_tasks_with_flavor, _processor_set_threads, + _processor_start, _pselect, '_pselect$DARWIN_EXTSN', '_pselect$DARWIN_EXTSN$NOCANCEL', + '_pselect$NOCANCEL', _pthread_getugid_np, _pthread_setugid_np, + _ptrace, _pwrite, '_pwrite$NOCANCEL', _pwritev, '_pwritev$NOCANCEL', + _quota, _quotactl, _read, '_read$NOCANCEL', _readlink, _readlinkat, + _readv, '_readv$NOCANCEL', _reboot, _reboot_np, _record_system_event_as_kernel, + _recvfrom, '_recvfrom$NOCANCEL', _recvmsg, '_recvmsg$NOCANCEL', + _recvmsg_x, _register_uexc_handler, _removexattr, _rename, + _rename_ext, _renameat, _renameatx_np, _renamex_np, _revoke, + _rmdir, _searchfs, _select, '_select$DARWIN_EXTSN', '_select$DARWIN_EXTSN$NOCANCEL', + '_select$NOCANCEL', _sem_close, _sem_destroy, _sem_getvalue, + _sem_init, _sem_open, _sem_post, _sem_trywait, _sem_unlink, + _sem_wait, '_sem_wait$NOCANCEL', _semaphore_create, _semaphore_destroy, + _semaphore_signal, _semaphore_signal_all, _semaphore_signal_all_trap, + _semaphore_signal_thread, _semaphore_signal_thread_trap, _semaphore_signal_trap, + _semaphore_timedwait, _semaphore_timedwait_signal, _semaphore_timedwait_signal_trap, _semaphore_timedwait_trap, _semaphore_wait, _semaphore_wait_signal, _semaphore_wait_signal_trap, _semaphore_wait_trap, _semctl, _semget, _semop, _semsys, _sendfile, _sendmsg, '_sendmsg$NOCANCEL', @@ -2567,7 +2689,8 @@ exports: _thread_suspend2, _thread_swap_exception_ports, _thread_swap_mach_voucher, _thread_switch, _thread_terminate, _thread_wire, _tracker_action, _truncate, _umask, _undelete, _ungraftdmg, _unlink, _unlinkat, - _unmount, _usrctl, _utimensat, _utimes, _vfs_purge, _vm_allocate, + _unmount, _usrctl, _utimensat, _utimes, _vfs_purge, _virtual_env_create, + _virtual_env_get_current, _virtual_env_get_info, _vm_allocate, _vm_allocate_cpm, _vm_behavior_set, _vm_copy, _vm_deallocate, _vm_inherit, _vm_kernel_page_mask, _vm_kernel_page_shift, _vm_kernel_page_size, _vm_machine_attribute, _vm_map, _vm_map_page_query, @@ -2589,20 +2712,22 @@ exports: _work_interval_instance_update, _work_interval_join, _work_interval_join_port, _work_interval_leave, _work_interval_notify, _work_interval_notify_simple, _write, '_write$NOCANCEL', _writev, '_writev$NOCANCEL' ] - - targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ ___fstat, ___fstatat, ___fstatfs, ___getfsstat, ___lstat, ___stat, ___statfs, __current_pid, _mach_absolute_time_kernel, - _mach_continuous_time_kernel, _os_custom_x18_abi_enabled, - _os_set_custom_x18_abi_enabled, _update_tpidr ] + _mach_continuous_time_kernel, _os_cross_arch_is_supported, + _os_custom_x18_abi_enabled, _os_set_custom_x18_abi_enabled, + _update_tpidr ] --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_m.dylib' -current-version: 3312.100.1 +current-version: 3326.0.1 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst ] @@ -2644,7 +2769,7 @@ exports: __simd_tanpi_f8, __simd_tgamma_d4, __simd_tgamma_d8, __simd_tgamma_f16, __simd_tgamma_f8 ] - targets: [ x86_64-macos, x86_64-maccatalyst, x86_64h-macos, x86_64h-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __FE_DFL_ENV, ___Libm_version, ___ceilf16, ___copysignf16, ___cos_d2, ___cos_f4, ___cospi, ___cospif, ___exp10, ___exp10f, ___fabsf16, ___fegetfltrounds, ___floorf16, ___fmaf16, ___fmaxf16, @@ -2814,18 +2939,21 @@ exports: '_tanhl$fenv_access_off', '_tanl$fenv_access_off', '_tgamma$fenv_access_off', '_tgammaf$fenv_access_off', '_tgammal$fenv_access_off', '_trunc$fenv_access_off', '_truncf$fenv_access_off', '_truncl$fenv_access_off' ] - - targets: [ arm64e-macos, arm64e-maccatalyst ] + - targets: [ arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __FE_DFL_DISABLE_DENORMS_ENV ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_malloc.dylib' -current-version: 812.100.31 +current-version: 886.0.8 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ ___mach_stack_logging_shared_memory_address, ___malloc_init, ___malloc_late_init, __malloc_fork_child, __malloc_fork_parent, __malloc_fork_prepare, __malloc_no_asl_log, __os_cpu_number_override, @@ -2870,13 +2998,16 @@ exports: _zeroify_scalable_zone ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_networkextension.dylib' parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _NEHelperCacheAddRedirectedAddress, _NEHelperCacheClearRedirectedAddresses, _NEHelperCacheClearUUIDs, _NEHelperCacheClearUUIDsForBundleID, _NEHelperCacheCopyAppUUIDMapping, _NEHelperCacheCopyAppUUIDMappingExtended, @@ -2959,14 +3090,17 @@ exports: _nelog_is_info_logging_enabled ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_notify.dylib' -current-version: 348.120.4 +current-version: 368 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __notify_fork_child, _notify_cancel, _notify_check, _notify_dump_status, _notify_get_event, _notify_get_state, _notify_is_valid_token, _notify_monitor_file, _notify_peek, _notify_post, _notify_register_check, @@ -2977,12 +3111,12 @@ exports: --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_platform.dylib' -current-version: 375.120.2 +current-version: 402.0.1 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - targets: [ x86_64-macos, x86_64-maccatalyst ] @@ -2992,7 +3126,7 @@ exports: _memmove_sse_np, _memset_pattern16_sse_np, _memset_pattern4_sse_np, _memset_pattern8_sse_np, _memset_sse_np ] - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _OSAtomicAdd32, _OSAtomicAdd32Barrier, _OSAtomicAdd64, _OSAtomicAdd64Barrier, _OSAtomicAnd32, _OSAtomicAnd32Barrier, _OSAtomicAnd32Orig, _OSAtomicAnd32OrigBarrier, _OSAtomicCompareAndSwap32, _OSAtomicCompareAndSwap32Barrier, @@ -3051,22 +3185,23 @@ exports: _setjmp, _siglongjmp, _sigsetjmp, _spin_lock, _spin_lock_try, _spin_unlock, _swapcontext, _sys_cache_control, _sys_dcache_flush, _sys_icache_invalidate, _timingsafe_enable_if_supported, _timingsafe_restore_if_supported ] - - targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ arm64-macos, arm64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ ___sme_memchr, ___sme_memcpy, ___sme_memmove, ___sme_memset, __ctx_done, _os_apt_msg_async_task_stopped_4swift ] --- !tapi-tbd tbd-version: 4 targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_pthread.dylib' -current-version: 539.100.4 +current-version: 553.0.1 parent-umbrella: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - targets: [ x86_64-macos, x86_64-maccatalyst, arm64-macos, arm64-maccatalyst, - arm64e-macos, arm64e-maccatalyst ] + arm64e-macos, arm64e-maccatalyst, arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ ____chkstk_darwin, ___is_threaded, ___pthread_init, ___pthread_late_init, ___pthread_workqueue_setkill, ___unix_conforming, __pthread_atfork_child, __pthread_atfork_child_handlers, __pthread_atfork_parent, @@ -3148,18 +3283,21 @@ exports: _pthread_yield_np, _qos_class_main, _qos_class_self, _sched_get_priority_max, _sched_get_priority_min, _sched_yield, _sigwait, '_sigwait$NOCANCEL', _start_wqthread, _thread_chkstk_darwin, _thread_start ] - - targets: [ x86_64-macos, arm64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ __pthread_mutex_enable_legacy_mode, _pthread_jit_write_protect_np ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_sandbox.dylib' -current-version: 2680.120.12 +current-version: 3051.0.52 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _APP_SANDBOX_IOKIT_CLIENT, _APP_SANDBOX_MACH, _APP_SANDBOX_READ, _APP_SANDBOX_READ_WRITE, _IOS_SANDBOX_APPLICATION_GROUP, _IOS_SANDBOX_CONTAINER, _SANDBOX_CHECK_ALLOW_APPROVAL, _SANDBOX_CHECK_CANONICAL, _SANDBOX_CHECK_NOFOLLOW, @@ -3173,14 +3311,14 @@ exports: _SANDBOX_STORAGE_CLASS_GROUP_ANY, _SANDBOX_STORAGE_CLASS_PROPERTY_ACCEPTS_USER_APPROVAL, _SANDBOX_STORAGE_CLASS_PROPERTY_READ_RESTRICTED, _SANDBOX_STORAGE_CLASS_PROPERTY_REPLACEMENT_RESTRICTED, _SANDBOX_STORAGE_CLASS_PROPERTY_WRITE_RESTRICTED, __amkrtemp, - __sandbox_enter_notify_libxpc, __sandbox_in_a_container, __sandbox_register_app_bundle_0, - __sandbox_register_app_bundle_1, _kSBXProfileNoInternet, _kSBXProfileNoNetwork, - _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, _kSBXProfilePureComputation, - _kSandboxAppBundleAnySigningId, _kSandboxAppBundlePlatformTeamId, - _kSandboxAppContainerAnySigningId, _kSandboxAppContainerPlatformTeamId, - _rootless_allows_task_for_pid, _rootless_check_datavault_flag, - _rootless_check_restricted_flag, _rootless_check_trusted, - _rootless_check_trusted_class, _rootless_check_trusted_fd, + __sandbox_enter_notify_libxpc, __sandbox_in_a_container, _kSBXProfileNoInternet, + _kSBXProfileNoNetwork, _kSBXProfileNoWrite, _kSBXProfileNoWriteExceptTemporary, + _kSBXProfilePureComputation, _kSandboxAppBundleAnySigningId, + _kSandboxAppBundlePlatformTeamId, _kSandboxAppContainerAnySigningId, + _kSandboxAppContainerPlatformTeamId, _kSandboxAppDataProtectionAnySigningId, + _kSandboxAppDataProtectionPlatformTeamId, _rootless_allows_task_for_pid, + _rootless_check_datavault_flag, _rootless_check_restricted_flag, + _rootless_check_trusted, _rootless_check_trusted_class, _rootless_check_trusted_fd, _rootless_convert_to_datavault, _rootless_mkdir_datavault, _rootless_mkdir_nounlink, _rootless_mkdir_restricted, _rootless_protected_volume, _rootless_protected_volume_fd, _rootless_register_trusted_storage_class, @@ -3188,19 +3326,19 @@ exports: _rootless_remove_restricted_in_favor_of_static_storage_class, _rootless_restricted_environment, _rootless_suspend, _rootless_trusted_by_self_token, _rootless_verify_trusted_by_self_token, _sandbox_apply_bytecode, - _sandbox_builtin_query, _sandbox_check, _sandbox_check_bulk, - _sandbox_check_by_audit_token, _sandbox_check_by_reference, - _sandbox_check_by_uniqueid, _sandbox_check_finder_automation_for_path, + _sandbox_builtin_query, _sandbox_check, _sandbox_check_and_query_approval_category, + _sandbox_check_asr_parser, _sandbox_check_bulk, _sandbox_check_by_audit_token, + _sandbox_check_by_reference, _sandbox_check_by_uniqueid, _sandbox_check_finder_automation_for_path, _sandbox_check_message_filter_integer, _sandbox_check_message_filter_string, _sandbox_check_network, _sandbox_check_process_signal_target, _sandbox_check_protected_app_container, _sandbox_check_self_signal_target, _sandbox_check_storage_class, _sandbox_check_with_attribution, _sandbox_checkattr_alloc, _sandbox_checkattr_disable_reporting, - _sandbox_checkattr_free, _sandbox_consume_extension, _sandbox_consume_fs_extension, - _sandbox_consume_mach_extension, _sandbox_container_path_for_audit_token, - _sandbox_container_path_for_pid, _sandbox_enable_local_state_flag, - _sandbox_enable_root_translation, _sandbox_enable_state_flag, - _sandbox_extension_consume, _sandbox_extension_issue_file, + _sandbox_checkattr_free, _sandbox_clear_approval_cache, _sandbox_consume_extension, + _sandbox_consume_fs_extension, _sandbox_consume_mach_extension, + _sandbox_container_path_for_audit_token, _sandbox_container_path_for_pid, + _sandbox_enable_local_state_flag, _sandbox_enable_root_translation, + _sandbox_enable_state_flag, _sandbox_extension_consume, _sandbox_extension_issue_file, _sandbox_extension_issue_file_to_process, _sandbox_extension_issue_file_to_process_by_pid, _sandbox_extension_issue_file_to_self, _sandbox_extension_issue_generic, _sandbox_extension_issue_generic_to_process, _sandbox_extension_issue_generic_to_process_by_pid, @@ -3212,16 +3350,18 @@ exports: _sandbox_extension_release_file, _sandbox_extension_update_file, _sandbox_extension_update_file_by_fileid, _sandbox_free_error, _sandbox_get_container_expected, _sandbox_init, _sandbox_init_from_pid, - _sandbox_init_with_parameters, _sandbox_issue_fs_extension, - _sandbox_issue_mach_extension, _sandbox_message_filter_query, - _sandbox_message_filter_release, _sandbox_message_filter_retain, - _sandbox_note, _sandbox_passthrough_access, _sandbox_proc_getcontainer, - _sandbox_proc_getprofilename, _sandbox_query_approval_policy_for_path, - _sandbox_query_user_intent_for_process_with_audit_token, _sandbox_reference_release, - _sandbox_reference_retain_by_audit_token, _sandbox_register_app_bundle, - _sandbox_register_app_bundle_exception, _sandbox_register_app_bundle_package_exception, - _sandbox_register_app_container, _sandbox_register_app_container_exception, - _sandbox_register_app_container_package_exception, _sandbox_register_bastion_profile, + _sandbox_init_with_parameters, _sandbox_integrity_check_app_bundle, + _sandbox_issue_fs_extension, _sandbox_issue_mach_extension, + _sandbox_message_filter_query, _sandbox_message_filter_release, + _sandbox_message_filter_retain, _sandbox_note, _sandbox_passthrough_access, + _sandbox_proc_getcontainer, _sandbox_proc_getprofilename, + _sandbox_query_approval_policy_for_path, _sandbox_query_user_intent_for_process_with_audit_token, + _sandbox_reference_release, _sandbox_reference_retain_by_audit_token, + _sandbox_register_app_bundle, _sandbox_register_app_bundle_exception, + _sandbox_register_app_bundle_package_exception, _sandbox_register_app_container, + _sandbox_register_app_container_exception, _sandbox_register_app_container_package_exception, + _sandbox_register_app_data_protection, _sandbox_register_app_data_protection_exception, + _sandbox_register_app_data_protection_package_exception, _sandbox_register_bastion_profile, _sandbox_register_disk_image_backing_store, _sandbox_register_sync_root, _sandbox_release_fs_extension, _sandbox_requests_integrity_protection_for_preference_domain, _sandbox_set_container_path_for_application_group, _sandbox_set_container_path_for_application_group_with_persona, @@ -3232,20 +3372,20 @@ exports: _sandbox_suspend, _sandbox_unregister_app_bundle, _sandbox_unregister_app_container, _sandbox_unregister_bastion_profile, _sandbox_unregister_disk_image_backing_store, _sandbox_unsuspend ] - - targets: [ x86_64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ _SANDBOX_EXTENSION_MACL_LEARNING, _SANDBOX_EXTENSION_USER_INTENT, _gpu_bundle_find_trusted, _gpu_bundle_is_path_trusted, _rootless_apply, _rootless_apply_internal, _rootless_apply_relative, _rootless_manifest_free, _rootless_manifest_parse, _rootless_preflight ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, arm64e-macos ] +targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] install-name: '/usr/lib/system/libsystem_sanitizers.dylib' parent-umbrella: - - targets: [ x86_64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] umbrella: System exports: - - targets: [ x86_64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] symbols: [ ___asan_abi_addr_is_in_fake_stack, ___asan_abi_address_is_poisoned, ___asan_abi_after_dynamic_init, ___asan_abi_alloca_poison, ___asan_abi_allocas_unpoison, ___asan_abi_before_dynamic_init, @@ -3266,32 +3406,40 @@ exports: ___asan_get_free_stack, ___asan_get_report_access_size, ___asan_get_report_access_type, ___asan_get_report_address, ___asan_get_report_bp, ___asan_get_report_description, ___asan_get_report_pc, ___asan_get_report_sp, ___asan_get_shadow_mapping, - ___asan_locate_address, ___asan_report_present, __sanitizers_init, - _sanitizers_address_on_report, _sanitizers_diagnose_memory_error, - _sanitizers_report_globals, _sanitizers_testonly_diagnose_error, - _sanitizers_testonly_get_shadow_address ] + ___asan_locate_address, ___asan_report_present, ___bounds_safety_soft_trap, + __sanitizers_atfork_child, __sanitizers_atfork_parent, __sanitizers_atfork_prepare, + __sanitizers_init, _sanitizers_address_on_report, _sanitizers_config_get, + _sanitizers_diagnose_memory_error, _sanitizers_report_globals, + _sanitizers_testonly_diagnose_error, _sanitizers_testonly_get_shadow_address, + _sanitizers_testonly_mtasan_init_ringbuffer, _sanitizers_testonly_trace_init_data_structures ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_secinit.dylib' -current-version: 168.100.7 +current-version: 182 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __libsecinit_initializer, _libsecinit_delete_all_data_container_content_for_current_user, _libsecinit_fileoperation_save, _libsecinit_fileoperation_set_attributes, _libsecinit_fileoperation_symlink ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_symptoms.dylib' parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __symptoms_daemon_fallback_initial_disposition, __symptoms_daemon_fallback_subseq_disposition, __symptoms_is_daemon_fallback_blacklisted, _symptom_framework_init, _symptom_framework_set_version, _symptom_new, _symptom_send, @@ -3299,14 +3447,17 @@ exports: _symptom_set_qualifier ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libsystem_trace.dylib' -current-version: 1861.120.4 +current-version: 1966.1.1 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _RTBinIndexForType, _RTLogBufferAddResource, _RTLogBufferAllocateResource, _RTLogBufferCheckStatus, _RTLogBufferGetHeader, _RTLogBufferGetResource, _RTLogBufferGetResourceSize, _RTLogBufferInitialize, _RTLogBufferIterate, @@ -3322,13 +3473,13 @@ exports: __os_activity_none, __os_activity_set_breadcrumb, __os_activity_start, __os_activity_stream_entry_encode, __os_log_create, __os_log_debug, __os_log_debug_impl, __os_log_default, __os_log_disabled, - __os_log_error, __os_log_error_impl, __os_log_fault, __os_log_fault_impl, - __os_log_get_nscf_formatter, __os_log_impl, __os_log_internal, - __os_log_pack_fill, __os_log_pack_size, __os_log_preferences_compute, - __os_log_preferences_copy_cache, __os_log_preferences_load, - __os_log_preferences_load_sysprefs, __os_log_preferences_merge, - __os_log_release, __os_log_send_and_compose_impl, __os_log_set_nscf_formatter, - __os_log_unreliable_impl, __os_metric_double_create_impl, + __os_log_dynamic_impl_4XOJIT, __os_log_error, __os_log_error_impl, + __os_log_fault, __os_log_fault_impl, __os_log_get_nscf_formatter, + __os_log_impl, __os_log_internal, __os_log_pack_fill, __os_log_pack_size, + __os_log_preferences_compute, __os_log_preferences_copy_cache, + __os_log_preferences_load, __os_log_preferences_load_sysprefs, + __os_log_preferences_merge, __os_log_release, __os_log_send_and_compose_impl, + __os_log_set_nscf_formatter, __os_log_unreliable_impl, __os_metric_double_create_impl, __os_metric_double_op_impl, __os_metric_int64_create_impl, __os_metric_int64_op_impl, __os_metric_label_create_impl, __os_metric_label_create_v, __os_metric_reset_impl, __os_metric_set_scale_impl, @@ -3345,17 +3496,19 @@ exports: __os_trace_macho_for_each_slice, __os_trace_malloc_typed, __os_trace_memdup, __os_trace_mmap, __os_trace_mmap_at, __os_trace_mmap_offset, __os_trace_mode_match_4tests, __os_trace_os_cryptex_sysprefsdir_path, - __os_trace_prefs_latest_version_4tests, __os_trace_prefsdir_path, - __os_trace_read_file_at, __os_trace_read_plist_at, __os_trace_realloc_typed, - __os_trace_scandir_free_namelist, __os_trace_sect_names, __os_trace_set_diagnostic_flags, - __os_trace_set_mode_for_pid, __os_trace_strdup, __os_trace_sysprefsdir_path, - __os_trace_update_with_datavolume_4launchd, __os_trace_with_buffer, - __os_trace_write, __os_trace_writev, __os_trace_zalloc_typed, - _amfi_check_dyld_policy_for_pid, _amfi_check_dyld_policy_self, - _amfi_load_trust_cache, _amfi_unload_trust_cache, _os_activity_apply, - _os_activity_apply_f, _os_activity_diagnostic_for_pid, _os_activity_end, - _os_activity_for_task_thread, _os_activity_for_thread, _os_activity_get_active, - _os_activity_get_identifier, _os_activity_iterate_activities, + __os_trace_personas_in_oslog_enabled, __os_trace_prefs_latest_version_4tests, + __os_trace_prefscachedir_path, __os_trace_prefsdir_path, __os_trace_read_file_at, + __os_trace_read_plist_at, __os_trace_realloc_typed, __os_trace_scandir_free_namelist, + __os_trace_sect_names, __os_trace_set_diagnostic_flags, __os_trace_set_intprefsdir_path, + __os_trace_set_mode_for_pid, __os_trace_set_prefscachedir_path, + __os_trace_set_prefsdir_path, __os_trace_set_sysprefsdir_path, + __os_trace_strdup, __os_trace_sysprefsdir_path, __os_trace_update_with_datavolume_4launchd, + __os_trace_with_buffer, __os_trace_write, __os_trace_writev, + __os_trace_zalloc_typed, _amfi_check_dyld_policy_for_pid, + _amfi_check_dyld_policy_self, _amfi_load_trust_cache, _amfi_unload_trust_cache, + _os_activity_apply, _os_activity_apply_f, _os_activity_diagnostic_for_pid, + _os_activity_end, _os_activity_for_task_thread, _os_activity_for_thread, + _os_activity_get_active, _os_activity_get_identifier, _os_activity_iterate_activities, _os_activity_iterate_breadcrumbs, _os_activity_iterate_messages, _os_activity_iterate_processes, _os_activity_messages_for_thread, _os_activity_scope_enter, _os_activity_scope_leave, _os_log_backtrace_copy_description, @@ -3384,26 +3537,29 @@ exports: objc-classes: [ OS_os_log ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, arm64e-macos ] +targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] install-name: '/usr/lib/system/libsystem_trial.dylib' -current-version: 474.2.18 +current-version: 511 parent-umbrella: - - targets: [ x86_64-macos, arm64e-macos ] + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] umbrella: System exports: - - targets: [ x86_64-macos, arm64e-macos ] - symbols: [ __os_trial_factor_get_bool_impl, __os_trial_factor_get_long_impl, + - targets: [ x86_64-macos, arm64e-macos, arm64e.x1-macos ] + symbols: [ __os_trial_factor_get_bool_impl, __os_trial_factor_get_long_long_impl, __os_trial_factor_has_impl ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libunwind.dylib' -current-version: 2100.2 +current-version: 2200.5 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ __Unwind_Backtrace, __Unwind_DeleteException, __Unwind_FindEnclosingFunction, __Unwind_Find_FDE, __Unwind_ForcedUnwind, __Unwind_GetCFA, __Unwind_GetDataRelBase, __Unwind_GetGR, __Unwind_GetIP, __Unwind_GetIPInfo, @@ -3418,17 +3574,20 @@ exports: _unw_get_proc_info, _unw_get_proc_name, _unw_get_reg, _unw_getcontext, _unw_init_local, _unw_is_fpreg, _unw_is_signal_frame, _unw_iterate_dwarf_unwind_cache, _unw_local_addr_space, _unw_regname, _unw_resume, _unw_resume_with_frames_walked, - _unw_set_fpreg, _unw_set_reg, _unw_step ] + _unw_set_fpreg, _unw_set_reg, _unw_step, _unw_strerror ] --- !tapi-tbd tbd-version: 4 -targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] +targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] install-name: '/usr/lib/system/libxpc.dylib' -current-version: 3102.120.13 +current-version: 3298.1.1 parent-umbrella: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] umbrella: System exports: - - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst ] + - targets: [ x86_64-macos, x86_64-maccatalyst, arm64e-macos, arm64e-maccatalyst, + arm64e.x1-macos, arm64e.x1-maccatalyst ] symbols: [ _XPC_ACTIVITY_ALLOW_BATTERY, _XPC_ACTIVITY_APP_REFRESH, _XPC_ACTIVITY_CHECK_IN, _XPC_ACTIVITY_COMMUNICATES_WITH_PAIRED_DEVICE, _XPC_ACTIVITY_CPU_INTENSIVE, _XPC_ACTIVITY_DELAY, _XPC_ACTIVITY_DESIRED_MOTION_STATE, _XPC_ACTIVITY_DISK_INTENSIVE, @@ -3504,26 +3663,27 @@ exports: __xpc_shmem_get_mach_port, __xpc_spawnattr_binprefs_pack, __xpc_spawnattr_binprefs_size, __xpc_spawnattr_binprefs_unpack, __xpc_spawnattr_pack_bytes, __xpc_spawnattr_pack_string, __xpc_spawnattr_pack_string_fragment, - __xpc_spawnattr_unpack_bytes, __xpc_spawnattr_unpack_string, - __xpc_spawnattr_unpack_strings, __xpc_string_set_value, __xpc_type_activity, - __xpc_type_array, __xpc_type_base, __xpc_type_bool, __xpc_type_bundle, - __xpc_type_connection, __xpc_type_data, __xpc_type_date, __xpc_type_dictionary, - __xpc_type_double, __xpc_type_endpoint, __xpc_type_error, - __xpc_type_fd, __xpc_type_file_transfer, __xpc_type_int64, - __xpc_type_mach_recv, __xpc_type_mach_send, __xpc_type_mach_send_once, - __xpc_type_null, __xpc_type_pipe, __xpc_type_pointer, __xpc_type_rich_error, - __xpc_type_serializer, __xpc_type_service, __xpc_type_service_instance, - __xpc_type_session, __xpc_type_shmem, __xpc_type_string, __xpc_type_string_cache, + __xpc_spawnattr_pack_xpc_data, __xpc_spawnattr_unpack_bytes, + __xpc_spawnattr_unpack_string, __xpc_spawnattr_unpack_strings, + __xpc_string_set_value, __xpc_type_activity, __xpc_type_array, + __xpc_type_base, __xpc_type_bool, __xpc_type_bundle, __xpc_type_connection, + __xpc_type_data, __xpc_type_date, __xpc_type_dictionary, __xpc_type_double, + __xpc_type_endpoint, __xpc_type_error, __xpc_type_fd, __xpc_type_file_transfer, + __xpc_type_int64, __xpc_type_mach_recv, __xpc_type_mach_send, + __xpc_type_mach_send_once, __xpc_type_null, __xpc_type_pipe, + __xpc_type_pointer, __xpc_type_rich_error, __xpc_type_serializer, + __xpc_type_service, __xpc_type_service_instance, __xpc_type_session, + __xpc_type_shmem, __xpc_type_string, __xpc_type_string_cache, __xpc_type_uint64, __xpc_type_uuid, __xpc_vtables, _amfi_developer_mode_resolved, _amfi_developer_mode_status, _amfi_interface_authorize_local_signing, - _amfi_interface_cdhash_in_trustcache, _amfi_interface_get_local_signing_private_key, - _amfi_interface_get_local_signing_public_key, _amfi_interface_query_bootarg_state, - _amfi_interface_set_local_signing_public_key, _amfi_launch_constraint_matches_process, - _amfi_launch_constraint_set_spawnattr, _amfi_restricted_execution_mode_enable, - _amfi_restricted_execution_mode_status, _bootstrap_check_in, - _bootstrap_check_in2, _bootstrap_check_in3, _bootstrap_create_server, - _bootstrap_create_service, _bootstrap_get_root, _bootstrap_info, - _bootstrap_init, _bootstrap_look_up, _bootstrap_look_up2, + _amfi_interface_authorize_local_signing_with_length, _amfi_interface_cdhash_in_trustcache, + _amfi_interface_get_local_signing_private_key, _amfi_interface_get_local_signing_public_key, + _amfi_interface_query_bootarg_state, _amfi_interface_set_local_signing_public_key, + _amfi_launch_constraint_matches_process, _amfi_launch_constraint_set_spawnattr, + _amfi_restricted_execution_mode_enable, _amfi_restricted_execution_mode_status, + _bootstrap_check_in, _bootstrap_check_in2, _bootstrap_check_in3, + _bootstrap_create_server, _bootstrap_create_service, _bootstrap_get_root, + _bootstrap_info, _bootstrap_init, _bootstrap_look_up, _bootstrap_look_up2, _bootstrap_look_up3, _bootstrap_look_up_per_user, _bootstrap_lookup_children, _bootstrap_parent, _bootstrap_register, _bootstrap_register2, _bootstrap_status, _bootstrap_strerror, _bootstrap_subset, @@ -3613,7 +3773,8 @@ exports: _xpc_bundle_populate, _xpc_bundle_resolve, _xpc_bundle_resolve_on_queue, _xpc_bundle_resolve_sync, _xpc_coalition_copy_info, _xpc_coalition_history_pipe_async, _xpc_connection_activate, _xpc_connection_bs_seal_listener, - _xpc_connection_cancel, _xpc_connection_copy_bundle_id, _xpc_connection_copy_entitlement_value, + _xpc_connection_cancel, _xpc_connection_consume_bs_checkin_info, + _xpc_connection_copy_bundle_id, _xpc_connection_copy_entitlement_value, _xpc_connection_copy_invalidation_reason, _xpc_connection_create, _xpc_connection_create_bs_service_listener, _xpc_connection_create_from_endpoint, _xpc_connection_create_listener, _xpc_connection_create_mach_service, @@ -3626,13 +3787,14 @@ exports: _xpc_connection_resume, _xpc_connection_send_barrier, _xpc_connection_send_message, _xpc_connection_send_message_with_reply, _xpc_connection_send_message_with_reply_sync, _xpc_connection_send_notification, _xpc_connection_set_bootstrap, - _xpc_connection_set_bs_type, _xpc_connection_set_context, - _xpc_connection_set_distorter, _xpc_connection_set_event_channel, - _xpc_connection_set_event_handler, _xpc_connection_set_finalizer_f, - _xpc_connection_set_instance, _xpc_connection_set_instance_binpref, - _xpc_connection_set_legacy, _xpc_connection_set_non_launching, - _xpc_connection_set_oneshot_instance, _xpc_connection_set_peer_code_signing_requirement, - _xpc_connection_set_peer_entitlement_exists_requirement, _xpc_connection_set_peer_entitlement_matches_value_requirement, + _xpc_connection_set_bs_checkin_info, _xpc_connection_set_bs_type, + _xpc_connection_set_context, _xpc_connection_set_distorter, + _xpc_connection_set_event_channel, _xpc_connection_set_event_handler, + _xpc_connection_set_finalizer_f, _xpc_connection_set_instance, + _xpc_connection_set_instance_binpref, _xpc_connection_set_legacy, + _xpc_connection_set_non_launching, _xpc_connection_set_oneshot_instance, + _xpc_connection_set_peer_code_signing_requirement, _xpc_connection_set_peer_entitlement_exists_requirement, + _xpc_connection_set_peer_entitlement_matches_value_requirement, _xpc_connection_set_peer_lightweight_code_requirement, _xpc_connection_set_peer_platform_identity_requirement, _xpc_connection_set_peer_requirement, _xpc_connection_set_peer_team_identity_requirement, _xpc_connection_set_privileged, _xpc_connection_set_qos_class_fallback, @@ -3660,17 +3822,16 @@ exports: _xpc_dictionary_create_empty, _xpc_dictionary_create_reply, _xpc_dictionary_dup_fd, _xpc_dictionary_expects_reply, _xpc_dictionary_extract_mach_recv, _xpc_dictionary_get_array, _xpc_dictionary_get_audit_token, - _xpc_dictionary_get_bool, _xpc_dictionary_get_connection, - _xpc_dictionary_get_count, _xpc_dictionary_get_data, _xpc_dictionary_get_date, - _xpc_dictionary_get_dictionary, _xpc_dictionary_get_double, - _xpc_dictionary_get_int64, _xpc_dictionary_get_pointer, _xpc_dictionary_get_remote_connection, - _xpc_dictionary_get_string, _xpc_dictionary_get_uint64, _xpc_dictionary_get_uuid, - _xpc_dictionary_get_value, _xpc_dictionary_handoff_reply, - _xpc_dictionary_handoff_reply_f, _xpc_dictionary_send_reply, - _xpc_dictionary_send_reply_4SWIFT, _xpc_dictionary_set_bool, - _xpc_dictionary_set_connection, _xpc_dictionary_set_data, - _xpc_dictionary_set_date, _xpc_dictionary_set_double, _xpc_dictionary_set_fd, - _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv, + _xpc_dictionary_get_bool, _xpc_dictionary_get_count, _xpc_dictionary_get_data, + _xpc_dictionary_get_date, _xpc_dictionary_get_dictionary, + _xpc_dictionary_get_double, _xpc_dictionary_get_int64, _xpc_dictionary_get_pointer, + _xpc_dictionary_get_remote_connection, _xpc_dictionary_get_string, + _xpc_dictionary_get_uint64, _xpc_dictionary_get_uuid, _xpc_dictionary_get_value, + _xpc_dictionary_handoff_reply, _xpc_dictionary_handoff_reply_f, + _xpc_dictionary_send_reply, _xpc_dictionary_send_reply_4SWIFT, + _xpc_dictionary_set_bool, _xpc_dictionary_set_connection, + _xpc_dictionary_set_data, _xpc_dictionary_set_date, _xpc_dictionary_set_double, + _xpc_dictionary_set_fd, _xpc_dictionary_set_int64, _xpc_dictionary_set_mach_recv, _xpc_dictionary_set_mach_send, _xpc_dictionary_set_pointer, _xpc_dictionary_set_string, _xpc_dictionary_set_uint64, _xpc_dictionary_set_uuid, _xpc_dictionary_set_value, _xpc_dictionary_set_value_with_key_string_cache, @@ -3732,29 +3893,29 @@ exports: _xpc_service_instance_set_cwd, _xpc_service_instance_set_endpoint, _xpc_service_instance_set_environment, _xpc_service_instance_set_finalizer_f, _xpc_service_instance_set_jetsam_properties, _xpc_service_instance_set_path, - _xpc_service_instance_set_start_suspended, _xpc_service_instance_set_use_sec_transition_shims, - _xpc_service_kickstart, _xpc_service_kickstart_with_flags, - _xpc_service_set_attach_handler, _xpc_session_activate, _xpc_session_cancel, - _xpc_session_copy_description, _xpc_session_create_mach_service, - _xpc_session_create_xpc_endpoint, _xpc_session_create_xpc_service, - _xpc_session_send_message, _xpc_session_send_message_with_reply_async, - _xpc_session_send_message_with_reply_sync, _xpc_session_set_cancel_handler, - _xpc_session_set_incoming_message_handler, _xpc_session_set_instance, - _xpc_session_set_peer_code_signing_requirement, _xpc_session_set_peer_requirement, - _xpc_session_set_target_queue, _xpc_session_set_target_user_session_uid, - _xpc_set_event, _xpc_set_event_state, _xpc_set_event_stream_handler, - _xpc_set_event_with_flags, _xpc_set_idle_handler, _xpc_shmem_create, - _xpc_shmem_create_readonly, _xpc_shmem_get_length, _xpc_shmem_map, - _xpc_strerror, _xpc_string_cache_create, _xpc_string_cache_for_each, - _xpc_string_cache_get_count, _xpc_string_cache_get_name, _xpc_string_create, - _xpc_string_create_cached, _xpc_string_create_no_copy, _xpc_string_create_with_format, - _xpc_string_create_with_format_and_arguments, _xpc_string_get_length, - _xpc_string_get_string_ptr, _xpc_test_symbols_exported, _xpc_track_activity, - _xpc_transaction_begin, _xpc_transaction_end, _xpc_transaction_exit_clean, - _xpc_transaction_interrupt_clean_exit, _xpc_transaction_try_exit_clean, - _xpc_transactions_enable, _xpc_traverse_serialized_data, _xpc_type_get_name, - _xpc_uint64_create, _xpc_uint64_get_value, _xpc_user_sessions_enabled, - _xpc_user_sessions_get_foreground_uid, _xpc_user_sessions_get_session_uid, - _xpc_uuid_create, _xpc_uuid_get_bytes ] + _xpc_service_instance_set_sanitizer_flags, _xpc_service_instance_set_start_suspended, + _xpc_service_instance_set_use_sec_transition_shims, _xpc_service_kickstart, + _xpc_service_kickstart_with_flags, _xpc_service_set_attach_handler, + _xpc_session_activate, _xpc_session_cancel, _xpc_session_copy_description, + _xpc_session_create_mach_service, _xpc_session_create_xpc_endpoint, + _xpc_session_create_xpc_service, _xpc_session_send_message, + _xpc_session_send_message_with_reply_async, _xpc_session_send_message_with_reply_sync, + _xpc_session_set_cancel_handler, _xpc_session_set_incoming_message_handler, + _xpc_session_set_instance, _xpc_session_set_peer_code_signing_requirement, + _xpc_session_set_peer_requirement, _xpc_session_set_target_queue, + _xpc_session_set_target_user_session_uid, _xpc_set_event, + _xpc_set_event_state, _xpc_set_event_stream_handler, _xpc_set_event_with_flags, + _xpc_set_idle_handler, _xpc_shmem_create, _xpc_shmem_create_readonly, + _xpc_shmem_get_length, _xpc_shmem_map, _xpc_strerror, _xpc_string_cache_create, + _xpc_string_cache_for_each, _xpc_string_cache_get_count, _xpc_string_cache_get_name, + _xpc_string_create, _xpc_string_create_cached, _xpc_string_create_no_copy, + _xpc_string_create_with_format, _xpc_string_create_with_format_and_arguments, + _xpc_string_get_length, _xpc_string_get_string_ptr, _xpc_test_symbols_exported, + _xpc_track_activity, _xpc_transaction_begin, _xpc_transaction_end, + _xpc_transaction_exit_clean, _xpc_transaction_interrupt_clean_exit, + _xpc_transaction_try_exit_clean, _xpc_transactions_enable, + _xpc_traverse_serialized_data, _xpc_type_get_name, _xpc_uint64_create, + _xpc_uint64_get_value, _xpc_user_sessions_enabled, _xpc_user_sessions_get_foreground_uid, + _xpc_user_sessions_get_session_uid, _xpc_uuid_create, _xpc_uuid_get_bytes ] objc-classes: [ OS_xpc_object ] ... diff --git a/lib/libc/include/any-darwin-any/AssertMacros.h b/lib/libc/include/any-darwin-any/AssertMacros.h index a9ee1390db3505af091633acd76efc57b6863734..810ddd8b224be806423e349e699ecf44fd619fa0 100644 --- a/lib/libc/include/any-darwin-any/AssertMacros.h +++ b/lib/libc/include/any-darwin-any/AssertMacros.h @@ -1272,7 +1272,7 @@ * of the old macros into the new equivalents. To do so, in Terminal go into the directory containing the * sources to be converted and run this command. * - find -E . -regex '.*\.(c|cc|cp|cpp|m|mm|h)' -print0 | xargs -0 tops -verbose \ + find -E . -regex '.*\.(c|cc|cp|cpp|m|mm|h|hh|hp|hpp)' -print0 | xargs -0 tops -verbose \ replace "check()" with "__Check()" \ replace "check_noerr()" with "__Check_noErr()" \ replace "check_noerr_string()" with "__Check_noErr_String()" \ diff --git a/lib/libc/include/any-darwin-any/AvailabilityInternal.h b/lib/libc/include/any-darwin-any/AvailabilityInternal.h index 8e81f77be16391a250d0aaac3d0bba51db0608aa..c0abcc26aa17543b35656c9f3a09e082ce2f5dc7 100644 --- a/lib/libc/include/any-darwin-any/AvailabilityInternal.h +++ b/lib/libc/include/any-darwin-any/AvailabilityInternal.h @@ -37,11 +37,11 @@ #if __has_builtin(__is_target_os) #if __is_target_os(macos) #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ - #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_5 + #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_27_0 #endif #elif __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ #define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ - #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_26_5 + #define __MAC_OS_X_VERSION_MAX_ALLOWED __MAC_27_0 #endif /* __has_builtin(__is_target_os) */ #endif /* defined(__has_builtin) */ #endif /* __MAC_OS_X_VERSION_MIN_REQUIRED */ @@ -51,11 +51,11 @@ #if __has_builtin(__is_target_os) #if __is_target_os(ios) #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ - #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_5 + #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_27_0 #endif #elif __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ #define __IPHONE_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ - #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_26_5 + #define __IPHONE_OS_VERSION_MAX_ALLOWED __IPHONE_27_0 #endif /* __has_builtin(__is_target_os) */ #endif /* defined(__has_builtin) */ #endif /* __IPHONE_OS_VERSION_MIN_REQUIRED */ @@ -65,13 +65,13 @@ #if __has_builtin(__is_target_os) #if __is_target_os(watchos) #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ - #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_5 + #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_27_0 /* for compatibility with existing code. New code should use platform specific checks */ #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0 #endif #elif __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ #define __WATCH_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ - #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_26_5 + #define __WATCH_OS_VERSION_MAX_ALLOWED __WATCHOS_27_0 /* for compatibility with existing code. New code should use platform specific checks */ #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0 #endif /* __has_builtin(__is_target_os) */ @@ -83,13 +83,13 @@ #if __has_builtin(__is_target_os) #if __is_target_os(tvos) #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ - #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_5 + #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_27_0 /* for compatibility with existing code. New code should use platform specific checks */ #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0 #endif #elif __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ #define __TV_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ - #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_26_5 + #define __TV_OS_VERSION_MAX_ALLOWED __TVOS_27_0 /* for compatibility with existing code. New code should use platform specific checks */ #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_9_0 #endif /* __has_builtin(__is_target_os) */ @@ -103,7 +103,7 @@ #if __has_builtin(__is_target_os) #if __is_target_os(driverkit) #define __DRIVERKIT_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ - #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_25_5 + #define __DRIVERKIT_VERSION_MAX_ALLOWED __DRIVERKIT_27_0 #endif #endif /* __has_builtin(__is_target_os) */ #endif /* defined(__has_builtin) */ @@ -114,7 +114,7 @@ #if __has_builtin(__is_target_os) #if __is_target_os(visionos) #define __VISION_OS_VERSION_MIN_REQUIRED __ENVIRONMENT_OS_VERSION_MIN_REQUIRED__ - #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_26_5 + #define __VISION_OS_VERSION_MAX_ALLOWED __VISIONOS_27_0 /* for compatibility with existing code. New code should use platform specific checks */ #define __IPHONE_OS_VERSION_MIN_REQUIRED __IPHONE_17_1 #endif @@ -219,6 +219,14 @@ #endif /* __has_attribute(availability) */ #endif /* defined(__has_feature) && defined(__has_attribute) */ +#if defined(__has_feature) && defined(__has_attribute) + #if __has_attribute(availability) + #define __API_AVAILABLE_PLATFORM_anyappleos(x) anyAppleOS,introduced=x + #define __API_DEPRECATED_PLATFORM_anyappleos(x,y) anyAppleOS,introduced=x,deprecated=y + #define __API_UNAVAILABLE_PLATFORM_anyappleos anyAppleOS,unavailable + #endif /* __has_attribute(availability) */ +#endif /* defined(__has_feature) && defined(__has_attribute) */ + #ifndef __OPEN_SOURCE__ #endif /* __OPEN_SOURCE__ */ diff --git a/lib/libc/include/any-darwin-any/AvailabilityVersions.h b/lib/libc/include/any-darwin-any/AvailabilityVersions.h index 05f0a15ff1a66eab4648c249fcc9ac2571ebe0fa..c2d79953eeb17da304068fe8f752936b86395e52 100644 --- a/lib/libc/include/any-darwin-any/AvailabilityVersions.h +++ b/lib/libc/include/any-darwin-any/AvailabilityVersions.h @@ -102,6 +102,8 @@ #define __MAC_26_3 260300 #define __MAC_26_4 260400 #define __MAC_26_5 260500 +#define __MAC_26_6 260600 +#define __MAC_27_0 270000 /* __MAC__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ #define __IPHONE_2_0 20000 @@ -198,6 +200,8 @@ #define __IPHONE_26_3 260300 #define __IPHONE_26_4 260400 #define __IPHONE_26_5 260500 +#define __IPHONE_26_6 260600 +#define __IPHONE_27_0 270000 /* __IPHONE__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ #define __WATCHOS_1_0 10000 @@ -263,6 +267,8 @@ #define __WATCHOS_26_3 260300 #define __WATCHOS_26_4 260400 #define __WATCHOS_26_5 260500 +#define __WATCHOS_26_6 260600 +#define __WATCHOS_27_0 270000 /* __WATCHOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ #define __TVOS_9_0 90000 @@ -328,6 +334,8 @@ #define __TVOS_26_3 260300 #define __TVOS_26_4 260400 #define __TVOS_26_5 260500 +#define __TVOS_26_6 260600 +#define __TVOS_27_0 270000 /* __TVOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ #define __BRIDGEOS_2_0 20000 @@ -369,7 +377,8 @@ #define __BRIDGEOS_10_2 100200 #define __BRIDGEOS_10_3 100300 #define __BRIDGEOS_10_4 100400 -#define __BRIDGEOS_26_5 260500 +#define __BRIDGEOS_10_5 100500 +#define __BRIDGEOS_10_6 100600 #define __DRIVERKIT_19_0 190000 @@ -399,6 +408,8 @@ #define __DRIVERKIT_25_3 250300 #define __DRIVERKIT_25_4 250400 #define __DRIVERKIT_25_5 250500 +#define __DRIVERKIT_25_6 250600 +#define __DRIVERKIT_27_0 270000 /* __DRIVERKIT__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ #define __VISIONOS_1_0 10000 @@ -419,6 +430,8 @@ #define __VISIONOS_26_3 260300 #define __VISIONOS_26_4 260400 #define __VISIONOS_26_5 260500 +#define __VISIONOS_26_6 260600 +#define __VISIONOS_27_0 270000 /* __VISIONOS__NA is not defined to a value but is used as a token by macros to indicate that the API is unavailable */ @@ -514,6 +527,8 @@ #define MAC_OS_VERSION_26_3 __MAC_26_3 #define MAC_OS_VERSION_26_4 __MAC_26_4 #define MAC_OS_VERSION_26_5 __MAC_26_5 +#define MAC_OS_VERSION_26_6 __MAC_26_6 +#define MAC_OS_VERSION_27_0 __MAC_27_0 #endif /* #if (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE)) || defined(_DARWIN_C_SOURCE) */ diff --git a/lib/libc/include/any-darwin-any/TargetConditionals.h b/lib/libc/include/any-darwin-any/TargetConditionals.h index bbab252083352efd62c6e6d43662f676a54b3675..6f15f18db44877dc6fec36fb39dc00a140c2768b 100644 --- a/lib/libc/include/any-darwin-any/TargetConditionals.h +++ b/lib/libc/include/any-darwin-any/TargetConditionals.h @@ -137,6 +137,13 @@ * It is disabled by default. */ + +#if defined(__is_target_environment) && defined(__has_extension) + #if __is_target_environment(kernelkit) && !__has_extension(define_target_os_macros) + #error KernelKit requires `-fdefine_target_os_macros` + #endif +#endif + #if !defined(__has_extension) || !__has_extension(define_target_os_macros) #if defined(__has_builtin) #if __has_builtin(__is_target_arch) @@ -147,7 +154,7 @@ /* "-target=x86_64-apple-ios12-macabi" */ /* "-target=arm64-apple-ios12-macabi" */ /* "-target=arm64e-apple-ios12-macabi" */ - #if (__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(macabi) + #if (__is_target_arch(x86_64) || __arm64__) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(macabi) #define TARGET_OS_MAC 1 #define TARGET_OS_IPHONE 1 #define TARGET_OS_IOS 1 @@ -163,7 +170,7 @@ /* "-target=x86_64-apple-ios12-simulator" */ /* "-target=arm64-apple-ios12-simulator" */ /* "-target=arm64e-apple-ios12-simulator" */ - #if (__is_target_arch(x86_64) || __is_target_arch(arm64) || __is_target_arch(arm64e)) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(simulator) + #if (__is_target_arch(x86_64) || __arm64__) && __is_target_vendor(apple) && __is_target_os(ios) && __is_target_environment(simulator) #define TARGET_OS_MAC 1 #define TARGET_OS_IPHONE 1 #define TARGET_OS_IOS 1 diff --git a/lib/libc/include/any-darwin-any/_stdlib.h b/lib/libc/include/any-darwin-any/_stdlib.h index 15ad16a132834dadac6e7c4e31201a6b337e7ba5..f73153e106e66afd7194e147d026b926f1e2372f 100644 --- a/lib/libc/include/any-darwin-any/_stdlib.h +++ b/lib/libc/include/any-darwin-any/_stdlib.h @@ -158,7 +158,7 @@ long atol(const char *); long long atoll(const char *); #endif /* !__DARWIN_NO_LONG_LONG */ -void *bsearch(const void *_LIBC_SIZE(__width) __key, const void *_LIBC_SIZE(__width * __nel) __base, size_t __nel, +void *bsearch(const void *__key, const void *_LIBC_SIZE(__width * __nel) __base, size_t __nel, size_t __width, int (* _Nonnull __compar)(const void *, const void *)); /* calloc is now declared in _malloc.h */ div_t div(int, int) __pure2; @@ -304,7 +304,7 @@ int atexit_b(void (^ _Nonnull)(void)) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IP #define __bsearch_noescape #endif #endif /* __BLOCKS__ */ -void *bsearch_b(const void *_LIBC_SIZE(__width) __key, const void *_LIBC_SIZE(__width * __nel) __base, size_t __nel, +void *bsearch_b(const void *__key, const void *_LIBC_SIZE(__width * __nel) __base, size_t __nel, size_t __width, int (^ _Nonnull __compar)(const void *, const void *) __bsearch_noescape) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); #endif /* __BLOCKS__ */ diff --git a/lib/libc/include/any-darwin-any/_types/_nl_item.h b/lib/libc/include/any-darwin-any/_types/_nl_item.h index 4339653ce102046a05b2cff715f1bd78443dcdf6..2fc4fac837a5e666b9b118b4cdb9abdd9c51dc94 100644 --- a/lib/libc/include/any-darwin-any/_types/_nl_item.h +++ b/lib/libc/include/any-darwin-any/_types/_nl_item.h @@ -30,4 +30,4 @@ #define _NL_ITEM #include <_types.h> typedef __darwin_nl_item nl_item; -#endif /* _NL_ITEM */ \ No newline at end of file +#endif /* _NL_ITEM */ diff --git a/lib/libc/include/any-darwin-any/arm/limits.h b/lib/libc/include/any-darwin-any/arm/limits.h index 8483a6976751ddf7fc824f6d6b0e47b865ca4104..7f559a249ed8457e43d1010de017c37783ffcbe1 100644 --- a/lib/libc/include/any-darwin-any/arm/limits.h +++ b/lib/libc/include/any-darwin-any/arm/limits.h @@ -60,7 +60,7 @@ #if (defined(__has_include) && __has_include(<__xnu_libcxx_sentinel.h>)) #if !__has_include_next() -#error Do not build with -nostdinc (use GCC_USE_STANDARD_INCLUDE_SEARCHING=NO) +#error Do not build with -nostdinc (use GCC_USE_STANDARD_INCLUDE_SEARCHING=YES) #else #include_next #endif /* __has_include_next */ diff --git a/lib/libc/include/any-darwin-any/dispatch/base.h b/lib/libc/include/any-darwin-any/dispatch/base.h index e9efea4518d1aae708d9dae676837a056269ac2b..e47d6b272fea31632d81c3c365c3f76a3594a0d6 100644 --- a/lib/libc/include/any-darwin-any/dispatch/base.h +++ b/lib/libc/include/any-darwin-any/dispatch/base.h @@ -366,4 +366,4 @@ typedef void (*dispatch_function_t)(void *_Nullable); DISPATCH_ASSUME_ABI_SINGLE_END -#endif +#endif /* __DISPATCH_BASE__ */ diff --git a/lib/libc/include/any-darwin-any/dispatch/block.h b/lib/libc/include/any-darwin-any/dispatch/block.h index 45b9076f0f90bbcc3e989b1117840dc094bc2dea..0261cad32350bd75617446304e7f1ba3d6a0b60f 100644 --- a/lib/libc/include/any-darwin-any/dispatch/block.h +++ b/lib/libc/include/any-darwin-any/dispatch/block.h @@ -50,56 +50,121 @@ __BEGIN_DECLS * @const DISPATCH_BLOCK_DETACHED * Flag indicating that a dispatch block object should execute disassociated * from current execution context attributes such as os_activity_t - * and properties of the current IPC request (if any). With regard to QoS class, - * the behavior is the same as for DISPATCH_BLOCK_NO_QOS. If invoked directly, - * the block object will remove the other attributes from the calling thread for - * the duration of the block body (before applying attributes assigned to the - * block object, if any). If submitted to a queue, the block object will be - * executed with the attributes of the queue (or any attributes specifically - * assigned to the block object). + * and properties of the current IPC request (if any). This flag has the same + * QoS implications as DISPATCH_BLOCK_NO_QOS_CLASS, in that the block will have + * no QoS unless assigned one via dispatch_block_create_with_qos_class(). + * If invoked directly, the block object will remove the other attributes from + * the calling thread for the duration of the block body (before applying + * attributes assigned to the block object, if any). If submitted to a queue, + * the block object will be executed with the attributes of the queue. * * @const DISPATCH_BLOCK_ASSIGN_CURRENT * Flag indicating that a dispatch block object should be assigned the execution * context attributes that are current at the time the block object is created. - * This applies to attributes such as QOS class, os_activity_t and properties of + * This applies to attributes such as QoS class, os_activity_t and properties of * the current IPC request (if any). If invoked directly, the block object will * apply these attributes to the calling thread for the duration of the block - * body. If the block object is submitted to a queue, this flag replaces the - * default behavior of associating the submitted block instance with the - * execution context attributes that are current at the time of submission. - * If a specific QOS class is assigned with DISPATCH_BLOCK_NO_QOS_CLASS or - * dispatch_block_create_with_qos_class(), that QOS class takes precedence over - * the QOS class assignment indicated by this flag. + * body. Note that direct invocation of a block can raise but not lower the + * calling context's QoS class. If the block object is submitted to a queue, + * this flag replaces the default behavior, where the submitted block's + * assigned QoS and other execution attributes are inherited from the + * submitting thread. If the creating thread and submitting thread are the + * same, this flag has no effect. If a QoS class is assigned with + * dispatch_block_create_with_qos_class(), or if DISPATCH_BLOCK_NO_QOS_CLASS is + * passed, that setting takes precedence over the QoS class of the creating + * context. * * @const DISPATCH_BLOCK_NO_QOS_CLASS - * Flag indicating that a dispatch block object should be not be assigned a QOS - * class. If invoked directly, the block object will be executed with the QOS + * Flag indicating that a dispatch block object should be not be assigned a QoS + * class. If invoked directly, the block object will be executed with the QoS * class of the calling thread. If the block object is submitted to a queue, - * this replaces the default behavior of associating the submitted block - * instance with the QOS class current at the time of submission. - * This flag is ignored if a specific QOS class is assigned with - * dispatch_block_create_with_qos_class(). + * this replaces the default behavior of assigning the current thread's QoS to + * the block. This flag is ignored by dispatch_block_create_with_qos_class() + * called with any qos_class other than QOS_CLASS_UNSPECIFIED. Combining this + * flag with DISPATCH_BLOCK_ENFORCE_QOS_CLASS has no effect. * * @const DISPATCH_BLOCK_INHERIT_QOS_CLASS * Flag indicating that execution of a dispatch block object submitted to a - * queue should prefer the QOS class assigned to the queue over the QOS class - * assigned to the block (resp. associated with the block at the time of - * submission). The latter will only be used if the queue in question does not - * have an assigned QOS class, as long as doing so does not result in a QOS - * class lower than the QOS class inherited from the queue's target queue. + * queue should prefer the queue's specified QoS class over the block's + * assigned QoS class. The latter will only be used if the queue does not have + * a specified QoS class, as long as doing so does not result in a QoS class + * lower than the QoS class inherited from the queue's target queue. * This flag is the default when a dispatch block object is submitted to a queue - * for asynchronous execution and has no effect when the dispatch block object - * is invoked directly. It is ignored if DISPATCH_BLOCK_ENFORCE_QOS_CLASS is - * also passed. + * for asynchronous execution, and passing it explicitly to dispatch_async() or + * dispatch_async_and_wait() has no additional effect. For synchronous + * submission via dispatch_sync(), this flag overrides the default + * DISPATCH_BLOCK_ENFORCE_QOS_CLASS behavior. A block without an assigned QoS + * class has no enforcement to suppress, so this flag has no effect on + * dispatch_sync() in that case. When directly invoked, this flag will run at + * the QoS of the invoking thread and not result in any priority adjustments. + * This flag is ignored if DISPATCH_BLOCK_ENFORCE_QOS_CLASS is also passed. * * @const DISPATCH_BLOCK_ENFORCE_QOS_CLASS - * Flag indicating that execution of a dispatch block object submitted to a - * queue should prefer the QOS class assigned to the block (resp. associated - * with the block at the time of submission) over the QOS class assigned to the - * queue, as long as doing so will not result in a lower QOS class. + * Flag indicating that the block's assigned QoS class should be treated as + * enforced. When the block is submitted asynchronously to a queue, the + * enforced QoS class is preferred over the queue's specified QoS class, + * provided that doing so will not result in a lower QoS class. A block + * whose QoS class has been stripped (DISPATCH_BLOCK_NO_QOS_CLASS or + * DISPATCH_BLOCK_DETACHED) has no QoS class to enforce; this flag has no + * QoS effect in that case. * This flag is the default when a dispatch block object is submitted to a queue * for synchronous execution or when the dispatch block object is invoked * directly. + * + * @discussion + * When a block is submitted to a queue with dispatch_async(), the QoS class + * at which the block runs is determined as follows: + * + * - If the block has an enforced QoS class + * (DISPATCH_BLOCK_ENFORCE_QOS_CLASS), the block runs at the higher of + * the enforced QoS class and the queue's specified or floor QoS class. + * - Otherwise, if the queue has a specified QoS class (from + * dispatch_queue_attr_make_with_qos_class()), the block runs at that + * QoS class. + * - Otherwise, the block runs at its assigned QoS class. + * - The above QoS class is then raised, if necessary, to the queue's floor + * QoS class (set via dispatch_set_qos_class_floor()) or to the specified + * or floor QoS class of any target queue. + * + * For an anonymous block (one not wrapped with a dispatch_block_create* + * function), the assigned QoS class is the QoS class of the calling thread at + * the moment dispatch_async() is called. This value can be checked with + * qos_class_self(). + * + * If the block has no assigned QoS class (DISPATCH_BLOCK_NO_QOS_CLASS, + * DISPATCH_BLOCK_DETACHED, or an anonymous block submitted from a thread that + * has opted out of QoS), the rules above are applied with the assigned QoS + * class treated as QOS_CLASS_UNSPECIFIED. The queue's specified or floor QoS + * class wins if it has one, and the block runs at QOS_CLASS_DEFAULT if not. + * + * QoS propagation through dispatch_async() caps the propagated QoS class at + * QOS_CLASS_USER_INITIATED. Blocks that acquire their assigned QoS class by + * propagation (anonymous blocks, dispatch_block_create() without an explicit + * QoS class, and DISPATCH_BLOCK_ASSIGN_CURRENT) will have an assigned QoS of + * QOS_CLASS_USER_INITIATED if submitted (or created, in the ASSIGN_CURRENT + * case) from a thread at QOS_CLASS_USER_INTERACTIVE. A QoS class assigned + * directly via dispatch_block_create_with_qos_class() bypasses the cap, as + * does a queue's specified QoS class. + * + * When a block is submitted with dispatch_sync() or invoked directly, the + * QoS class at which the block runs is determined as follows: + * + * - The block runs on the caller's thread, so it inherits the caller's + * QoS class. + * - If the block has an assigned QoS class higher than the caller's, the + * thread elevates its own QoS class to that of the block for the + * duration of the block. DISPATCH_BLOCK_INHERIT_QOS_CLASS suppresses + * this elevation. + * - The queue's QoS configuration is not applied to the block when it is + * invoked. + * + * Blocks submitted synchronously via dispatch_async_and_wait() may run on + * either the calling thread or the worker thread currently servicing the + * queue. Unlike dispatch_sync(), the queue's specified QoS class and floor + * are observed. The executing thread runs the block at the highest of the + * caller's QoS class, the queue's QoS class, and the block's assigned QoS + * class when the block enforces it. This composition only raises QoS, never + * lowers it. */ DISPATCH_REFINED_FOR_SWIFT DISPATCH_OPTIONS(dispatch_block_flags, unsigned long, @@ -141,15 +206,15 @@ DISPATCH_OPTIONS(dispatch_block_flags, unsigned long, * on with dispatch_block_wait() or observed with dispatch_block_notify(). * * If the returned dispatch block object is submitted to a dispatch queue, the - * submitted block instance will be associated with the QOS class current at the - * time of submission, unless one of the following flags assigned a specific QOS + * submitted block instance will be assigned the QOS class current at the time + * of submission, unless one of the following flags assigned a specific QOS * class (or no QOS class) at the time of block creation: * - DISPATCH_BLOCK_ASSIGN_CURRENT * - DISPATCH_BLOCK_NO_QOS_CLASS * - DISPATCH_BLOCK_DETACHED - * The QOS class the block object will be executed with also depends on the QOS - * class assigned to the queue and which of the following flags was specified or - * defaulted to: + * The QOS class the block object will be executed with also depends on the + * queue's specified QOS class and which of the following flags was specified + * or defaulted to: * - DISPATCH_BLOCK_INHERIT_QOS_CLASS (default for asynchronous execution) * - DISPATCH_BLOCK_ENFORCE_QOS_CLASS (default for synchronous execution) * See description of dispatch_block_flags_t for details. @@ -197,14 +262,14 @@ dispatch_block_create(dispatch_block_flags_t flags, dispatch_block_t block); * only the first completed execution of a dispatch block object can be waited * on with dispatch_block_wait() or observed with dispatch_block_notify(). * - * If invoked directly, the returned dispatch block object will be executed with - * the assigned QOS class as long as that does not result in a lower QOS class - * than what is current on the calling thread. + * If invoked directly, the returned dispatch block object will be executed at + * the higher of the block's assigned QoS class and the calling thread's QoS + * class. * * If the returned dispatch block object is submitted to a dispatch queue, the * QOS class it will be executed with depends on the QOS class assigned to the - * block, the QOS class assigned to the queue and which of the following flags - * was specified or defaulted to: + * block, the queue's specified QOS class and which of the following flags was + * specified or defaulted to: * - DISPATCH_BLOCK_INHERIT_QOS_CLASS: default for asynchronous execution * - DISPATCH_BLOCK_ENFORCE_QOS_CLASS: default for synchronous execution * See description of dispatch_block_flags_t for details. diff --git a/lib/libc/include/any-darwin-any/dispatch/dispatch.h b/lib/libc/include/any-darwin-any/dispatch/dispatch.h index bcd892c50145029731b99dc84321c36364111223..56b3855198ace5c686f29fcf9776720204a6c197 100644 --- a/lib/libc/include/any-darwin-any/dispatch/dispatch.h +++ b/lib/libc/include/any-darwin-any/dispatch/dispatch.h @@ -78,4 +78,4 @@ #undef __DISPATCH_INDIRECT__ -#endif +#endif /* __DISPATCH_PUBLIC__ */ diff --git a/lib/libc/include/any-darwin-any/dispatch/group.h b/lib/libc/include/any-darwin-any/dispatch/group.h index 53befcc016d5088ec9d2ede554e0c2b8e2630ec0..2f8e3688f7cc8c5b9a824c5afe174d93c733d1e3 100644 --- a/lib/libc/include/any-darwin-any/dispatch/group.h +++ b/lib/libc/include/any-darwin-any/dispatch/group.h @@ -286,4 +286,4 @@ __END_DECLS DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif +#endif /* __DISPATCH_GROUP__ */ diff --git a/lib/libc/include/any-darwin-any/dispatch/object.h b/lib/libc/include/any-darwin-any/dispatch/object.h index 4ba56a348c7e454fe53a9a203da16e530c5a0560..61626070a6c33b7c760a392d5480a8a11fd46937 100644 --- a/lib/libc/include/any-darwin-any/dispatch/object.h +++ b/lib/libc/include/any-darwin-any/dispatch/object.h @@ -460,13 +460,17 @@ dispatch_resume(dispatch_object_t object); * Sets the QOS class floor on a dispatch queue, source or workloop. * * @discussion - * The QOS class of workitems submitted to this object asynchronously will be - * elevated to at least the specified QOS class floor. The QOS of the workitem - * will be used if higher than the floor even when the workitem has been created - * without "ENFORCE" semantics. + * Workitems submitted to this object asynchronously run at the higher of + * the floor and the workitem's assigned QoS class (regardless of whether + * the workitem was created with DISPATCH_BLOCK_ENFORCE_QOS_CLASS) — i.e. + * the floor raises the workitem's QoS class but never lowers it. * * Setting the QOS class floor is equivalent to the QOS effects of configuring - * a queue whose target queue has a QoS class set to the same value. + * a queue whose target queue has the same specified QoS class. + * + * If this queue was previously created with a specified QoS class (via + * dispatch_queue_attr_make_with_qos_class()), setting a floor QoS class + * supersedes the specified QoS class. * * @param object * A dispatch queue, workloop, or source to configure. @@ -673,4 +677,4 @@ __END_DECLS DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif +#endif /* __DISPATCH_OBJECT__ */ diff --git a/lib/libc/include/any-darwin-any/dispatch/once.h b/lib/libc/include/any-darwin-any/dispatch/once.h index 18c9cf32c5c6f2676592a6c70c833734db6b3481..5706ac2ccaa35476e7eff4252a3eca59ca3aae84 100644 --- a/lib/libc/include/any-darwin-any/dispatch/once.h +++ b/lib/libc/include/any-darwin-any/dispatch/once.h @@ -125,4 +125,4 @@ __END_DECLS DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif +#endif /* __DISPATCH_ONCE__ */ diff --git a/lib/libc/include/any-darwin-any/dispatch/queue.h b/lib/libc/include/any-darwin-any/dispatch/queue.h index ed92d11a56c82228817792377efe0d3a6a796929..97d68a1d4f6bab4845d40b26321576bae608e50f 100644 --- a/lib/libc/include/any-darwin-any/dispatch/queue.h +++ b/lib/libc/include/any-darwin-any/dispatch/queue.h @@ -220,6 +220,15 @@ __BEGIN_DECLS * concurrently with respect to other blocks submitted to that same queue. * Serial queues are processed concurrently with respect to each other. * + * The QoS class at which the block runs is determined by the block's assigned + * QoS class together with the target queue's specified QoS class (see + * dispatch_queue_attr_make_with_qos_class()) and floor (see + * dispatch_set_qos_class_floor()). For a bare block (one not wrapped by + * dispatch_block_create*), the assigned QoS class is the QoS class current on + * the calling thread at the moment dispatch_async() is called. See + * dispatch_block_flags_t for the full resolution rules and for control over + * how the block's QoS class interacts with the queue's. + * * @param queue * The target dispatch queue to which the block is submitted. * The system will hold a reference on the target queue until the block @@ -915,9 +924,10 @@ dispatch_queue_attr_make_with_autorelease_frequency( * relative priority to the queue. * * @discussion - * When specified in this manner, the QOS class and relative priority take - * precedence over those inherited from the dispatch queue's target queue (if - * any) as long that does not result in a lower QOS class and relative priority. + * The attribute sets the queue's specified QoS class and relative priority. + * This takes precedence over the QoS class and relative priority inherited + * from the target queue, but the target queue's QoS acts as a floor QoS for + * all work submitted to this queue. * * The global queue priorities map to the following QOS classes: * - DISPATCH_QUEUE_PRIORITY_HIGH: QOS_CLASS_USER_INITIATED @@ -934,9 +944,9 @@ dispatch_queue_attr_make_with_autorelease_frequency( * queue = dispatch_queue_create("com.example.myqueue", attr); * * - * The QOS class and relative priority set this way on a queue have no effect on - * blocks that are submitted synchronously to a queue (via dispatch_sync(), - * dispatch_barrier_sync()). + * The QOS class and relative priority specified this way on a queue have no + * effect on blocks that are submitted synchronously to a queue (via + * dispatch_sync(), dispatch_barrier_sync()). * * @param attr * A queue attribute value to be combined with the QOS class, or NULL. @@ -1000,11 +1010,14 @@ dispatch_queue_attr_make_with_qos_class(dispatch_queue_attr_t _Nullable attr, * a queue will hold a reference to that queue. Therefore a queue will not be * deallocated until all pending blocks have finished. * - * When using a dispatch queue attribute @a attr specifying a QoS class (derived - * from the result of dispatch_queue_attr_make_with_qos_class()), passing the - * result of dispatch_get_global_queue() in @a target will ignore the QoS class - * of that global queue and will use the global queue with the QoS class - * specified by attr instead. + * When using a dispatch queue attribute @a attr with a specified QoS class + * (derived from the result of dispatch_queue_attr_make_with_qos_class()), + * passing the result of dispatch_get_global_queue() in @a target will ignore + * the QoS class of that global queue and will use the global queue with the + * QoS class specified by @a attr instead. + * + * A queue's QoS class can also be raised by configuring a floor with + * dispatch_set_qos_class_floor() before the queue is activated. * * Queues created with dispatch_queue_create_with_target() cannot have their * target queue changed, unless created inactive (See @@ -1066,6 +1079,10 @@ dispatch_queue_create_with_target(const char *_Nullable DISPATCH_UNSAFE_INDEXABL * of service class of the newly created dispatch queue's target queue (if any) * as long that does not result in a lower QOS class and relative priority. * + * The queue's QoS class can also be raised by configuring a floor with + * dispatch_set_qos_class_floor() (use DISPATCH_QUEUE_SERIAL_INACTIVE etc. to + * obtain an inactive queue, then activate it after configuration). + * * When no quality of service class is specified, the target queue of a newly * created dispatch queue is the default priority global concurrent queue. * @@ -1127,11 +1144,11 @@ dispatch_queue_get_label(dispatch_queue_t _Nullable queue); * Returns the QOS class and relative priority of the given queue. * * @discussion - * If the given queue was created with an attribute value returned from - * dispatch_queue_attr_make_with_qos_class(), this function returns the QOS - * class and relative priority specified at that time; for any other attribute - * value it returns a QOS class of QOS_CLASS_UNSPECIFIED and a relative - * priority of 0. + * This function returns the QOS class and relative priority of the queue, + * either set by dispatch_queue_attr_make_with_qos_class() or by + * dispatch_set_qos_class_floor(). For a queue with no QOS class + * configuration, it returns a QOS class of QOS_CLASS_UNSPECIFIED and a + * relative priority of 0. * * If the given queue is one of the global queues, this function returns its * assigned QOS class value as documented under dispatch_get_global_queue() and @@ -1804,4 +1821,4 @@ __END_DECLS DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif +#endif /* __DISPATCH_QUEUE__ */ diff --git a/lib/libc/include/any-darwin-any/dispatch/source.h b/lib/libc/include/any-darwin-any/dispatch/source.h index 9fc116184a8c4a080090defa02e13f65cdc8d6d6..88360f5578c6e181fbd2b04561ed6c223688fbc0 100644 --- a/lib/libc/include/any-darwin-any/dispatch/source.h +++ b/lib/libc/include/any-darwin-any/dispatch/source.h @@ -29,10 +29,9 @@ #if TARGET_OS_MAC #include #include -#endif - -#if !defined(_WIN32) #include +#elif !defined(_WIN32) +#include #endif DISPATCH_ASSUME_NONNULL_BEGIN @@ -801,4 +800,4 @@ __END_DECLS DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif +#endif /* __DISPATCH_SOURCE__ */ diff --git a/lib/libc/include/any-darwin-any/dispatch/time.h b/lib/libc/include/any-darwin-any/dispatch/time.h index 92772b28150e2dda19635b70fc0d4e62f85d3ce9..f55b57988be3d4d2cd58afe21519b67272f6b9dd 100644 --- a/lib/libc/include/any-darwin-any/dispatch/time.h +++ b/lib/libc/include/any-darwin-any/dispatch/time.h @@ -141,4 +141,4 @@ __END_DECLS DISPATCH_ASSUME_ABI_SINGLE_END DISPATCH_ASSUME_NONNULL_END -#endif +#endif /* __DISPATCH_TIME__ */ diff --git a/lib/libc/include/any-darwin-any/dlfcn.h b/lib/libc/include/any-darwin-any/dlfcn.h index 73ee657e60980a90fdc9b583281a9ea80f8a20b7..f3d031c68c92315643d30784ed094a14bb757932 100644 --- a/lib/libc/include/any-darwin-any/dlfcn.h +++ b/lib/libc/include/any-darwin-any/dlfcn.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2004-2008 Apple Inc. All rights reserved. + * Copyright (c) 2004-2026 Apple Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * @@ -32,7 +32,7 @@ #include -#if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) +#if !defined(_POSIX_C_SOURCE) || (_POSIX_C_SOURCE >= 202405L) || defined(_DARWIN_C_SOURCE) #include #include @@ -45,17 +45,59 @@ extern "C" { #endif -/* +/*! * Structure filled in by dladdr(). + * + * ```C + * struct Dl_info { + * const char* dli_fname; + * void* dli_fbase; + * const char* dli_sname; + * void* dli_saddr; + * }; + * ``` + * + * This structure contains information about the nearest symbol to a given address. + * - Field dli_fname: The pathname of the mach-o image containing the address. + * - Field dli_fbase: Load address of mach-o image containing the address. + * - Field dli_sname: Name of nearest symbol. + * - Field dli_saddr: Address of nearest symbol. */ typedef struct dl_info { - const char *dli_fname; /* Pathname of shared object */ - void *dli_fbase; /* Base address of shared object */ - const char *dli_sname; /* Name of nearest symbol */ - void *dli_saddr; /* Address of nearest symbol */ + const char* dli_fname; + void* dli_fbase; + const char* dli_sname; + void* dli_saddr; } Dl_info; +typedef struct dl_info Dl_info_t; /* POSIX 2024 */ -extern int dladdr(const void *, Dl_info *); +/*! + * Returns image and symbol information for an address. + * + * This function queries dyld (the dynamic linker) for information about the + * image containing the specified address. For a given address in a mach-o image, + * the function finds the closest symbol whose address is less than or equal to + * the given address. + * + * - Parameter addr: The address to query. + * - Parameter info: A pointer to a `Dl_info` structure that will be filled in with information + * about the nearest symbol. The structure contains the pathname of the image, + * its load address, the name of the nearest symbol, and the address of that symbol. + * + * - Returns: Returns non-zero if the address lies within a mapped image, zero otherwise. + * If no symbol was found, but the address is within a mapped image, the symbol + * information (dli_sname and dli_saddr) will be NULL + * and the image information (dli_fname and dli_fbase) will be filled in. + * + * > Note: The name `Dl_info_t` exists to match the new POSIX 2024 standard. + * + * > Note: This function does not follow Unix tradition. It returns zero as an indication of failure. + * Think of it as returning a `bool` where true means information for `addr` was returned. + * + * > Note: The strings returned are owned by dyld and do not need to be released/freed. Though + * they will become invalid if the image is unloaded. + */ +extern int dladdr(const void*, Dl_info*); #ifdef __cplusplus } @@ -70,33 +112,213 @@ extern int dladdr(const void *, Dl_info *); extern "C" { #endif -extern int dlclose(void * __handle) __DYLDDL_UNAVAILABLE; -extern char * dlerror(void) __DYLDDL_UNAVAILABLE; -extern void * dlopen(const char * __path, int __mode) __DYLDDL_UNAVAILABLE; -extern void * dlsym(void * __handle, const char * __symbol) __DYLDDL_DLSYM_UNAVAILABLE; +/*! + * Decrements the reference count on a dynamic library. + * + * When the reference count for a particular dynamic library becomes zero, + * the dynamic library may be unloaded. + * + * - Parameter handle: A handle obtained by a previous call to dlopen(). + * + * - Returns: Returns zero on success, or -1 if the handle is invalid or an error occurred. + * If an error occurred, a human readable string describing the error can be + * retrieved by calling dlerror(). + * + * > Note: There are a couple of cases in which a dynamic library will never be unloaded: + * > * the main executable directly or indirectly links against it + * > * the dynamic library is in dyld's shared cache + * > * the dynamic library has thread-local variables + * > * the dynamic library contains Objective-C classes. + */ +extern int dlclose(void*) __DYLDDL_UNAVAILABLE; + +/*! + * Returns a human readable string describing the most recent error on the current thread. + * + * This function returns a null-terminated character string describing the last + * error that occurred during a call to dlopen(), dlsym(), or dlclose() on this thread. + * If no such error has occurred, dlerror() returns a null pointer. After each call + * to dlerror(), the error string is reset. + * + * - Returns: A string describing the last dlopen/dlclose/dlsym error on this thread, + * or NULL if no error has occurred since the thread was started or + * since dlerror() was last called. + * + * > Note: You only get the error string once. Calling dlerror() twice in a row will + * result in the second call returning NULL. + * + */ +extern char* dlerror(void) __DYLDDL_UNAVAILABLE; + +/*! + * Loads a dynamic library and returns a handle that can be used with dlsym() or dlclose(). + * + * This function examines the mach-o file specified by path. If the file is compatible + * with the current process and has not already been loaded into the process, it is + * loaded and linked (which means recusively loading libraries it depends on). + * After being linked, and before returning, any static initializers + * are run and any Objective-C class or methods are registered with the ObjC runtime. + * A second call to dlopen() that resolves to the same path will not load a second copy, + * instead it just returns the existing handle, and increments that handles reference count. + * + * In general, dyld does not search for dylibs. Dylibs are specified via a + * full path, either as a static dependent dylib in a mach-o file, or as a path + * passed to dlopen() , But during development the env vars `DYLD_LIBRARY_PATH` + * and `DYLD_FRAMEWORK_PATH` can be used to override the specified path and look + * for the leaf framework/dylib name in the specified directories. + * + * For dlopen(), when the path does not contain a slash character (i.e. it is just a leaf name), + * dlopen() will do searching. If `DYLD_LIBRARY_PATH` was set at launch, dyld + * will first look in that directory. Next, if the calling mach-o file or the + * main executable specify an `LC_RPATH`, then dyld will look in those + * directories. Next, if the process is unrestricted, dyld will search in the + * current working directory. Lastly, for old binaries, dyld will try some + * fallbacks. If `DYLD_FALLBACK_LIBRARY_PATH` was set at launch, dyld will + * search in those directories, otherwise, dyld will look in /usr/local/lib/ + * (if the process is unrestricted), and then in /usr/lib/. This behavior + * with dlopen of a leaf name is for historic compatibility. You should strive + * to use full paths (e.g. `dlopen("/usr/lib/libz.dylib", 0)`). + * + * When path looks like a framework path (e.g. /stuff/Foo.framework/Foo), if + * `DYLD_FRAMEWORK_PATH` was set at launch, dyld will first look in that + * directory for the framework partial path (e.g. Foo.framework/Foo). Next, + * dyld will try the supplied path as-is (using current working directory for + * relative paths). Lastly, for old binaries, dyld will try some fallbacks. + * If `DYLD_FALLBACK_FRAMEWORK_PATH` was set at launch, dyld will search those + * directories. Otherwise, it will search /Library/Frameworks (on macOS if + * process is unrestricted), then /System/Library/Frameworks. + * + * When the path contains a slash but is not a framework path (i.e. a full path or + * a partial path to a dylib), dlopen() first looks in (if set) in + * `DYLD_LIBRARY_PATH` (with leaf part from path ). Next, dyld tries the + * supplied path (using current working directory for relative paths (but only + * for unrestricted processes)). Lastly, for older binaries, dyld will try + * fallbacks. If `DYLD_FALLBACK_LIBRARY_PATH` was set at launch, dyld will + * search in those directories, otherwise, dyld will look in /usr/local/lib/ + * (if the process is unrestricted), and then in /usr/lib/. + * + * If you want to find a dylib via the dynamic run path, use @rpath (e.g. + * `dlopen("@rpath/libfoo.dylib",RTLD_GLOBAL)`), + * + * - Parameter path: The path to a mach-o file. If path is NULL, dlopen() returns a handle + * equivalent to RTLD_DEFAULT. + * - Parameter mode: The mode to use when opening the library. This should be one or more of + * RTLD_LAZY, RTLD_NOW, RTLD_LOCAL, RTLD_GLOBAL, RTLD_NOLOAD, RTLD_NODELETE, + * or RTLD_FIRST. + * + * - Returns: A handle that can be used with dlsym() or dlclose(). If the library cannot be loaded, + * or an error occurs during loading, dlopen() returns NULL and dlerror() can be called + * to retrieve an error message. + * + * The `mode` flags are: + * * RTLD_LAZY - The default + * * RTLD_NOW - For old binaries, forces lazy symbols to be bound immediately. Lazy symbol + * binding no longer exists with chained fixups, so this is moot. + * * RTLD_LOCAL - Blocks symbols from being found by `dlsym(RTLD_DEFAULT)` + * * RTLD_GLOBAL - The Default. Allows symbols to be found by `dlsym(RTLD_DEFAULT)` + * * RTLD_NOLOAD - If the requested image is not already loaded, return NULL. If is is already + * loaded, bump the ref-count and return the handle. + * * RTLD_NODELETE - Never unmap the image. + * * RTLD_FIRST - Causes dlsym() on the returned handle to only search that image and not continue + * searching as it normally does if the requrested handle does not contain the symbol. + * + * > Note: On Apple platforms most OS dylibs are combined into the dyld cache and + * do not exist on disk. Therefore, calling stat() to preflight if an OS dylib + * exists won't work. + * + * > Note: You can run with `DYLD_PRINT_SEARCHING=1` to see all paths dyld tries (e.g. @rpath expansions). + * + * > Note: There are many security mechanisms that will disable dyld from using `DYLD_` env vars + * to prevent "dylib hijacking". + * + * > Note: There are no configuration files in the OS to control dlopen searching. + * + * > Note: Apple platforms use "universal" files to combine multiple architecture support into one file. + * This means there is not separate directories or search paths for each architecture. + * + */ +extern void* dlopen(const char*, int) __DYLDDL_UNAVAILABLE; + +/*! + * Returns the address of a named symbol in a dynamic library. + * + * This function returns the address of the code or data location specified by the + * null-terminated character string symbol. Which libraries and bundles are searched + * depends on the handle parameter. + * + * - Parameter handle: A handle returned by dlopen(), or one of the special `RTLD_` values. + * - Parameter symbol: The symbol name to look up. + * + * - Returns: The address of the symbol, or NULL if the symbol cannot be found. If an error occurs, + * dlerror() can be called to retrieve an error message. + * + * > Note: The special handles are: + * > * RTLD_DEFAULT - searches all mach-o images in the process in the order they were loaded. + * > * RTLD_NEXT - searches mach-o images that were loaded after the one calling dlsym(). + * > * RTLD_SELF - searches the image calling dlsym() and those loaded after it. + * > * RTLD_MAIN_ONLY - searches only the main executable. + * + * > Note: If the requested symbol name is not in the requested handle, dlsym() will continue + * recursively searching in libraries that the handle's library links with. This can make + * looking up symbols likely to be missing very slow. To avoid that cost, use `RTLD_FIRST` + * with dlopen() to mark the handle "search shallow". + * + * > Note: The symbol name string passed to dlsym() is the C name (e.g. `"malloc"`), even though the + * internal mach-o symbol name has a leading underscore (e.g. `"_malloc"`) + * + * > Note: For processes running with PAC (arm64e), if the symbol found is a function (i.e not data) + * the return pointer will be PAC signed with zero-diversity. + * + * > Note: `RTLD_DEFAULT` is very expensive and should be avoided. It potentially searches every + * dynamic library in the process, which could mean search 1000+ libraries. + * + */ +extern void* dlsym(void*, const char*) __DYLDDL_DLSYM_UNAVAILABLE; #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -extern bool dlopen_preflight(const char* __path) __API_AVAILABLE(macos(10.5), ios(2.0)) __DYLDDL_UNAVAILABLE; +/*! + * Determines if a dynamic library or bundle can be loaded. + * + * This function examines the mach-o file specified by path to determine if it is + * compatible with the current process and can be loaded. It returns true if the + * file exists, is accessible, is of the correct Mach-O format, and is compatible. + * Unlike dlopen(), this function does not actually load the library or cause any + * of its initializer functions to be called. + * + * - Parameter path: The path to a mach-o file to examine. + * + * - Returns: Returns true if the image appears to be compatible and can be loaded, + * false otherwise. If false, dlerror() can be called to retrieve an error message. + * + * > Note: The function was created in the Mac PowerPC-to-Intel transition for apps that needed + * to build menus showing available plug-ins. Every other use is probably wrong. + * If you want to load a library, just call dlopen(). + * + */ +extern bool dlopen_preflight(const char*) __API_AVAILABLE(macos(10.5), ios(2.0)) __DYLDDL_UNAVAILABLE; #endif /* not POSIX */ +/* + * Flags for dlopen(). + */ #define RTLD_LAZY 0x1 #define RTLD_NOW 0x2 #define RTLD_LOCAL 0x4 #define RTLD_GLOBAL 0x8 #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) -#define RTLD_NOLOAD 0x10 -#define RTLD_NODELETE 0x80 -#define RTLD_FIRST 0x100 /* Mac OS X 10.5 and later */ +#define RTLD_NOLOAD 0x10 +#define RTLD_NODELETE 0x80 +#define RTLD_FIRST 0x100 /* - * Special handle arguments for dlsym(). + * Special handle values for dlsym(). */ -#define RTLD_NEXT ((void *) -1) /* Search subsequent objects. */ -#define RTLD_DEFAULT ((void *) -2) /* Use default search algorithm. */ -#define RTLD_SELF ((void *) -3) /* Search this and subsequent objects (Mac OS X 10.5 and later) */ -#define RTLD_MAIN_ONLY ((void *) -5) /* Search main executable only (Mac OS X 10.5 and later) */ +#define RTLD_NEXT ((void *) -1) /* Search subsequent objects. */ +#define RTLD_DEFAULT ((void *) -2) /* Use default search algorithm. */ +#define RTLD_SELF ((void *) -3) /* Search this and subsequent objects */ +#define RTLD_MAIN_ONLY ((void *) -5) /* Search main executable only */ #endif /* not POSIX */ #ifdef __cplusplus diff --git a/lib/libc/include/any-darwin-any/fts.h b/lib/libc/include/any-darwin-any/fts.h index 42f4bbad6bd6ae636fa5f5b1973a43d42e3ac353..ba14b16815db41cbef7e8be762f737472db1bf5d 100644 --- a/lib/libc/include/any-darwin-any/fts.h +++ b/lib/libc/include/any-darwin-any/fts.h @@ -1,195 +1,35 @@ -/* - * Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ -/* - * Copyright (c) 1989, 1993 - * The Regents of the University of California. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * @(#)fts.h 8.3 (Berkeley) 8/14/94 - */ - -#ifndef _FTS_H_ -#define _FTS_H_ - -#include -#include -#include -#include - -#include <_bounds.h> -#include - -_LIBC_SINGLE_BY_DEFAULT() - -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wstrict-prototypes" - -typedef struct { - struct _ftsent *fts_cur; /* current node */ - struct _ftsent *fts_child; /* linked list of children */ - struct _ftsent **_LIBC_COUNT(fts_nitems) fts_array; /* sort array */ - dev_t fts_dev; /* starting device # */ - char *fts_path; /* path for this descent */ - int fts_rfd; /* fd for root */ - int fts_pathlen; /* sizeof(path) */ - int fts_nitems; /* elements in the sort array */ -#ifdef __BLOCKS__ - union { -#endif /* __BLOCKS__ */ - int (*fts_compar)(); /* compare function */ -#ifdef __BLOCKS__ - int (^fts_compar_b)(); /* compare block */ - }; -#endif /* __BLOCKS__ */ - -#define FTS_COMFOLLOW 0x001 /* follow command line symlinks */ -#define FTS_LOGICAL 0x002 /* logical walk */ -#define FTS_NOCHDIR 0x004 /* don't change directories */ -#define FTS_NOSTAT 0x008 /* don't get stat info */ -#define FTS_PHYSICAL 0x010 /* physical walk */ -#define FTS_SEEDOT 0x020 /* return dot and dot-dot */ -#define FTS_XDEV 0x040 /* don't cross devices */ -#define FTS_WHITEOUT 0x080 /* (no longer supported) return whiteout information */ -#define FTS_COMFOLLOWDIR 0x400 /* (non-std) follow command line symlinks for directories only */ -#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 1090) || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 70000) -#define FTS_OPTIONMASK 0x4ff /* valid user option mask */ -#else -#define FTS_NOSTAT_TYPE 0x800 /* (non-std) no stat, but use d_type in struct dirent when available */ -#define FTS_OPTIONMASK 0xcff /* valid user option mask */ +#ifndef DARWIN_FTS_H_INCLUDED +#define DARWIN_FTS_H_INCLUDED +/* Temporarily force FTS_COMPAT until we've cleared up the fallout */ +#ifndef WANT_FTS_NEW +# ifndef WANT_FTS_COMPAT +# define WANT_FTS_COMPAT 1 +# endif #endif - -#define FTS_NAMEONLY 0x100 /* (private) child names only */ -#define FTS_STOP 0x200 /* (private) unrecoverable error */ -#define FTS_THREAD_FCHDIR 0x400 /* (private) use pthread_fchdir_np */ -#ifdef __BLOCKS__ -#define FTS_BLOCK_COMPAR 0x80000000 /* fts_compar is a block */ -#endif /* __BLOCKS__ */ - int fts_options; /* fts_open options, global flags */ -} FTS; - -typedef struct _ftsent { - struct _ftsent *fts_cycle; /* cycle node */ - struct _ftsent *fts_parent; /* parent directory */ - struct _ftsent *fts_link; /* next file in directory */ - long fts_number; /* local numeric value */ - void *fts_pointer; /* local address value */ - char *_LIBC_CSTR fts_accpath; /* access path */ - char *_LIBC_CSTR fts_path; /* root path */ - int fts_errno; /* errno for this node */ - int fts_symfd; /* fd for symlink or chdir */ - unsigned short fts_pathlen; /* strlen(fts_path) */ - unsigned short fts_namelen; /* strlen(fts_name) */ - - ino_t fts_ino; /* inode */ - dev_t fts_dev; /* device */ - nlink_t fts_nlink; /* link count */ - -#define FTS_ROOTPARENTLEVEL -1 -#define FTS_ROOTLEVEL 0 -#define FTS_MAXLEVEL 0x7fffffff - short fts_level; /* depth (-1 to N) */ - -#define FTS_D 1 /* preorder directory */ -#define FTS_DC 2 /* directory that causes cycles */ -#define FTS_DEFAULT 3 /* none of the above */ -#define FTS_DNR 4 /* unreadable directory */ -#define FTS_DOT 5 /* dot or dot-dot */ -#define FTS_DP 6 /* postorder directory */ -#define FTS_ERR 7 /* error; errno is set */ -#define FTS_F 8 /* regular file */ -#define FTS_INIT 9 /* initialized only */ -#define FTS_NS 10 /* stat(2) failed */ -#define FTS_NSOK 11 /* no stat(2) requested */ -#define FTS_SL 12 /* symbolic link */ -#define FTS_SLNONE 13 /* symbolic link without target */ -#define FTS_W 14 /* whiteout object */ - unsigned short fts_info; /* user flags for FTSENT structure */ - -#define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */ -#define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */ -#define FTS_ISW 0x04 /* this is a whiteout object */ -#define FTS_CHDIRFD 0x08 /* indicates the fts_symfd field was set for chdir */ - unsigned short fts_flags; /* private flags for FTSENT structure */ - -#define FTS_AGAIN 1 /* read node again */ -#define FTS_FOLLOW 2 /* follow symbolic link */ -#define FTS_NOINSTR 3 /* no instructions */ -#define FTS_SKIP 4 /* discard node */ - unsigned short fts_instr; /* fts_set() instructions */ - - struct stat *fts_statp; /* stat(2) information */ - char fts_name[1]; /* file name, unsafe with -fbounds-safety */ -} FTSENT; - -#include #include - -__BEGIN_DECLS -FTSENT *fts_children(FTS *, int) __DARWIN_INODE64(fts_children); -int fts_close(FTS *) __DARWIN_INODE64(fts_close); -FTS *fts_open(char *_LIBC_CSTR const *, int, - int (*)(const FTSENT **, const FTSENT **)) __DARWIN_INODE64(fts_open); -#ifdef __BLOCKS__ -#if __has_attribute(noescape) -#define __fts_noescape __attribute__((__noescape__)) +#ifdef VARIANT_INODE32 +# undef WANT_FTS_NEW +# define WANT_FTS_COMPAT 1 +#elif defined(WANT_FTS_NEW) +# undef WANT_FTS_COMPAT +#elif !defined(WANT_FTS_COMPAT) +# if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 280000 +# define WANT_FTS_COMPAT 1 +# elif defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 280000 +# define WANT_FTS_COMPAT 1 +# elif defined(__WATCH_OS_VERSION_MIN_REQUIRED) && __WATCH_OS_VERSION_MIN_REQUIRED < 280000 +# define WANT_FTS_COMPAT 1 +# elif defined(__TV_OS_VERSION_MIN_REQUIRED) && __TV_OS_VERSION_MIN_REQUIRED < 280000 +# define WANT_FTS_COMPAT 1 +# elif defined(__BRIDGE_OS_VERSION_MIN_REQUIRED) && __BRIDGE_OS_VERSION_MIN_REQUIRED < 280000 +# define WANT_FTS_COMPAT 1 +# elif defined(__VISION_OS_VERSION_MIN_REQUIRED) && __VISION_OS_VERSION_MIN_REQUIRED < 280000 +# define WANT_FTS_COMPAT 1 +# endif +#endif +#ifdef WANT_FTS_COMPAT +# include #else -#define __fts_noescape +# include #endif -FTS *fts_open_b(char *_LIBC_CSTR const *, int, - int (^)(const FTSENT **, const FTSENT **) __fts_noescape) - __DARWIN_INODE64(fts_open_b) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); -#endif /* __BLOCKS__ */ -FTSENT *fts_read(FTS *) __DARWIN_INODE64(fts_read); -int fts_set(FTS *, FTSENT *, int) __DARWIN_INODE64(fts_set); -__END_DECLS - -#pragma clang diagnostic pop -#endif /* !_FTS_H_ */ - +#endif /* DARWIN_FTS_H_INCLUDED */ diff --git a/lib/libc/include/any-darwin-any/fts_compat.h b/lib/libc/include/any-darwin-any/fts_compat.h new file mode 100644 index 0000000000000000000000000000000000000000..d5b6f47bb52c54a2943b38fba579b4bf3ce0c34d --- /dev/null +++ b/lib/libc/include/any-darwin-any/fts_compat.h @@ -0,0 +1,197 @@ +/* + * Copyright (c) 2000, 2003-2006, 2008, 2012 Apple Inc. All rights reserved. + * + * @APPLE_LICENSE_HEADER_START@ + * + * This file contains Original Code and/or Modifications of Original Code + * as defined in and that are subject to the Apple Public Source License + * Version 2.0 (the 'License'). You may not use this file except in + * compliance with the License. Please obtain a copy of the License at + * http://www.opensource.apple.com/apsl/ and read it before using this + * file. + * + * The Original Code and all software distributed under the License are + * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER + * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, + * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. + * Please see the License for the specific language governing rights and + * limitations under the License. + * + * @APPLE_LICENSE_HEADER_END@ + */ +/* + * Copyright (c) 1989, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + * + * @(#)fts.h 8.3 (Berkeley) 8/14/94 + */ + +#ifndef _FTS_H_ +#define _FTS_H_ + +#ifndef DARWIN_FTS_H_INCLUDED +#error "Never use directly; include instead." +#endif /* !DARWIN_FTS_H_INCLUDED */ + +#include +#include +#include +#include + +#include <_bounds.h> +_LIBC_SINGLE_BY_DEFAULT() + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wstrict-prototypes" + +typedef struct { + struct _ftsent *fts_cur; /* current node */ + struct _ftsent *fts_child; /* linked list of children */ + struct _ftsent **_LIBC_COUNT(fts_nitems) fts_array; /* sort array */ + dev_t fts_dev; /* starting device # */ + char *fts_path; /* path for this descent */ + int fts_rfd; /* fd for root */ + int fts_pathlen; /* sizeof(path) */ + int fts_nitems; /* elements in the sort array */ +#ifdef __BLOCKS__ + union { +#endif /* __BLOCKS__ */ + int (*fts_compar)(); /* compare function */ +#ifdef __BLOCKS__ + int (^fts_compar_b)(); /* compare block */ + }; +#endif /* __BLOCKS__ */ + +#define FTS_COMFOLLOW 0x001 /* follow command line symlinks */ +#define FTS_LOGICAL 0x002 /* logical walk */ +#define FTS_NOCHDIR 0x004 /* don't change directories */ +#define FTS_NOSTAT 0x008 /* don't get stat info */ +#define FTS_PHYSICAL 0x010 /* physical walk */ +#define FTS_SEEDOT 0x020 /* return dot and dot-dot */ +#define FTS_XDEV 0x040 /* don't cross devices */ +#define FTS_WHITEOUT 0x080 /* (no longer supported) return whiteout information */ +#define FTS_COMFOLLOWDIR 0x400 /* (non-std) follow command line symlinks for directories only */ +#if (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED < 1090) || (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED < 70000) +#define FTS_OPTIONMASK 0x4ff /* valid user option mask */ +#else +#define FTS_NOSTAT_TYPE 0x800 /* (non-std) no stat, but use d_type in struct dirent when available */ +#define FTS_OPTIONMASK 0xcff /* valid user option mask */ +#endif + +#define FTS_NAMEONLY 0x100 /* (private) child names only */ +#define FTS_STOP 0x200 /* (private) unrecoverable error */ +#define FTS_THREAD_FCHDIR 0x400 /* (private) use pthread_fchdir_np */ +#ifdef __BLOCKS__ +#define FTS_BLOCK_COMPAR 0x80000000 /* fts_compar is a block */ +#endif /* __BLOCKS__ */ + int fts_options; /* fts_open options, global flags */ +} FTS; + +typedef struct _ftsent { + struct _ftsent *fts_cycle; /* cycle node */ + struct _ftsent *fts_parent; /* parent directory */ + struct _ftsent *fts_link; /* next file in directory */ + long fts_number; /* local numeric value */ + void *fts_pointer; /* local address value */ + char *_LIBC_CSTR fts_accpath; /* access path */ + char *_LIBC_CSTR fts_path; /* root path */ + int fts_errno; /* errno for this node */ + int fts_symfd; /* fd for symlink or chdir */ + unsigned short fts_pathlen; /* strlen(fts_path) */ + unsigned short fts_namelen; /* strlen(fts_name) */ + + ino_t fts_ino; /* inode */ + dev_t fts_dev; /* device */ + nlink_t fts_nlink; /* link count */ + +#define FTS_ROOTPARENTLEVEL -1 +#define FTS_ROOTLEVEL 0 +#define FTS_MAXLEVEL 0x7fffffff + short fts_level; /* depth (-1 to N) */ + +#define FTS_D 1 /* preorder directory */ +#define FTS_DC 2 /* directory that causes cycles */ +#define FTS_DEFAULT 3 /* none of the above */ +#define FTS_DNR 4 /* unreadable directory */ +#define FTS_DOT 5 /* dot or dot-dot */ +#define FTS_DP 6 /* postorder directory */ +#define FTS_ERR 7 /* error; errno is set */ +#define FTS_F 8 /* regular file */ +#define FTS_INIT 9 /* initialized only */ +#define FTS_NS 10 /* stat(2) failed */ +#define FTS_NSOK 11 /* no stat(2) requested */ +#define FTS_SL 12 /* symbolic link */ +#define FTS_SLNONE 13 /* symbolic link without target */ +#define FTS_W 14 /* whiteout object */ + unsigned short fts_info; /* user flags for FTSENT structure */ + +#define FTS_DONTCHDIR 0x01 /* don't chdir .. to the parent */ +#define FTS_SYMFOLLOW 0x02 /* followed a symlink to get here */ +#define FTS_ISW 0x04 /* this is a whiteout object */ +#define FTS_CHDIRFD 0x08 /* indicates the fts_symfd field was set for chdir */ + unsigned short fts_flags; /* private flags for FTSENT structure */ + +#define FTS_AGAIN 1 /* read node again */ +#define FTS_FOLLOW 2 /* follow symbolic link */ +#define FTS_NOINSTR 3 /* no instructions */ +#define FTS_SKIP 4 /* discard node */ + unsigned short fts_instr; /* fts_set() instructions */ + + struct stat *fts_statp; /* stat(2) information */ + char fts_name[1]; /* file name, unsafe with -fbounds-safety */ +} FTSENT; + +#include +#include + +__BEGIN_DECLS +FTSENT *fts_children(FTS *, int) __DARWIN_INODE64(fts_children); +int fts_close(FTS *) __DARWIN_INODE64(fts_close); +FTS *fts_open(char *_LIBC_CSTR const *, int, + int (*)(const FTSENT **, const FTSENT **)) __DARWIN_INODE64(fts_open); +#ifdef __BLOCKS__ +#if __has_attribute(noescape) +#define __fts_noescape __attribute__((__noescape__)) +#else +#define __fts_noescape +#endif +FTS *fts_open_b(char *_LIBC_CSTR const *, int, + int (^)(const FTSENT **, const FTSENT **) __fts_noescape) + __DARWIN_INODE64(fts_open_b) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_2); +#endif /* __BLOCKS__ */ +FTSENT *fts_read(FTS *) __DARWIN_INODE64(fts_read); +int fts_set(FTS *, FTSENT *, int) __DARWIN_INODE64(fts_set); +__END_DECLS + +#pragma clang diagnostic pop +#endif /* !_FTS_H_ */ + diff --git a/lib/libc/include/any-darwin-any/i386/limits.h b/lib/libc/include/any-darwin-any/i386/limits.h index 30b7af6128a1cf21bfa495402420e33452a37557..33271ab2d9293d2d34c7eeb6a78b81116f0921b1 100644 --- a/lib/libc/include/any-darwin-any/i386/limits.h +++ b/lib/libc/include/any-darwin-any/i386/limits.h @@ -57,7 +57,7 @@ #if (defined(__has_include) && __has_include(<__xnu_libcxx_sentinel.h>)) #if !__has_include_next() -#error Do not build with -nostdinc (use GCC_USE_STANDARD_INCLUDE_SEARCHING=NO) +#error Do not build with -nostdinc (use GCC_USE_STANDARD_INCLUDE_SEARCHING=YES) #else #include_next #endif /* __has_include_next */ diff --git a/lib/libc/include/any-darwin-any/mach-o/compact_unwind_encoding.h b/lib/libc/include/any-darwin-any/mach-o/compact_unwind_encoding.h index a6f2f6dbc3ffda30874f6b02c5a9dfd10cc668c2..3174de46879838e6896a064dfcb40d03d0bb80f8 100644 --- a/lib/libc/include/any-darwin-any/mach-o/compact_unwind_encoding.h +++ b/lib/libc/include/any-darwin-any/mach-o/compact_unwind_encoding.h @@ -288,6 +288,10 @@ enum { UNWIND_ARM64_MODE_FRAMELESS = 0x02000000, UNWIND_ARM64_MODE_DWARF = 0x03000000, UNWIND_ARM64_MODE_FRAME = 0x04000000, + UNWIND_ARM64_MODE_FRAME_PAUTH_LR = 0x05000000, + + UNWIND_ARM64_PAUTH_LR_OFFSET_MASK = 0x00FFF000, + UNWIND_ARM64_PAUTH_LR_OFFSET_SHIFT = 12, UNWIND_ARM64_FRAME_X19_X20_PAIR = 0x00000001, UNWIND_ARM64_FRAME_X21_X22_PAIR = 0x00000002, @@ -323,8 +327,13 @@ enum { // This mode is never used in object files. It is only generated by the // linker in final linked images which have only DWARF unwind info for a // function. -// - +// For arm64e there is one more mode for compact unwind encoding: +// UNWIND_ARM64_MODE_FRAME_PAUTH_LR: +// An arm64e prologue, where LR is signed in the range with a `pacibsppc`. +// The UNWIND_ARM64_PAUTH_LR_OFFSET_MASK bits specify an unsigned positive +// offset (encoded as a multiple of 4 bytes) from the beginning of the range +// to the `pacibsppc`, with 0 indicating that the `pacibsppc` is the first +// instruction in the range. #ifndef __OPEN_SOURCE__ // diff --git a/lib/libc/include/any-darwin-any/mach-o/dyld.h b/lib/libc/include/any-darwin-any/mach-o/dyld.h index 7cdeb19cbc6dba7bb90740ed2cd8192920139b3c..71bf4c7be7885c698a12d5c8bbcaf5b0e4e77cf6 100644 --- a/lib/libc/include/any-darwin-any/mach-o/dyld.h +++ b/lib/libc/include/any-darwin-any/mach-o/dyld.h @@ -128,6 +128,13 @@ extern void _tlv_bootstrap(void) __A extern bool _dyld_shared_cache_contains_path(const char* path) __API_AVAILABLE(macos(11.0), ios(14.0), watchos(7.0), tvos(14.0)) DYLD_DRIVERKIT_UNAVAILABLE; +/* + * Given a handle returned by dlopen(), this function returns the mach_header* of the + * loaded image to which the handle refers. + */ +extern const struct mach_header* _dyld_get_dlopen_image_header(void* handle) __API_AVAILABLE(macos(13.0), ios(16.0), watchos(9.0), tvos(16.0)) DYLD_DRIVERKIT_UNAVAILABLE; + + /* * The following dyld API's are deprecated as of Mac OS X 10.5. They are either * no longer necessary or are superceeded by dlopen and friends in . @@ -169,22 +176,18 @@ typedef struct __NSObjectFileImage* NSObjectFileImage; /* NSObjectFileImage can only be used with MH_BUNDLE files */ -extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromFile(const char* pathName, NSObjectFileImage *objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); -extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromMemory(const void *address, size_t size, NSObjectFileImage *objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern bool NSDestroyObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlclose()"); +extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromFile(const char* pathName, NSObjectFileImage *objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); +extern NSObjectFileImageReturnCode NSCreateObjectFileImageFromMemory(const void *address, size_t size, NSObjectFileImage *objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern bool NSDestroyObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlclose()"); -extern uint32_t NSSymbolDefinitionCountInObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern const char* NSSymbolDefinitionNameInObjectFileImage(NSObjectFileImage objectFileImage, uint32_t ordinal) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern uint32_t NSSymbolReferenceCountInObjectFileImage(NSObjectFileImage objectFileImage) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern const char* NSSymbolReferenceNameInObjectFileImage(NSObjectFileImage objectFileImage, uint32_t ordinal, bool *tentative_definition) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern bool NSIsSymbolDefinedInObjectFileImage(NSObjectFileImage objectFileImage, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern void* NSGetSectionDataInObjectFileImage(NSObjectFileImage objectFileImage, const char* segmentName, const char* sectionName, size_t *size) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "getsectiondata()"); +extern bool NSIsSymbolDefinedInObjectFileImage(NSObjectFileImage objectFileImage, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern void* NSGetSectionDataInObjectFileImage(NSObjectFileImage objectFileImage, const char* segmentName, const char* sectionName, size_t *size) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "getsectiondata()"); typedef struct __NSModule* NSModule; -extern const char* NSNameOfModule(NSModule m) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern const char* NSLibraryNameForModule(NSModule m) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern const char* NSNameOfModule(NSModule m) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern const char* NSLibraryNameForModule(NSModule m) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern NSModule NSLinkModule(NSObjectFileImage objectFileImage, const char* moduleName, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); +extern NSModule NSLinkModule(NSObjectFileImage objectFileImage, const char* moduleName, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); #define NSLINKMODULE_OPTION_NONE 0x0 #define NSLINKMODULE_OPTION_BINDNOW 0x1 #define NSLINKMODULE_OPTION_PRIVATE 0x2 @@ -192,27 +195,26 @@ extern NSModule NSLinkModule(NSObjectFileImage objectFileImage, const char* modu #define NSLINKMODULE_OPTION_DONT_CALL_MOD_INIT_ROUTINES 0x8 #define NSLINKMODULE_OPTION_TRAILING_PHYS_NAME 0x10 -extern bool NSUnLinkModule(NSModule module, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); +extern bool NSUnLinkModule(NSModule module, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); #define NSUNLINKMODULE_OPTION_NONE 0x0 #define NSUNLINKMODULE_OPTION_KEEP_MEMORY_MAPPED 0x1 #define NSUNLINKMODULE_OPTION_RESET_LAZY_REFERENCES 0x2 /* symbol API */ typedef struct __NSSymbol* NSSymbol; -extern bool NSIsSymbolNameDefined(const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern bool NSIsSymbolNameDefinedWithHint(const char* symbolName, const char* libraryNameHint) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern bool NSIsSymbolNameDefinedInImage(const struct mach_header* image, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern NSSymbol NSLookupAndBindSymbol(const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern NSSymbol NSLookupAndBindSymbolWithHint(const char* symbolName, const char* libraryNameHint) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern NSSymbol NSLookupSymbolInModule(NSModule module, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); -extern NSSymbol NSLookupSymbolInImage(const struct mach_header* image, const char* symbolName, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); +extern bool NSIsSymbolNameDefined(const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern bool NSIsSymbolNameDefinedWithHint(const char* symbolName, const char* libraryNameHint) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern bool NSIsSymbolNameDefinedInImage(const struct mach_header* image, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern NSSymbol NSLookupAndBindSymbol(const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern NSSymbol NSLookupAndBindSymbolWithHint(const char* symbolName, const char* libraryNameHint) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern NSSymbol NSLookupSymbolInModule(NSModule module, const char* symbolName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); +extern NSSymbol NSLookupSymbolInImage(const struct mach_header* image, const char* symbolName, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND 0x0 #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_NOW 0x1 #define NSLOOKUPSYMBOLINIMAGE_OPTION_BIND_FULLY 0x2 #define NSLOOKUPSYMBOLINIMAGE_OPTION_RETURN_ON_ERROR 0x4 -extern const char* NSNameOfSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); -extern void * NSAddressOfSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); -extern NSModule NSModuleForSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dladdr()"); +extern void * NSAddressOfSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); +extern NSModule NSModuleForSymbol(NSSymbol symbol) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dladdr()"); /* error handling API */ typedef enum { @@ -240,36 +242,25 @@ typedef enum { NSOtherErrorInvalidArgs } NSOtherErrorNumbers; -extern void NSLinkEditError(NSLinkEditErrors *c, int *errorNumber, const char** fileName, const char** errorString) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlerror()"); +extern void NSLinkEditError(NSLinkEditErrors *c, int *errorNumber, const char** fileName, const char** errorString) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlerror()"); -typedef struct { - void (*undefined)(const char* symbolName); - NSModule (*multiple)(NSSymbol s, NSModule oldModule, NSModule newModule); - void (*linkEdit)(NSLinkEditErrors errorClass, int errorNumber, - const char* fileName, const char* errorString); -} NSLinkEditErrorHandlers; - -extern void NSInstallLinkEditErrorHandlers(const NSLinkEditErrorHandlers *handlers) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, ""); - -extern bool NSAddLibrary(const char* pathName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlopen()"); -extern bool NSAddLibraryWithSearching(const char* pathName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlopen()"); -extern const struct mach_header* NSAddImage(const char* image_name, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); +extern bool NSAddLibrary(const char* pathName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlopen()"); +extern bool NSAddLibraryWithSearching(const char* pathName) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlopen()"); +extern const struct mach_header* NSAddImage(const char* image_name, uint32_t options) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen()"); #define NSADDIMAGE_OPTION_NONE 0x0 #define NSADDIMAGE_OPTION_RETURN_ON_ERROR 0x1 #define NSADDIMAGE_OPTION_WITH_SEARCHING 0x2 #define NSADDIMAGE_OPTION_RETURN_ONLY_IF_LOADED 0x4 #define NSADDIMAGE_OPTION_MATCH_FILENAME_BY_INSTALLNAME 0x8 -extern bool _dyld_present(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "always true"); -extern bool _dyld_launched_prebound(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "moot"); -extern bool _dyld_all_twolevel_modules_prebound(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "moot"); -extern bool _dyld_bind_fully_image_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen(RTLD_NOW)"); -extern bool _dyld_image_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "dladdr()"); -extern void _dyld_lookup_and_bind(const char* symbol_name, void **address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern void _dyld_lookup_and_bind_with_hint(const char* symbol_name, const char* library_name_hint, void** address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); -extern void _dyld_lookup_and_bind_fully(const char* symbol_name, void** address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); +extern bool _dyld_present(void) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "always true"); +extern bool _dyld_bind_fully_image_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlopen(RTLD_NOW)"); +extern bool _dyld_image_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "dladdr()"); +extern void _dyld_lookup_and_bind(const char* symbol_name, void **address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern void _dyld_lookup_and_bind_with_hint(const char* symbol_name, const char* library_name_hint, void** address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.4, "dlsym()"); +extern void _dyld_lookup_and_bind_fully(const char* symbol_name, void** address, NSModule* module) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.1, 10.5, "dlsym()"); -extern const struct mach_header* _dyld_get_image_header_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "dladdr()"); +extern const struct mach_header* _dyld_get_image_header_containing_address(const void* address) __API_UNAVAILABLE(ios, tvos, watchos) DYLD_DRIVERKIT_UNAVAILABLE DYLD_EXCLAVEKIT_UNAVAILABLE __OSX_DEPRECATED(10.3, 10.5, "dladdr()"); #if __cplusplus diff --git a/lib/libc/include/any-darwin-any/mach-o/dyld_images.h b/lib/libc/include/any-darwin-any/mach-o/dyld_images.h index 0e2b7356e5dec3ce9b8afd8e2789a02a2e3b0123..82c01d506a5cbe7400c4c22deaab65883e6dfd12 100644 --- a/lib/libc/include/any-darwin-any/mach-o/dyld_images.h +++ b/lib/libc/include/any-darwin-any/mach-o/dyld_images.h @@ -174,11 +174,7 @@ struct __attribute__((aligned(16))) dyld_all_image_infos mach_port_t notifyPorts[DYLD_MAX_PROCESS_INFO_NOTIFY_COUNT]; -#if __LP64__ uintptr_t reserved[11-(DYLD_MAX_PROCESS_INFO_NOTIFY_COUNT/2)]; -#else - uintptr_t reserved[9-DYLD_MAX_PROCESS_INFO_NOTIFY_COUNT]; -#endif // The following fields were added in version 18 (previously they were reserved padding fields) uint64_t sharedCacheFSID; uint64_t sharedCacheFSObjID; diff --git a/lib/libc/include/any-darwin-any/mach-o/fixup-chains.h b/lib/libc/include/any-darwin-any/mach-o/fixup-chains.h index d5e1b3bdf8e4e2dcec2359313a8f3146efbd64b0..d43fa3ce7324d39bac27b6f1656bfe47a749ee01 100644 --- a/lib/libc/include/any-darwin-any/mach-o/fixup-chains.h +++ b/lib/libc/include/any-darwin-any/mach-o/fixup-chains.h @@ -109,6 +109,8 @@ enum { DYLD_CHAINED_PTR_ARM64E_USERLAND24 = 12, // stride 8, unauth target is vm offset, 24-bit bind DYLD_CHAINED_PTR_ARM64E_SHARED_CACHE = 13, // stride 8, regular/auth targets both vm offsets. Only A keys supported DYLD_CHAINED_PTR_ARM64E_SEGMENTED = 14, // stride 4, rebase offsets use segIndex and segOffset + DYLD_CHAINED_PTR_ARM64E_SHARED_CACHE_V3 = 15, // stride 8, regular/auth targets both vm offsets. Only A keys supported + DYLD_CHAINED_PTR_SHARED_CACHE_V2 = 16, // stride 8, x86_64 shared cache slide v2, delta mask 0x00FFFF0000000000, target is vm offset }; @@ -294,7 +296,33 @@ struct dyld_chained_ptr_arm64e_shared_cache_auth_rebase auth : 1; // == 1 }; +// DYLD_CHAINED_PTR_ARM64E_SHARED_CACHE_V3 +struct dyld_chained_ptr_arm64e_shared_cache_v3_rebase +{ + uint64_t pointerValue : 51, + next : 11, + unused : 2; // = 0 +}; +// DYLD_CHAINED_PTR_ARM64E_SHARED_CACHE_V3 +struct dyld_chained_ptr_arm64e_shared_cache_v3_auth_rebase +{ + uint64_t offsetFromSharedCacheBase : 32, + diversity : 16, + addrDiv : 1, + key : 2, + next : 11, + unused : 1, // = 0 + auth : 1; // = 1; +}; + +// DYLD_CHAINED_PTR_SHARED_CACHE_V2 +struct dyld_chained_ptr_shared_cache_v2_rebase +{ + uint64_t runtimeOffset : 40, // offset from the start of the shared cache + next : 16, // 4-byte stride + high8 : 8; // top byte of target address +}; // values for dyld_chained_fixups_header.imports_format enum { diff --git a/lib/libc/include/any-darwin-any/mach-o/utils.h b/lib/libc/include/any-darwin-any/mach-o/utils.h index 5e30bd8a278dab892be83ccc14a398637cac5ccd..78910ffa4770eb82f5c8b3ad3b87e60a3d6364f0 100644 --- a/lib/libc/include/any-darwin-any/mach-o/utils.h +++ b/lib/libc/include/any-darwin-any/mach-o/utils.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2021 Apple Inc. All rights reserved. + * Copyright (c) 2021-2026 Apple Inc. All rights reserved. * * @APPLE_LICENSE_HEADER_START@ * @@ -38,64 +38,45 @@ extern "C" { #endif /*! - * @function macho_cpu_type_for_arch_name + * Converts an architecture name into a cpu type/subtype pairy. * - * @abstract - * Converts an architecture name into a cpu type/subtype pair. + * - Parameter archName: An architecture name (e.g "arm64e" or "x86_64"). + * - Parameter type: A pointer to where to store the cpu type of the given name. + * - Parameter subtype: A pointer to where to store the cpu subtype of the given name. * - * @param archName - * An architecture name (e.g "arm64e" or "x86_64"). + * - Returns: Returns true if the archName is known and fills in the type/subtype. + * Returns false if the archName is unknown. * - * @param type - * A pointer to where to store the cpu type of the given name. - * - * @param subtype - * A pointer to where to store the cpu subtype of the given name. - * - * @return - * If the archName is known, returns true and fills in the type/subtype. - * If the archName is unknown, returns false. */ extern bool macho_cpu_type_for_arch_name(const char* _Nonnull archName, cpu_type_t* _Nonnull type, cpu_subtype_t* _Nonnull subtype) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); /*! - * @function macho_arch_name_for_cpu_type + * Converts a cpu type/subtype pair into the architecture name. * - * @abstract - * Converts a cpu type/subtype pair into the architecture name. + * - Parameter type: The cpu type from (e.g CPU_TYPE_ARM64) + * - Parameter subtype: The cpu subtype from (e.g CPU_SUBTYPE_ARM64E) * - * @param type - * The cpu type from (e.g CPU_TYPE_ARM64) - * - * @param subtype - * The cpu subtype from (e.g CPU_SUBTYPE_ARM64E) - * - * @return - * Returns a static c-string which is the name for the cpu type/subtype (e.g. "arm64e"). - * If the cpu type/subtype is unknown, NULL will be returned. - * The string returned is static and does not need to be deallocated. + * - Returns: Returns a static c-string which is the name for the cpu type/subtype (e.g. "arm64e"). + * If the cpu type/subtype is unknown, NULL will be returned. + * The string returned is static and does not need to be deallocated. */ extern const char* _Nullable macho_arch_name_for_cpu_type(cpu_type_t type, cpu_subtype_t subtype) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); /*! - * @function macho_arch_name_for_mach_header + * Returns the architecture name from the cpu type/subtype in a mach_header. * - * @abstract - * Returns the architecture name from the cpu type/subtype in a mach_header. - * This is a convenience wrapper around macho_arch_name_for_cpu_type(). + * This is a convenience wrapper around macho_arch_name_for_cpu_type(). * - * @param mh - * A pointer to the header of a mach-o file. - * If NULL is passed, the architecture name of the main executable will be returned. + * - Parameter mh: A pointer to the header of a mach-o file. + * If NULL is passed, the architecture name of the main executable will be returned. * - * @return - * Returns a static c-string which is the name for architecture of the mach-o file (e.g. "arm64e"). - * If the architecture is unknown, NULL will be returned. - * The string returned is static and does not need to be deallocated. + * - Returns: Returns a static c-string which is the name for architecture of the mach-o file (e.g. "arm64e"). + * If the architecture is unknown, NULL will be returned. + * The string returned is static and does not need to be deallocated. */ extern const char* _Nullable macho_arch_name_for_mach_header(const struct mach_header* _Nullable mh) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); @@ -108,121 +89,103 @@ __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); #endif /*! - * @function macho_for_each_slice + * Iterates slices in a universal file given its path. * - * @abstract - * Temporarily maps a mach-o or universal file and iterates the slices. - * If the file is mach-o, the block is called once with the mach-o file mapped. - * If the file is universal (aka fat), the block is called once per slice in the order in the header. - * If the path does not exist or does, but is not a mach-o file, the block is never called. + * Temporarily maps a mach-o or universal file and iterates the slices. + * If the file is mach-o, the block is called once with the mach-o file mapped. + * If the file is universal (aka fat), the block is called once per slice in the order in the header. + * If the file is a universal static library, the block is called with a pointer to the + * start of each static library, which is not a mach-o file! If you only want to inspect mach-o slices, + * you can use `macho_arch_name_for_mach_header(slice) == NULL` to filter out non-mach-o files (e.g. static libs). + * If the path does not exist or does, but is not a mach-o file, the block is never called. * - * @param path - * The path to the file to inspect. + * - Parameter path: The path to the file to inspect. + * - Parameter callback: A block to call once per slice. + * This parameter can be NULL, in which case the return value tells you if the file is mach-o or fat. + * The slice pointer is only valid during the block invocation. + * To stop iterating the slices, set *stop to true. * - * @param callback - * A block to call once per slice. - * Can be NULL. In which case the return value tells you if the file is mach-o or fat. - * The slice pointer is only valid during the block invocation. - * To stop iterating the slices, set *stop to true. - * - * @return - * Returns zero on success, otherwise it returns an errno value. - * Common returned errors: - * ENOENT - path does not exist - * EACCES - path exists put caller does not have permission to access it - * EFTYPE - path exists but it is not a mach-o or fat file - * EBADMACHO - path is a mach-o file, but it is malformed + * - Returns: Returns zero on success, otherwise it returns an errno value: + * * ENOENT - path does not exist + * * EACCES - path exists put caller does not have permission to access it + * * EFTYPE - path exists but it is not a mach-o or fat file + * * EBADMACHO - path is a mach-o file, but it is malformed */ extern int macho_for_each_slice(const char* _Nonnull path, void (^ _Nullable callback)(const struct mach_header* _Nonnull slice, uint64_t sliceFileOffset, size_t size, bool* _Nonnull stop) __MACHO_NOESCAPE) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); /*! - * @function macho_for_each_slice_in_fd + * Iterates slices in a universal file given a file descriptor to the file. * - * @abstract - * Temporarily maps a mach-o or universal file and iterates the slices. - * If the fd is to a mach-o, the block is called once with the mach-o file mapped. - * If the fd is to a universal (aka fat), the block is called once per slice in the order in the header. - * If the fd is closed or not mmap()able, the block is never called. + * Temporarily maps a mach-o or universal file and iterates the slices. + * If the fd is to a mach-o, the block is called once with the mach-o file mapped. + * If the fd is to a universal (aka fat), the block is called once per slice in the order in the header. + * If the fd is a universal static library, the block is called with a pointer to the + * start of each static library, which is not a mach-o file! If you only want to inspect mach-o slices, + * you can use `macho_arch_name_for_mach_header(slice) == NULL` to filter out non-mach-o files (e.g. static libs). + * If the fd is closed or not mmap()able, the block is never called. * - * @param fd - * An open file descriptor to a mmap()able file. + * - Parameter fd: An open file descriptor to a mmap()able file. + * - Parameter callback: A block to call once per slice. + * This parameter can be NULL, in which case the return value tells you if the file is mach-o or fat. + * The slice pointer is only valid during the block invocation. + * To stop iterating the slices, set *stop to true. * - * @param callback - * A block to call once per slice. - * Can be NULL. In which case the return value tells you if the file is mach-o or fat. - * The slice pointer is only valid during the block invocation. - * To stop iterating the slices, set *stop to true. - * - * @return - * Returns zero on success, otherwise it returns an errno value. - * Common returned errors: - * EFTYPE - fd content is not a mach-o or fat file - * EBADMACHO - fd content is a mach-o file, but it is malformed + * - Returns: Returns zero on success, otherwise it returns an errno value. + * * EFTYPE - fd content is not a mach-o or fat file + * * EBADMACHO - fd content is a mach-o file, but it is malformed */ extern int macho_for_each_slice_in_fd(int fd, void (^ _Nullable callback)(const struct mach_header* _Nonnull slice, uint64_t sliceFileOffset, size_t size, bool* _Nonnull stop)__MACHO_NOESCAPE) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); /*! - * @function macho_best_slice + * Examines a mach-o or universal file by path to find the slice that would be loaded. * - * @abstract - * Examines a mach-o or universal file to find the slice that would be loaded. That is, for dylib/bundles, which - * slice dyld would load. For main executables, which slice the kernel would use. - * In simulator processes, only other simulator main executables will be considered loadable. - * If the file is mach-o and is the right arch and platform to load, the block is called once with the mach-o file mapped. - * If the file is universal (aka fat) file, the best slice is found and the block is called once with the mapped slice. - * If the file is universal (aka fat) file, but none of the slices are loadable, the callback is not called, and EBADARCH is returned. - * If the path does not exist or does but is not a mach-o or universal file, the block is never called, and an error is returned. + * For dylib/bundles, the best slice is the slice dyld would load. + * For main executables, the best slice is the slice the kernel would execute. + * In simulator processes, only other simulator main executables will be considered loadable. + * If the file is mach-o and is the right arch and platform to load, the block is called once with the mach-o file mapped. + * If the file is universal (aka fat) file, the best slice is found and the block is called once with the mapped slice. + * If the file is universal (aka fat) file, but none of the slices are loadable, the callback is not called, and EBADARCH is returned. + * If the path does not exist or does but is not a mach-o or universal file, the block is never called, and an error is returned. * - * @param path - * The path to the file to inspect. + * - Parameter path: The path to the file to inspect. + * - Parameter bestSlice: This block will be called once with the best slice. + * This parameter can be NULL, in which case the return value tells you if there was a loadable slice. + * The slice pointer is only valid during the block invocation. * - * @param callback - * A block to call once with the best slice. - * Can be NULL. In which case the return value tells you if there was a loadable slice - * The slice pointer is only valid during the block invocation. - * - * @return - * Returns zero on success (meaning there is a best slice), otherwise it returns an errno value. - * Common returned errors: - * ENOENT - path does not exist - * EACCES - path exists put caller does not have permission to access it - * EFTYPE - path exists but it is not a mach-o or fat file - * EBADARCH - path exists and is mach-o or fat, but none of the slices are loadable - * EBADMACHO - path is a mach-o file, but it is malformed + * - Returns: Returns zero on success (meaning there is a best slice), otherwise it returns an errno value. + * * ENOENT - path does not exist + * * EACCES - path exists put caller does not have permission to access it + * * EFTYPE - path exists but it is not a mach-o or fat file + * * EBADARCH - path exists and is mach-o or fat, but none of the slices are loadable + * * EBADMACHO - path is a mach-o file, but it is malformed */ extern int macho_best_slice(const char* _Nonnull path, void (^ _Nullable bestSlice)(const struct mach_header* _Nonnull slice, uint64_t sliceFileOffset, size_t sliceSize)__MACHO_NOESCAPE) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); /*! - * @function macho_best_slice_in_fd + * Examines a mach-o or universal file by descripotr to find the slice that would be loaded. * - * @abstract - * Examines a mach-o or universal file to find the slice that would be loaded. That is, for dylib/bundles, which - * slice dyld would load. For main executables, which slice the kernel would use. - * In simulator processes, only other simulator main executables will be considered loadable. - * If the fd is to a mach-o and is the right arch and platform to load, the block is call once with the mach-o file mapped. - * If the fd is to a universal (aka fat) file, the best slice is found and the block is called once with the mapped slice. - * If the fd is closed or not mmap()able, the block is never called. + * For dylib/bundles, the best slice is the slice dyld would load. + * For main executables, the best slice is the slice the kernel would execute. + * In simulator processes, only other simulator main executables will be considered loadable. + * If the fd is to a mach-o and is the right arch and platform to load, the block is call once with the mach-o file mapped. + * If the fd is to a universal (aka fat) file, the best slice is found and the block is called once with the mapped slice. + * If the fd is closed or not mmap()able, the block is never called. * - * @param fd - * An open file descriptor to a mmap()able file. + * - Parameter fd: An open file descriptor to a mmap()able file. + * - Parameter bestSlice: This block will be called once with the best slice. + * This parameter can be NULL, in which case the return value tells you if there was a loadable slice. + * The slice pointer is only valid during the block invocation. * - * @param callback - * A block to call once with the best slice. - * Can be NULL. In which case the return value tells you if there was a loadable slice - * The slice pointer is only valid during the block invocation. - * - * @return - * Returns zero on success (meaning there is a best slice), otherwise it returns an errno value. - * Common returned errors: - * EFTYPE - fd content is not a mach-o or fat file - * EBADMACHO - fd content is a mach-o file, but it is malformed - * EBADARCH - fd content is a mach-o or fat, but none of the slices are loadable + * - Returns: Returns zero on success (meaning there is a best slice), otherwise it returns an errno value. + * * EFTYPE - fd content is not a mach-o or fat file + * * EBADMACHO - fd content is a mach-o file, but it is malformed + * * EBADARCH - fd content is a mach-o or fat, but none of the slices are loadable */ extern int macho_best_slice_in_fd(int fd, void (^ _Nullable bestSlice)(const struct mach_header* _Nonnull slice, uint64_t sliceFileOffset, size_t sliceSize)__MACHO_NOESCAPE) __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); @@ -230,9 +193,6 @@ __API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(8.0)); #endif // __BLOCKS__ - - - #if __cplusplus } #endif diff --git a/lib/libc/include/any-darwin-any/mach/arm/exception.h b/lib/libc/include/any-darwin-any/mach/arm/exception.h index 112f44b5fa32b569882e12462228982971a8fc2f..f523de2ce159f622596bf095a4b1906ec815c095 100644 --- a/lib/libc/include/any-darwin-any/mach/arm/exception.h +++ b/lib/libc/include/any-darwin-any/mach/arm/exception.h @@ -37,7 +37,6 @@ #define EXCEPTION_CODE_MAX 2 /* code and subcode */ - /* * Trap numbers as defined by the hardware exception vectors. */ diff --git a/lib/libc/include/any-darwin-any/mach/arm/thread_status.h b/lib/libc/include/any-darwin-any/mach/arm/thread_status.h index 3476048ba4e96c225565648e75291e805abcd5d3..1cddfd58cc13aefc529c09646513eb48e9c68aed 100644 --- a/lib/libc/include/any-darwin-any/mach/arm/thread_status.h +++ b/lib/libc/include/any-darwin-any/mach/arm/thread_status.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2007 Apple Inc. All rights reserved. + * Copyright (c) 2007-2026 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * diff --git a/lib/libc/include/any-darwin-any/mach/arm/vm_param.h b/lib/libc/include/any-darwin-any/mach/arm/vm_param.h index def832c752f5326c3dbc0ed1820f5159cb8f97a5..8e7440a9fb040d0a573353c4a62c6790bc38f04c 100644 --- a/lib/libc/include/any-darwin-any/mach/arm/vm_param.h +++ b/lib/libc/include/any-darwin-any/mach/arm/vm_param.h @@ -66,42 +66,53 @@ #define VM_MAX_PAGE_ADDRESS MACH_VM_MAX_ADDRESS -#ifndef __ASSEMBLER__ - - +/* Assembler-friendly values */ #if defined (__arm__) -#define VM_MIN_ADDRESS ((vm_address_t) 0x00000000) -#define VM_MAX_ADDRESS ((vm_address_t) 0x80000000) +#define VM_MIN_ADDRESS_RAW (0x00000000) +#define VM_MAX_ADDRESS_RAW (0x80000000) /* system-wide values */ -#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t) 0) -#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t) VM_MAX_ADDRESS) +#define MACH_VM_MIN_ADDRESS_RAW (VM_MIN_ADDRESS_RAW) +#define MACH_VM_MAX_ADDRESS_RAW (VM_MAX_ADDRESS_RAW) +#define MACH_VM_ADDRESS_MASK (0x7FFFFFFF) #elif defined (__arm64__) -#define VM_MIN_ADDRESS ((vm_address_t) 0x0000000000000000ULL) -#define VM_MAX_ADDRESS ((vm_address_t) 0x00000000F0000000ULL) +#define VM_MIN_ADDRESS_RAW (0x0000000000000000ULL) +#define VM_MAX_ADDRESS_RAW (0x00000000F0000000ULL) /* system-wide values */ -#define MACH_VM_MIN_ADDRESS_RAW 0x0ULL -#define MACH_VM_MAX_ADDRESS_RAW 0x00007FFFFE000000ULL +#define MACH_VM_MIN_ADDRESS_RAW (0x0000000000000000ULL) -/* - * `MACH_VM_MAX_ADDRESS` is exported to user space, but we don't want this - * larger value for `MACH_VM_MAX_ADDRESS` to be exposed outside the kernel. - */ +#define MACH_VM_MIN_GPU_CARVEOUT_ADDRESS_RAW (0x0000001000000000ULL) /* 64 GiB */ +#define MACH_VM_MAX_GPU_CARVEOUT_ADDRESS_RAW (0x0000007000000000ULL) /* 448 GiB */ -#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t) MACH_VM_MIN_ADDRESS_RAW) -#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t) MACH_VM_MAX_ADDRESS_RAW) +#define MACH_VM_MAX_ADDRESS_RAW (0x00007FFFFE000000ULL) /* (128 TiB - 32 MiB) */ +#define MACH_VM_ADDRESS_MASK (0x00007FFFFFFFFFFFULL) +#define MACH_VM_NANO_BASE_ADDRESS (0x0000600000000000ULL) /* 96 TiB */ + +#else /* !__arm__ && !__arm64__ */ + +#error architecture not supported + +#endif + +#ifndef __ASSEMBLER__ + + +#define VM_MIN_ADDRESS ((vm_address_t)VM_MIN_ADDRESS_RAW) +#define VM_MAX_ADDRESS ((vm_address_t)VM_MAX_ADDRESS_RAW) + +/* system-wide values */ +#define MACH_VM_MIN_ADDRESS ((mach_vm_offset_t)MACH_VM_MIN_ADDRESS_RAW) +#define MACH_VM_MAX_ADDRESS ((mach_vm_offset_t)MACH_VM_MAX_ADDRESS_RAW) + +#if defined (__arm64__) -#define MACH_VM_MIN_GPU_CARVEOUT_ADDRESS_RAW 0x0000001000000000ULL -#define MACH_VM_MAX_GPU_CARVEOUT_ADDRESS_RAW 0x0000007000000000ULL #define MACH_VM_MIN_GPU_CARVEOUT_ADDRESS ((mach_vm_offset_t) MACH_VM_MIN_GPU_CARVEOUT_ADDRESS_RAW) #define MACH_VM_MAX_GPU_CARVEOUT_ADDRESS ((mach_vm_offset_t) MACH_VM_MAX_GPU_CARVEOUT_ADDRESS_RAW) -#else /* defined(__arm64__) */ -#error architecture not supported #endif #define VM_MAP_MIN_ADDRESS VM_MIN_ADDRESS diff --git a/lib/libc/include/any-darwin-any/mach/host_info.h b/lib/libc/include/any-darwin-any/mach/host_info.h index bdd5fb8f0d8c894710dae0aa23f5c639df1b217b..f977d71c606c89488d0a1a102ff52d5e82cdcb53 100644 --- a/lib/libc/include/any-darwin-any/mach/host_info.h +++ b/lib/libc/include/any-darwin-any/mach/host_info.h @@ -182,6 +182,7 @@ typedef struct host_priority_info *host_priority_info_t; #define HOST_VM_INFO64 4 /* 64-bit virtual memory stats */ #define HOST_EXTMOD_INFO64 5 /* External modification stats */ #define HOST_EXPIRED_TASK_INFO 6 /* Statistics for expired tasks */ +#define HOST_CPU_COUNTERS_INFO 8 /* Per-host CPU counter totals: time, cycles, instructions, energy */ @@ -207,7 +208,13 @@ typedef struct vm_purgeable_info *host_purgable_info_t; /* size of the latest version of the structure */ #define HOST_VM_INFO64_LATEST_COUNT HOST_VM_INFO64_COUNT -#define HOST_VM_INFO64_REV3_COUNT HOST_VM_INFO64_COUNT +#define HOST_VM_INFO64_REV6_COUNT HOST_VM_INFO64_COUNT +#define HOST_VM_INFO64_REV5_COUNT ((mach_msg_type_number_t) \ + (offsetof(vm_statistics64_data_t, executable_count) / sizeof(integer_t))) +#define HOST_VM_INFO64_REV4_COUNT ((mach_msg_type_number_t) \ + (offsetof(vm_statistics64_data_t, swap_count) / sizeof(integer_t))) +#define HOST_VM_INFO64_REV3_COUNT ((mach_msg_type_number_t) \ + (offsetof(vm_statistics64_data_t, speculative_pages_created) / sizeof(integer_t))) #define HOST_VM_INFO64_REV2_COUNT ((mach_msg_type_number_t) \ (offsetof(vm_statistics64_data_t, total_tag_storage_pages) / sizeof(integer_t))) #define HOST_VM_INFO64_REV1_COUNT ((mach_msg_type_number_t) \ @@ -248,6 +255,20 @@ typedef struct host_cpu_load_info *host_cpu_load_info_t; #define HOST_CPU_LOAD_INFO_COUNT ((mach_msg_type_number_t) \ (sizeof (host_cpu_load_info_data_t) / sizeof (integer_t))) +struct host_cpu_counters_info { + uint64_t user_time_mach; /* total user-mode time across all CPUs, mach absolute units */ + uint64_t system_time_mach; /* total system-mode time across all CPUs, mach absolute units */ + uint64_t idle_time_mach; /* total idle time across all CPUs, mach absolute units */ + uint64_t cycles; /* 0 if CPU counters unsupported */ + uint64_t instructions; /* 0 if CPU counters unsupported */ + uint64_t energy_nj; /* 0 if energy accounting unsupported */ +}; + +typedef struct host_cpu_counters_info host_cpu_counters_info_data_t; +typedef struct host_cpu_counters_info *host_cpu_counters_info_t; +#define HOST_CPU_COUNTERS_INFO_COUNT ((mach_msg_type_number_t) \ + (sizeof (host_cpu_counters_info_data_t) / sizeof (integer_t))) + struct host_preferred_user_arch { cpu_type_t cpu_type; /* Preferred user-space cpu type */ cpu_subtype_t cpu_subtype; /* Preferred user-space cpu subtype */ diff --git a/lib/libc/include/any-darwin-any/mach/host_special_ports.h b/lib/libc/include/any-darwin-any/mach/host_special_ports.h index 101aa7a780e69b713095c2ab80ed736417fa398c..148efa8fa5913c590b10dc18597f8e1cb1451a4f 100644 --- a/lib/libc/include/any-darwin-any/mach/host_special_ports.h +++ b/lib/libc/include/any-darwin-any/mach/host_special_ports.h @@ -112,8 +112,9 @@ #define HOST_MEMORY_ERROR_PORT (26 + HOST_MAX_SPECIAL_KERNEL_PORT) #define HOST_MANAGEDAPPDISTD_PORT (27 + HOST_MAX_SPECIAL_KERNEL_PORT) #define HOST_DOUBLEAGENTD_PORT (28 + HOST_MAX_SPECIAL_KERNEL_PORT) +#define HOST_DISKIMAGESIOD_PORT (29 + HOST_MAX_SPECIAL_KERNEL_PORT) -#define HOST_MAX_SPECIAL_PORT HOST_DOUBLEAGENTD_PORT +#define HOST_MAX_SPECIAL_PORT HOST_DISKIMAGESIOD_PORT /* MAX = last since rdar://59872249 */ /* obsolete name */ @@ -302,6 +303,11 @@ #define host_set_doubleagentd_port(host, port) \ (host_set_special_port((host), HOST_DOUBLEAGENTD_PORT, (port))) +#define host_get_diskimagesiod_port(host, port) \ + (host_get_special_port((host), \ + HOST_LOCAL_NODE, HOST_DISKIMAGESIOD_PORT, (port))) +#define host_set_diskimagesiod_port(host, port) \ + (host_set_special_port((host), HOST_DISKIMAGESIOD_PORT, (port))) /* HOST_RESOURCE_NOTIFY_PORT doesn't #defines these conveniences. * All lookups go through send_resource_violation() */ diff --git a/lib/libc/include/any-darwin-any/mach/mach_host.h b/lib/libc/include/any-darwin-any/mach/mach_host.h index b6e09f4a0c948deb6575fd3a3927ae049690bbf3..fa2830f4eb984b94cd6ee4a1269978b5ee4f1c0d 100644 --- a/lib/libc/include/any-darwin-any/mach/mach_host.h +++ b/lib/libc/include/any-darwin-any/mach/mach_host.h @@ -270,7 +270,7 @@ extern #endif /* mig_external */ kern_return_t host_lockgroup_info ( - host_t host, + host_t host_priv_t, lockgroup_info_array_t *lockgroup_info, mach_msg_type_number_t *lockgroup_infoCnt ); diff --git a/lib/libc/include/any-darwin-any/mach/mach_types.h b/lib/libc/include/any-darwin-any/mach/mach_types.h index a3d9df59ddfa364e303e1cbfbd1a658fe373fec2..57ee667954453a4e0c032c4027904bf67bf3b980 100644 --- a/lib/libc/include/any-darwin-any/mach/mach_types.h +++ b/lib/libc/include/any-darwin-any/mach/mach_types.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2018 Apple Inc. All rights reserved. + * Copyright (c) 2000-2026 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * diff --git a/lib/libc/include/any-darwin-any/mach/machine.h b/lib/libc/include/any-darwin-any/mach/machine.h index 97cfe9f76d5b5cc27db2c24971cc702bf5a5a3a5..ba6caeb3a0a20ce3f82fef8042c4718dad2eb916 100644 --- a/lib/libc/include/any-darwin-any/mach/machine.h +++ b/lib/libc/include/any-darwin-any/mach/machine.h @@ -342,6 +342,30 @@ typedef integer_t cpu_threadtype_t; #define CPU_SUBTYPE_ARM64_ALL ((cpu_subtype_t) 0) #define CPU_SUBTYPE_ARM64_V8 ((cpu_subtype_t) 1) #define CPU_SUBTYPE_ARM64E ((cpu_subtype_t) 2) +/* The non-e x1 is defined in other tooling, but it's otherwise unused. */ +#define CPU_SUBTYPE_ARM64_X1 ((cpu_subtype_t) 3) +#define CPU_SUBTYPE_ARM64E_X1 ((cpu_subtype_t) 12) +/* Unallocated values upto CPU_SUBTYPE_ARM64_MAX (inclusive) are reserved. */ +#define CPU_SUBTYPE_ARM64_MAX ((cpu_subtype_t) 20) + +/* + * Newer slices add additional complexity in determining the taxonomy of a + * slice. The current PAC slices include ARM64E and ARM64E_X1. Future slices + * _may_ continue the convention. At that time, this macro should be updated to + * include the new slice(s). Since those fictitious slices don't yet exist, they + * are omitted, but left reserved. + */ +#define CPU_SUBTYPE_HAS_ARM64E(subtype) \ + ( \ + (((subtype) & ~CPU_SUBTYPE_MASK) == CPU_SUBTYPE_ARM64E) || \ + (((subtype) & ~CPU_SUBTYPE_MASK) == CPU_SUBTYPE_ARM64E_X1) \ + ) + +#define CPU_SUBTYPE_HAS_ARM64X1(subtype) \ + ( \ + (((subtype) & ~CPU_SUBTYPE_MASK) == CPU_SUBTYPE_ARM64_X1) || \ + (((subtype) & ~CPU_SUBTYPE_MASK) == CPU_SUBTYPE_ARM64E_X1) \ + ) /* CPU subtype feature flags for ptrauth on arm64e platforms */ #define CPU_SUBTYPE_ARM64_PTR_AUTH_MASK 0x0f000000 @@ -413,6 +437,9 @@ typedef integer_t cpu_threadtype_t; #define CPUFAMILY_ARM_SOTRA 0xf76c5b1a #define CPUFAMILY_ARM_THERA 0xab345f09 #define CPUFAMILY_ARM_TILOS 0x01d7a72b +#define CPUFAMILY_ARM_KOMODO 0x6d0ccb0c +#define CPUFAMILY_ARM_BORNEO 0x7db56df1 +#define CPUFAMILY_ARM_NEVIS 0x37652b0c /* Described in rdar://64125549 */ #define CPUSUBFAMILY_UNKNOWN 0 diff --git a/lib/libc/include/any-darwin-any/mach/memory_object_types.h b/lib/libc/include/any-darwin-any/mach/memory_object_types.h index 1a9f7b3627f701b08e5b420ab2f8718233bba6e6..f9b36a7f9a9b19bb606e1850144d2b4500afb4ca 100644 --- a/lib/libc/include/any-darwin-any/mach/memory_object_types.h +++ b/lib/libc/include/any-darwin-any/mach/memory_object_types.h @@ -183,7 +183,7 @@ typedef int memory_object_return_t; #define MEMORY_OBJECT_DATA_FLUSH 0x1 #define MEMORY_OBJECT_DATA_NO_CHANGE 0x2 -#define MEMORY_OBJECT_DATA_PURGE 0x4 +#define MEMORY_OBJECT_DATA_PURGE 0x4 /* This is unused and unimplemented */ #define MEMORY_OBJECT_COPY_SYNC 0x8 #define MEMORY_OBJECT_DATA_SYNC 0x10 #define MEMORY_OBJECT_IO_SYNC 0x20 diff --git a/lib/libc/include/any-darwin-any/mach/port.h b/lib/libc/include/any-darwin-any/mach/port.h index e6afe82bcfd8b009fc6959afb8ba95b6e3b85629..3e4bf992779f861827a59de34051ba551990eaea 100644 --- a/lib/libc/include/any-darwin-any/mach/port.h +++ b/lib/libc/include/any-darwin-any/mach/port.h @@ -96,6 +96,7 @@ * Some structures must remain a constant size due to performance or ABI implications. * It's not necessarily an issue if you need to bump a size passed to these macros: act judiciously. */ +#if !defined(__cplusplus) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L #if __arm64__ #define xnu_static_assert_struct_size(name, expected_size) _Static_assert(\ sizeof(name) == expected_size, "struct changed size unexpectedly") @@ -114,6 +115,13 @@ xnu_static_assert_struct_size(name, expected_user32_size) #endif /* __LP64__ */ +#else /* !defined(__cplusplus) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L */ +/* Define these macros to no-ops in environments where _Static_assert is unavailable */ +#define xnu_static_assert_struct_size(name, expected_size) +#define xnu_static_assert_struct_size_kernel_user(name, expected_kernel_size, expected_user_size) +#define xnu_static_assert_struct_size_kernel_user64_user32(name, _kern_size, _u64_size, _u32_size) +#endif /* !defined(__cplusplus) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L */ + /* * mach_port_name_t - the local identity for a Mach port * @@ -271,6 +279,7 @@ typedef struct mach_port_status { #define MACH_PORT_QLIMIT_BASIC (5) #define MACH_PORT_QLIMIT_SMALL (16) #define MACH_PORT_QLIMIT_LARGE (1024) +#define MACH_PORT_QLIMIT_KERNEL_SOFT (4 * MACH_PORT_QLIMIT_LARGE) #define MACH_PORT_QLIMIT_KERNEL (65534) #define MACH_PORT_QLIMIT_MIN MACH_PORT_QLIMIT_ZERO #define MACH_PORT_QLIMIT_DEFAULT MACH_PORT_QLIMIT_BASIC @@ -367,6 +376,9 @@ typedef struct mach_service_port_info * mach_service_port_info_t; /* Allows 1p process to create weak reply port */ #define MACH_PORT_WEAK_REPLY_ENTITLEMENT "com.apple.private.allow-weak-reply-port" +/* Allows process to create read port for kernel_task - only works on dev/debug kernels */ +#define MACH_PORT_KERNEL_READ_ENTITLEMENT "com.apple.private.system-task-ports.kernel.read" + /* * Flags for mach_port_options (used for * invocation of mach_port_construct). @@ -405,6 +417,18 @@ typedef struct mach_service_port_info * mach_service_port_info_t; /* MPO port type flags */ #define MPO_MAKE_PORT_TYPE(a, b) (((a & 0x7) << 14) | ((b & 0x7) << 10)) #define MPO_PORT_TYPE_MASK MPO_MAKE_PORT_TYPE(0x7, 0x7) /* 0x1dc00 */ + +#if __BUILDING_XNU_LIB_UNITTEST__ +/* + * This is a test only MPO flag for bootstrap port + * as copyin doesn't work in unit test yet. + */ +#define MPO_UNIT_TEST_BOOTSTRAP_ENTRY \ + MPO_UNIT_TEST_BOOTSTRAP_PORT = MPO_MAKE_PORT_TYPE(4, 4), /* 0x11000 */ +#else /* __BUILDING_XNU_LIB_UNITTEST__ */ +#define MPO_UNIT_TEST_BOOTSTRAP_ENTRY +#endif /* __BUILDING_XNU_LIB_UNITTEST__ */ + /* These need to be defined for libxpc and other clients who `#ifdef` */ #define MPO_PORT MPO_PORT #define MPO_SERVICE_PORT MPO_SERVICE_PORT @@ -431,6 +455,11 @@ __options_decl(mpo_flags_t, uint32_t, { MPO_EXCEPTION_PORT = MPO_MAKE_PORT_TYPE(2, 0), /* 0x8000 */ /* Can receive OOL port array descriptors */ MPO_CONNECTION_PORT_WITH_PORT_ARRAY = MPO_MAKE_PORT_TYPE(4, 0), /* 0x10000 */ + /* + * Temporary flag for IPC unit testing. Expand to nothing if + * __BUILDING_XNU_LIB_UNITTEST__ is not defined. + */ + MPO_UNIT_TEST_BOOTSTRAP_ENTRY /* 0x11000 */ }); /* For bincompat: weak reply port used to be called provisional reply port */ @@ -489,8 +518,15 @@ enum mach_port_guard_exception_codes { kGUARD_EXC_UNGUARDED = 8, kGUARD_EXC_KOBJECT_REPLY_PORT_SEMANTICS = 9, kGUARD_EXC_REQUIRE_REPLY_PORT_SEMANTICS = 10, + kGUARD_EXC_RESTRICT_VOUCHER_OPERATIONS = 11, + kGUARD_EXC_MACH_EXC_THREAD_SET_STATE = 12, + kGUARD_EXC_MOVE_WEAK_REPLY_PORT_FATAL = 13, kGUARD_EXC_INCORRECT_GUARD = 16, + kGUARD_EXC_BOOTSTRAP_PORT_NOTIFICATION = 17, + kGUARD_EXC_CV_INVALID_EXCEPTION_PORT = 18, kGUARD_EXC_IMMOVABLE = 32, + kGUARD_EXC_RESTRICT_VOUCHER_RECIPE_SIZE = 33, + kGUARD_EXC_RESTRICT_INLINE_PORT_DESCRIPTORS = 34, kGUARD_EXC_STRICT_REPLY = 64, kGUARD_EXC_INVALID_NOTIFICATION_REQ = 65, kGUARD_EXC_INVALID_MPO_ENTITLEMENT = 66, @@ -512,24 +548,19 @@ enum mach_port_guard_exception_codes { /* start of always non-fatal guards */ kGUARD_EXC_RCV_GUARDED_DESC = 0x00100000, /* for development only */ kGUARD_EXC_SERVICE_PORT_VIOLATION_NON_FATAL = 0x00100001, /* unused */ - kGUARD_EXC_INVALID_NOTIFICATION_PORT = 0x00100006, - kGUARD_EXC_MACH_EXC_THREAD_SET_STATE = 0x00100007, - kGUARD_EXC_CV_NOTIFICATION_PORT_REQ = 0x00100008, kGUARD_EXC_WEAK_REPLY_PORT = 0x00100002, /* unused */ kGUARD_EXC_OOL_PORT_ARRAY_CREATION = 0x00100003, /* unused */ - kGUARD_EXC_MOVE_WEAK_REPLY_PORT = 0x00100004, + kGUARD_EXC_MOVE_WEAK_REPLY_PORT = 0x00100004, /* unused */ kGUARD_EXC_REPLY_PORT_SINGLE_SO_RIGHT = 0x00100005, + kGUARD_EXC_INVALID_NOTIFICATION_PORT = 0x00100006, + kGUARD_EXC_CV_NOTIFICATION_PORT_REQ = 0x00100008, kGUARD_EXC_MOD_REFS_NON_FATAL = 1u << 21, - kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22, /* unused */ + kGUARD_EXC_IMMOVABLE_NON_FATAL = 1u << 22, }; #define MAX_FATAL_kGUARD_EXC_CODE kGUARD_EXC_MSG_FILTERED #define MAX_OPTIONAL_kGUARD_EXC_CODE kGUARD_EXC_RCV_INVALID_NAME -/* Temporary! Should be removed after rdar://166892063 */ -#define kGUARD_EXC_PROVISIONAL_REPLY_PORT kGUARD_EXC_WEAK_REPLY_PORT -#define kGUARD_EXC_MOVE_PROVISIONAL_REPLY_PORT kGUARD_EXC_MOVE_WEAK_REPLY_PORT - /* * Mach port guard flags. diff --git a/lib/libc/include/any-darwin-any/mach/processor_info.h b/lib/libc/include/any-darwin-any/mach/processor_info.h index 19e1b35e69988d55d4f93ecd45b720fdf3a057ea..3c5e3e3ed317d36523f34b77d25260335c02ffb7 100644 --- a/lib/libc/include/any-darwin-any/mach/processor_info.h +++ b/lib/libc/include/any-darwin-any/mach/processor_info.h @@ -90,10 +90,11 @@ typedef integer_t processor_set_info_data_t[PROCESSOR_SET_INFO_MAX]; * Currently defined information. */ typedef int processor_flavor_t; -#define PROCESSOR_BASIC_INFO 1 /* basic information */ -#define PROCESSOR_CPU_LOAD_INFO 2 /* cpu load information */ -#define PROCESSOR_PM_REGS_INFO 0x10000001 /* performance monitor register info */ -#define PROCESSOR_TEMPERATURE 0x10000002 /* Processor core temperature */ +#define PROCESSOR_BASIC_INFO 1 /* basic information */ +#define PROCESSOR_CPU_LOAD_INFO 2 /* cpu load information */ +#define PROCESSOR_CPU_COUNTERS_INFO 3 /* per-CPU active/idle time, cycles, instructions, energy */ +#define PROCESSOR_PM_REGS_INFO 0x10000001 /* performance monitor register info */ +#define PROCESSOR_TEMPERATURE 0x10000002 /* Processor core temperature */ struct processor_basic_info { cpu_type_t cpu_type; /* type of cpu */ @@ -120,6 +121,20 @@ typedef struct processor_cpu_load_info *processor_cpu_load_info_t; #define PROCESSOR_CPU_LOAD_INFO_COUNT ((mach_msg_type_number_t) \ (sizeof(processor_cpu_load_info_data_t)/sizeof(natural_t))) +struct processor_cpu_counters_info { + uint64_t user_time_mach; /* user-mode time, mach absolute units */ + uint64_t system_time_mach; /* system-mode time, mach absolute units */ + uint64_t idle_time_mach; /* idle time, mach absolute units */ + uint64_t cycles; /* 0 if CPU counters unsupported */ + uint64_t instructions; /* 0 if CPU counters unsupported */ + uint64_t energy_nj; /* 0 if energy accounting unsupported */ +}; + +typedef struct processor_cpu_counters_info processor_cpu_counters_info_data_t; +typedef struct processor_cpu_counters_info *processor_cpu_counters_info_t; +#define PROCESSOR_CPU_COUNTERS_INFO_COUNT ((mach_msg_type_number_t) \ + (sizeof(processor_cpu_counters_info_data_t)/sizeof(natural_t))) + /* * Scaling factor for load_average, mach_factor. */ diff --git a/lib/libc/include/any-darwin-any/mach/task.h b/lib/libc/include/any-darwin-any/mach/task.h index 222b9a97e23d287d21261d7a056ebd4db586c7ec..3b547f968892dd6be4733589b0f5e80face1ddd6 100644 --- a/lib/libc/include/any-darwin-any/mach/task.h +++ b/lib/libc/include/any-darwin-any/mach/task.h @@ -172,7 +172,8 @@ mig_external #else extern #endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED +__API_DEPRECATED("use task_suspend2 instead", macos(10.0, __API_TO_BE_DEPRECATED), ios(2.0, __API_TO_BE_DEPRECATED), visionos(1.0, __API_TO_BE_DEPRECATED)) +__API_UNAVAILABLE(tvos, watchos) kern_return_t task_suspend ( task_read_t target_task @@ -184,7 +185,8 @@ mig_external #else extern #endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED +__API_DEPRECATED("use task_resume2 instead", macos(10.0, __API_TO_BE_DEPRECATED), ios(2.0, __API_TO_BE_DEPRECATED), visionos(1.0, __API_TO_BE_DEPRECATED)) +__API_UNAVAILABLE(tvos, watchos) kern_return_t task_resume ( task_read_t target_task @@ -588,7 +590,8 @@ mig_external #else extern #endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED +__API_AVAILABLE(macos(10.9), ios(7.0), visionos(1.0)) +__API_UNAVAILABLE(watchos, tvos) kern_return_t task_suspend2 ( task_read_t target_task, @@ -601,7 +604,8 @@ mig_external #else extern #endif /* mig_external */ -__TVOS_PROHIBITED __WATCHOS_PROHIBITED +__API_AVAILABLE(macos(10.9), ios(7.0), visionos(1.0)) +__API_UNAVAILABLE(watchos, tvos) kern_return_t task_resume2 ( task_suspension_token_t suspend_token diff --git a/lib/libc/include/any-darwin-any/mach/task_info.h b/lib/libc/include/any-darwin-any/mach/task_info.h index b7118305b1683b0945f8753c00b9bcc07d0227d1..53735cb0219d608a6d0eb64f9e843ce3f2f128df 100644 --- a/lib/libc/include/any-darwin-any/mach/task_info.h +++ b/lib/libc/include/any-darwin-any/mach/task_info.h @@ -69,9 +69,9 @@ #include #include #include +#include #include /* for vm_extmod_statistics_data_t */ #include - #include /* @@ -521,6 +521,37 @@ typedef struct task_ipc_space_policy_info * task_ipc_space_policy_info_t; #define TASK_IPC_SPACE_POLICY_INFO_COUNT ((mach_msg_type_number_t) \ (sizeof(struct task_ipc_space_policy_info) / sizeof(natural_t))) +#define TASK_VM_SHARED_CACHE_INFO 34 +struct task_vm_shared_cache_info { + uint32_t slide; +}; +typedef struct task_vm_shared_cache_info task_vm_shared_cache_info_data_t; +typedef struct task_vm_shared_cache_info *task_vm_shared_cache_info_t; +#define TASK_VM_SHARED_CACHE_INFO_COUNT \ + (sizeof(struct task_vm_shared_cache_info) / sizeof(natural_t)) + +OS_ENUM(task_shared_region_stubs, uint8_t, + TASK_SHARED_REGION_STUBS_DEV = 0x01, + TASK_SHARED_REGION_STUBS_PROD = 0x02, + ); + +#define TASK_SHARED_REGION_INFO 35 +struct task_shared_region_info { + mach_vm_address_t sri_base_address; + mach_vm_size_t sri_size; + mach_vm_offset_t sri_slide; + uint64_t sri_id; + uint64_t sri_namespace_id; + cpu_type_t sri_cpu_type; + cpu_subtype_t sri_cpu_subtype; + boolean_t sri_reslid; + boolean_t sri_driverkit; + task_shared_region_stubs_t sri_stubs; +}; +typedef struct task_shared_region_info task_shared_region_info_data_t; +typedef struct task_shared_region_info *task_shared_region_info_t; +#define TASK_SHARED_REGION_INFO_COUNT (sizeof(struct task_shared_region_info) / sizeof(natural_t)) + /* * Type to control EXC_GUARD delivery options for a task * via task_get/set_exc_guard_behavior interface(s). diff --git a/lib/libc/include/any-darwin-any/mach/thread_act.h b/lib/libc/include/any-darwin-any/mach/thread_act.h index 501398b4b0b3b3239db6e112fd4cddf266fbb7af..31e51fc422da40740d2adb493cb794a3e1ff2fe3 100644 --- a/lib/libc/include/any-darwin-any/mach/thread_act.h +++ b/lib/libc/include/any-darwin-any/mach/thread_act.h @@ -147,7 +147,8 @@ mig_external #else extern #endif /* mig_external */ -__WATCHOS_PROHIBITED +__API_DEPRECATED("use thread_suspend2 instead", macos(10.0, __API_TO_BE_DEPRECATED), ios(2.0, __API_TO_BE_DEPRECATED), tvos(9.0, __API_TO_BE_DEPRECATED), visionos(1.0, __API_TO_BE_DEPRECATED)) +__API_UNAVAILABLE(watchos) kern_return_t thread_suspend ( thread_read_t target_act @@ -159,7 +160,8 @@ mig_external #else extern #endif /* mig_external */ -__WATCHOS_PROHIBITED +__API_DEPRECATED("use thread_resume2 instead", macos(10.0, __API_TO_BE_DEPRECATED), ios(2.0, __API_TO_BE_DEPRECATED), tvos(9.0, __API_TO_BE_DEPRECATED), visionos(1.0, __API_TO_BE_DEPRECATED)) +__API_UNAVAILABLE(watchos) kern_return_t thread_resume ( thread_read_t target_act @@ -515,7 +517,8 @@ mig_external #else extern #endif /* mig_external */ -__WATCHOS_PROHIBITED +__API_AVAILABLE(macos(26.4), ios(26.4), tvos(26.4), visionos(26.4)) +__API_UNAVAILABLE(watchos) kern_return_t thread_suspend2 ( thread_read_t target_act, @@ -528,7 +531,8 @@ mig_external #else extern #endif /* mig_external */ -__WATCHOS_PROHIBITED +__API_AVAILABLE(macos(26.4), ios(26.4), tvos(26.4), visionos(26.4)) +__API_UNAVAILABLE(watchos) kern_return_t thread_resume2 ( mach_port_t suspend_token diff --git a/lib/libc/include/any-darwin-any/mach/vm_map.h b/lib/libc/include/any-darwin-any/mach/vm_map.h index 732bab4b0cd5194759c26b52dcb5362abfc66f9b..60ad342716dfa9546b97550c8ae5019e69621f5d 100644 --- a/lib/libc/include/any-darwin-any/mach/vm_map.h +++ b/lib/libc/include/any-darwin-any/mach/vm_map.h @@ -1337,7 +1337,7 @@ union __RequestUnion__vm_map_subsystem { vm_size_t size; natural_t nesting_depth; mach_msg_type_number_t infoCnt; - int info[19]; + int info[21]; } __Reply__vm_region_recurse_t __attribute__((unused)); #ifdef __MigPackStructs #pragma pack(pop) @@ -1354,7 +1354,7 @@ union __RequestUnion__vm_map_subsystem { vm_size_t size; natural_t nesting_depth; mach_msg_type_number_t infoCnt; - int info[19]; + int info[21]; } __Reply__vm_region_recurse_64_t __attribute__((unused)); #ifdef __MigPackStructs #pragma pack(pop) diff --git a/lib/libc/include/any-darwin-any/mach/vm_param.h b/lib/libc/include/any-darwin-any/mach/vm_param.h index 87c348ee80bf17adf4f825f8f7caab6b3588861d..f0051661d85e48f0ab153563af5dd42d225a6b4e 100644 --- a/lib/libc/include/any-darwin-any/mach/vm_param.h +++ b/lib/libc/include/any-darwin-any/mach/vm_param.h @@ -67,6 +67,7 @@ #ifndef _MACH_VM_PARAM_H_ #define _MACH_VM_PARAM_H_ + #include diff --git a/lib/libc/include/any-darwin-any/mach/vm_region.h b/lib/libc/include/any-darwin-any/mach/vm_region.h index 8cfc15242bdb0ca6de544d3b90923e05cad1547a..0c2b4f4394dd2464840d8cc76bcc47ac4bef48c1 100644 --- a/lib/libc/include/any-darwin-any/mach/vm_region.h +++ b/lib/libc/include/any-darwin-any/mach/vm_region.h @@ -42,7 +42,9 @@ #include #include #include +#include #include +#include #include #include #include @@ -72,7 +74,6 @@ typedef int *vm_region_recurse_info_64_t; typedef int vm_region_flavor_t; typedef int vm_region_info_data_t[VM_REGION_INFO_MAX]; - #define VM_REGION_BASIC_INFO_64 9 struct vm_region_basic_info_64 { vm_prot_t protection; @@ -133,7 +134,7 @@ typedef struct vm_region_basic_info vm_region_basic_info_data_t; #define SM_TRUESHARED 5 #define SM_PRIVATE_ALIASED 6 #define SM_SHARED_ALIASED 7 -#define SM_LARGE_PAGE 8 +#define SM_LARGE_PAGE 8 /* Unused today, but provided for compatibility */ /* * For submap info, the SM flags above are overlayed when a submap @@ -259,6 +260,10 @@ struct vm_region_submap_info_64 { unsigned int pages_reusable; /* v2 fields */ vm_object_id_t object_id_full; + /* v3 fields */ + uint32_t pages_wired; + uint16_t wire_tag; + uint16_t __padding0; }; typedef struct vm_region_submap_info_64 *vm_region_submap_info_64_t; @@ -269,9 +274,13 @@ typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t * so if we ever increase this you'll need to also bump the definition of * vm_region_recurse_info_t. */ -#define VM_REGION_SUBMAP_INFO_V2_SIZE \ +#define VM_REGION_SUBMAP_INFO_V3_SIZE \ (sizeof (vm_region_submap_info_data_64_t)) +/* v2 size is v3 size minus v3's new fields */ +#define VM_REGION_SUBMAP_INFO_V2_SIZE \ + (offsetof (vm_region_submap_info_data_64_t, pages_wired)) + /* v1 size is v2 size minus v2's new fields */ #define VM_REGION_SUBMAP_INFO_V1_SIZE \ (VM_REGION_SUBMAP_INFO_V2_SIZE - \ @@ -282,6 +291,9 @@ typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t (VM_REGION_SUBMAP_INFO_V1_SIZE - \ sizeof (unsigned int) /* pages_reusable */ ) +#define VM_REGION_SUBMAP_INFO_V3_COUNT_64 \ + ((mach_msg_type_number_t) \ + (VM_REGION_SUBMAP_INFO_V3_SIZE / sizeof (natural_t))) #define VM_REGION_SUBMAP_INFO_V2_COUNT_64 \ ((mach_msg_type_number_t) \ (VM_REGION_SUBMAP_INFO_V2_SIZE / sizeof (natural_t))) @@ -293,11 +305,13 @@ typedef struct vm_region_submap_info_64 vm_region_submap_info_data_64_t (VM_REGION_SUBMAP_INFO_V0_SIZE / sizeof (natural_t))) /* set this to the latest version */ -#define VM_REGION_SUBMAP_INFO_COUNT_64 VM_REGION_SUBMAP_INFO_V2_COUNT_64 +#define VM_REGION_SUBMAP_INFO_COUNT_64 VM_REGION_SUBMAP_INFO_V3_COUNT_64 #define VM_REGION_FLAG_JIT_ENABLED 0x1 #define VM_REGION_FLAG_TPRO_ENABLED 0x2 - +/* SPI bits; see vm_region_private.h */ +#define VM_REGION_FLAG_RESERVED_BIT_3 0x4 +#define VM_REGION_FLAG_RESERVED_BIT_4 0x8 struct vm_region_submap_short_info_64 { vm_prot_t protection; /* present access protection */ @@ -355,9 +369,11 @@ typedef struct vm32_read_entry vm32_read_entry_t[VM_MAP_ENTRY_MAX]; #define VM_PAGE_INFO_MAX typedef int *vm_page_info_t; typedef int vm_page_info_data_t[VM_PAGE_INFO_MAX]; + typedef int vm_page_info_flavor_t; +#define VM_PAGE_INFO_BASIC 1 +#define VM_PAGE_INFO_EXTENDED 2 -#define VM_PAGE_INFO_BASIC 1 struct vm_page_info_basic { int disposition; int ref_count; @@ -372,5 +388,20 @@ typedef struct vm_page_info_basic vm_page_info_basic_data_t; #define VM_PAGE_INFO_BASIC_COUNT ((mach_msg_type_number_t) \ (sizeof(vm_page_info_basic_data_t)/sizeof(int))) +typedef struct vm_page_info_extended { + vm_page_disposition_t disposition; + uint32_t ref_count; + vm_object_id_t object_id; + memory_object_offset_t offset; + int depth; + uint32_t __pad1; + uint64_t disposition_ts; /* abs. time (in sec) */ + uint64_t __reserved[4]; +} vm_page_info_extended_data_t; + +typedef struct vm_page_info_extended *vm_page_info_extended_t; + +#define VM_PAGE_INFO_EXTENDED_COUNT ((mach_msg_type_number_t) \ + (sizeof(vm_page_info_extended_data_t) / sizeof(natural_t))) #endif /*_MACH_VM_REGION_H_*/ diff --git a/lib/libc/include/any-darwin-any/mach/vm_statistics.h b/lib/libc/include/any-darwin-any/mach/vm_statistics.h index d482bc08e4da9bd4923b0c306bb766f7a7d40316..4e39b5d9a7daee61e217cfc8f9ebc3392b161597 100644 --- a/lib/libc/include/any-darwin-any/mach/vm_statistics.h +++ b/lib/libc/include/any-darwin-any/mach/vm_statistics.h @@ -207,6 +207,59 @@ struct vm_statistics64 { uint64_t tagged_decompressions; /* The current number of bytes consumed by compressed tag storage data */ uint64_t compressed_tag_storage_bytes; + /* added for rev4 */ + /* The number of pages created due to speculative prefetch since boot */ + uint64_t speculative_pages_created; + /* The number speculative pages that have been activated since boot */ + uint64_t speculative_pages_activated; + + /* Added for rev4 */ + /* The number of pages currently populated in the swapfile */ + uint64_t swap_count; + + /* Added for rev5 */ + /* + * The number of tag storage pages which are reserved for storing tags but + * don't currently hold any + */ + uint64_t empty_tag_storing_tag_storage_pages; + /* + * The number of resident, file-backed (i.e. excluding JIT) pages which are + * mapped as executable + */ + uint64_t executable_count; + /* The number of resident pages which are part of a shared region */ + uint64_t shared_region_count; + /* The number of pages stolen by the booter */ + uint64_t boot_stolen_count; + /* The number of file-backed pages which are secluded */ + uint64_t secluded_count; + /* The number of internal pageable pages which are active */ + uint64_t active_internal_count; + /* The number of internal pageable pages which are inactive */ + uint64_t inactive_internal_count; + /* The number of external pageable pages which are active */ + uint64_t active_external_count; + /* The number of external pageable pages which are inactive */ + uint64_t inactive_external_count; + /* The number of purgeable volatile pages which are pageable */ + uint64_t purgeable_pageable_count; + /* The number of purgeable-volatile pages which are wired */ + uint64_t purgeable_wired_count; + /* The number of anonymous pages which are backgrounded */ + uint64_t background_internal_count; + /* The number of file-backed pages which are backgrounded */ + uint64_t background_external_count; + /* The number of anonymous pages which are queued for self-donation (App Swap) */ + uint64_t donated_count; + /* The number of anonymous pages which are marked as real-time */ + uint64_t realtime_count; + /* The size of physical memory in pages */ + uint64_t max_mem_count; + /* The number of phantom file-cache ghosts which were re-paged-in */ + uint64_t phantom_ghosts_found; + /* The number of phantom file-cache ghosts created by pageout */ + uint64_t phantom_ghosts_added; } __attribute__((aligned(8))); typedef struct vm_statistics64 *vm_statistics64_t; @@ -259,18 +312,19 @@ typedef struct vm_purgeable_info *vm_purgeable_info_t; typedef int32_t vm_page_disposition_t; -#define VM_PAGE_QUERY_PAGE_PRESENT 0x001 -#define VM_PAGE_QUERY_PAGE_FICTITIOUS 0x002 -#define VM_PAGE_QUERY_PAGE_REF 0x004 -#define VM_PAGE_QUERY_PAGE_DIRTY 0x008 -#define VM_PAGE_QUERY_PAGE_PAGED_OUT 0x010 -#define VM_PAGE_QUERY_PAGE_COPIED 0x020 -#define VM_PAGE_QUERY_PAGE_SPECULATIVE 0x040 -#define VM_PAGE_QUERY_PAGE_EXTERNAL 0x080 -#define VM_PAGE_QUERY_PAGE_CS_VALIDATED 0x100 -#define VM_PAGE_QUERY_PAGE_CS_TAINTED 0x200 -#define VM_PAGE_QUERY_PAGE_CS_NX 0x400 -#define VM_PAGE_QUERY_PAGE_REUSABLE 0x800 +#define VM_PAGE_QUERY_PAGE_PRESENT 0x0001 +#define VM_PAGE_QUERY_PAGE_FICTITIOUS 0x0002 +#define VM_PAGE_QUERY_PAGE_REF 0x0004 +#define VM_PAGE_QUERY_PAGE_DIRTY 0x0008 +#define VM_PAGE_QUERY_PAGE_PAGED_OUT 0x0010 +#define VM_PAGE_QUERY_PAGE_COPIED 0x0020 +#define VM_PAGE_QUERY_PAGE_SPECULATIVE 0x0040 +#define VM_PAGE_QUERY_PAGE_EXTERNAL 0x0080 +#define VM_PAGE_QUERY_PAGE_CS_VALIDATED 0x0100 +#define VM_PAGE_QUERY_PAGE_CS_TAINTED 0x0200 +#define VM_PAGE_QUERY_PAGE_CS_NX 0x0400 +#define VM_PAGE_QUERY_PAGE_REUSABLE 0x0800 +#define VM_PAGE_QUERY_PAGE_WIRED 0x1000 #pragma mark User Flags @@ -322,6 +376,10 @@ typedef int32_t vm_page_disposition_t; * VM_FLAGS_GUARD_OBJECT_OPTOUT * Opt out this allocation from the guard object allocation policy. * And memory will be allocated in typical first-fit allocation order. + * + * VM_FLAGS_SUPERPAGE_* + * Deprecated; not supported on any current hardware. + * These bits may be reused in the future and thus lead to unexpected results. */ #define VM_FLAGS_FIXED 0x00000000 @@ -335,13 +393,8 @@ typedef int32_t vm_page_disposition_t; #define VM_FLAGS_PERMANENT 0x00000080 #define VM_FLAGS_TPRO 0x00001000 #define VM_FLAGS_MTE 0x00002000 -#define VM_FLAGS_OVERWRITE 0x00004000 /* delete any existing mappings first */ -/* - * VM_FLAGS_SUPERPAGE_MASK - * 3 bits that specify whether large pages should be used instead of - * base pages (!=0), as well as the requested page size. - */ -#define VM_FLAGS_SUPERPAGE_MASK 0x00070000 /* bits 0x10000, 0x20000, 0x40000 */ +#define VM_FLAGS_OVERWRITE 0x00004000 /* delete any existing mappings first */ +#define VM_FLAGS_SUPERPAGE_MASK 0x00070000 /* Currently unused. Bits 0x10000, 0x20000, 0x40000. */ #define VM_FLAGS_RETURN_DATA_ADDR 0x00100000 /* Return address of target data, rather than base of page */ #define VM_FLAGS_GUARD_OBJECT_OPTOUT 0x00400000 #define VM_FLAGS_RETURN_4K_DATA_ADDR 0x00800000 /* Return 4K aligned address of target data */ @@ -365,7 +418,6 @@ typedef int32_t vm_page_disposition_t; VM_FLAGS_PERMANENT | \ VM_FLAGS_OVERWRITE | \ VM_FLAGS_GUARD_OBJECT_OPTOUT | \ - VM_FLAGS_SUPERPAGE_MASK | \ VM_FLAGS_HW | \ VM_FLAGS_ALIAS_MASK) @@ -381,6 +433,11 @@ typedef int32_t vm_page_disposition_t; VM_FLAGS_RESILIENT_CODESIGN | \ VM_FLAGS_RESILIENT_MEDIA) +/* + * Superpage macros are deprecated as we don't currently support this feature + * on any platforms. We may reuse those flag bits in the future and thus use + * of these bits might lead to unexpected results in future OS versions. + */ #define VM_FLAGS_SUPERPAGE_SHIFT 16 #define SUPERPAGE_NONE 0 /* no superpages, if all bits are 0 */ #define SUPERPAGE_SIZE_ANY 1 @@ -404,7 +461,26 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { kGUARD_EXC_SEC_IOPL_ON_EXEC_PAGE = 10, kGUARD_EXC_SEC_EXEC_ON_IOPL_PAGE = 11, kGUARD_EXC_SEC_UPL_WRITE_ON_EXEC_REGION = 12, - kGUARD_EXC_LARGE_ALLOCATION_TELEMETRY = 13, + + /** + * Guard exception sent to a thread when a CoW defeatured map attempts to + * copy memory which is not permitted by system policy. + */ + kGUARD_EXC_COW_DEFEATURED_COPY_DENIED = 13, + /** + * Guard exception sent to a thread when it attempts to extract a given type + * of memory in a way which is not permitted for CoW defeatured maps. + */ + kGUARD_EXC_COW_DEFEATURED_EXTRACT_DENIED = 14, + /** + * Guard exception sent to a thread when it attempts to copy-map a memory + * entry which was created for sharing by a CoW defeatured map. + */ + kGUARD_EXC_COW_DEFEATURED_SHARE_MAP_AS_COPY_DENIED = 15, + kGUARD_EXC_COW_DEFEATURED_FIRST = kGUARD_EXC_COW_DEFEATURED_COPY_DENIED, + kGUARD_EXC_COW_DEFEATURED_LAST = kGUARD_EXC_COW_DEFEATURED_SHARE_MAP_AS_COPY_DENIED, + + kGUARD_EXC_LARGE_ALLOCATION_TELEMETRY = 16, /* * rdar://151450801 (Remove spurious kGUARD_EXC_SEC_ACCESS_FAULT and kGUARD_EXC_SEC_ASYNC_ACCESS_FAULT once CrashReporter is aligned) */ @@ -662,6 +738,12 @@ __enum_decl(virtual_memory_guard_exception_code_t, uint32_t, { /* memory allocated for CompositorServices */ #define VM_MEMORY_COMPOSITOR_SERVICES 107 +/* memory allocate for in-process debug tools */ +#define VM_MEMORY_DEBUG 108 + +/* Apple Neural Engine */ +#define VM_MEMORY_NEURAL 109 + /* Reserve 230-239 for Rosetta */ #define VM_MEMORY_ROSETTA 230 #define VM_MEMORY_ROSETTA_THREAD_CONTEXT 231 diff --git a/lib/libc/include/any-darwin-any/mach_debug/zone_info.h b/lib/libc/include/any-darwin-any/mach_debug/zone_info.h index 1022eca68c662a889004b6b032357f4de62c1ecb..cbbcc9556a76f02de7396984dc86dda4c56fa370 100644 --- a/lib/libc/include/any-darwin-any/mach_debug/zone_info.h +++ b/lib/libc/include/any-darwin-any/mach_debug/zone_info.h @@ -61,6 +61,7 @@ #include #include +#include /* * Legacy definitions for host_zone_info(). This interface, and @@ -152,11 +153,17 @@ typedef task_zone_info_t *task_zone_info_array_t; typedef struct mach_memory_info { uint64_t flags; uint64_t site; + /* The current size of the site in bytes */ uint64_t size; + /* The number of bytes which are not currently in use */ uint64_t free; + /* The size of the largest individual element in the site */ uint64_t largest; + /* The number of bytes which could be recovered by kernel GC */ uint64_t collectable_bytes; + /* The amount of kernel VA consumed by this site */ uint64_t mapped; + /* The peak (max) size of this site */ uint64_t peak; uint16_t tag; uint16_t zone; @@ -167,6 +174,7 @@ typedef struct mach_memory_info { typedef mach_memory_info_t *mach_memory_info_array_t; + /* * MAX_ZTRACE_DEPTH configures how deep of a stack trace is taken on each zalloc in the zone of interest. 15 * levels is usually enough to get past all the layers of code in kalloc and IOKit and see who the actual diff --git a/lib/libc/include/any-darwin-any/malloc/_malloc.h b/lib/libc/include/any-darwin-any/malloc/_malloc.h index cbd5253d50dc83b975a94f26d0c871299cdb0cd0..df0277a864817a0e8673e9e9237c4901cf3fde03 100644 --- a/lib/libc/include/any-darwin-any/malloc/_malloc.h +++ b/lib/libc/include/any-darwin-any/malloc/_malloc.h @@ -30,7 +30,9 @@ * Be cautious about what is included and declared here. */ +#ifndef __MALLOC_NO_AVAILABILITY_MACROS__ #include +#endif #include #if __has_include() #include diff --git a/lib/libc/include/any-darwin-any/malloc/_malloc_type.h b/lib/libc/include/any-darwin-any/malloc/_malloc_type.h index 81713b125cc973ba1926002e4cf62473844cb978..903c675c02cb090f1e7b74507535a6b3a6a34f17 100644 --- a/lib/libc/include/any-darwin-any/malloc/_malloc_type.h +++ b/lib/libc/include/any-darwin-any/malloc/_malloc_type.h @@ -32,7 +32,9 @@ typedef unsigned long long malloc_type_id_t; #if defined(__LP64__) /* MALLOC_TARGET_64BIT */ // Included from so carefully manage what we include here. +#ifndef __MALLOC_NO_AVAILABILITY_MACROS__ #include /* __SPI_AVAILABLE */ +#endif #if __has_include() #include #else diff --git a/lib/libc/include/any-darwin-any/malloc/malloc.h b/lib/libc/include/any-darwin-any/malloc/malloc.h index 45f503b3b9006d36c103e91e265c0557d0ea7b3f..4abec7164fd977593dc176535f225c0dfb87bce2 100644 --- a/lib/libc/include/any-darwin-any/malloc/malloc.h +++ b/lib/libc/include/any-darwin-any/malloc/malloc.h @@ -24,10 +24,14 @@ #ifndef _MALLOC_MALLOC_H_ #define _MALLOC_MALLOC_H_ +#if __has_include() #include +#endif #include +#ifndef __MALLOC_NO_AVAILABILITY_MACROS__ #include #include +#endif #include __ptrcheck_abi_assume_single() @@ -390,7 +394,7 @@ typedef union { extern malloc_zone_t *malloc_default_zone(void); /* The initial zone */ -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT extern malloc_zone_t *malloc_create_zone(vm_size_t start_size, unsigned flags); /* Creates a new zone with default behavior and registers it */ @@ -422,7 +426,7 @@ extern void * __sized_by_or_null(size) malloc_zone_malloc(malloc_zone_t *zone, s * if align is MALLOC_ZONE_MALLOC_DEFAULT_ALIGN. OS version 26.0 does not * implement this exception. * - * @param options + * @param opts * A bitmask of options defining how the memory should be allocated. See the * available bit values in the malloc_zone_malloc_options_t enum definition. * @@ -469,7 +473,7 @@ extern void * __sized_by_or_null(size) malloc_zone_memalign(malloc_zone_t *zone, /********* Batch methods ************/ -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT extern unsigned malloc_zone_batch_malloc(malloc_zone_t *zone, size_t size, void * __unsafe_indexable * __counted_by(num_requested) results, unsigned num_requested); /* Allocates num blocks of the same size; Returns the number truly allocated (may be 0) */ @@ -479,7 +483,7 @@ extern void malloc_zone_batch_free(malloc_zone_t *zone, void * __unsafe_indexabl /********* Functions for libcache ************/ -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT extern malloc_zone_t *malloc_default_purgeable_zone(void) __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_3_0); /* Returns a pointer to the default purgeable_zone. */ @@ -494,7 +498,7 @@ extern int malloc_make_nonpurgeable(void * __unsafe_indexable ptr) __OSX_AVAILAB /********* Functions for zone implementors ************/ -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT extern void malloc_zone_register(malloc_zone_t *zone); /* Registers a custom malloc zone; Should typically be called after a * malloc_zone_t has been filled in with custom methods by a client. See @@ -512,7 +516,7 @@ extern void malloc_set_zone_name(malloc_zone_t *zone, const char * __null_termin extern const char *malloc_get_zone_name(malloc_zone_t *zone); /* Returns the name of a zone */ -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT size_t malloc_zone_pressure_relief(malloc_zone_t *zone, size_t goal) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); /* malloc_zone_pressure_relief() advises the malloc subsystem that the process is under memory pressure and * that the subsystem should make its best effort towards releasing (i.e. munmap()-ing) "goal" bytes from "zone". @@ -579,7 +583,7 @@ typedef struct malloc_introspection_t { // verbose passed to print() #define MALLOC_VERBOSE_PRINT_LEVEL 2 -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT extern void malloc_printf(const char * __null_terminated format, ...) __printflike(1,2); /* Convenience for logging errors and warnings; No allocation is performed during execution of this function; @@ -589,7 +593,7 @@ extern void malloc_printf(const char * __null_terminated format, ...) __printfli /********* Functions for performance tools ************/ -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT extern kern_return_t malloc_get_all_zones(task_t task, memory_reader_t reader, vm_address_t * __single * __counted_by(*count) addresses, unsigned *count); /* Fills addresses and count with the addresses of the zones in task; Note that the validity of the addresses returned correspond to the validity reader */ @@ -606,7 +610,7 @@ extern boolean_t malloc_zone_check(malloc_zone_t *zone); extern void malloc_zone_print(malloc_zone_t *zone, boolean_t verbose); /* Prints summary on zone; if !zone, prints all zones */ -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT extern void malloc_zone_statistics(malloc_zone_t *zone, malloc_statistics_t *stats); /* Fills statistics for zone; if !zone, sums up all zones */ @@ -625,7 +629,7 @@ struct mstats { size_t bytes_free; }; -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT extern struct mstats mstats(void); extern boolean_t malloc_zone_enable_discharge_checking(malloc_zone_t *zone) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); @@ -640,7 +644,7 @@ extern void malloc_zone_discharge(malloc_zone_t *zone, void * __unsafe_indexable If discharge checking is off for the zone this function is a no-op. */ #endif -#if !0 && !0 +#if !0 && !0 && !TARGET_OS_RTKIT #ifdef __BLOCKS__ extern void malloc_zone_enumerate_discharged_pointers(malloc_zone_t *zone, void (^report_discharged)(void *memory, void *info)) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3); /* Calls report_discharged for each block that was registered using malloc_zone_discharge() but has not yet been freed. diff --git a/lib/libc/include/any-darwin-any/math.h b/lib/libc/include/any-darwin-any/math.h index 513d798d959aa058be4eb326e097c910f55e416b..7c19601efd215d5f68f6f0f70c914f938dec6e9f 100644 --- a/lib/libc/include/any-darwin-any/math.h +++ b/lib/libc/include/any-darwin-any/math.h @@ -63,7 +63,15 @@ __BEGIN_DECLS # define HUGE_VAL __builtin_huge_val() # define HUGE_VALF __builtin_huge_valf() # define HUGE_VALL __builtin_huge_vall() -# define NAN __builtin_nanf("0x7fc00000") +# if defined(__has_feature) && __has_feature(modules) && defined(__has_include) && __has_include() +__END_DECLS +# define __need_infinity_nan +# include +# undef __need_infinity_nan +__BEGIN_DECLS +# else +# define NAN __builtin_nanf("0x7fc00000") +# endif #else # define HUGE_VAL 1e500 # define HUGE_VALF 1e50f @@ -71,7 +79,9 @@ __BEGIN_DECLS # define NAN __nan() #endif +#if !defined(__GNUC__) || !defined(__has_feature) || !__has_feature(modules) || !defined(__has_include) || !__has_include() #define INFINITY HUGE_VALF +#endif /****************************************************************************** * Taxonomy of floating point data types * diff --git a/lib/libc/include/any-darwin-any/net/if.h b/lib/libc/include/any-darwin-any/net/if.h index f562eb76d825a29102d1a05aad0f9f54b1fdb56f..4042803afa7fe477f3c09509f738d5e936fb3862 100644 --- a/lib/libc/include/any-darwin-any/net/if.h +++ b/lib/libc/include/any-darwin-any/net/if.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2000-2021 Apple Inc. All rights reserved. + * Copyright (c) 2000-2026 Apple Inc. All rights reserved. * * @APPLE_OSREFERENCE_LICENSE_HEADER_START@ * @@ -143,6 +143,7 @@ struct if_clonereq { #define IFCAP_CSUM_PARTIAL 0x02000 /* can offload partial checksum */ #define IFCAP_CSUM_ZERO_INVERT 0x04000 /* can invert 0 to -0 (0xffff) */ #define IFCAP_LRO_NUM_SEG 0x08000 /* NIC & driver can set the num of segments a LRO-packet is built of */ +#define IFCAP_IPSEC 0x10000 /* can do ipsec offload */ #define IFCAP_HWCSUM (IFCAP_RXCSUM | IFCAP_TXCSUM) #define IFCAP_TSO (IFCAP_TSO4 | IFCAP_TSO6) @@ -150,7 +151,8 @@ struct if_clonereq { #define IFCAP_VALID (IFCAP_HWCSUM | IFCAP_TSO | IFCAP_LRO | IFCAP_VLAN_MTU | \ IFCAP_VLAN_HWTAGGING | IFCAP_JUMBO_MTU | IFCAP_AV | IFCAP_TXSTATUS | \ IFCAP_SKYWALK | IFCAP_SW_TIMESTAMP | IFCAP_HW_TIMESTAMP | \ - IFCAP_CSUM_PARTIAL | IFCAP_CSUM_ZERO_INVERT | IFCAP_LRO_NUM_SEG) + IFCAP_CSUM_PARTIAL | IFCAP_CSUM_ZERO_INVERT | IFCAP_LRO_NUM_SEG | \ + IFCAP_IPSEC) #define IFQ_MAXLEN 128 #define IFNET_SLOWHZ 1 /* granularity is 1 second */ diff --git a/lib/libc/include/any-darwin-any/net/if_var.h b/lib/libc/include/any-darwin-any/net/if_var.h index 26274fe3664ac3cfc303c7e507a3c7a9400ce161..231f9cf97dc4d199c6d56147e096aec98ab8348d 100644 --- a/lib/libc/include/any-darwin-any/net/if_var.h +++ b/lib/libc/include/any-darwin-any/net/if_var.h @@ -139,6 +139,7 @@ struct net_event_data { #include #define IF_DATA_TIMEVAL timeval32 #else +#include #define IF_DATA_TIMEVAL timeval #endif diff --git a/lib/libc/include/any-darwin-any/objc/message.h b/lib/libc/include/any-darwin-any/objc/message.h index 009e44793a0c49475bd147340c4295effd7792b9..91969f5d72157122515915e178540e7c2052e26b 100644 --- a/lib/libc/include/any-darwin-any/objc/message.h +++ b/lib/libc/include/any-darwin-any/objc/message.h @@ -186,8 +186,8 @@ OBJC_EXPORT void objc_msgSend_fp2ret(void /* id self, SEL op, ... */ ) OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); -#pragma clang diagnostic pop # endif +#pragma clang diagnostic pop // !OBJC_OLD_DISPATCH_PROTOTYPES #else diff --git a/lib/libc/include/any-darwin-any/objc/runtime.h b/lib/libc/include/any-darwin-any/objc/runtime.h index 4fe6d1c47f7e608438dbc1d4f644e597f42b7fbc..ab02f89c669e50e7a873326e9fb41d716abd4c8e 100644 --- a/lib/libc/include/any-darwin-any/objc/runtime.h +++ b/lib/libc/include/any-darwin-any/objc/runtime.h @@ -1057,7 +1057,10 @@ method_getArgumentType(Method _Nonnull m, unsigned int index, OBJC_EXPORT struct objc_method_description * _Nonnull method_getDescription(Method _Nonnull m) - OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); + __API_DEPRECATED("Use method_getName and method_getTypeEncoding.", + macos(10.5, 11.0), ios(2.0, 15.0), tvos(9.0, 15.0), + watchos(1.0, 8.0), visionos(1.0, 1.0)); + /** * Sets the implementation of a method. @@ -1444,13 +1447,29 @@ protocol_addProperty(Protocol * _Nonnull proto, const char * _Nonnull name, * * @param outCount The number of names returned. * - * @return An array of C strings of names. Must be free()'d by caller. + * @return An array of C strings of names. The array contains @c *outCount + * pointers followed by a @c NULL terminator. You must free the array with + * @c free(). */ OBJC_EXPORT const char * _Nonnull * _Nonnull objc_copyImageNames(unsigned int * _Nullable outCount) OBJC_AVAILABLE(10.5, 2.0, 9.0, 1.0, 2.0); -/** +/** + * Returns the Mach headers of all the images loaded into the current process + * that contain Objective-C or Swift code. + * + * @param outCount The number of image headers returned. + * + * @return An array of @c mach_header pointers. The array contains @c *outCount + * pointers followed by a @c NULL terminator. You must free the array with + * @c free(). + */ +OBJC_EXPORT struct mach_header const *_Nonnull *_Nonnull +objc_copyImageHeaders(unsigned int * _Nullable outCount) + OBJC_AVAILABLE(27.0, 27.0, 27.0, 27.0, 27.0); + +/** * Returns the dynamic library name a class originated from. * * @param cls The class you are inquiring about. diff --git a/lib/libc/include/any-darwin-any/os/lock.h b/lib/libc/include/any-darwin-any/os/lock.h index 1a26a5f4d29486125d189aee71467c619819c019..ef0770569fc6047618d9fd9455b97cdc819a6e4c 100644 --- a/lib/libc/include/any-darwin-any/os/lock.h +++ b/lib/libc/include/any-darwin-any/os/lock.h @@ -57,7 +57,10 @@ __BEGIN_DECLS * * The values stored in the lock should be considered opaque and implementation * defined, they contain thread ownership information that the system may use - * to attempt to resolve priority inversions. + * to attempt to resolve priority inversions. However, it is guaranteed that an + * unlocked lock with no other contending threads will have the value + * OS_UNFAIR_LOCK_INIT, and so bytewise copying the value to a new location is + * equivalent to initializing a new lock in the new location. * * This lock must be unlocked from the same thread that locked it, attempts to * unlock from a different thread will cause an assertion aborting the process. diff --git a/lib/libc/include/any-darwin-any/sys/_symbol_aliasing.h b/lib/libc/include/any-darwin-any/sys/_symbol_aliasing.h index 03ea59c0c6ce028051a601e3a510c2a87e0c7e4f..425353454f7260741b139ab0ef320b2b722bc43f 100644 --- a/lib/libc/include/any-darwin-any/sys/_symbol_aliasing.h +++ b/lib/libc/include/any-darwin-any/sys/_symbol_aliasing.h @@ -593,6 +593,18 @@ #define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_5(x) #endif +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 260600 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_6(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_26_6(x) +#endif + +#if defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 270000 +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_27_0(x) x +#else +#define __DARWIN_ALIAS_STARTING_IPHONE___IPHONE_27_0(x) +#endif + #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 1000 #define __DARWIN_ALIAS_STARTING_MAC___MAC_10_0(x) x #else @@ -1061,3 +1073,15 @@ #define __DARWIN_ALIAS_STARTING_MAC___MAC_26_5(x) #endif +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 260600 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_6(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_26_6(x) +#endif + +#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 270000 +#define __DARWIN_ALIAS_STARTING_MAC___MAC_27_0(x) x +#else +#define __DARWIN_ALIAS_STARTING_MAC___MAC_27_0(x) +#endif + diff --git a/lib/libc/include/any-darwin-any/sys/_types/_graftdmg_un.h b/lib/libc/include/any-darwin-any/sys/_types/_graftdmg_un.h index 5b3b02b66672ad1aaf8560ca6e2ba8b8cfc320d6..ff905c0cc942f38ecbd9419af8167d11da657e95 100644 --- a/lib/libc/include/any-darwin-any/sys/_types/_graftdmg_un.h +++ b/lib/libc/include/any-darwin-any/sys/_types/_graftdmg_un.h @@ -42,6 +42,7 @@ #define SBC_PANIC_ON_AUTHFAIL 0x0008 /* On failure to authenticate, panic */ #define SBC_STRICT_AUTH 0x0010 /* Strict authentication mode */ #define SBC_PRESERVE_GRAFT 0x0020 /* Preserve graft itself until unmount */ +#define SBC_SKIP_AUTH 0x0040 /* No authentication mode (check root hash only) */ /* Flag values for ungraftdmg */ #define UNGRAFTDMG_NOFORCE 0x0000000000000002ULL /* Disallow ungraft if a non-dir vnode inside the graft is in use */ diff --git a/lib/libc/include/any-darwin-any/sys/aio.h b/lib/libc/include/any-darwin-any/sys/aio.h index 6f8f36d7a75adb27eb73cd7f3bd3006b06fc31b9..aaf299a5506c0f1e6ef21f4f710c700a55383cfc 100644 --- a/lib/libc/include/any-darwin-any/sys/aio.h +++ b/lib/libc/include/any-darwin-any/sys/aio.h @@ -65,8 +65,14 @@ struct aiocb { int aio_fildes; /* File descriptor */ off_t aio_offset; /* File offset */ - volatile void *aio_buf; /* Location of buffer */ - size_t aio_nbytes; /* Length of transfer */ + union { + volatile void *aio_buf; /* Location of buffer */ + volatile struct iovec *aio_iov; /* I/O scatter/gather list */ + }; + union { + size_t aio_nbytes; /* Length of transfer */ + size_t aio_iovcnt; /* Number of iovecs in list */ + }; int aio_reqprio; /* Request priority offset */ struct sigevent aio_sigevent; /* Signal number and value */ int aio_lio_opcode; /* Operation to be performed */ @@ -81,7 +87,7 @@ struct aiocb { * none of the requested operations could be canceled since they are * already complete. */ -#define AIO_ALLDONE 0x1 +#define AIO_ALLDONE 0x1 /* all requested operations have been canceled */ #define AIO_CANCELED 0x2 @@ -92,14 +98,23 @@ struct aiocb { */ #define AIO_NOTCANCELED 0x4 +/* + * Apple extension: special file descriptor value for aio_cancel() + * to cancel all outstanding async I/O operations for the process. + * This is a non-portable extension to the POSIX specification. + */ +#define AIO_CANCEL_ALL_NP ((int)0x80414c4c) /* '\80ALL' */ + /* * lio_listio operation options */ -#define LIO_NOP 0x0 /* option indicating that no transfer is requested */ +#define LIO_NOP 0x0 /* option indicating that no transfer is requested */ #define LIO_READ 0x1 /* option requesting a read */ #define LIO_WRITE 0x2 /* option requesting a write */ +#define LIO_READV 0x3 /* option requesting a vectored read */ +#define LIO_WRITEV 0x4 /* option requesting a vectored write */ /* * lio_listio() modes @@ -123,7 +138,12 @@ struct aiocb { /* * Maximum number of operations in single lio_listio call */ -#define AIO_LISTIO_MAX 16 +#define AIO_LISTIO_MAX 32 + +/* + * Maximum number of iovec structures in vectored AIO operations + */ +#define AIO_UIO_MAXIOV UIO_MAXIOV /* @@ -227,6 +247,26 @@ int aio_suspend( const struct aiocb *const aiocblist[], */ int aio_write( struct aiocb * aiocbp ); +/* + * Read data into the scatter/gather list specified by aiocbp->aio_iov and + * aiocbp->aio_iovcnt from the file associated with aiocbp->aio_fildes. The + * function shall return when the read request has been initiated or, at a + * minimum, queued. The aiocbp argument may be used as an argument to aio_error() + * and aio_return() in order to determine the error status and return status, + * respectively, of the asynchronous operation while it is proceeding. + */ +int aio_readv( struct aiocb * aiocbp ); + +/* + * Write data from the scatter/gather list specified by aiocbp->aio_iov and + * aiocbp->aio_iovcnt to the file associated with aiocbp->aio_fildes. The + * function shall return when the write request has been initiated or, at a + * minimum, queued. The aiocbp argument may be used as an argument to aio_error() + * and aio_return() in order to determine the error status and return status, + * respectively, of the asynchronous operation while it is proceeding. + */ +int aio_writev( struct aiocb * aiocbp ); + /* * Initiate a list of I/O requests with a single function call. The mode * argument takes one of the values LIO_WAIT or LIO_NOWAIT and determines whether diff --git a/lib/libc/include/any-darwin-any/sys/event.h b/lib/libc/include/any-darwin-any/sys/event.h index e379ba88a0cf419b0c7e79518a1678e88854f7f1..3a68b838bda8cc7737068a6d96721f4838433661 100644 --- a/lib/libc/include/any-darwin-any/sys/event.h +++ b/lib/libc/include/any-darwin-any/sys/event.h @@ -77,8 +77,9 @@ #define EVFILT_USER (-10) /* User events */ #define EVFILT_VM (-12) /* Virtual memory events */ #define EVFILT_EXCEPT (-15) /* Exception events */ +#define EVFILT_LIO (-19) /* attached to lio requests */ -#define EVFILT_SYSCOUNT 18 +#define EVFILT_SYSCOUNT 19 #define EVFILT_THREADMARKER EVFILT_SYSCOUNT /* Internal use only */ #pragma pack(4) diff --git a/lib/libc/include/any-darwin-any/sys/fcntl.h b/lib/libc/include/any-darwin-any/sys/fcntl.h index 62d2891ca47302f7d98310fe37fa4451061c65e6..4ce49723ec0af6329f3eb22979d480b8e5dbcda4 100644 --- a/lib/libc/include/any-darwin-any/sys/fcntl.h +++ b/lib/libc/include/any-darwin-any/sys/fcntl.h @@ -155,6 +155,7 @@ #if __DARWIN_C_LEVEL >= __DARWIN_C_FULL +#define O_CLOFORK 0x08000000 /* implicitly set FD_CLOFORK */ #define O_NOFOLLOW_ANY 0x20000000 /* no symlinks allowed in path */ #endif @@ -328,18 +329,17 @@ #define F_ADDFILESUPPL 104 /* Add supplemental signature from same file with fd reference to original */ #define F_GETSIGSINFO 105 /* Look up code signature information attached to a file or slice */ -#define F_SETLEASE 106 /* Acquire or release lease */ -#define F_GETLEASE 107 /* Retrieve lease information */ +#define F_SETLEASE 106 /* Acquire or release lease */ +#define F_GETLEASE 107 /* Retrieve lease information */ #define F_SETLEASE_ARG(t, oc) ((t) | ((oc) << 2)) -#define F_TRANSFEREXTENTS 110 /* Transfer allocated extents beyond leof to a different file */ +#define F_TRANSFEREXTENTS 110 /* Transfer allocated extents beyond leof to a different file */ -#define F_ATTRIBUTION_TAG 111 /* Based on flags, query/set/delete a file's attribution tag */ -#define F_NOCACHE_EXT 112 /* turn data caching off/on for this fd and relax size and alignment restrictions for write */ - -#define F_ADDSIGS_MAIN_BINARY 113 /* add detached signatures for main binary -- development only */ +#define F_ATTRIBUTION_TAG 111 /* Based on flags, query/set/delete a file's attribution tag */ +#define F_NOCACHE_EXT 112 /* turn data caching off/on for this fd and relax size and alignment restrictions for write */ +#define F_ADDSIGS_MAIN_BINARY 113 /* add detached signatures for main binary -- development only */ // FS-specific fcntl()'s numbers begin at 0x00010000 and go up #define FCNTL_FS_SPECIFIC_BASE 0x00010000 @@ -350,8 +350,15 @@ #define F_DUPFD_CLOEXEC 67 /* mark the dup with FD_CLOEXEC */ #endif +#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL +#define F_DUPFD_CLOFORK 115 /* mark the dup with FD_CLOFORK */ +#endif + +#define F_RDADVISEV 116 /* Issue multiple advisory reads async with no copy to user */ + /* file descriptor flags (F_GETFD, F_SETFD) */ #define FD_CLOEXEC 1 /* close-on-exec flag */ +#define FD_CLOFORK 2 /* close-on-fork flag */ /* record locking flags (F_GETLK, F_SETLK, F_SETLKW) */ #define F_RDLCK 1 /* shared or read lock */ @@ -416,12 +423,24 @@ struct flocktimeout { * information passed by user to system */ - struct radvisory { off_t ra_offset; int ra_count; }; +/* + * vector advisory file read data type - + * information passed by user to system + */ +#define READ_ADVISE_RANGES_MAX 64 +#define F_RDADVISEV_NOAGE 0x1 /* keep read pages in the active queue */ + +struct radvisoryv { + unsigned int rav_flags; + unsigned int rav_count; + struct radvisory *rav_ranges; +}; + /* * detached code signatures data type - diff --git a/lib/libc/include/any-darwin-any/sys/paths.h b/lib/libc/include/any-darwin-any/sys/paths.h index 9abf9893c6fdbf271dd338bf06745865d10b9b50..ae4c244d165fdcda05eaf3520d278e6422754c15 100644 --- a/lib/libc/include/any-darwin-any/sys/paths.h +++ b/lib/libc/include/any-darwin-any/sys/paths.h @@ -40,7 +40,7 @@ #define _PATH_RSRCNAME "rsrc" #define _PATH_RSRCFORKSPEC "/..namedfork/rsrc" -/* Prefix Path Namespace */ +/* Path resolution modifiers (added either as prefixes to a path or as arguments to system calls) */ #define RESOLVE_NOFOLLOW_ANY 0x00000001 /* no symlinks allowed in path */ #define RESOLVE_NODOTDOT 0x00000002 /* prevent '..' path traversal */ #define RESOLVE_LOCAL 0x00000004 /* prevent a path lookup into a network filesystem */ @@ -50,8 +50,11 @@ #define RESOLVE_NOXATTRS 0x00000040 /* prevent a path lookup on named streams */ #define RESOLVE_NOQUARANTINE 0x00000080 /* prevent operating on a quarantined file */ #define RESOLVE_NOUNION 0x00000100 /* prevent a path lookup on filesystem with MNT_UNION from traversing to covered filesystem */ +#define RESOLVE_BENEATH 0x00000200 /* prevent relative path lookups from going above a specified directory */ +#define RESOLVE_NOCROSSMOUNT 0x00000400 /* prevent a path lookup from traversing to different filesystems */ -#define RESOLVE_VALIDMASK 0x000001FF +#define RESOLVE_VALIDMASK 0x000007FF +#define RESOLVE_RELATIVE_MASK (RESOLVE_BENEATH | RESOLVE_NOCROSSMOUNT) #endif /* __APPLE_API_PRIVATE */ diff --git a/lib/libc/include/any-darwin-any/sys/resource.h b/lib/libc/include/any-darwin-any/sys/resource.h index 74d0fd6a898580ab90ad72b7bdd6da56ab431e88..3cd607a5a692aa8514079c14a33018c7ff691fef 100644 --- a/lib/libc/include/any-darwin-any/sys/resource.h +++ b/lib/libc/include/any-darwin-any/sys/resource.h @@ -414,7 +414,10 @@ struct rusage_info_v6 { uint64_t ri_neural_footprint; uint64_t ri_lifetime_max_neural_footprint; uint64_t ri_interval_max_neural_footprint; - uint64_t ri_reserved[9]; + uint64_t ri_conclave_footprint; + uint64_t ri_page_wait_time_mach; + uint64_t ri_page_cache_hits; + uint64_t ri_reserved[6]; }; typedef struct rusage_info_v6 rusage_info_current; @@ -509,13 +512,16 @@ struct proc_rlimit_control_wakeupmon { #define IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES 3 #define IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME 4 #define IOPOL_TYPE_VFS_TRIGGER_RESOLVE 5 -#define IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION 6 +#define IOPOL_TYPE_VFS_CONTENT_PROTECTION 6 #define IOPOL_TYPE_VFS_IGNORE_PERMISSIONS 7 #define IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE 8 #define IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES 9 #define IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY 10 #define IOPOL_TYPE_VFS_ENTITLED_RESERVE_ACCESS 14 +/* compatibility with older names */ +#define IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION IOPOL_TYPE_VFS_CONTENT_PROTECTION + /* scope */ #define IOPOL_SCOPE_PROCESS 0 #define IOPOL_SCOPE_THREAD 1 @@ -551,6 +557,7 @@ struct proc_rlimit_control_wakeupmon { #define IOPOL_VFS_CONTENT_PROTECTION_DEFAULT 0 #define IOPOL_VFS_CONTENT_PROTECTION_IGNORE 1 +#define IOPOL_VFS_CONTENT_PROTECTION_STRICT 2 #define IOPOL_VFS_IGNORE_PERMISSIONS_OFF 0 #define IOPOL_VFS_IGNORE_PERMISSIONS_ON 1 diff --git a/lib/libc/include/any-darwin-any/sys/signal.h b/lib/libc/include/any-darwin-any/sys/signal.h index df706370975e3a935a5fad05461359405c9f3599..6fd07786616672e29de008840ef80dfb20c76ac4 100644 --- a/lib/libc/include/any-darwin-any/sys/signal.h +++ b/lib/libc/include/any-darwin-any/sys/signal.h @@ -378,6 +378,7 @@ struct sigstack { #define sigmask(m) (1 << ((m)-1)) + #define BADSIG SIG_ERR #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ diff --git a/lib/libc/include/any-darwin-any/sys/socket.h b/lib/libc/include/any-darwin-any/sys/socket.h index 56710ac6a3209d45b84d41eab3ef23517fce5993..56780fad53545668710b98a56e602b26ef38fde5 100644 --- a/lib/libc/include/any-darwin-any/sys/socket.h +++ b/lib/libc/include/any-darwin-any/sys/socket.h @@ -189,6 +189,8 @@ #define SO_BINDTODEVICE 0x1134 /* bind socket to a network device (max valid option length IFNAMSIZ) */ +#define SO_MAX_PACING_RATE 0x1136 /* Define per-socket maximum pacing rate in bytes/sec */ + /* When adding new socket-options, you need to make sure MPTCP supports these as well! */ /* diff --git a/lib/libc/include/any-darwin-any/sys/spawn.h b/lib/libc/include/any-darwin-any/sys/spawn.h index 790738918dd7e6edee943d73ba059d0aec372a5d..cdc3a64cd6cfccd096241b134ab8c909cf7ad27a 100644 --- a/lib/libc/include/any-darwin-any/sys/spawn.h +++ b/lib/libc/include/any-darwin-any/sys/spawn.h @@ -74,10 +74,10 @@ #define POSIX_SPAWN_PCONTROL_SUSPEND 0x0002 #define POSIX_SPAWN_PCONTROL_KILL 0x0003 -#define POSIX_SPAWN_PANIC_ON_CRASH 0x1 -#define POSIX_SPAWN_PANIC_ON_NON_ZERO_EXIT 0x2 -#define POSIX_SPAWN_PANIC_ON_EXIT 0x4 -#define POSIX_SPAWN_PANIC_ON_SPAWN_FAIL 0x8 +#define POSIX_SPAWN_PANIC_ON_CRASH 0x1 +#define POSIX_SPAWN_PANIC_ON_NON_ZERO_EXIT 0x2 +#define POSIX_SPAWN_PANIC_ON_EXIT 0x4 +#define POSIX_SPAWN_PANIC_ON_SPAWN_FAIL 0x8 #endif /* (!_POSIX_C_SOURCE || _DARWIN_C_SOURCE) */ diff --git a/lib/libc/include/any-darwin-any/sys/stat.h b/lib/libc/include/any-darwin-any/sys/stat.h index 88722d042f302f25d3698474f50427a40e942a55..e761df473c13392abade5564ee506029fe215aa4 100644 --- a/lib/libc/include/any-darwin-any/sys/stat.h +++ b/lib/libc/include/any-darwin-any/sys/stat.h @@ -402,6 +402,12 @@ int futimens(int __fd, const struct timespec __times[2]) __API_AVAILABLE(mac int utimensat(int __fd, const char *__path, const struct timespec __times[2], int __flag) __API_AVAILABLE(macosx(10.13), ios(11.0), tvos(11.0), watchos(4.0)); #endif + +#if __DARWIN_C_LEVEL >= __DARWIN_C_FULL +int fchflagsat(int, const char *, __uint32_t, int) __API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), watchos(27.0)); +mode_t getumask(void) __API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), watchos(27.0)); +#endif + __END_DECLS #if !defined(_POSIX_C_SOURCE) || defined(_DARWIN_C_SOURCE) diff --git a/lib/libc/include/any-darwin-any/sys/sysctl.h b/lib/libc/include/any-darwin-any/sys/sysctl.h index bcf46d7d5f0b8231d2b4a925da0c929d7d24819c..507427ac9b41d0affb968e559900b286bc4687c6 100644 --- a/lib/libc/include/any-darwin-any/sys/sysctl.h +++ b/lib/libc/include/any-darwin-any/sys/sysctl.h @@ -698,6 +698,14 @@ extern struct loadavg averunnable; * hw.perflevelN.l2perflevels - These values provide a bitmap, where bit number of CPUs of the same type that share L2 and L3 caches. * hw.perflevelN.l3perflevels - If a cache is not present then the selector will return and error. * + */ +/* + * hw.perflevelN.sharesl2 - A bitmap of other perflevel indexes that share L2 cache with + * - perflevel N. Bit K is set if perflevel K shares L2 cache with perflevel N. Only exists + * - for perflevels that share L2 cache with at least one other perflevel. + * + */ +/* * hw.packages - Gives the number of processor packages. * * These are the selectors for optional processor features for specific processors. Selectors that return errors are not support diff --git a/lib/libc/include/any-darwin-any/sys/unistd.h b/lib/libc/include/any-darwin-any/sys/unistd.h index 2eec060a3ad05cd8afa7e7297ef4245be8a6fb56..79bdea1b3708a3aa30c9c2d6bde8a119944502b5 100644 --- a/lib/libc/include/any-darwin-any/sys/unistd.h +++ b/lib/libc/include/any-darwin-any/sys/unistd.h @@ -213,6 +213,11 @@ ssize_t readlinkat(int, const char *, char *, size_t) __OSX_AVAILABLE_STARTING int symlinkat(const char *, int, const char *) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); int unlinkat(int, const char *, int) __OSX_AVAILABLE_STARTING(__MAC_10_10, __IPHONE_8_0); +__API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), watchos(27.0), visionos(27.0)) +int dup3(int, int, int); +__API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), watchos(27.0), visionos(27.0)) +int pipe2(int [2], int); + __END_DECLS #endif /* __DARWIN_C_LEVEL >= 200809L */ diff --git a/lib/libc/include/any-darwin-any/sys/wait.h b/lib/libc/include/any-darwin-any/sys/wait.h index 1fcee63450d5f173e532571fc5fc1363577e320f..7580c44322215b99239f35466ccd9372265737fb 100644 --- a/lib/libc/include/any-darwin-any/sys/wait.h +++ b/lib/libc/include/any-darwin-any/sys/wait.h @@ -133,7 +133,7 @@ typedef enum { #endif /* (_POSIX_C_SOURCE && !_DARWIN_C_SOURCE) */ /* These macros are permited, as they are in the implementation namespace */ -#define _WSTATUS(x) (_W_INT(x) & 0177) +#define _WSTATUS(x) (_W_INT(x) & 127) #define _WSTOPPED 0177 /* _WSTATUS if process is stopped */ /* diff --git a/lib/libc/include/any-darwin-any/xpc/base.h b/lib/libc/include/any-darwin-any/xpc/base.h index 0e8cb37869177d0743fa54abfd740126a77b3dc6..b3154d06b9182104de7df52d35bb47faebceeaa2 100644 --- a/lib/libc/include/any-darwin-any/xpc/base.h +++ b/lib/libc/include/any-darwin-any/xpc/base.h @@ -35,70 +35,131 @@ __BEGIN_DECLS +#ifndef __XPC_TEST__ +#define __XPC_TEST__ 0 +#endif + +#ifndef XPC_CONCAT +#define XPC_CONCAT(_A, _B) XPC_CONCAT_(_A, _B) +#define XPC_CONCAT_(_A, _B) _A ## _B +#endif + #pragma mark Attribute Shims -#ifdef __GNUC__ -#define XPC_CONSTRUCTOR __attribute__((constructor)) -#define XPC_NORETURN __attribute__((__noreturn__)) -#define XPC_NOTHROW __attribute__((__nothrow__)) -#define XPC_NONNULL1 __attribute__((__nonnull__(1))) -#define XPC_NONNULL2 __attribute__((__nonnull__(2))) -#define XPC_NONNULL3 __attribute__((__nonnull__(3))) -#define XPC_NONNULL4 __attribute__((__nonnull__(4))) -#define XPC_NONNULL5 __attribute__((__nonnull__(5))) -#define XPC_NONNULL6 __attribute__((__nonnull__(6))) -#define XPC_NONNULL7 __attribute__((__nonnull__(7))) -#define XPC_NONNULL8 __attribute__((__nonnull__(8))) -#define XPC_NONNULL9 __attribute__((__nonnull__(9))) -#define XPC_NONNULL10 __attribute__((__nonnull__(10))) -#define XPC_NONNULL11 __attribute__((__nonnull__(11))) -#define XPC_NONNULL_ALL __attribute__((__nonnull__)) -#define XPC_SENTINEL __attribute__((__sentinel__)) -#define XPC_PURE __attribute__((__pure__)) -#define XPC_WARN_RESULT __attribute__((__warn_unused_result__)) -#define XPC_MALLOC __attribute__((__malloc__)) -#define XPC_UNUSED __attribute__((__unused__)) -#define XPC_USED __attribute__((__used__)) -#define XPC_PACKED __attribute__((__packed__)) -#define XPC_PRINTF(m, n) __attribute__((format(printf, m, n))) -#define XPC_INLINE static __inline__ __attribute__((__always_inline__)) -#define XPC_NOINLINE __attribute__((noinline)) -#define XPC_NOIMPL __attribute__((unavailable)) +// We use __has_attribute to check for attribute existance. The macros are set +// up to always use __ before and after attributes to guard against +// similarly-named mactos since these go in public headers. We also use +// __attribute__ for best compatibility with older C/C++ versions. Attributes +// should be optimized for use by Clang (i.e. use Clang's preferred form over a +// supported GCC form if it's preferred by the compiler). Attributes are +// defined in the order that they appear in Clang's doccumentation -#if __has_attribute(noescape) -#define XPC_NOESCAPE __attribute__((__noescape__)) +#if !defined(__has_attribute) +#define __has_attribute(_X) 0 +#endif // !defined(__has_attribute) + +#define _XPC_CHOOSE_0(...) +#define _XPC_CHOOSE_1(...) __VA_ARGS__ + +#define XPC_ATTRIBUTE(_X, ...) XPC_CONCAT(_XPC_CHOOSE_, __has_attribute(_X))(__attribute__((__##_X##__(__VA_ARGS__)))) + +// Swift attributes +#define XPC_SWIFT_SENDABLE XPC_ATTRIBUTE(swift_attr, "@Sendable") +#define XPC_SWIFT_NAME(_Name) XPC_ATTRIBUTE(swift_name, _Name) +#define XPC_SWIFT_UNAVAILABLE(msg) __swift_unavailable(msg) +#define XPC_SWIFT_NOEXPORT XPC_SWIFT_UNAVAILABLE("Unavailable in Swift from the XPC C Module") +// Declaration attributes +#define XPC_DEPRECATED(_M) XPC_ATTRIBUTE(deprecated, _M) +#define XPC_TRANSPARENT_UNION XPC_ATTRIBUTE(transparent_union) +// Function attributes +#define XPC_NORETURN XPC_ATTRIBUTE(noreturn) +#define XPC_ALLOC_SIZE(...) XPC_MALLOC XPC_ATTRIBUTE(alloc_size, __VA_ARGS__) +#define XPC_INLINE static inline XPC_ATTRIBUTE(always_inline) +#define XPC_RETURNS_ALIGNED(_N) XPC_ATTRIBUTE(assume_aligned, _N) +#define XPC_CONSTRUCTOR XPC_ATTRIBUTE(constructor) +#define XPC_PRINTF(_M, _N) XPC_ATTRIBUTE(format, printf, _M, _N) +#define XPC_MALLOC XPC_ATTRIBUTE(malloc) +#define XPC_WARN_RESULT XPC_ATTRIBUTE(warn_unused_result) +#define XPC_NOINLINE XPC_ATTRIBUTE(noinline) +#define XPC_NOTHROW XPC_ATTRIBUTE(nothrow) +#define XPC_USED XPC_ATTRIBUTE(used) +// Nullibility attributes +#define XPC_NONNULL1 XPC_ATTRIBUTE(nonnull, 1) +#define XPC_NONNULL2 XPC_ATTRIBUTE(nonnull, 2) +#define XPC_NONNULL3 XPC_ATTRIBUTE(nonnull, 3) +#define XPC_NONNULL4 XPC_ATTRIBUTE(nonnull, 4) +#define XPC_NONNULL5 XPC_ATTRIBUTE(nonnull, 5) +#define XPC_NONNULL6 XPC_ATTRIBUTE(nonnull, 6) +#define XPC_NONNULL7 XPC_ATTRIBUTE(nonnull, 7) +#define XPC_NONNULL8 XPC_ATTRIBUTE(nonnull, 8) +#define XPC_NONNULL9 XPC_ATTRIBUTE(nonnull, 9) +#define XPC_NONNULL10 XPC_ATTRIBUTE(nonnull, 10) +#define XPC_NONNULL11 XPC_ATTRIBUTE(nonnull, 11) +#define XPC_NONNULL_ALL XPC_ATTRIBUTE(nonnull) +#define XPC_RETURNS_NONNULL XPC_ATTRIBUTE(returns_nonnull) +// Variable attributes +#define XPC_UNUSED XPC_ATTRIBUTE(unused) +#define XPC_NOESCAPE XPC_ATTRIBUTE(noescape) +// Other attributes +#define XPC_READ_NONE XPC_ATTRIBUTE(const) // const attribute adds memory(none) +#define XPC_PACKED XPC_ATTRIBUTE(packed) +#define XPC_PURE XPC_ATTRIBUTE(pure) // pure attribute adds memory(read) +#define XPC_NOIMPL XPC_ATTRIBUTE(unavailable) + +// diagnose_as_builtin +#if !defined(__has_builtin) +#define __has_builtin(_X) 0 +#endif +#define XPC_DIAGNOSE_AS(_Builtin, ...) XPC_CONCAT(_XPC_CHOOSE_, __has_builtin(__builtin_ ## _Builtin))(XPC_ATTRIBTUE(diagnose_as_builtin, __builtin_ ## _Builtin)(__VA_ARGS__)) + +// __abortlike +#ifdef __abortlike +#define XPC_ABORTLIKE __abortlike #else -#define XPC_NOESCAPE +#define XPC_ABORTLIKE #endif +// unavailable(message) #if __has_extension(attribute_unavailable_with_message) -#define XPC_UNAVAILABLE(m) __attribute__((unavailable(m))) -#else // __has_extension(attribute_unavailable_with_message) +#define XPC_UNAVAILABLE(m) XPC_ATTRIBUTE(unavailable, m) +#else #define XPC_UNAVAILABLE(m) XPC_NOIMPL -#endif // __has_extension(attribute_unavailable_with_message) +#endif -#define XPC_EXPORT extern __attribute__((visibility("default"))) -#define XPC_NOEXPORT __attribute__((visibility("hidden"))) -#define XPC_WEAKIMPORT extern __attribute__((weak_import)) +// _xpc_unreachable +#if __has_builtin(__builtin_unreachable) +#define _xpc_unreachable() __builtin_unreachable() +#else +#define _xpc_unreachable() +#endif + +#pragma mark Import/Export +#define XPC_CONST const +#define XPC_NOCONST +#define XPC_EXPORT extern XPC_ATTRIBUTE(visibility, "default") +#define XPC_NOEXPORT XPC_ATTRIBUTE(visibility, "hidden") #define XPC_DEBUGGER_EXCL XPC_NOEXPORT XPC_USED -#define XPC_TRANSPARENT_UNION __attribute__((transparent_union)) -#if __clang__ -#define XPC_DEPRECATED(m) __attribute__((deprecated(m))) -#else // __clang__ -#define XPC_DEPRECATED(m) __attribute__((deprecated)) -#endif // __clang +#define XPC_WEAKIMPORT extern XPC_ATTRIBUTE(weak_import) + +// XPC_TESTEXPORT #ifndef XPC_TESTEXPORT #define XPC_TESTEXPORT XPC_NOEXPORT #endif // XPC_TESTEXPORT -#if defined(__XPC_TEST__) && __XPC_TEST__ +// XPC_TESTCONST +#ifndef XPC_TESTCONST +#define XPC_TESTCONST XPC_CONST +#endif // XPC_TESTCONST + +#if __XPC_TEST__ #define XPC_TESTSTATIC #define XPC_TESTEXTERN extern #define XPC_TESTNORETURN -#else // defined(__XPC_TEST__) && __XPC_TEST__ +#else // __XPC_TEST__ #define XPC_TESTSTATIC static #define XPC_TESTNORETURN XPC_NORETURN -#endif // defined(__XPC_TEST__) && __XPC_TEST__ +#endif // __XPC_TEST__ +#pragma mark ARC #if __has_feature(objc_arc) #define XPC_GIVES_REFERENCE __strong #define XPC_UNRETAINED __unsafe_unretained @@ -117,72 +178,8 @@ __BEGIN_DECLS #define XPC_BRIDGEREF_END(xo) (xo) #endif // __has_feature(objc_arc) -#define _xpc_unreachable() __builtin_unreachable() -#else // __GNUC__ -/*! @parseOnly */ -#define XPC_CONSTRUCTOR -/*! @parseOnly */ -#define XPC_NORETURN -/*! @parseOnly */ -#define XPC_NOTHROW -/*! @parseOnly */ -#define XPC_NONNULL1 -/*! @parseOnly */ -#define XPC_NONNULL2 -/*! @parseOnly */ -#define XPC_NONNULL3 -/*! @parseOnly */ -#define XPC_NONNULL4 -/*! @parseOnly */ -#define XPC_NONNULL5 -/*! @parseOnly */ -#define XPC_NONNULL6 -/*! @parseOnly */ -#define XPC_NONNULL7 -/*! @parseOnly */ -#define XPC_NONNULL8 -/*! @parseOnly */ -#define XPC_NONNULL9 -/*! @parseOnly */ -#define XPC_NONNULL10 -/*! @parseOnly */ -#define XPC_NONNULL11 -/*! @parseOnly */ -#define XPC_NONNULL(n) -/*! @parseOnly */ -#define XPC_NONNULL_ALL -/*! @parseOnly */ -#define XPC_SENTINEL -/*! @parseOnly */ -#define XPC_PURE -/*! @parseOnly */ -#define XPC_WARN_RESULT -/*! @parseOnly */ -#define XPC_MALLOC -/*! @parseOnly */ -#define XPC_UNUSED -/*! @parseOnly */ -#define XPC_PACKED -/*! @parseOnly */ -#define XPC_PRINTF(m, n) -/*! @parseOnly */ -#define XPC_INLINE static inline -/*! @parseOnly */ -#define XPC_NOINLINE -/*! @parseOnly */ -#define XPC_NOIMPL -/*! @parseOnly */ -#define XPC_EXPORT extern -/*! @parseOnly */ -#define XPC_WEAKIMPORT -/*! @parseOnly */ -#define XPC_DEPRECATED -/*! @parseOnly */ -#define XPC_UNAVAILABLE(m) -/*! @parseOnly */ -#define XPC_NOESCAPE -#endif // __GNUC__ +#pragma mark Nullability #if __has_feature(assume_nonnull) #define XPC_ASSUME_NONNULL_BEGIN _Pragma("clang assume_nonnull begin") #define XPC_ASSUME_NONNULL_END _Pragma("clang assume_nonnull end") @@ -197,10 +194,13 @@ __BEGIN_DECLS #define XPC_NONNULL_ARRAY #endif +#pragma mark Bounds safety attributes #if defined(__has_ptrcheck) && __has_ptrcheck #define XPC_PTR_ASSUMES_SINGLE __ptrcheck_abi_assume_single() #define XPC_SINGLE __single #define XPC_UNSAFE_INDEXABLE __unsafe_indexable +// This should be __null_terminated but because it was originally defined this +// way, it will cause build failures to fix #define XPC_CSTRING XPC_UNSAFE_INDEXABLE #define XPC_SIZEDBY(N) __sized_by(N) #define XPC_COUNTEDBY(N) __counted_by(N) @@ -219,33 +219,25 @@ __BEGIN_DECLS #define XPC_UNSAFE_FORGE_SINGLE(_type, _ptr) ((_type)(_ptr)) #endif // defined(__has_ptrcheck) ** __has_ptrcheck +#pragma mark Enums +// XPC_FLAGS_ENUM #ifdef OS_CLOSED_OPTIONS #define XPC_FLAGS_ENUM(_name, _type, ...) \ OS_CLOSED_OPTIONS(_name, _type, __VA_ARGS__) -#else // OS_CLOSED_ENUM +#else #define XPC_FLAGS_ENUM(_name, _type, ...) \ OS_ENUM(_name, _type, __VA_ARGS__) -#endif // OS_CLOSED_ENUM +#endif +// XPC_ENUM #ifdef OS_CLOSED_ENUM #define XPC_ENUM(_name, _type, ...) \ OS_CLOSED_ENUM(_name, _type, __VA_ARGS__) -#else // OS_CLOSED_ENUM +#else #define XPC_ENUM(_name, _type, ...) \ OS_ENUM(_name, _type, __VA_ARGS__) -#endif // OS_CLOSED_ENUM - -#if __has_attribute(swift_name) -# define XPC_SWIFT_NAME(_name) __attribute__((swift_name(_name))) -#else -# define XPC_SWIFT_NAME(_name) // __has_attribute(swift_name) #endif -#define XPC_SWIFT_UNAVAILABLE(msg) __swift_unavailable(msg) -#define XPC_SWIFT_NOEXPORT XPC_SWIFT_UNAVAILABLE("Unavailable in Swift from the XPC C Module") - -#define XPC_SWIFT_SENDABLE __attribute__((__swift_attr__("@Sendable"))) - __END_DECLS #endif // __XPC_BASE_H__ -- 2.54.0