about summary refs log tree commit diff
path: root/pkgs/os-specific/darwin
diff options
context:
space:
mode:
authorDan Peebles <pumpkin@me.com>2016-10-10 09:50:25 -0400
committerDan Peebles <pumpkin@me.com>2016-10-12 00:08:13 -0400
commitd8a0307a5d36551c641578a3bf1a7d29103df511 (patch)
tree672e5fcbc1d77bc1f0a7addbcf9815c22567bf4d /pkgs/os-specific/darwin
parent7098404505003887b62cdee10ee74dfa56ead741 (diff)
downloadnixlib-d8a0307a5d36551c641578a3bf1a7d29103df511.tar
nixlib-d8a0307a5d36551c641578a3bf1a7d29103df511.tar.gz
nixlib-d8a0307a5d36551c641578a3bf1a7d29103df511.tar.bz2
nixlib-d8a0307a5d36551c641578a3bf1a7d29103df511.tar.lz
nixlib-d8a0307a5d36551c641578a3bf1a7d29103df511.tar.xz
nixlib-d8a0307a5d36551c641578a3bf1a7d29103df511.tar.zst
nixlib-d8a0307a5d36551c641578a3bf1a7d29103df511.zip
[darwin.stdenv] Fix to work on Sierra
This reinstates the libSystem selective symbol export machinery we used
to have, but locks it to the symbols that were present in 10.11 and skips
the actual compiled code we put into that library in favor of the system
initialization code. That should make it more stable and less likely to
do weird stuff than the last time we did this.
Diffstat (limited to 'pkgs/os-specific/darwin')
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix37
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols288
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols137
3 files changed, 191 insertions, 271 deletions
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
index 27d2360a9800..aac213bb8047 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/default.nix
@@ -56,9 +56,40 @@ appleDerivation rec {
     # The startup object files
     cp ${Csu}/lib/* $out/lib
 
-    # OMG impurity
-    ln -s /usr/lib/libSystem.B.dylib $out/lib/libSystem.B.dylib
-    ln -s /usr/lib/libSystem.dylib $out/lib/libSystem.dylib
+    # Narrowly speaking, these would work if we re-exported libsystem_c and libsystem_kernel,
+    # but we also need to run the original central libsystem constructor (which initializes
+    # a ton of crap for its consitutent libraries) so we link against the central library here.
+    mkdir -p $out/lib/system
+    ld -macosx_version_min 10.7 -arch x86_64 -dylib \
+       -o $out/lib/system/libsystem_c.dylib \
+       /usr/lib/libSystem.dylib \
+       -reexported_symbols_list ${./system_c_symbols}
+
+    ld -macosx_version_min 10.7 -arch x86_64 -dylib \
+       -o $out/lib/system/libsystem_kernel.dylib \
+       /usr/lib/libSystem.dylib \
+       -reexported_symbols_list ${./system_kernel_symbols}
+
+    libs=$(otool -arch x86_64 -L /usr/lib/libSystem.dylib | tail -n +3 | awk '{ print $1 }')
+
+
+    for i in $libs; do
+      if [ "$i" != "/usr/lib/system/libsystem_kernel.dylib" ] && [ "$i" != "/usr/lib/system/libsystem_c.dylib" ]; then
+        args="$args -reexport_library $i"
+      fi
+    done
+
+    ld -macosx_version_min 10.7 \
+       -arch x86_64 \
+       -dylib \
+       -o $out/lib/libSystem.B.dylib \
+       -compatibility_version 1.0 \
+       -current_version 1226.10.1 \
+       -reexport_library $out/lib/system/libsystem_c.dylib \
+       -reexport_library $out/lib/system/libsystem_kernel.dylib \
+       $args
+
+    ln -s libSystem.B.dylib $out/lib/libSystem.dylib
 
     # Set up links to pretend we work like a conventional unix (Apple's design, not mine!)
     for name in c dbm dl info m mx poll proc pthread rpcsvc util gcc_s.10.4 gcc_s.10.5; do
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols
index 0c814899c3c4..ebeb5247b333 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_c_symbols
@@ -1,14 +1,3 @@
-_NSGetNextSearchPathEnumeration
-_NSStartSearchPathEnumeration
-_OSAtomicAdd32
-_OSAtomicAdd32Barrier
-_OSAtomicAnd32
-_OSAtomicDequeue
-_OSAtomicEnqueue
-_OSSpinLockLock
-_OSSpinLockUnlock
-__Block_copy
-__Block_release
 __CurrentRuneLocale
 __DefaultRuneLocale
 __Exit
@@ -62,20 +51,18 @@ ___bt_setcur
 ___bt_split
 ___bt_sync
 ___buf_free
-___bzero
 ___cVersionNumber
 ___cVersionString
 ___call_hash
-___chmod_extended
 ___cleanup
 ___cmp_D2A
 ___collate_equiv_match
 ___collate_load_error
 ___collate_lookup
-___commpage_gettimeofday
 ___copybits_D2A
 ___cxa_atexit
 ___cxa_finalize
+___cxa_finalize_ranges
 ___cxa_thread_atexit
 ___d2b_D2A
 ___dbpanic
@@ -85,34 +72,21 @@ ___default_utx
 ___delpair
 ___diff_D2A
 ___dtoa
-___error
-___exit
 ___expand_table
-___fchmod_extended
-___fcntl
-___fcntl_nocancel
 ___fflush
 ___fgetwc
 ___find_bigpair
 ___find_last_page
 ___fix_locale_grouping_str
-___fork
-___fpclassifyd
-___fpclassifyl
 ___fread
 ___free_ovflpage
 ___freedtoa
-___fstat64_extended
-___fstat_extended
 ___gdtoa
 ___gdtoa_locks
 ___get_buf
 ___get_page
-___getdirentries64
 ___gethex_D2A
-___getlogin
 ___getonlyClocaleconv
-___gettimeofday
 ___hash_open
 ___hdtoa
 ___hexdig_D2A
@@ -126,14 +100,11 @@ ___increment_D2A
 ___isctype
 ___istype
 ___istype_l
-___kill
 ___ldtoa
 ___libc_init
 ___lo0bits_D2A
 ___log2
 ___lshift_D2A
-___lstat64_extended
-___lstat_extended
 ___maskrune
 ___maskrune_l
 ___match_D2A
@@ -143,22 +114,15 @@ ___memccpy_chk
 ___memcpy_chk
 ___memmove_chk
 ___memset_chk
-___mkdir_extended
-___mkfifo_extended
 ___mult_D2A
 ___multadd_D2A
 ___nrv_alloc_D2A
-___open
-___open_extended
-___open_nocancel
 ___opendir2
 ___opendir2$INODE64
 ___ovfl_delete
 ___ovfl_get
 ___ovfl_put
 ___pow5mult_D2A
-___pthread_sigmask
-___pthread_workqueue_setkill
 ___put_page
 ___quorem_D2A
 ___ratio_D2A
@@ -179,29 +143,19 @@ ___rec_sync
 ___rec_vmap
 ___rec_vpipe
 ___reclaim_buf
-___recvfrom
-___recvfrom_nocancel
 ___rshift_D2A
 ___rv_alloc_D2A
 ___s2b_D2A
 ___sF
 ___sclose
 ___sdidinit
-___semwait_signal
-___semwait_signal_nocancel
-___sendto
-___sendto_nocancel
 ___set_ones_D2A
-___setlogin
 ___setonlyClocaleconv
-___settimeofday
 ___sflags
 ___sflush
 ___sfp
 ___sfvwrite
 ___sglue
-___sigaction
-___sigaltstack
 ___sinit
 ___slbexpand
 ___smakebuf
@@ -214,8 +168,6 @@ ___srget
 ___sseek
 ___stack_chk_fail
 ___stack_chk_guard
-___stat64_extended
-___stat_extended
 ___stderrp
 ___stdinp
 ___stdoutp
@@ -237,7 +189,6 @@ ___swbuf
 ___swhatbuf
 ___swrite
 ___swsetup
-___sysctl
 ___tens_D2A
 ___tinytens_D2A
 ___tolower
@@ -246,31 +197,25 @@ ___toupper
 ___toupper_l
 ___trailz_D2A
 ___ulp_D2A
-___umask_extended
 ___ungetc
 ___ungetwc
-___unix_conforming
 ___vsnprintf_chk
 ___vsprintf_chk
-___wait4
-___wait4_nocancel
 ___wcwidth
 ___wcwidth_l
 __allocenvstate
+__atexit_receipt
 __c_locale
 __cleanup
 __closeutx
 __copyenv
 __cthread_init_routine
 __deallocenvstate
-__dyld_register_func_for_add_image
 __endutxent
-__exit
 __flockfile_debug_stub
 __fseeko
 __ftello
 __fwalk
-__get_cpu_capabilities
 __getenvp
 __getutxent
 __getutxid
@@ -279,34 +224,20 @@ __inet_aton_check
 __init_clock_port
 __int_to_time
 __libc_fork_child
+__libc_initializer
 __long_to_time
 __mkpath_np
 __mktemp
 __openutx
-__os_alloc_once
-__os_alloc_once_table
 __os_assert_log
 __os_assert_log_ctx
 __os_assumes_log
 __os_assumes_log_ctx
 __os_avoid_tail_call
-__osx_assert_log
-__osx_assert_log_ctx
-__osx_assumes_log
-__osx_assumes_log_ctx
-__osx_avoid_tail_call
-__platform_bzero
-__platform_memccpy
-__platform_memchr
-__platform_memcmp
-__platform_memmove
-__platform_memset
-__platform_memset_pattern16
-__platform_memset_pattern4
-__platform_memset_pattern8
-__platform_strchr
-__platform_strcmp
-__platform_strncmp
+__os_crash
+__os_crash_callback
+__os_debug_log
+__os_debug_log_error_str
 __putenvp
 __pututxline
 __rand48_add
@@ -322,20 +253,7 @@ __setutxent
 __sigaction_nobind
 __sigintr
 __signal_nobind
-__sigtramp
 __sigvec_nobind
-__simple_asl_log
-__simple_asl_log_prog
-__simple_asl_msg_new
-__simple_asl_msg_set
-__simple_asl_send
-__simple_dprintf
-__simple_salloc
-__simple_sappend
-__simple_sfree
-__simple_sprintf
-__simple_string
-__simple_vsprintf
 __sread
 __sseek
 __swrite
@@ -345,14 +263,12 @@ __time_to_int
 __time_to_long
 __time_to_time32
 __time_to_time64
-__tlv_atexit
-__tlv_exit
 __unsetenvp
 __utmpxname
 _a64l
 _abort
+_abort_report_np
 _abs
-_access
 _acl_add_flag_np
 _acl_add_perm
 _acl_calc_mask
@@ -416,12 +332,6 @@ _arc4random_uniform
 _ascii2addr
 _asctime
 _asctime_r
-_asl_get
-_asl_new
-_asl_open
-_asl_send
-_asl_set
-_asl_set_query
 _asprintf
 _asprintf_l
 _asxprintf
@@ -442,8 +352,6 @@ _backtrace_symbols_fd
 _basename
 _bcmp
 _bcopy
-_bootstrap_parent
-_bootstrap_port
 _brk
 _bsd_signal
 _bsearch
@@ -451,7 +359,6 @@ _bsearch_b
 _btowc
 _btowc_l
 _bzero
-_calloc
 _catclose
 _catgets
 _catopen
@@ -471,17 +378,12 @@ _cgetnum
 _cgetset
 _cgetstr
 _cgetustr
-_chdir
-_chflags
-_chmod
 _chmodx_np
 _clearerr
 _clearerr_unlocked
 _clock
-_clock_get_time
 _clock_port
 _clock_sem
-_close$NOCANCEL
 _closedir
 _compat_mode
 _confstr
@@ -514,19 +416,13 @@ _digittoint
 _digittoint_l
 _dirfd
 _dirname
-_dispatch_get_global_queue
 _div
-_dladdr
-_dlsym
 _dprintf
 _dprintf_l
 _drand48
-_dup2
 _duplocale
 _dxprintf
 _dxprintf_exec
-_dyld_get_program_sdk_version
-_dyld_get_sdk_version
 _ecvt
 _encrypt
 _endttyent
@@ -545,26 +441,22 @@ _execle
 _execlp
 _execv
 _execvP
-_execve
 _execvp
 _exit
 _f_prealloc
-_fchdir
 _fchmodx_np
 _fclose
-_fcntl$NOCANCEL
 _fcvt
 _fdopen
 _fdopen$DARWIN_EXTSN
-_fegetenv
+_fdopendir
+_fdopendir$INODE64
 _feof
 _feof_unlocked
 _ferror
 _ferror_unlocked
-_fesetenv
 _fflagstostr
 _fflush
-_ffsctl
 _fgetc
 _fgetln
 _fgetpos
@@ -586,7 +478,6 @@ _filesec_query_property
 _filesec_set_property
 _filesec_unset_property
 _flockfile
-_flsl
 _fmtcheck
 _fmtmsg
 _fnmatch
@@ -606,33 +497,24 @@ _fputwc_l
 _fputws
 _fputws_l
 _fread
-_free
 _free_printf_comp
 _free_printf_domain
-_freeifaddrs
 _freelocale
 _freopen
 _fscanf
 _fscanf_l
-_fsctl
 _fseek
 _fseeko
 _fsetpos
-_fstat
-_fstat$INODE64
-_fstatfs
-_fstatfs$INODE64
 _fstatvfs
 _fstatx64_np
 _fstatx_np
 _fstatx_np$INODE64
-_fsync$NOCANCEL
 _fsync_volume_np
 _ftell
 _ftello
 _ftime
 _ftok
-_ftruncate
 _ftrylockfile
 _fts_children
 _fts_children$INODE64
@@ -660,7 +542,6 @@ _fwscanf_l
 _fxprintf
 _fxprintf_exec
 _gcvt
-_getattrlist
 _getbsize
 _getc
 _getc_unlocked
@@ -670,22 +551,11 @@ _getcwd
 _getdate
 _getdate_err
 _getdelim
-_getdirentries
 _getdiskbyname
-_getdtablesize
 _getenv
-_geteuid
-_getfsstat
-_getfsstat$INODE64
-_getfsstat64
-_getgrgid
-_getgrnam
-_getgroupcount
-_getgrouplist
 _getgroups$DARWIN_EXTSN
 _gethostid
 _gethostname
-_getifaddrs
 _getipv4sourcefilter
 _getlastlogx
 _getlastlogxbyname
@@ -703,24 +573,13 @@ _getopt_long_only
 _getpagesize
 _getpass
 _getpeereid
-_getpgrp
-_getpid
-_getpriority
 _getprogname
-_getpwnam
-_getpwuid
-_getpwuid_r
-_getrlimit
-_getrusage
 _gets
-_getsectiondata
-_getsockopt
 _getsourcefilter
 _getsubopt
 _gettimeofday
 _getttyent
 _getttynam
-_getuid
 _getusershell
 _getutmp
 _getutmpx
@@ -753,9 +612,7 @@ _hcreate
 _hdestroy
 _heapsort
 _heapsort_b
-_host_get_clock_service
 _hsearch
-_if_nametoindex
 _imaxabs
 _imaxdiv
 _index
@@ -777,7 +634,6 @@ _inet_ntop6
 _inet_pton
 _initstate
 _insque
-_ioctl
 _isalnum
 _isalnum_l
 _isalpha
@@ -808,7 +664,6 @@ _ispunct
 _ispunct_l
 _isrune
 _isrune_l
-_issetugid
 _isspace
 _isspace_l
 _isspecial
@@ -857,7 +712,7 @@ _iswxdigit_l
 _isxdigit
 _isxdigit_l
 _jrand48
-_kill
+_kOSThermalNotificationPressureLevelName
 _killpg
 _l64a
 _labs
@@ -882,26 +737,13 @@ _logout
 _logwtmp
 _lrand48
 _lsearch
-_lseek
-_lstat
-_lstat$INODE64
 _lstatx64_np
 _lstatx_np
 _lstatx_np$INODE64
 _lutimes
-_mach_absolute_time
-_mach_error_string
-_mach_host_self
-_mach_port_deallocate
-_mach_task_self_
-_mach_timebase_info
-_malloc
 _mblen
 _mblen_l
 _mbmb
-_mbr_gid_to_uuid
-_mbr_uid_to_uuid
-_mbr_uuid_to_id
 _mbrlen
 _mbrlen_l
 _mbrrune
@@ -931,7 +773,6 @@ _memset_pattern8
 _memset_s
 _mergesort
 _mergesort_b
-_mkdir
 _mkdirx_np
 _mkdtemp
 _mkfifox_np
@@ -940,7 +781,6 @@ _mkstemp
 _mkstemps
 _mktemp
 _mktime
-_mmap
 _monaddition
 _moncontrol
 _moncount
@@ -957,10 +797,6 @@ _mpool_open
 _mpool_put
 _mpool_sync
 _mrand48
-_munmap
-_nan
-_nanf
-_nanl
 _nanosleep
 _nanosleep$NOCANCEL
 _new_printf_comp
@@ -973,16 +809,10 @@ _nftw$INODE64
 _nice
 _nl_langinfo
 _nl_langinfo_l
-_notify_cancel
-_notify_check
-_notify_monitor_file
-_notify_post
-_notify_register_check
 _nrand48
 _off32
 _off64
 _offtime
-_open$NOCANCEL
 _opendev
 _opendir
 _opendir$INODE64
@@ -993,60 +823,21 @@ _opterr
 _optind
 _optopt
 _optreset
-_pathconf
 _pause
 _pause$NOCANCEL
 _pclose
 _perror
-_pipe
 _popen
 _popen$DARWIN_EXTSN
 _posix2time
 _posix_openpt
-_posix_spawn
-_posix_spawn_file_actions_addclose
-_posix_spawn_file_actions_adddup2
-_posix_spawn_file_actions_destroy
-_posix_spawn_file_actions_init
-_posix_spawnattr_destroy
-_posix_spawnattr_init
-_posix_spawnattr_setflags
-_posix_spawnattr_setsigdefault
-_posix_spawnattr_setsigmask
 _posix_spawnp
-_pread$NOCANCEL
 _printf
 _printf_l
-_proc_name
-_pselect
-_pselect$1050
-_pselect$DARWIN_EXTSN
-_pselect$DARWIN_EXTSN$NOCANCEL
-_pselect$NOCANCEL
 _psignal
 _psort
 _psort_b
 _psort_r
-_pthread_get_stackaddr_np
-_pthread_get_stacksize_np
-_pthread_getspecific
-_pthread_key_create
-_pthread_key_init_np
-_pthread_kill
-_pthread_mutex_destroy
-_pthread_mutex_init
-_pthread_mutex_lock
-_pthread_mutex_trylock
-_pthread_mutex_unlock
-_pthread_once
-_pthread_rwlock_destroy
-_pthread_rwlock_rdlock
-_pthread_rwlock_unlock
-_pthread_rwlock_wrlock
-_pthread_self
-_pthread_setspecific
-_pthread_sigmask
-_pthread_testcancel
 _ptsname
 _putc
 _putc_unlocked
@@ -1060,7 +851,6 @@ _putwc
 _putwc_l
 _putwchar
 _putwchar_l
-_pwrite$NOCANCEL
 _qsort
 _qsort_b
 _qsort_r
@@ -1078,14 +868,11 @@ _rb_tree_init
 _rb_tree_insert_node
 _rb_tree_iterate
 _rb_tree_remove_node
-_read$NOCANCEL
 _readdir
 _readdir$INODE64
 _readdir_r
 _readdir_r$INODE64
-_readlink
 _readpassphrase
-_realloc
 _reallocf
 _realpath
 _realpath$DARWIN_EXTSN
@@ -1113,7 +900,6 @@ _rewind
 _rewinddir
 _rewinddir$INODE64
 _rindex
-_rmdir
 _sbrk
 _scandir
 _scandir$INODE64
@@ -1124,15 +910,8 @@ _scanf_l
 _seed48
 _seekdir
 _seekdir$INODE64
-_select
-_select$1050
-_select$DARWIN_EXTSN
-_select$DARWIN_EXTSN$NOCANCEL
-_select$NOCANCEL
-_semaphore_create
 _send
 _send$NOCANCEL
-_setattrlist
 _setbuf
 _setbuffer
 _setenv
@@ -1140,24 +919,16 @@ _sethostid
 _sethostname
 _setinvalidrune
 _setipv4sourcefilter
-_setitimer
 _setkey
 _setlinebuf
 _setlocale
 _setlogin
 _setmode
-_setpgid
 _setpgrp
-_setpriority
 _setprogname
-_setregid
-_setreuid
 _setrgid
-_setrlimit
 _setruid
 _setrunelocale
-_setsid
-_setsockopt
 _setsourcefilter
 _setstate
 _settimeofday
@@ -1180,12 +951,9 @@ _sigismember
 _signal
 _sigpause
 _sigpause$NOCANCEL
-_sigprocmask
 _sigrelse
 _sigset
 _sigsetmask
-_sigsuspend
-_sigsuspend$NOCANCEL
 _sigvec
 _skip
 _sl_add
@@ -1197,10 +965,6 @@ _sleep$NOCANCEL
 _snprintf
 _snprintf_l
 _sockatmark
-_socket
-_socketpair
-_spin_lock
-_spin_unlock
 _sprintf
 _sprintf_l
 _sradixsort
@@ -1211,9 +975,6 @@ _srandom
 _srandomdev
 _sscanf
 _sscanf_l
-_stat
-_stat$INODE64
-_statfs$INODE64
 _statvfs
 _statx64_np
 _statx_np
@@ -1306,10 +1067,8 @@ _sysconf
 _sysctl
 _sysctlbyname
 _sysctlnametomib
-_syslog
 _system
 _system$NOCANCEL
-_task_set_special_port
 _tcdrain
 _tcdrain$NOCANCEL
 _tcflow
@@ -1346,6 +1105,23 @@ _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_objects
+_tre_tnfa_run_backtrack
+_tre_tnfa_run_parallel
 _tsearch
 _ttyname
 _ttyname_r
@@ -1356,13 +1132,11 @@ _tzset
 _tzsetwall
 _ualarm
 _ulimit
-_umask
 _umaskx_np
 _uname
 _ungetc
 _ungetwc
 _ungetwc_l
-_unlink
 _unlockpt
 _unsetenv
 _unvis
@@ -1370,7 +1144,6 @@ _uselocale
 _usleep
 _usleep$NOCANCEL
 _utime
-_utimes
 _utmpxname
 _uuid_clear
 _uuid_compare
@@ -1407,7 +1180,6 @@ _vfwscanf_l
 _vfxprintf
 _vfxprintf_exec
 _vis
-_vm_allocate
 _vprintf
 _vprintf_l
 _vscanf
@@ -1436,7 +1208,6 @@ _vxprintf_exec
 _wait
 _wait$NOCANCEL
 _wait3
-_wait4
 _waitpid
 _waitpid$NOCANCEL
 _warn
@@ -1519,12 +1290,9 @@ _wordexp
 _wordfree
 _wprintf
 _wprintf_l
-_write$NOCANCEL
-_writev$NOCANCEL
 _wscanf
 _wscanf_l
 _wtmpxname
 _xprintf
 _xprintf_exec
-dyld_stub_binder
 mcount
diff --git a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols
index 9d53dea70253..c92aed31c5e7 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols
+++ b/pkgs/os-specific/darwin/apple-source-releases/Libsystem/system_kernel_symbols
@@ -9,17 +9,20 @@ ___access_extended
 ___aio_suspend_nocancel
 ___bind
 ___bsdthread_create
+___bsdthread_ctl
 ___bsdthread_register
 ___bsdthread_terminate
 ___carbon_delete
 ___chmod
 ___chmod_extended
-___chud
 ___close_nocancel
+___coalition
+___coalition_info
 ___commpage_gettimeofday
 ___connect
 ___connect_nocancel
 ___copyfile
+___csrctl
 ___delete
 ___disable_threadsignal
 ___error
@@ -29,7 +32,6 @@ ___fchmod_extended
 ___fcntl
 ___fcntl_nocancel
 ___fork
-___fsgetpath
 ___fstat64_extended
 ___fstat_extended
 ___fsync_nocancel
@@ -37,7 +39,6 @@ ___get_remove_counter
 ___getattrlist
 ___getdirentries64
 ___gethostuuid
-___getlcid
 ___getlogin
 ___getpeername
 ___getpid
@@ -47,6 +48,7 @@ ___getsockname
 ___gettid
 ___gettimeofday
 ___getwgroups
+___guarded_open_dprotected_np
 ___guarded_open_np
 ___identitysvc
 ___inc_remove_counter
@@ -54,11 +56,14 @@ ___initgroups
 ___ioctl
 ___iopolicysys
 ___kdebug_trace
+___kdebug_trace64
+___kdebug_trace_string
 ___kernelVersionNumber
 ___kernelVersionString
 ___kill
 ___lchown
 ___libkernel_init
+___libkernel_voucher_init
 ___listen
 ___lseek
 ___lstat64_extended
@@ -66,8 +71,6 @@ ___lstat_extended
 ___mac_execve
 ___mac_get_fd
 ___mac_get_file
-___mac_get_lcid
-___mac_get_lctx
 ___mac_get_link
 ___mac_get_mount
 ___mac_get_pid
@@ -76,10 +79,10 @@ ___mac_getfsstat
 ___mac_mount
 ___mac_set_fd
 ___mac_set_file
-___mac_set_lctx
 ___mac_set_link
 ___mac_set_proc
 ___mac_syscall
+___microstackshot
 ___mkdir_extended
 ___mkfifo_extended
 ___mmap
@@ -96,12 +99,16 @@ ___open
 ___open_dprotected_np
 ___open_extended
 ___open_nocancel
+___openat
+___openat_nocancel
 ___pipe
 ___poll_nocancel
 ___posix_spawn
 ___pread_nocancel
 ___proc_info
 ___process_policy
+___pselect
+___pselect_nocancel
 ___psynch_cvbroad
 ___psynch_cvclrprepost
 ___psynch_cvsignal
@@ -131,6 +138,7 @@ ___recvfrom_nocancel
 ___recvmsg
 ___recvmsg_nocancel
 ___rename
+___renameat
 ___rmdir
 ___sandbox_me
 ___sandbox_mm
@@ -149,8 +157,8 @@ ___sendmsg_nocancel
 ___sendto
 ___sendto_nocancel
 ___setattrlist
-___setlcid
 ___setlogin
+___setpriority
 ___setregid
 ___setreuid
 ___setrlimit
@@ -159,6 +167,8 @@ ___settid
 ___settid_with_pid
 ___settimeofday
 ___setwgroups
+___sfi_ctl
+___sfi_pidctl
 ___shared_region_check_np
 ___shared_region_map_and_slide_np
 ___shm_open
@@ -171,20 +181,24 @@ ___sigsuspend
 ___sigsuspend_nocancel
 ___sigwait
 ___socketpair
-___stack_snapshot
+___stack_snapshot_with_config
 ___stat64_extended
 ___stat_extended
 ___syscall
 ___syscall_logger
 ___sysctl
+___sysctlbyname
 ___telemetry
 ___thread_selfid
+___thread_selfusage
 ___umask_extended
 ___unlink
+___unlinkat
 ___vfork
 ___wait4
 ___wait4_nocancel
 ___waitid_nocancel
+___work_interval_ctl
 ___workq_kernreturn
 ___workq_open
 ___write_nocancel
@@ -238,6 +252,7 @@ __kernelrpc_mach_port_set_attributes
 __kernelrpc_mach_port_set_context
 __kernelrpc_mach_port_set_mscount
 __kernelrpc_mach_port_set_seqno
+__kernelrpc_mach_port_space_basic_info
 __kernelrpc_mach_port_space_info
 __kernelrpc_mach_port_type
 __kernelrpc_mach_port_unguard
@@ -253,6 +268,9 @@ __kernelrpc_mach_vm_protect_trap
 __kernelrpc_mach_vm_read
 __kernelrpc_mach_vm_remap
 __kernelrpc_task_set_port_space
+__kernelrpc_thread_policy
+__kernelrpc_thread_policy_set
+__kernelrpc_thread_set_policy
 __kernelrpc_vm_map
 __kernelrpc_vm_read
 __kernelrpc_vm_remap
@@ -304,11 +322,18 @@ _clock_sleep
 _clock_sleep_trap
 _close
 _close$NOCANCEL
+_coalition_create
+_coalition_info_resource_usage
+_coalition_reap
+_coalition_terminate
 _connect
 _connect$NOCANCEL
 _connectx
 _csops
 _csops_audittoken
+_csr_check
+_csr_get_active_config
+_denap_boost_assertion_token
 _disconnectx
 _dup
 _dup2
@@ -321,10 +346,13 @@ _exception_raise_state
 _exception_raise_state_identity
 _exchangedata
 _execve
+_faccessat
 _fchdir
 _fchflags
 _fchmod
+_fchmodat
 _fchown
+_fchownat
 _fcntl
 _fcntl$NOCANCEL
 _fdatasync
@@ -344,6 +372,9 @@ _fsetxattr
 _fstat
 _fstat$INODE64
 _fstat64
+_fstatat
+_fstatat$INODE64
+_fstatat64
 _fstatfs
 _fstatfs$INODE64
 _fstatfs64
@@ -353,6 +384,8 @@ _ftruncate
 _futimes
 _get_dp_control_port
 _getattrlist
+_getattrlistat
+_getattrlistbulk
 _getaudit
 _getaudit_addr
 _getauid
@@ -385,11 +418,18 @@ _getsockopt
 _getuid
 _getwgroups_np
 _getxattr
+_grab_pgo_data
 _guarded_close_np
 _guarded_kqueue_np
+_guarded_open_dprotected_np
 _guarded_open_np
+_guarded_pwrite_np
+_guarded_write_np
+_guarded_writev_np
+_host_create_mach_voucher
 _host_default_memory_manager
 _host_get_UNDServer
+_host_get_atm_diagnostic_flag
 _host_get_boot_info
 _host_get_clock_control
 _host_get_clock_service
@@ -406,12 +446,15 @@ _host_processor_set_priv
 _host_processor_sets
 _host_processors
 _host_reboot
+_host_register_mach_voucher_attr_manager
+_host_register_well_known_mach_voucher_attr_manager
 _host_request_notification
 _host_security_create_task_token
 _host_security_set_task_token
 _host_self
 _host_self_trap
 _host_set_UNDServer
+_host_set_atm_diagnostic_flag
 _host_set_exception_ports
 _host_set_special_port
 _host_statistics
@@ -426,8 +469,11 @@ _internal_catch_exc_subsystem
 _ioctl
 _issetugid
 _kas_info
+_kdebug_trace
+_kdebug_trace_string
 _kevent
 _kevent64
+_kevent_qos
 _kext_request
 _kill
 _kmod_control
@@ -438,6 +484,7 @@ _kqueue
 _lchown
 _ledger
 _link
+_linkat
 _lio_listio
 _listen
 _listxattr
@@ -454,6 +501,7 @@ _lstat
 _lstat$INODE64
 _lstat64
 _mach_absolute_time
+_mach_approximate_time
 _mach_error
 _mach_error_full_diag
 _mach_error_string
@@ -462,6 +510,7 @@ _mach_host_self
 _mach_init
 _mach_make_memory_entry
 _mach_make_memory_entry_64
+_mach_memory_info
 _mach_memory_object_memory_entry
 _mach_memory_object_memory_entry_64
 _mach_msg
@@ -510,6 +559,7 @@ _mach_port_set_attributes
 _mach_port_set_context
 _mach_port_set_mscount
 _mach_port_set_seqno
+_mach_port_space_basic_info
 _mach_port_space_info
 _mach_port_type
 _mach_port_unguard
@@ -540,6 +590,12 @@ _mach_vm_region_recurse
 _mach_vm_remap
 _mach_vm_wire
 _mach_vm_write
+_mach_voucher_attr_command
+_mach_voucher_deallocate
+_mach_voucher_debug_info
+_mach_voucher_extract_all_attr_recipes
+_mach_voucher_extract_attr_content
+_mach_voucher_extract_attr_recipe
 _mach_wait_until
 _mach_zone_force_gc
 _mach_zone_info
@@ -565,6 +621,7 @@ _mk_timer_cancel
 _mk_timer_create
 _mk_timer_destroy
 _mkdir
+_mkdirat
 _mkfifo
 _mknod
 _mlock
@@ -573,6 +630,7 @@ _mmap
 _modwatch
 _mount
 _mprotect
+_mremap_encrypted
 _msg_receive
 _msg_rpc
 _msg_send
@@ -588,6 +646,8 @@ _msync$NOCANCEL
 _munlock
 _munlockall
 _munmap
+_necp_match_policy
+_netagent_trigger
 _netname_check_in
 _netname_check_out
 _netname_look_up
@@ -599,12 +659,17 @@ _normal_boost_assertion_token
 _open
 _open$NOCANCEL
 _open_dprotected_np
+_openat
+_openat$NOCANCEL
+_openbyid_np
 _panic
 _panic_init
 _pathconf
 _peeloff
 _pid_for_task
+_pid_hibernate
 _pid_resume
+_pid_shutdown_sockets
 _pid_suspend
 _pipe
 _poll
@@ -621,6 +686,8 @@ _posix_spawn_file_actions_addopen
 _posix_spawn_file_actions_destroy
 _posix_spawn_file_actions_init
 _posix_spawnattr_destroy
+_posix_spawnattr_get_darwin_role_np
+_posix_spawnattr_get_qos_clamp_np
 _posix_spawnattr_getbinpref_np
 _posix_spawnattr_getcpumonitor
 _posix_spawnattr_getflags
@@ -631,9 +698,12 @@ _posix_spawnattr_getprocesstype_np
 _posix_spawnattr_getsigdefault
 _posix_spawnattr_getsigmask
 _posix_spawnattr_init
+_posix_spawnattr_set_darwin_role_np
 _posix_spawnattr_set_importancewatch_port_np
+_posix_spawnattr_set_qos_clamp_np
 _posix_spawnattr_setauditsessionport_np
 _posix_spawnattr_setbinpref_np
+_posix_spawnattr_setcoalition_np
 _posix_spawnattr_setcpumonitor
 _posix_spawnattr_setcpumonitor_default
 _posix_spawnattr_setexceptionports_np
@@ -648,7 +718,10 @@ _posix_spawnattr_setspecialport_np
 _pread
 _pread$NOCANCEL
 _proc_clear_delayidlesleep
+_proc_clear_dirty
 _proc_clear_vmpressure
+_proc_denap_assertion_begin_with_msg
+_proc_denap_assertion_complete
 _proc_disable_apptype
 _proc_disable_cpumon
 _proc_disable_wakemon
@@ -661,8 +734,10 @@ _proc_importance_assertion_begin_with_msg
 _proc_importance_assertion_complete
 _proc_kmsgbuf
 _proc_libversion
+_proc_list_uptrs
 _proc_listallpids
 _proc_listchildpids
+_proc_listcoalitions
 _proc_listpgrppids
 _proc_listpids
 _proc_listpidspath
@@ -671,19 +746,23 @@ _proc_pid_rusage
 _proc_pidfdinfo
 _proc_pidfileportinfo
 _proc_pidinfo
+_proc_pidoriginatorinfo
 _proc_pidpath
 _proc_regionfilename
 _proc_rlimit_control
 _proc_set_cpumon_defaults
 _proc_set_cpumon_params
+_proc_set_cpumon_params_fatal
 _proc_set_delayidlesleep
 _proc_set_dirty
 _proc_set_owner_vmpressure
 _proc_set_wakemon_defaults
 _proc_set_wakemon_params
 _proc_setpcontrol
+_proc_setthread_cpupercent
 _proc_suppress
 _proc_terminate
+_proc_trace_log
 _proc_track_dirty
 _proc_uuid_policy
 _processor_assign
@@ -704,6 +783,11 @@ _processor_set_statistics
 _processor_set_tasks
 _processor_set_threads
 _processor_start
+_pselect
+_pselect$1050
+_pselect$DARWIN_EXTSN
+_pselect$DARWIN_EXTSN$NOCANCEL
+_pselect$NOCANCEL
 _pthread_getugid_np
 _pthread_setugid_np
 _ptrace
@@ -714,6 +798,7 @@ _quotactl
 _read
 _read$NOCANCEL
 _readlink
+_readlinkat
 _readv
 _readv$NOCANCEL
 _reboot
@@ -721,8 +806,11 @@ _recvfrom
 _recvfrom$NOCANCEL
 _recvmsg
 _recvmsg$NOCANCEL
+_recvmsg_x
 _removexattr
 _rename
+_rename_ext
+_renameat
 _revoke
 _rmdir
 _searchfs
@@ -764,6 +852,7 @@ _semsys
 _sendfile
 _sendmsg
 _sendmsg$NOCANCEL
+_sendmsg_x
 _sendto
 _sendto$NOCANCEL
 _set_dp_control_port
@@ -790,6 +879,10 @@ _setsockopt
 _setuid
 _setwgroups_np
 _setxattr
+_sfi_get_class_offtime
+_sfi_process_get_flags
+_sfi_process_set_flags
+_sfi_set_class_offtime
 _shm_open
 _shm_unlink
 _shmat
@@ -805,6 +898,15 @@ _sigsuspend$NOCANCEL
 _socket
 _socket_delegate
 _socketpair
+_stackshot_capture_with_config
+_stackshot_config_create
+_stackshot_config_dealloc
+_stackshot_config_dealloc_buffer
+_stackshot_config_get_stackshot_buffer
+_stackshot_config_get_stackshot_size
+_stackshot_config_set_flags
+_stackshot_config_set_pid
+_stackshot_config_set_size_hint
 _stat
 _stat$INODE64
 _stat64
@@ -815,10 +917,13 @@ _swapon
 _swtch
 _swtch_pri
 _symlink
+_symlinkat
 _sync
 _syscall
 _syscall_thread_switch
+_system_get_sfi_window
 _system_override
+_system_set_sfi_window
 _task_assign
 _task_assign_default
 _task_create
@@ -826,6 +931,7 @@ _task_for_pid
 _task_get_assignment
 _task_get_emulation_vector
 _task_get_exception_ports
+_task_get_mach_voucher
 _task_get_special_port
 _task_get_state
 _task_info
@@ -843,6 +949,7 @@ _task_set_emulation
 _task_set_emulation_vector
 _task_set_exception_ports
 _task_set_info
+_task_set_mach_voucher
 _task_set_phys_footprint_limit
 _task_set_policy
 _task_set_port_space
@@ -852,6 +959,7 @@ _task_set_state
 _task_suspend
 _task_suspend2
 _task_swap_exception_ports
+_task_swap_mach_voucher
 _task_terminate
 _task_threads
 _task_zone_info
@@ -864,6 +972,8 @@ _thread_create_running
 _thread_depress_abort
 _thread_get_assignment
 _thread_get_exception_ports
+_thread_get_mach_voucher
+_thread_get_register_pointer_values
 _thread_get_special_port
 _thread_get_state
 _thread_info
@@ -874,11 +984,13 @@ _thread_resume
 _thread_sample
 _thread_self_trap
 _thread_set_exception_ports
+_thread_set_mach_voucher
 _thread_set_policy
 _thread_set_special_port
 _thread_set_state
 _thread_suspend
 _thread_swap_exception_ports
+_thread_swap_mach_voucher
 _thread_switch
 _thread_terminate
 _thread_wire
@@ -886,6 +998,7 @@ _truncate
 _umask
 _undelete
 _unlink
+_unlinkat
 _unmount
 _utimes
 _vfork
@@ -917,12 +1030,20 @@ _vm_region_recurse_64
 _vm_remap
 _vm_wire
 _vm_write
+_voucher_mach_msg_adopt
+_voucher_mach_msg_clear
+_voucher_mach_msg_revert
+_voucher_mach_msg_set
 _vprintf_stderr_func
 _wait4
 _waitevent
 _waitid
 _waitid$NOCANCEL
 _watchevent
+_work_interval_create
+_work_interval_destroy
+_work_interval_notify
+_work_interval_notify_simple
 _write
 _write$NOCANCEL
 _writev