From 2303471ffa736c378e2a89bc1c0274076c56edfd Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Sun, 2 Nov 2025 17:21:01 +0530 Subject: [PATCH 01/13] [libc] fix EXPECT_EXIT suspend/timeout for darwin Fixes: https://github.com/llvm/llvm-project/issues/166059 Signed-off-by: Shreeyash Pandey --- libc/test/UnitTest/ExecuteFunctionUnix.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libc/test/UnitTest/ExecuteFunctionUnix.cpp b/libc/test/UnitTest/ExecuteFunctionUnix.cpp index c0e85c2144005..0b450578adde2 100644 --- a/libc/test/UnitTest/ExecuteFunctionUnix.cpp +++ b/libc/test/UnitTest/ExecuteFunctionUnix.cpp @@ -13,6 +13,7 @@ #include #include #include +#include #include #include #include @@ -58,7 +59,7 @@ ProcessStatus invoke_in_subprocess(FunctionCaller *func, int timeout_ms) { ::close(pipe_fds[1]); struct pollfd poll_fd { - pipe_fds[0], 0, 0 + pipe_fds[0], POLLIN, 0 }; // No events requested so this call will only return after the timeout or if // the pipes peer was closed, signaling the process exited. From d8b29b6fad56a2dbd9a2c6aa8b393433470cd1df Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Sun, 2 Nov 2025 18:50:43 +0530 Subject: [PATCH 02/13] [libc] fix formatting --- libc/test/UnitTest/ExecuteFunctionUnix.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/libc/test/UnitTest/ExecuteFunctionUnix.cpp b/libc/test/UnitTest/ExecuteFunctionUnix.cpp index 0b450578adde2..7c2eb7c6e887c 100644 --- a/libc/test/UnitTest/ExecuteFunctionUnix.cpp +++ b/libc/test/UnitTest/ExecuteFunctionUnix.cpp @@ -13,7 +13,6 @@ #include #include #include -#include #include #include #include @@ -58,9 +57,7 @@ ProcessStatus invoke_in_subprocess(FunctionCaller *func, int timeout_ms) { } ::close(pipe_fds[1]); - struct pollfd poll_fd { - pipe_fds[0], POLLIN, 0 - }; + struct pollfd poll_fd{pipe_fds[0], POLLIN, 0}; // No events requested so this call will only return after the timeout or if // the pipes peer was closed, signaling the process exited. if (::poll(&poll_fd, 1, timeout_ms) == -1) { From a55dae076b92caf61ce760505a5739eea8b2698b Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Tue, 4 Nov 2025 16:52:04 +0530 Subject: [PATCH 03/13] [libc][darwin] add syscall numbers from macos sdk Signed-off-by: Shreeyash Pandey --- .../__support/OSUtil/darwin/aarch64/syscall.h | 561 ++++++++++++++++++ 1 file changed, 561 insertions(+) diff --git a/libc/src/__support/OSUtil/darwin/aarch64/syscall.h b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h index dc98c07a8ba33..6cbbd11a79ae3 100644 --- a/libc/src/__support/OSUtil/darwin/aarch64/syscall.h +++ b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h @@ -110,4 +110,565 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3, #undef REGISTER_CONSTRAINT_5 #undef REGISTER_CONSTRAINT_6 +#define SYS_syscall 0 +#define SYS_exit 1 +#define SYS_fork 2 +#define SYS_read 3 +#define SYS_write 4 +#define SYS_open 5 +#define SYS_close 6 +#define SYS_wait4 7 +/* 8 old creat */ +#define SYS_link 9 +#define SYS_unlink 10 +/* 11 old execv */ +#define SYS_chdir 12 +#define SYS_fchdir 13 +#define SYS_mknod 14 +#define SYS_chmod 15 +#define SYS_chown 16 +/* 17 old break */ +#define SYS_getfsstat 18 +/* 19 old lseek */ +#define SYS_getpid 20 +/* 21 old mount */ +/* 22 old umount */ +#define SYS_setuid 23 +#define SYS_getuid 24 +#define SYS_geteuid 25 +#define SYS_ptrace 26 +#define SYS_recvmsg 27 +#define SYS_sendmsg 28 +#define SYS_recvfrom 29 +#define SYS_accept 30 +#define SYS_getpeername 31 +#define SYS_getsockname 32 +#define SYS_access 33 +#define SYS_chflags 34 +#define SYS_fchflags 35 +#define SYS_sync 36 +#define SYS_kill 37 +#define SYS_crossarch_trap 38 +#define SYS_getppid 39 +/* 40 old lstat */ +#define SYS_dup 41 +#define SYS_pipe 42 +#define SYS_getegid 43 +/* 44 old profil */ +/* 45 old ktrace */ +#define SYS_sigaction 46 +#define SYS_getgid 47 +#define SYS_sigprocmask 48 +#define SYS_getlogin 49 +#define SYS_setlogin 50 +#define SYS_acct 51 +#define SYS_sigpending 52 +#define SYS_sigaltstack 53 +#define SYS_ioctl 54 +#define SYS_reboot 55 +#define SYS_revoke 56 +#define SYS_symlink 57 +#define SYS_readlink 58 +#define SYS_execve 59 +#define SYS_umask 60 +#define SYS_chroot 61 +/* 62 old fstat */ +/* 63 used internally and reserved */ +/* 64 old getpagesize */ +#define SYS_msync 65 +#define SYS_vfork 66 +#define SYS_oslog_coproc_reg 67 +#define SYS_oslog_coproc 68 +/* 69 old sbrk */ +/* 70 old sstk */ +/* 71 old mmap */ +/* 72 old vadvise */ +#define SYS_munmap 73 +#define SYS_mprotect 74 +#define SYS_madvise 75 +/* 76 old vhangup */ +/* 77 old vlimit */ +#define SYS_mincore 78 +#define SYS_getgroups 79 +#define SYS_setgroups 80 +#define SYS_getpgrp 81 +#define SYS_setpgid 82 +#define SYS_setitimer 83 +/* 84 old wait */ +#define SYS_swapon 85 +#define SYS_getitimer 86 +/* 87 old gethostname */ +/* 88 old sethostname */ +#define SYS_getdtablesize 89 +#define SYS_dup2 90 +/* 91 old getdopt */ +#define SYS_fcntl 92 +#define SYS_select 93 +/* 94 old setdopt */ +#define SYS_fsync 95 +#define SYS_setpriority 96 +#define SYS_socket 97 +#define SYS_connect 98 +/* 99 old accept */ +#define SYS_getpriority 100 +/* 101 old send */ +/* 102 old recv */ +/* 103 old sigreturn */ +#define SYS_bind 104 +#define SYS_setsockopt 105 +#define SYS_listen 106 +/* 107 old vtimes */ +/* 108 old sigvec */ +/* 109 old sigblock */ +/* 110 old sigsetmask */ +#define SYS_sigsuspend 111 +/* 112 old sigstack */ +/* 113 old recvmsg */ +/* 114 old sendmsg */ +/* 115 old vtrace */ +#define SYS_gettimeofday 116 +#define SYS_getrusage 117 +#define SYS_getsockopt 118 +/* 119 old resuba */ +#define SYS_readv 120 +#define SYS_writev 121 +#define SYS_settimeofday 122 +#define SYS_fchown 123 +#define SYS_fchmod 124 +/* 125 old recvfrom */ +#define SYS_setreuid 126 +#define SYS_setregid 127 +#define SYS_rename 128 +/* 129 old truncate */ +/* 130 old ftruncate */ +#define SYS_flock 131 +#define SYS_mkfifo 132 +#define SYS_sendto 133 +#define SYS_shutdown 134 +#define SYS_socketpair 135 +#define SYS_mkdir 136 +#define SYS_rmdir 137 +#define SYS_utimes 138 +#define SYS_futimes 139 +#define SYS_adjtime 140 +/* 141 old getpeername */ +#define SYS_gethostuuid 142 +/* 143 old sethostid */ +/* 144 old getrlimit */ +/* 145 old setrlimit */ +/* 146 old killpg */ +#define SYS_setsid 147 +/* 148 old setquota */ +/* 149 old qquota */ +/* 150 old getsockname */ +#define SYS_getpgid 151 +#define SYS_setprivexec 152 +#define SYS_pread 153 +#define SYS_pwrite 154 +#define SYS_nfssvc 155 +/* 156 old getdirentries */ +#define SYS_statfs 157 +#define SYS_fstatfs 158 +#define SYS_unmount 159 +/* 160 old async_daemon */ +#define SYS_getfh 161 +/* 162 old getdomainname */ +/* 163 old setdomainname */ +/* 164 */ +#define SYS_quotactl 165 +/* 166 old exportfs */ +#define SYS_mount 167 +/* 168 old ustat */ +#define SYS_csops 169 +#define SYS_csops_audittoken 170 +/* 171 old wait3 */ +/* 172 old rpause */ +#define SYS_waitid 173 +/* 174 old getdents */ +/* 175 old gc_control */ +/* 176 old add_profil */ +#define SYS_kdebug_typefilter 177 +#define SYS_kdebug_trace_string 178 +#define SYS_kdebug_trace64 179 +#define SYS_kdebug_trace 180 +#define SYS_setgid 181 +#define SYS_setegid 182 +#define SYS_seteuid 183 +#define SYS_sigreturn 184 +#define SYS_panic_with_data 185 +#define SYS_thread_selfcounts 186 +#define SYS_fdatasync 187 +#define SYS_stat 188 +#define SYS_fstat 189 +#define SYS_lstat 190 +#define SYS_pathconf 191 +#define SYS_fpathconf 192 +/* 193 old getfsstat */ +#define SYS_getrlimit 194 +#define SYS_setrlimit 195 +#define SYS_getdirentries 196 +#define SYS_mmap 197 +/* 198 old __syscall */ +#define SYS_lseek 199 +#define SYS_truncate 200 +#define SYS_ftruncate 201 +#define SYS_sysctl 202 +#define SYS_mlock 203 +#define SYS_munlock 204 +#define SYS_undelete 205 +/* 206 old ATsocket */ +/* 207 old ATgetmsg */ +/* 208 old ATputmsg */ +/* 209 old ATsndreq */ +/* 210 old ATsndrsp */ +/* 211 old ATgetreq */ +/* 212 old ATgetrsp */ +/* 213 Reserved for AppleTalk */ +/* 214 */ +/* 215 */ +#define SYS_open_dprotected_np 216 +#define SYS_fsgetpath_ext 217 +#define SYS_openat_dprotected_np 218 +/* 219 old fstatv */ +#define SYS_getattrlist 220 +#define SYS_setattrlist 221 +#define SYS_getdirentriesattr 222 +#define SYS_exchangedata 223 +/* 224 old checkuseraccess or fsgetpath */ +#define SYS_searchfs 225 +#define SYS_delete 226 +#define SYS_copyfile 227 +#define SYS_fgetattrlist 228 +#define SYS_fsetattrlist 229 +#define SYS_poll 230 +/* 231 old watchevent */ +/* 232 old waitevent */ +/* 233 old modwatch */ +#define SYS_getxattr 234 +#define SYS_fgetxattr 235 +#define SYS_setxattr 236 +#define SYS_fsetxattr 237 +#define SYS_removexattr 238 +#define SYS_fremovexattr 239 +#define SYS_listxattr 240 +#define SYS_flistxattr 241 +#define SYS_fsctl 242 +#define SYS_initgroups 243 +#define SYS_posix_spawn 244 +#define SYS_ffsctl 245 +/* 246 */ +/* 247 old nfsclnt */ +#define SYS_fhopen 248 +/* 249 */ +#define SYS_minherit 250 +#define SYS_semsys 251 +#define SYS_msgsys 252 +#define SYS_shmsys 253 +#define SYS_semctl 254 +#define SYS_semget 255 +#define SYS_semop 256 +/* 257 old semconfig */ +#define SYS_msgctl 258 +#define SYS_msgget 259 +#define SYS_msgsnd 260 +#define SYS_msgrcv 261 +#define SYS_shmat 262 +#define SYS_shmctl 263 +#define SYS_shmdt 264 +#define SYS_shmget 265 +#define SYS_shm_open 266 +#define SYS_shm_unlink 267 +#define SYS_sem_open 268 +#define SYS_sem_close 269 +#define SYS_sem_unlink 270 +#define SYS_sem_wait 271 +#define SYS_sem_trywait 272 +#define SYS_sem_post 273 +#define SYS_sysctlbyname 274 +/* 275 old sem_init */ +/* 276 old sem_destroy */ +#define SYS_open_extended 277 +#define SYS_umask_extended 278 +#define SYS_stat_extended 279 +#define SYS_lstat_extended 280 +#define SYS_fstat_extended 281 +#define SYS_chmod_extended 282 +#define SYS_fchmod_extended 283 +#define SYS_access_extended 284 +#define SYS_settid 285 +#define SYS_gettid 286 +#define SYS_setsgroups 287 +#define SYS_getsgroups 288 +#define SYS_setwgroups 289 +#define SYS_getwgroups 290 +#define SYS_mkfifo_extended 291 +#define SYS_mkdir_extended 292 +#define SYS_identitysvc 293 +#define SYS_shared_region_check_np 294 +/* 295 old shared_region_map_np */ +#define SYS_vm_pressure_monitor 296 +#define SYS_psynch_rw_longrdlock 297 +#define SYS_psynch_rw_yieldwrlock 298 +#define SYS_psynch_rw_downgrade 299 +#define SYS_psynch_rw_upgrade 300 +#define SYS_psynch_mutexwait 301 +#define SYS_psynch_mutexdrop 302 +#define SYS_psynch_cvbroad 303 +#define SYS_psynch_cvsignal 304 +#define SYS_psynch_cvwait 305 +#define SYS_psynch_rw_rdlock 306 +#define SYS_psynch_rw_wrlock 307 +#define SYS_psynch_rw_unlock 308 +#define SYS_psynch_rw_unlock2 309 +#define SYS_getsid 310 +#define SYS_settid_with_pid 311 +#define SYS_psynch_cvclrprepost 312 +#define SYS_aio_fsync 313 +#define SYS_aio_return 314 +#define SYS_aio_suspend 315 +#define SYS_aio_cancel 316 +#define SYS_aio_error 317 +#define SYS_aio_read 318 +#define SYS_aio_write 319 +#define SYS_lio_listio 320 +/* 321 old __pthread_cond_wait */ +#define SYS_iopolicysys 322 +#define SYS_process_policy 323 +#define SYS_mlockall 324 +#define SYS_munlockall 325 +/* 326 */ +#define SYS_issetugid 327 +#define SYS___pthread_kill 328 +#define SYS___pthread_sigmask 329 +#define SYS___sigwait 330 +#define SYS___disable_threadsignal 331 +#define SYS___pthread_markcancel 332 +#define SYS___pthread_canceled 333 +#define SYS___semwait_signal 334 +/* 335 old utrace */ +#define SYS_proc_info 336 +#define SYS_sendfile 337 +#define SYS_stat64 338 +#define SYS_fstat64 339 +#define SYS_lstat64 340 +#define SYS_stat64_extended 341 +#define SYS_lstat64_extended 342 +#define SYS_fstat64_extended 343 +#define SYS_getdirentries64 344 +#define SYS_statfs64 345 +#define SYS_fstatfs64 346 +#define SYS_getfsstat64 347 +#define SYS___pthread_chdir 348 +#define SYS___pthread_fchdir 349 +#define SYS_audit 350 +#define SYS_auditon 351 +/* 352 */ +#define SYS_getauid 353 +#define SYS_setauid 354 +/* 355 old getaudit */ +/* 356 old setaudit */ +#define SYS_getaudit_addr 357 +#define SYS_setaudit_addr 358 +#define SYS_auditctl 359 +#define SYS_bsdthread_create 360 +#define SYS_bsdthread_terminate 361 +#define SYS_kqueue 362 +#define SYS_kevent 363 +#define SYS_lchown 364 +/* 365 old stack_snapshot */ +#define SYS_bsdthread_register 366 +#define SYS_workq_open 367 +#define SYS_workq_kernreturn 368 +#define SYS_kevent64 369 +/* 370 old __semwait_signal */ +/* 371 old __semwait_signal */ +#define SYS_thread_selfid 372 +#define SYS_ledger 373 +#define SYS_kevent_qos 374 +#define SYS_kevent_id 375 +/* 376 */ +/* 377 */ +/* 378 */ +/* 379 */ +#define SYS___mac_execve 380 +#define SYS___mac_syscall 381 +#define SYS___mac_get_file 382 +#define SYS___mac_set_file 383 +#define SYS___mac_get_link 384 +#define SYS___mac_set_link 385 +#define SYS___mac_get_proc 386 +#define SYS___mac_set_proc 387 +#define SYS___mac_get_fd 388 +#define SYS___mac_set_fd 389 +#define SYS___mac_get_pid 390 +/* 391 */ +/* 392 */ +/* 393 */ +#define SYS_pselect 394 +#define SYS_pselect_nocancel 395 +#define SYS_read_nocancel 396 +#define SYS_write_nocancel 397 +#define SYS_open_nocancel 398 +#define SYS_close_nocancel 399 +#define SYS_wait4_nocancel 400 +#define SYS_recvmsg_nocancel 401 +#define SYS_sendmsg_nocancel 402 +#define SYS_recvfrom_nocancel 403 +#define SYS_accept_nocancel 404 +#define SYS_msync_nocancel 405 +#define SYS_fcntl_nocancel 406 +#define SYS_select_nocancel 407 +#define SYS_fsync_nocancel 408 +#define SYS_connect_nocancel 409 +#define SYS_sigsuspend_nocancel 410 +#define SYS_readv_nocancel 411 +#define SYS_writev_nocancel 412 +#define SYS_sendto_nocancel 413 +#define SYS_pread_nocancel 414 +#define SYS_pwrite_nocancel 415 +#define SYS_waitid_nocancel 416 +#define SYS_poll_nocancel 417 +#define SYS_msgsnd_nocancel 418 +#define SYS_msgrcv_nocancel 419 +#define SYS_sem_wait_nocancel 420 +#define SYS_aio_suspend_nocancel 421 +#define SYS___sigwait_nocancel 422 +#define SYS___semwait_signal_nocancel 423 +#define SYS___mac_mount 424 +#define SYS___mac_get_mount 425 +#define SYS___mac_getfsstat 426 +#define SYS_fsgetpath 427 +#define SYS_audit_session_self 428 +#define SYS_audit_session_join 429 +#define SYS_fileport_makeport 430 +#define SYS_fileport_makefd 431 +#define SYS_audit_session_port 432 +#define SYS_pid_suspend 433 +#define SYS_pid_resume 434 +#define SYS_pid_hibernate 435 +#define SYS_pid_shutdown_sockets 436 +/* 437 old shared_region_slide_np */ +/* 438 old shared_region_map_and_slide_np */ +#define SYS_kas_info 439 +#define SYS_memorystatus_control 440 +#define SYS_guarded_open_np 441 +#define SYS_guarded_close_np 442 +#define SYS_guarded_kqueue_np 443 +#define SYS_change_fdguard_np 444 +#define SYS_usrctl 445 +#define SYS_proc_rlimit_control 446 +#define SYS_connectx 447 +#define SYS_disconnectx 448 +#define SYS_peeloff 449 +#define SYS_socket_delegate 450 +#define SYS_telemetry 451 +#define SYS_proc_uuid_policy 452 +#define SYS_memorystatus_get_level 453 +#define SYS_system_override 454 +#define SYS_vfs_purge 455 +#define SYS_sfi_ctl 456 +#define SYS_sfi_pidctl 457 +#define SYS_coalition 458 +#define SYS_coalition_info 459 +#define SYS_necp_match_policy 460 +#define SYS_getattrlistbulk 461 +#define SYS_clonefileat 462 +#define SYS_openat 463 +#define SYS_openat_nocancel 464 +#define SYS_renameat 465 +#define SYS_faccessat 466 +#define SYS_fchmodat 467 +#define SYS_fchownat 468 +#define SYS_fstatat 469 +#define SYS_fstatat64 470 +#define SYS_linkat 471 +#define SYS_unlinkat 472 +#define SYS_readlinkat 473 +#define SYS_symlinkat 474 +#define SYS_mkdirat 475 +#define SYS_getattrlistat 476 +#define SYS_proc_trace_log 477 +#define SYS_bsdthread_ctl 478 +#define SYS_openbyid_np 479 +#define SYS_recvmsg_x 480 +#define SYS_sendmsg_x 481 +#define SYS_thread_selfusage 482 +#define SYS_csrctl 483 +#define SYS_guarded_open_dprotected_np 484 +#define SYS_guarded_write_np 485 +#define SYS_guarded_pwrite_np 486 +#define SYS_guarded_writev_np 487 +#define SYS_renameatx_np 488 +#define SYS_mremap_encrypted 489 +#define SYS_netagent_trigger 490 +#define SYS_stack_snapshot_with_config 491 +#define SYS_microstackshot 492 +#define SYS_grab_pgo_data 493 +#define SYS_persona 494 +/* 495 */ +#define SYS_mach_eventlink_signal 496 +#define SYS_mach_eventlink_wait_until 497 +#define SYS_mach_eventlink_signal_wait_until 498 +#define SYS_work_interval_ctl 499 +#define SYS_getentropy 500 +#define SYS_necp_open 501 +#define SYS_necp_client_action 502 +#define SYS___nexus_open 503 +#define SYS___nexus_register 504 +#define SYS___nexus_deregister 505 +#define SYS___nexus_create 506 +#define SYS___nexus_destroy 507 +#define SYS___nexus_get_opt 508 +#define SYS___nexus_set_opt 509 +#define SYS___channel_open 510 +#define SYS___channel_get_info 511 +#define SYS___channel_sync 512 +#define SYS___channel_get_opt 513 +#define SYS___channel_set_opt 514 +#define SYS_ulock_wait 515 +#define SYS_ulock_wake 516 +#define SYS_fclonefileat 517 +#define SYS_fs_snapshot 518 +#define SYS_register_uexc_handler 519 +#define SYS_terminate_with_payload 520 +#define SYS_abort_with_payload 521 +#define SYS_necp_session_open 522 +#define SYS_necp_session_action 523 +#define SYS_setattrlistat 524 +#define SYS_net_qos_guideline 525 +#define SYS_fmount 526 +#define SYS_ntp_adjtime 527 +#define SYS_ntp_gettime 528 +#define SYS_os_fault_with_payload 529 +#define SYS_kqueue_workloop_ctl 530 +#define SYS___mach_bridge_remote_time 531 +#define SYS_coalition_ledger 532 +#define SYS_log_data 533 +#define SYS_memorystatus_available_memory 534 +#define SYS_objc_bp_assist_cfg_np 535 +#define SYS_shared_region_map_and_slide_2_np 536 +#define SYS_pivot_root 537 +#define SYS_task_inspect_for_pid 538 +#define SYS_task_read_for_pid 539 +#define SYS_preadv 540 +#define SYS_pwritev 541 +#define SYS_preadv_nocancel 542 +#define SYS_pwritev_nocancel 543 +#define SYS_ulock_wait2 544 +#define SYS_proc_info_extended_id 545 +#define SYS_tracker_action 546 +#define SYS_debug_syscall_reject 547 +#define SYS_debug_syscall_reject_config 548 +#define SYS_graftdmg 549 +#define SYS_map_with_linking_np 550 +#define SYS_freadlink 551 +#define SYS_record_system_event 552 +#define SYS_mkfifoat 553 +#define SYS_mknodat 554 +#define SYS_ungraftdmg 555 +#define SYS_coalition_policy_set 556 +#define SYS_coalition_policy_get 557 +#define SYS_MAXSYSCALL 558 +#define SYS_invalid 63 + #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_DARWIN_ARM_SYSCALL_H From 79cb55c4de1f7d3ce14e6d9c95f5c52219751cb5 Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Wed, 5 Nov 2025 12:00:29 +0530 Subject: [PATCH 04/13] [libc] add reference for syscall numbers Signed-off-by: Shreeyash Pandey --- libc/src/__support/OSUtil/darwin/aarch64/syscall.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/libc/src/__support/OSUtil/darwin/aarch64/syscall.h b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h index 6cbbd11a79ae3..3286e006535df 100644 --- a/libc/src/__support/OSUtil/darwin/aarch64/syscall.h +++ b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h @@ -110,6 +110,14 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3, #undef REGISTER_CONSTRAINT_5 #undef REGISTER_CONSTRAINT_6 +/* Following has been copied from MacOSX15.5 sdk + * This has been referenced from and generated by the syscalls.master file + * that can be found + * https://github.com/apple-oss-distributions/xnu/blob/f6217f891ac0bb64f3d375211650a4c1ff8ca1ea/bsd/kern/syscalls.master + */ + +/* SYSCALL NUMBERS START */ + #define SYS_syscall 0 #define SYS_exit 1 #define SYS_fork 2 @@ -671,4 +679,6 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3, #define SYS_MAXSYSCALL 558 #define SYS_invalid 63 +/* SYSCALL NUMBERS END */ + #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_DARWIN_ARM_SYSCALL_H From fcc595ee703c0d20d0629b79769b5eef4216d7c4 Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Fri, 7 Nov 2025 01:35:11 +0530 Subject: [PATCH 05/13] [libc] use syscall.h --- .../__support/OSUtil/darwin/aarch64/syscall.h | 1121 +++++++++-------- 1 file changed, 561 insertions(+), 560 deletions(-) diff --git a/libc/src/__support/OSUtil/darwin/aarch64/syscall.h b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h index 3286e006535df..2e9f1759df85a 100644 --- a/libc/src/__support/OSUtil/darwin/aarch64/syscall.h +++ b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h @@ -118,566 +118,567 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3, /* SYSCALL NUMBERS START */ -#define SYS_syscall 0 -#define SYS_exit 1 -#define SYS_fork 2 -#define SYS_read 3 -#define SYS_write 4 -#define SYS_open 5 -#define SYS_close 6 -#define SYS_wait4 7 -/* 8 old creat */ -#define SYS_link 9 -#define SYS_unlink 10 -/* 11 old execv */ -#define SYS_chdir 12 -#define SYS_fchdir 13 -#define SYS_mknod 14 -#define SYS_chmod 15 -#define SYS_chown 16 -/* 17 old break */ -#define SYS_getfsstat 18 -/* 19 old lseek */ -#define SYS_getpid 20 -/* 21 old mount */ -/* 22 old umount */ -#define SYS_setuid 23 -#define SYS_getuid 24 -#define SYS_geteuid 25 -#define SYS_ptrace 26 -#define SYS_recvmsg 27 -#define SYS_sendmsg 28 -#define SYS_recvfrom 29 -#define SYS_accept 30 -#define SYS_getpeername 31 -#define SYS_getsockname 32 -#define SYS_access 33 -#define SYS_chflags 34 -#define SYS_fchflags 35 -#define SYS_sync 36 -#define SYS_kill 37 -#define SYS_crossarch_trap 38 -#define SYS_getppid 39 -/* 40 old lstat */ -#define SYS_dup 41 -#define SYS_pipe 42 -#define SYS_getegid 43 -/* 44 old profil */ -/* 45 old ktrace */ -#define SYS_sigaction 46 -#define SYS_getgid 47 -#define SYS_sigprocmask 48 -#define SYS_getlogin 49 -#define SYS_setlogin 50 -#define SYS_acct 51 -#define SYS_sigpending 52 -#define SYS_sigaltstack 53 -#define SYS_ioctl 54 -#define SYS_reboot 55 -#define SYS_revoke 56 -#define SYS_symlink 57 -#define SYS_readlink 58 -#define SYS_execve 59 -#define SYS_umask 60 -#define SYS_chroot 61 -/* 62 old fstat */ -/* 63 used internally and reserved */ -/* 64 old getpagesize */ -#define SYS_msync 65 -#define SYS_vfork 66 -#define SYS_oslog_coproc_reg 67 -#define SYS_oslog_coproc 68 -/* 69 old sbrk */ -/* 70 old sstk */ -/* 71 old mmap */ -/* 72 old vadvise */ -#define SYS_munmap 73 -#define SYS_mprotect 74 -#define SYS_madvise 75 -/* 76 old vhangup */ -/* 77 old vlimit */ -#define SYS_mincore 78 -#define SYS_getgroups 79 -#define SYS_setgroups 80 -#define SYS_getpgrp 81 -#define SYS_setpgid 82 -#define SYS_setitimer 83 -/* 84 old wait */ -#define SYS_swapon 85 -#define SYS_getitimer 86 -/* 87 old gethostname */ -/* 88 old sethostname */ -#define SYS_getdtablesize 89 -#define SYS_dup2 90 -/* 91 old getdopt */ -#define SYS_fcntl 92 -#define SYS_select 93 -/* 94 old setdopt */ -#define SYS_fsync 95 -#define SYS_setpriority 96 -#define SYS_socket 97 -#define SYS_connect 98 -/* 99 old accept */ -#define SYS_getpriority 100 -/* 101 old send */ -/* 102 old recv */ -/* 103 old sigreturn */ -#define SYS_bind 104 -#define SYS_setsockopt 105 -#define SYS_listen 106 -/* 107 old vtimes */ -/* 108 old sigvec */ -/* 109 old sigblock */ -/* 110 old sigsetmask */ -#define SYS_sigsuspend 111 -/* 112 old sigstack */ -/* 113 old recvmsg */ -/* 114 old sendmsg */ -/* 115 old vtrace */ -#define SYS_gettimeofday 116 -#define SYS_getrusage 117 -#define SYS_getsockopt 118 -/* 119 old resuba */ -#define SYS_readv 120 -#define SYS_writev 121 -#define SYS_settimeofday 122 -#define SYS_fchown 123 -#define SYS_fchmod 124 -/* 125 old recvfrom */ -#define SYS_setreuid 126 -#define SYS_setregid 127 -#define SYS_rename 128 -/* 129 old truncate */ -/* 130 old ftruncate */ -#define SYS_flock 131 -#define SYS_mkfifo 132 -#define SYS_sendto 133 -#define SYS_shutdown 134 -#define SYS_socketpair 135 -#define SYS_mkdir 136 -#define SYS_rmdir 137 -#define SYS_utimes 138 -#define SYS_futimes 139 -#define SYS_adjtime 140 -/* 141 old getpeername */ -#define SYS_gethostuuid 142 -/* 143 old sethostid */ -/* 144 old getrlimit */ -/* 145 old setrlimit */ -/* 146 old killpg */ -#define SYS_setsid 147 -/* 148 old setquota */ -/* 149 old qquota */ -/* 150 old getsockname */ -#define SYS_getpgid 151 -#define SYS_setprivexec 152 -#define SYS_pread 153 -#define SYS_pwrite 154 -#define SYS_nfssvc 155 -/* 156 old getdirentries */ -#define SYS_statfs 157 -#define SYS_fstatfs 158 -#define SYS_unmount 159 -/* 160 old async_daemon */ -#define SYS_getfh 161 -/* 162 old getdomainname */ -/* 163 old setdomainname */ -/* 164 */ -#define SYS_quotactl 165 -/* 166 old exportfs */ -#define SYS_mount 167 -/* 168 old ustat */ -#define SYS_csops 169 -#define SYS_csops_audittoken 170 -/* 171 old wait3 */ -/* 172 old rpause */ -#define SYS_waitid 173 -/* 174 old getdents */ -/* 175 old gc_control */ -/* 176 old add_profil */ -#define SYS_kdebug_typefilter 177 -#define SYS_kdebug_trace_string 178 -#define SYS_kdebug_trace64 179 -#define SYS_kdebug_trace 180 -#define SYS_setgid 181 -#define SYS_setegid 182 -#define SYS_seteuid 183 -#define SYS_sigreturn 184 -#define SYS_panic_with_data 185 -#define SYS_thread_selfcounts 186 -#define SYS_fdatasync 187 -#define SYS_stat 188 -#define SYS_fstat 189 -#define SYS_lstat 190 -#define SYS_pathconf 191 -#define SYS_fpathconf 192 -/* 193 old getfsstat */ -#define SYS_getrlimit 194 -#define SYS_setrlimit 195 -#define SYS_getdirentries 196 -#define SYS_mmap 197 -/* 198 old __syscall */ -#define SYS_lseek 199 -#define SYS_truncate 200 -#define SYS_ftruncate 201 -#define SYS_sysctl 202 -#define SYS_mlock 203 -#define SYS_munlock 204 -#define SYS_undelete 205 -/* 206 old ATsocket */ -/* 207 old ATgetmsg */ -/* 208 old ATputmsg */ -/* 209 old ATsndreq */ -/* 210 old ATsndrsp */ -/* 211 old ATgetreq */ -/* 212 old ATgetrsp */ -/* 213 Reserved for AppleTalk */ -/* 214 */ -/* 215 */ -#define SYS_open_dprotected_np 216 -#define SYS_fsgetpath_ext 217 -#define SYS_openat_dprotected_np 218 -/* 219 old fstatv */ -#define SYS_getattrlist 220 -#define SYS_setattrlist 221 -#define SYS_getdirentriesattr 222 -#define SYS_exchangedata 223 -/* 224 old checkuseraccess or fsgetpath */ -#define SYS_searchfs 225 -#define SYS_delete 226 -#define SYS_copyfile 227 -#define SYS_fgetattrlist 228 -#define SYS_fsetattrlist 229 -#define SYS_poll 230 -/* 231 old watchevent */ -/* 232 old waitevent */ -/* 233 old modwatch */ -#define SYS_getxattr 234 -#define SYS_fgetxattr 235 -#define SYS_setxattr 236 -#define SYS_fsetxattr 237 -#define SYS_removexattr 238 -#define SYS_fremovexattr 239 -#define SYS_listxattr 240 -#define SYS_flistxattr 241 -#define SYS_fsctl 242 -#define SYS_initgroups 243 -#define SYS_posix_spawn 244 -#define SYS_ffsctl 245 -/* 246 */ -/* 247 old nfsclnt */ -#define SYS_fhopen 248 -/* 249 */ -#define SYS_minherit 250 -#define SYS_semsys 251 -#define SYS_msgsys 252 -#define SYS_shmsys 253 -#define SYS_semctl 254 -#define SYS_semget 255 -#define SYS_semop 256 -/* 257 old semconfig */ -#define SYS_msgctl 258 -#define SYS_msgget 259 -#define SYS_msgsnd 260 -#define SYS_msgrcv 261 -#define SYS_shmat 262 -#define SYS_shmctl 263 -#define SYS_shmdt 264 -#define SYS_shmget 265 -#define SYS_shm_open 266 -#define SYS_shm_unlink 267 -#define SYS_sem_open 268 -#define SYS_sem_close 269 -#define SYS_sem_unlink 270 -#define SYS_sem_wait 271 -#define SYS_sem_trywait 272 -#define SYS_sem_post 273 -#define SYS_sysctlbyname 274 -/* 275 old sem_init */ -/* 276 old sem_destroy */ -#define SYS_open_extended 277 -#define SYS_umask_extended 278 -#define SYS_stat_extended 279 -#define SYS_lstat_extended 280 -#define SYS_fstat_extended 281 -#define SYS_chmod_extended 282 -#define SYS_fchmod_extended 283 -#define SYS_access_extended 284 -#define SYS_settid 285 -#define SYS_gettid 286 -#define SYS_setsgroups 287 -#define SYS_getsgroups 288 -#define SYS_setwgroups 289 -#define SYS_getwgroups 290 -#define SYS_mkfifo_extended 291 -#define SYS_mkdir_extended 292 -#define SYS_identitysvc 293 -#define SYS_shared_region_check_np 294 -/* 295 old shared_region_map_np */ -#define SYS_vm_pressure_monitor 296 -#define SYS_psynch_rw_longrdlock 297 -#define SYS_psynch_rw_yieldwrlock 298 -#define SYS_psynch_rw_downgrade 299 -#define SYS_psynch_rw_upgrade 300 -#define SYS_psynch_mutexwait 301 -#define SYS_psynch_mutexdrop 302 -#define SYS_psynch_cvbroad 303 -#define SYS_psynch_cvsignal 304 -#define SYS_psynch_cvwait 305 -#define SYS_psynch_rw_rdlock 306 -#define SYS_psynch_rw_wrlock 307 -#define SYS_psynch_rw_unlock 308 -#define SYS_psynch_rw_unlock2 309 -#define SYS_getsid 310 -#define SYS_settid_with_pid 311 -#define SYS_psynch_cvclrprepost 312 -#define SYS_aio_fsync 313 -#define SYS_aio_return 314 -#define SYS_aio_suspend 315 -#define SYS_aio_cancel 316 -#define SYS_aio_error 317 -#define SYS_aio_read 318 -#define SYS_aio_write 319 -#define SYS_lio_listio 320 -/* 321 old __pthread_cond_wait */ -#define SYS_iopolicysys 322 -#define SYS_process_policy 323 -#define SYS_mlockall 324 -#define SYS_munlockall 325 -/* 326 */ -#define SYS_issetugid 327 -#define SYS___pthread_kill 328 -#define SYS___pthread_sigmask 329 -#define SYS___sigwait 330 -#define SYS___disable_threadsignal 331 -#define SYS___pthread_markcancel 332 -#define SYS___pthread_canceled 333 -#define SYS___semwait_signal 334 -/* 335 old utrace */ -#define SYS_proc_info 336 -#define SYS_sendfile 337 -#define SYS_stat64 338 -#define SYS_fstat64 339 -#define SYS_lstat64 340 -#define SYS_stat64_extended 341 -#define SYS_lstat64_extended 342 -#define SYS_fstat64_extended 343 -#define SYS_getdirentries64 344 -#define SYS_statfs64 345 -#define SYS_fstatfs64 346 -#define SYS_getfsstat64 347 -#define SYS___pthread_chdir 348 -#define SYS___pthread_fchdir 349 -#define SYS_audit 350 -#define SYS_auditon 351 -/* 352 */ -#define SYS_getauid 353 -#define SYS_setauid 354 -/* 355 old getaudit */ -/* 356 old setaudit */ -#define SYS_getaudit_addr 357 -#define SYS_setaudit_addr 358 -#define SYS_auditctl 359 -#define SYS_bsdthread_create 360 -#define SYS_bsdthread_terminate 361 -#define SYS_kqueue 362 -#define SYS_kevent 363 -#define SYS_lchown 364 -/* 365 old stack_snapshot */ -#define SYS_bsdthread_register 366 -#define SYS_workq_open 367 -#define SYS_workq_kernreturn 368 -#define SYS_kevent64 369 -/* 370 old __semwait_signal */ -/* 371 old __semwait_signal */ -#define SYS_thread_selfid 372 -#define SYS_ledger 373 -#define SYS_kevent_qos 374 -#define SYS_kevent_id 375 -/* 376 */ -/* 377 */ -/* 378 */ -/* 379 */ -#define SYS___mac_execve 380 -#define SYS___mac_syscall 381 -#define SYS___mac_get_file 382 -#define SYS___mac_set_file 383 -#define SYS___mac_get_link 384 -#define SYS___mac_set_link 385 -#define SYS___mac_get_proc 386 -#define SYS___mac_set_proc 387 -#define SYS___mac_get_fd 388 -#define SYS___mac_set_fd 389 -#define SYS___mac_get_pid 390 -/* 391 */ -/* 392 */ -/* 393 */ -#define SYS_pselect 394 -#define SYS_pselect_nocancel 395 -#define SYS_read_nocancel 396 -#define SYS_write_nocancel 397 -#define SYS_open_nocancel 398 -#define SYS_close_nocancel 399 -#define SYS_wait4_nocancel 400 -#define SYS_recvmsg_nocancel 401 -#define SYS_sendmsg_nocancel 402 -#define SYS_recvfrom_nocancel 403 -#define SYS_accept_nocancel 404 -#define SYS_msync_nocancel 405 -#define SYS_fcntl_nocancel 406 -#define SYS_select_nocancel 407 -#define SYS_fsync_nocancel 408 -#define SYS_connect_nocancel 409 -#define SYS_sigsuspend_nocancel 410 -#define SYS_readv_nocancel 411 -#define SYS_writev_nocancel 412 -#define SYS_sendto_nocancel 413 -#define SYS_pread_nocancel 414 -#define SYS_pwrite_nocancel 415 -#define SYS_waitid_nocancel 416 -#define SYS_poll_nocancel 417 -#define SYS_msgsnd_nocancel 418 -#define SYS_msgrcv_nocancel 419 -#define SYS_sem_wait_nocancel 420 -#define SYS_aio_suspend_nocancel 421 -#define SYS___sigwait_nocancel 422 -#define SYS___semwait_signal_nocancel 423 -#define SYS___mac_mount 424 -#define SYS___mac_get_mount 425 -#define SYS___mac_getfsstat 426 -#define SYS_fsgetpath 427 -#define SYS_audit_session_self 428 -#define SYS_audit_session_join 429 -#define SYS_fileport_makeport 430 -#define SYS_fileport_makefd 431 -#define SYS_audit_session_port 432 -#define SYS_pid_suspend 433 -#define SYS_pid_resume 434 -#define SYS_pid_hibernate 435 -#define SYS_pid_shutdown_sockets 436 -/* 437 old shared_region_slide_np */ -/* 438 old shared_region_map_and_slide_np */ -#define SYS_kas_info 439 -#define SYS_memorystatus_control 440 -#define SYS_guarded_open_np 441 -#define SYS_guarded_close_np 442 -#define SYS_guarded_kqueue_np 443 -#define SYS_change_fdguard_np 444 -#define SYS_usrctl 445 -#define SYS_proc_rlimit_control 446 -#define SYS_connectx 447 -#define SYS_disconnectx 448 -#define SYS_peeloff 449 -#define SYS_socket_delegate 450 -#define SYS_telemetry 451 -#define SYS_proc_uuid_policy 452 -#define SYS_memorystatus_get_level 453 -#define SYS_system_override 454 -#define SYS_vfs_purge 455 -#define SYS_sfi_ctl 456 -#define SYS_sfi_pidctl 457 -#define SYS_coalition 458 -#define SYS_coalition_info 459 -#define SYS_necp_match_policy 460 -#define SYS_getattrlistbulk 461 -#define SYS_clonefileat 462 -#define SYS_openat 463 -#define SYS_openat_nocancel 464 -#define SYS_renameat 465 -#define SYS_faccessat 466 -#define SYS_fchmodat 467 -#define SYS_fchownat 468 -#define SYS_fstatat 469 -#define SYS_fstatat64 470 -#define SYS_linkat 471 -#define SYS_unlinkat 472 -#define SYS_readlinkat 473 -#define SYS_symlinkat 474 -#define SYS_mkdirat 475 -#define SYS_getattrlistat 476 -#define SYS_proc_trace_log 477 -#define SYS_bsdthread_ctl 478 -#define SYS_openbyid_np 479 -#define SYS_recvmsg_x 480 -#define SYS_sendmsg_x 481 -#define SYS_thread_selfusage 482 -#define SYS_csrctl 483 -#define SYS_guarded_open_dprotected_np 484 -#define SYS_guarded_write_np 485 -#define SYS_guarded_pwrite_np 486 -#define SYS_guarded_writev_np 487 -#define SYS_renameatx_np 488 -#define SYS_mremap_encrypted 489 -#define SYS_netagent_trigger 490 -#define SYS_stack_snapshot_with_config 491 -#define SYS_microstackshot 492 -#define SYS_grab_pgo_data 493 -#define SYS_persona 494 -/* 495 */ -#define SYS_mach_eventlink_signal 496 -#define SYS_mach_eventlink_wait_until 497 -#define SYS_mach_eventlink_signal_wait_until 498 -#define SYS_work_interval_ctl 499 -#define SYS_getentropy 500 -#define SYS_necp_open 501 -#define SYS_necp_client_action 502 -#define SYS___nexus_open 503 -#define SYS___nexus_register 504 -#define SYS___nexus_deregister 505 -#define SYS___nexus_create 506 -#define SYS___nexus_destroy 507 -#define SYS___nexus_get_opt 508 -#define SYS___nexus_set_opt 509 -#define SYS___channel_open 510 -#define SYS___channel_get_info 511 -#define SYS___channel_sync 512 -#define SYS___channel_get_opt 513 -#define SYS___channel_set_opt 514 -#define SYS_ulock_wait 515 -#define SYS_ulock_wake 516 -#define SYS_fclonefileat 517 -#define SYS_fs_snapshot 518 -#define SYS_register_uexc_handler 519 -#define SYS_terminate_with_payload 520 -#define SYS_abort_with_payload 521 -#define SYS_necp_session_open 522 -#define SYS_necp_session_action 523 -#define SYS_setattrlistat 524 -#define SYS_net_qos_guideline 525 -#define SYS_fmount 526 -#define SYS_ntp_adjtime 527 -#define SYS_ntp_gettime 528 -#define SYS_os_fault_with_payload 529 -#define SYS_kqueue_workloop_ctl 530 -#define SYS___mach_bridge_remote_time 531 -#define SYS_coalition_ledger 532 -#define SYS_log_data 533 -#define SYS_memorystatus_available_memory 534 -#define SYS_objc_bp_assist_cfg_np 535 -#define SYS_shared_region_map_and_slide_2_np 536 -#define SYS_pivot_root 537 -#define SYS_task_inspect_for_pid 538 -#define SYS_task_read_for_pid 539 -#define SYS_preadv 540 -#define SYS_pwritev 541 -#define SYS_preadv_nocancel 542 -#define SYS_pwritev_nocancel 543 -#define SYS_ulock_wait2 544 -#define SYS_proc_info_extended_id 545 -#define SYS_tracker_action 546 -#define SYS_debug_syscall_reject 547 -#define SYS_debug_syscall_reject_config 548 -#define SYS_graftdmg 549 -#define SYS_map_with_linking_np 550 -#define SYS_freadlink 551 -#define SYS_record_system_event 552 -#define SYS_mkfifoat 553 -#define SYS_mknodat 554 -#define SYS_ungraftdmg 555 -#define SYS_coalition_policy_set 556 -#define SYS_coalition_policy_get 557 -#define SYS_MAXSYSCALL 558 -#define SYS_invalid 63 +#include +// #define SYS_syscall 0 +// #define SYS_exit 1 +// #define SYS_fork 2 +// #define SYS_read 3 +// #define SYS_write 4 +// #define SYS_open 5 +// #define SYS_close 6 +// #define SYS_wait4 7 +///* 8 old creat */ +// #define SYS_link 9 +// #define SYS_unlink 10 +///* 11 old execv */ +// #define SYS_chdir 12 +// #define SYS_fchdir 13 +// #define SYS_mknod 14 +// #define SYS_chmod 15 +// #define SYS_chown 16 +///* 17 old break */ +// #define SYS_getfsstat 18 +///* 19 old lseek */ +// #define SYS_getpid 20 +///* 21 old mount */ +///* 22 old umount */ +// #define SYS_setuid 23 +// #define SYS_getuid 24 +// #define SYS_geteuid 25 +// #define SYS_ptrace 26 +// #define SYS_recvmsg 27 +// #define SYS_sendmsg 28 +// #define SYS_recvfrom 29 +// #define SYS_accept 30 +// #define SYS_getpeername 31 +// #define SYS_getsockname 32 +// #define SYS_access 33 +// #define SYS_chflags 34 +// #define SYS_fchflags 35 +// #define SYS_sync 36 +// #define SYS_kill 37 +// #define SYS_crossarch_trap 38 +// #define SYS_getppid 39 +///* 40 old lstat */ +// #define SYS_dup 41 +// #define SYS_pipe 42 +// #define SYS_getegid 43 +///* 44 old profil */ +///* 45 old ktrace */ +// #define SYS_sigaction 46 +// #define SYS_getgid 47 +// #define SYS_sigprocmask 48 +// #define SYS_getlogin 49 +// #define SYS_setlogin 50 +// #define SYS_acct 51 +// #define SYS_sigpending 52 +// #define SYS_sigaltstack 53 +// #define SYS_ioctl 54 +// #define SYS_reboot 55 +// #define SYS_revoke 56 +// #define SYS_symlink 57 +// #define SYS_readlink 58 +// #define SYS_execve 59 +// #define SYS_umask 60 +// #define SYS_chroot 61 +///* 62 old fstat */ +///* 63 used internally and reserved */ +///* 64 old getpagesize */ +// #define SYS_msync 65 +// #define SYS_vfork 66 +// #define SYS_oslog_coproc_reg 67 +// #define SYS_oslog_coproc 68 +///* 69 old sbrk */ +///* 70 old sstk */ +///* 71 old mmap */ +///* 72 old vadvise */ +// #define SYS_munmap 73 +// #define SYS_mprotect 74 +// #define SYS_madvise 75 +///* 76 old vhangup */ +///* 77 old vlimit */ +// #define SYS_mincore 78 +// #define SYS_getgroups 79 +// #define SYS_setgroups 80 +// #define SYS_getpgrp 81 +// #define SYS_setpgid 82 +// #define SYS_setitimer 83 +///* 84 old wait */ +// #define SYS_swapon 85 +// #define SYS_getitimer 86 +///* 87 old gethostname */ +///* 88 old sethostname */ +// #define SYS_getdtablesize 89 +// #define SYS_dup2 90 +///* 91 old getdopt */ +// #define SYS_fcntl 92 +// #define SYS_select 93 +///* 94 old setdopt */ +// #define SYS_fsync 95 +// #define SYS_setpriority 96 +// #define SYS_socket 97 +// #define SYS_connect 98 +///* 99 old accept */ +// #define SYS_getpriority 100 +///* 101 old send */ +///* 102 old recv */ +///* 103 old sigreturn */ +// #define SYS_bind 104 +// #define SYS_setsockopt 105 +// #define SYS_listen 106 +///* 107 old vtimes */ +///* 108 old sigvec */ +///* 109 old sigblock */ +///* 110 old sigsetmask */ +// #define SYS_sigsuspend 111 +///* 112 old sigstack */ +///* 113 old recvmsg */ +///* 114 old sendmsg */ +///* 115 old vtrace */ +// #define SYS_gettimeofday 116 +// #define SYS_getrusage 117 +// #define SYS_getsockopt 118 +///* 119 old resuba */ +// #define SYS_readv 120 +// #define SYS_writev 121 +// #define SYS_settimeofday 122 +// #define SYS_fchown 123 +// #define SYS_fchmod 124 +///* 125 old recvfrom */ +// #define SYS_setreuid 126 +// #define SYS_setregid 127 +// #define SYS_rename 128 +///* 129 old truncate */ +///* 130 old ftruncate */ +// #define SYS_flock 131 +// #define SYS_mkfifo 132 +// #define SYS_sendto 133 +// #define SYS_shutdown 134 +// #define SYS_socketpair 135 +// #define SYS_mkdir 136 +// #define SYS_rmdir 137 +// #define SYS_utimes 138 +// #define SYS_futimes 139 +// #define SYS_adjtime 140 +///* 141 old getpeername */ +// #define SYS_gethostuuid 142 +///* 143 old sethostid */ +///* 144 old getrlimit */ +///* 145 old setrlimit */ +///* 146 old killpg */ +// #define SYS_setsid 147 +///* 148 old setquota */ +///* 149 old qquota */ +///* 150 old getsockname */ +// #define SYS_getpgid 151 +// #define SYS_setprivexec 152 +// #define SYS_pread 153 +// #define SYS_pwrite 154 +// #define SYS_nfssvc 155 +///* 156 old getdirentries */ +// #define SYS_statfs 157 +// #define SYS_fstatfs 158 +// #define SYS_unmount 159 +///* 160 old async_daemon */ +// #define SYS_getfh 161 +///* 162 old getdomainname */ +///* 163 old setdomainname */ +///* 164 */ +// #define SYS_quotactl 165 +///* 166 old exportfs */ +// #define SYS_mount 167 +///* 168 old ustat */ +// #define SYS_csops 169 +// #define SYS_csops_audittoken 170 +///* 171 old wait3 */ +///* 172 old rpause */ +// #define SYS_waitid 173 +///* 174 old getdents */ +///* 175 old gc_control */ +///* 176 old add_profil */ +// #define SYS_kdebug_typefilter 177 +// #define SYS_kdebug_trace_string 178 +// #define SYS_kdebug_trace64 179 +// #define SYS_kdebug_trace 180 +// #define SYS_setgid 181 +// #define SYS_setegid 182 +// #define SYS_seteuid 183 +// #define SYS_sigreturn 184 +// #define SYS_panic_with_data 185 +// #define SYS_thread_selfcounts 186 +// #define SYS_fdatasync 187 +// #define SYS_stat 188 +// #define SYS_fstat 189 +// #define SYS_lstat 190 +// #define SYS_pathconf 191 +// #define SYS_fpathconf 192 +///* 193 old getfsstat */ +// #define SYS_getrlimit 194 +// #define SYS_setrlimit 195 +// #define SYS_getdirentries 196 +// #define SYS_mmap 197 +///* 198 old __syscall */ +// #define SYS_lseek 199 +// #define SYS_truncate 200 +// #define SYS_ftruncate 201 +// #define SYS_sysctl 202 +// #define SYS_mlock 203 +// #define SYS_munlock 204 +// #define SYS_undelete 205 +///* 206 old ATsocket */ +///* 207 old ATgetmsg */ +///* 208 old ATputmsg */ +///* 209 old ATsndreq */ +///* 210 old ATsndrsp */ +///* 211 old ATgetreq */ +///* 212 old ATgetrsp */ +///* 213 Reserved for AppleTalk */ +///* 214 */ +///* 215 */ +// #define SYS_open_dprotected_np 216 +// #define SYS_fsgetpath_ext 217 +// #define SYS_openat_dprotected_np 218 +///* 219 old fstatv */ +// #define SYS_getattrlist 220 +// #define SYS_setattrlist 221 +// #define SYS_getdirentriesattr 222 +// #define SYS_exchangedata 223 +///* 224 old checkuseraccess or fsgetpath */ +// #define SYS_searchfs 225 +// #define SYS_delete 226 +// #define SYS_copyfile 227 +// #define SYS_fgetattrlist 228 +// #define SYS_fsetattrlist 229 +// #define SYS_poll 230 +///* 231 old watchevent */ +///* 232 old waitevent */ +///* 233 old modwatch */ +// #define SYS_getxattr 234 +// #define SYS_fgetxattr 235 +// #define SYS_setxattr 236 +// #define SYS_fsetxattr 237 +// #define SYS_removexattr 238 +// #define SYS_fremovexattr 239 +// #define SYS_listxattr 240 +// #define SYS_flistxattr 241 +// #define SYS_fsctl 242 +// #define SYS_initgroups 243 +// #define SYS_posix_spawn 244 +// #define SYS_ffsctl 245 +///* 246 */ +///* 247 old nfsclnt */ +// #define SYS_fhopen 248 +///* 249 */ +// #define SYS_minherit 250 +// #define SYS_semsys 251 +// #define SYS_msgsys 252 +// #define SYS_shmsys 253 +// #define SYS_semctl 254 +// #define SYS_semget 255 +// #define SYS_semop 256 +///* 257 old semconfig */ +// #define SYS_msgctl 258 +// #define SYS_msgget 259 +// #define SYS_msgsnd 260 +// #define SYS_msgrcv 261 +// #define SYS_shmat 262 +// #define SYS_shmctl 263 +// #define SYS_shmdt 264 +// #define SYS_shmget 265 +// #define SYS_shm_open 266 +// #define SYS_shm_unlink 267 +// #define SYS_sem_open 268 +// #define SYS_sem_close 269 +// #define SYS_sem_unlink 270 +// #define SYS_sem_wait 271 +// #define SYS_sem_trywait 272 +// #define SYS_sem_post 273 +// #define SYS_sysctlbyname 274 +///* 275 old sem_init */ +///* 276 old sem_destroy */ +// #define SYS_open_extended 277 +// #define SYS_umask_extended 278 +// #define SYS_stat_extended 279 +// #define SYS_lstat_extended 280 +// #define SYS_fstat_extended 281 +// #define SYS_chmod_extended 282 +// #define SYS_fchmod_extended 283 +// #define SYS_access_extended 284 +// #define SYS_settid 285 +// #define SYS_gettid 286 +// #define SYS_setsgroups 287 +// #define SYS_getsgroups 288 +// #define SYS_setwgroups 289 +// #define SYS_getwgroups 290 +// #define SYS_mkfifo_extended 291 +// #define SYS_mkdir_extended 292 +// #define SYS_identitysvc 293 +// #define SYS_shared_region_check_np 294 +///* 295 old shared_region_map_np */ +// #define SYS_vm_pressure_monitor 296 +// #define SYS_psynch_rw_longrdlock 297 +// #define SYS_psynch_rw_yieldwrlock 298 +// #define SYS_psynch_rw_downgrade 299 +// #define SYS_psynch_rw_upgrade 300 +// #define SYS_psynch_mutexwait 301 +// #define SYS_psynch_mutexdrop 302 +// #define SYS_psynch_cvbroad 303 +// #define SYS_psynch_cvsignal 304 +// #define SYS_psynch_cvwait 305 +// #define SYS_psynch_rw_rdlock 306 +// #define SYS_psynch_rw_wrlock 307 +// #define SYS_psynch_rw_unlock 308 +// #define SYS_psynch_rw_unlock2 309 +// #define SYS_getsid 310 +// #define SYS_settid_with_pid 311 +// #define SYS_psynch_cvclrprepost 312 +// #define SYS_aio_fsync 313 +// #define SYS_aio_return 314 +// #define SYS_aio_suspend 315 +// #define SYS_aio_cancel 316 +// #define SYS_aio_error 317 +// #define SYS_aio_read 318 +// #define SYS_aio_write 319 +// #define SYS_lio_listio 320 +///* 321 old __pthread_cond_wait */ +// #define SYS_iopolicysys 322 +// #define SYS_process_policy 323 +// #define SYS_mlockall 324 +// #define SYS_munlockall 325 +///* 326 */ +// #define SYS_issetugid 327 +// #define SYS___pthread_kill 328 +// #define SYS___pthread_sigmask 329 +// #define SYS___sigwait 330 +// #define SYS___disable_threadsignal 331 +// #define SYS___pthread_markcancel 332 +// #define SYS___pthread_canceled 333 +// #define SYS___semwait_signal 334 +///* 335 old utrace */ +// #define SYS_proc_info 336 +// #define SYS_sendfile 337 +// #define SYS_stat64 338 +// #define SYS_fstat64 339 +// #define SYS_lstat64 340 +// #define SYS_stat64_extended 341 +// #define SYS_lstat64_extended 342 +// #define SYS_fstat64_extended 343 +// #define SYS_getdirentries64 344 +// #define SYS_statfs64 345 +// #define SYS_fstatfs64 346 +// #define SYS_getfsstat64 347 +// #define SYS___pthread_chdir 348 +// #define SYS___pthread_fchdir 349 +// #define SYS_audit 350 +// #define SYS_auditon 351 +///* 352 */ +// #define SYS_getauid 353 +// #define SYS_setauid 354 +///* 355 old getaudit */ +///* 356 old setaudit */ +// #define SYS_getaudit_addr 357 +// #define SYS_setaudit_addr 358 +// #define SYS_auditctl 359 +// #define SYS_bsdthread_create 360 +// #define SYS_bsdthread_terminate 361 +// #define SYS_kqueue 362 +// #define SYS_kevent 363 +// #define SYS_lchown 364 +///* 365 old stack_snapshot */ +// #define SYS_bsdthread_register 366 +// #define SYS_workq_open 367 +// #define SYS_workq_kernreturn 368 +// #define SYS_kevent64 369 +///* 370 old __semwait_signal */ +///* 371 old __semwait_signal */ +// #define SYS_thread_selfid 372 +// #define SYS_ledger 373 +// #define SYS_kevent_qos 374 +// #define SYS_kevent_id 375 +///* 376 */ +///* 377 */ +///* 378 */ +///* 379 */ +// #define SYS___mac_execve 380 +// #define SYS___mac_syscall 381 +// #define SYS___mac_get_file 382 +// #define SYS___mac_set_file 383 +// #define SYS___mac_get_link 384 +// #define SYS___mac_set_link 385 +// #define SYS___mac_get_proc 386 +// #define SYS___mac_set_proc 387 +// #define SYS___mac_get_fd 388 +// #define SYS___mac_set_fd 389 +// #define SYS___mac_get_pid 390 +///* 391 */ +///* 392 */ +///* 393 */ +// #define SYS_pselect 394 +// #define SYS_pselect_nocancel 395 +// #define SYS_read_nocancel 396 +// #define SYS_write_nocancel 397 +// #define SYS_open_nocancel 398 +// #define SYS_close_nocancel 399 +// #define SYS_wait4_nocancel 400 +// #define SYS_recvmsg_nocancel 401 +// #define SYS_sendmsg_nocancel 402 +// #define SYS_recvfrom_nocancel 403 +// #define SYS_accept_nocancel 404 +// #define SYS_msync_nocancel 405 +// #define SYS_fcntl_nocancel 406 +// #define SYS_select_nocancel 407 +// #define SYS_fsync_nocancel 408 +// #define SYS_connect_nocancel 409 +// #define SYS_sigsuspend_nocancel 410 +// #define SYS_readv_nocancel 411 +// #define SYS_writev_nocancel 412 +// #define SYS_sendto_nocancel 413 +// #define SYS_pread_nocancel 414 +// #define SYS_pwrite_nocancel 415 +// #define SYS_waitid_nocancel 416 +// #define SYS_poll_nocancel 417 +// #define SYS_msgsnd_nocancel 418 +// #define SYS_msgrcv_nocancel 419 +// #define SYS_sem_wait_nocancel 420 +// #define SYS_aio_suspend_nocancel 421 +// #define SYS___sigwait_nocancel 422 +// #define SYS___semwait_signal_nocancel 423 +// #define SYS___mac_mount 424 +// #define SYS___mac_get_mount 425 +// #define SYS___mac_getfsstat 426 +// #define SYS_fsgetpath 427 +// #define SYS_audit_session_self 428 +// #define SYS_audit_session_join 429 +// #define SYS_fileport_makeport 430 +// #define SYS_fileport_makefd 431 +// #define SYS_audit_session_port 432 +// #define SYS_pid_suspend 433 +// #define SYS_pid_resume 434 +// #define SYS_pid_hibernate 435 +// #define SYS_pid_shutdown_sockets 436 +///* 437 old shared_region_slide_np */ +///* 438 old shared_region_map_and_slide_np */ +// #define SYS_kas_info 439 +// #define SYS_memorystatus_control 440 +// #define SYS_guarded_open_np 441 +// #define SYS_guarded_close_np 442 +// #define SYS_guarded_kqueue_np 443 +// #define SYS_change_fdguard_np 444 +// #define SYS_usrctl 445 +// #define SYS_proc_rlimit_control 446 +// #define SYS_connectx 447 +// #define SYS_disconnectx 448 +// #define SYS_peeloff 449 +// #define SYS_socket_delegate 450 +// #define SYS_telemetry 451 +// #define SYS_proc_uuid_policy 452 +// #define SYS_memorystatus_get_level 453 +// #define SYS_system_override 454 +// #define SYS_vfs_purge 455 +// #define SYS_sfi_ctl 456 +// #define SYS_sfi_pidctl 457 +// #define SYS_coalition 458 +// #define SYS_coalition_info 459 +// #define SYS_necp_match_policy 460 +// #define SYS_getattrlistbulk 461 +// #define SYS_clonefileat 462 +// #define SYS_openat 463 +// #define SYS_openat_nocancel 464 +// #define SYS_renameat 465 +// #define SYS_faccessat 466 +// #define SYS_fchmodat 467 +// #define SYS_fchownat 468 +// #define SYS_fstatat 469 +// #define SYS_fstatat64 470 +// #define SYS_linkat 471 +// #define SYS_unlinkat 472 +// #define SYS_readlinkat 473 +// #define SYS_symlinkat 474 +// #define SYS_mkdirat 475 +// #define SYS_getattrlistat 476 +// #define SYS_proc_trace_log 477 +// #define SYS_bsdthread_ctl 478 +// #define SYS_openbyid_np 479 +// #define SYS_recvmsg_x 480 +// #define SYS_sendmsg_x 481 +// #define SYS_thread_selfusage 482 +// #define SYS_csrctl 483 +// #define SYS_guarded_open_dprotected_np 484 +// #define SYS_guarded_write_np 485 +// #define SYS_guarded_pwrite_np 486 +// #define SYS_guarded_writev_np 487 +// #define SYS_renameatx_np 488 +// #define SYS_mremap_encrypted 489 +// #define SYS_netagent_trigger 490 +// #define SYS_stack_snapshot_with_config 491 +// #define SYS_microstackshot 492 +// #define SYS_grab_pgo_data 493 +// #define SYS_persona 494 +///* 495 */ +// #define SYS_mach_eventlink_signal 496 +// #define SYS_mach_eventlink_wait_until 497 +// #define SYS_mach_eventlink_signal_wait_until 498 +// #define SYS_work_interval_ctl 499 +// #define SYS_getentropy 500 +// #define SYS_necp_open 501 +// #define SYS_necp_client_action 502 +// #define SYS___nexus_open 503 +// #define SYS___nexus_register 504 +// #define SYS___nexus_deregister 505 +// #define SYS___nexus_create 506 +// #define SYS___nexus_destroy 507 +// #define SYS___nexus_get_opt 508 +// #define SYS___nexus_set_opt 509 +// #define SYS___channel_open 510 +// #define SYS___channel_get_info 511 +// #define SYS___channel_sync 512 +// #define SYS___channel_get_opt 513 +// #define SYS___channel_set_opt 514 +// #define SYS_ulock_wait 515 +// #define SYS_ulock_wake 516 +// #define SYS_fclonefileat 517 +// #define SYS_fs_snapshot 518 +// #define SYS_register_uexc_handler 519 +// #define SYS_terminate_with_payload 520 +// #define SYS_abort_with_payload 521 +// #define SYS_necp_session_open 522 +// #define SYS_necp_session_action 523 +// #define SYS_setattrlistat 524 +// #define SYS_net_qos_guideline 525 +// #define SYS_fmount 526 +// #define SYS_ntp_adjtime 527 +// #define SYS_ntp_gettime 528 +// #define SYS_os_fault_with_payload 529 +// #define SYS_kqueue_workloop_ctl 530 +// #define SYS___mach_bridge_remote_time 531 +// #define SYS_coalition_ledger 532 +// #define SYS_log_data 533 +// #define SYS_memorystatus_available_memory 534 +// #define SYS_objc_bp_assist_cfg_np 535 +// #define SYS_shared_region_map_and_slide_2_np 536 +// #define SYS_pivot_root 537 +// #define SYS_task_inspect_for_pid 538 +// #define SYS_task_read_for_pid 539 +// #define SYS_preadv 540 +// #define SYS_pwritev 541 +// #define SYS_preadv_nocancel 542 +// #define SYS_pwritev_nocancel 543 +// #define SYS_ulock_wait2 544 +// #define SYS_proc_info_extended_id 545 +// #define SYS_tracker_action 546 +// #define SYS_debug_syscall_reject 547 +// #define SYS_debug_syscall_reject_config 548 +// #define SYS_graftdmg 549 +// #define SYS_map_with_linking_np 550 +// #define SYS_freadlink 551 +// #define SYS_record_system_event 552 +// #define SYS_mkfifoat 553 +// #define SYS_mknodat 554 +// #define SYS_ungraftdmg 555 +// #define SYS_coalition_policy_set 556 +// #define SYS_coalition_policy_get 557 +// #define SYS_MAXSYSCALL 558 +// #define SYS_invalid 63 /* SYSCALL NUMBERS END */ From d3c590f37b0f92998952f39dbceea9019bfcee4f Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Fri, 7 Nov 2025 19:31:09 +0530 Subject: [PATCH 06/13] [libc] use as its cleaner and license compliant --- libc/include/sys/syscall.h.def | 4 + .../__support/OSUtil/darwin/aarch64/syscall.h | 572 ------------------ 2 files changed, 4 insertions(+), 572 deletions(-) diff --git a/libc/include/sys/syscall.h.def b/libc/include/sys/syscall.h.def index 60e5024e500e3..333ad659184a3 100644 --- a/libc/include/sys/syscall.h.def +++ b/libc/include/sys/syscall.h.def @@ -11,6 +11,9 @@ //TODO: Handle non-linux syscalls +#if defined(__APPLE__) +#include +#else #include #ifdef __NR_FAST_atomic_update @@ -2361,5 +2364,6 @@ #define SYS_writev __NR_writev #endif +#endif #endif // LLVM_LIBC_SYS_SYSCALL_H diff --git a/libc/src/__support/OSUtil/darwin/aarch64/syscall.h b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h index 2e9f1759df85a..dc98c07a8ba33 100644 --- a/libc/src/__support/OSUtil/darwin/aarch64/syscall.h +++ b/libc/src/__support/OSUtil/darwin/aarch64/syscall.h @@ -110,576 +110,4 @@ LIBC_INLINE long syscall_impl(long number, long arg1, long arg2, long arg3, #undef REGISTER_CONSTRAINT_5 #undef REGISTER_CONSTRAINT_6 -/* Following has been copied from MacOSX15.5 sdk - * This has been referenced from and generated by the syscalls.master file - * that can be found - * https://github.com/apple-oss-distributions/xnu/blob/f6217f891ac0bb64f3d375211650a4c1ff8ca1ea/bsd/kern/syscalls.master - */ - -/* SYSCALL NUMBERS START */ - -#include -// #define SYS_syscall 0 -// #define SYS_exit 1 -// #define SYS_fork 2 -// #define SYS_read 3 -// #define SYS_write 4 -// #define SYS_open 5 -// #define SYS_close 6 -// #define SYS_wait4 7 -///* 8 old creat */ -// #define SYS_link 9 -// #define SYS_unlink 10 -///* 11 old execv */ -// #define SYS_chdir 12 -// #define SYS_fchdir 13 -// #define SYS_mknod 14 -// #define SYS_chmod 15 -// #define SYS_chown 16 -///* 17 old break */ -// #define SYS_getfsstat 18 -///* 19 old lseek */ -// #define SYS_getpid 20 -///* 21 old mount */ -///* 22 old umount */ -// #define SYS_setuid 23 -// #define SYS_getuid 24 -// #define SYS_geteuid 25 -// #define SYS_ptrace 26 -// #define SYS_recvmsg 27 -// #define SYS_sendmsg 28 -// #define SYS_recvfrom 29 -// #define SYS_accept 30 -// #define SYS_getpeername 31 -// #define SYS_getsockname 32 -// #define SYS_access 33 -// #define SYS_chflags 34 -// #define SYS_fchflags 35 -// #define SYS_sync 36 -// #define SYS_kill 37 -// #define SYS_crossarch_trap 38 -// #define SYS_getppid 39 -///* 40 old lstat */ -// #define SYS_dup 41 -// #define SYS_pipe 42 -// #define SYS_getegid 43 -///* 44 old profil */ -///* 45 old ktrace */ -// #define SYS_sigaction 46 -// #define SYS_getgid 47 -// #define SYS_sigprocmask 48 -// #define SYS_getlogin 49 -// #define SYS_setlogin 50 -// #define SYS_acct 51 -// #define SYS_sigpending 52 -// #define SYS_sigaltstack 53 -// #define SYS_ioctl 54 -// #define SYS_reboot 55 -// #define SYS_revoke 56 -// #define SYS_symlink 57 -// #define SYS_readlink 58 -// #define SYS_execve 59 -// #define SYS_umask 60 -// #define SYS_chroot 61 -///* 62 old fstat */ -///* 63 used internally and reserved */ -///* 64 old getpagesize */ -// #define SYS_msync 65 -// #define SYS_vfork 66 -// #define SYS_oslog_coproc_reg 67 -// #define SYS_oslog_coproc 68 -///* 69 old sbrk */ -///* 70 old sstk */ -///* 71 old mmap */ -///* 72 old vadvise */ -// #define SYS_munmap 73 -// #define SYS_mprotect 74 -// #define SYS_madvise 75 -///* 76 old vhangup */ -///* 77 old vlimit */ -// #define SYS_mincore 78 -// #define SYS_getgroups 79 -// #define SYS_setgroups 80 -// #define SYS_getpgrp 81 -// #define SYS_setpgid 82 -// #define SYS_setitimer 83 -///* 84 old wait */ -// #define SYS_swapon 85 -// #define SYS_getitimer 86 -///* 87 old gethostname */ -///* 88 old sethostname */ -// #define SYS_getdtablesize 89 -// #define SYS_dup2 90 -///* 91 old getdopt */ -// #define SYS_fcntl 92 -// #define SYS_select 93 -///* 94 old setdopt */ -// #define SYS_fsync 95 -// #define SYS_setpriority 96 -// #define SYS_socket 97 -// #define SYS_connect 98 -///* 99 old accept */ -// #define SYS_getpriority 100 -///* 101 old send */ -///* 102 old recv */ -///* 103 old sigreturn */ -// #define SYS_bind 104 -// #define SYS_setsockopt 105 -// #define SYS_listen 106 -///* 107 old vtimes */ -///* 108 old sigvec */ -///* 109 old sigblock */ -///* 110 old sigsetmask */ -// #define SYS_sigsuspend 111 -///* 112 old sigstack */ -///* 113 old recvmsg */ -///* 114 old sendmsg */ -///* 115 old vtrace */ -// #define SYS_gettimeofday 116 -// #define SYS_getrusage 117 -// #define SYS_getsockopt 118 -///* 119 old resuba */ -// #define SYS_readv 120 -// #define SYS_writev 121 -// #define SYS_settimeofday 122 -// #define SYS_fchown 123 -// #define SYS_fchmod 124 -///* 125 old recvfrom */ -// #define SYS_setreuid 126 -// #define SYS_setregid 127 -// #define SYS_rename 128 -///* 129 old truncate */ -///* 130 old ftruncate */ -// #define SYS_flock 131 -// #define SYS_mkfifo 132 -// #define SYS_sendto 133 -// #define SYS_shutdown 134 -// #define SYS_socketpair 135 -// #define SYS_mkdir 136 -// #define SYS_rmdir 137 -// #define SYS_utimes 138 -// #define SYS_futimes 139 -// #define SYS_adjtime 140 -///* 141 old getpeername */ -// #define SYS_gethostuuid 142 -///* 143 old sethostid */ -///* 144 old getrlimit */ -///* 145 old setrlimit */ -///* 146 old killpg */ -// #define SYS_setsid 147 -///* 148 old setquota */ -///* 149 old qquota */ -///* 150 old getsockname */ -// #define SYS_getpgid 151 -// #define SYS_setprivexec 152 -// #define SYS_pread 153 -// #define SYS_pwrite 154 -// #define SYS_nfssvc 155 -///* 156 old getdirentries */ -// #define SYS_statfs 157 -// #define SYS_fstatfs 158 -// #define SYS_unmount 159 -///* 160 old async_daemon */ -// #define SYS_getfh 161 -///* 162 old getdomainname */ -///* 163 old setdomainname */ -///* 164 */ -// #define SYS_quotactl 165 -///* 166 old exportfs */ -// #define SYS_mount 167 -///* 168 old ustat */ -// #define SYS_csops 169 -// #define SYS_csops_audittoken 170 -///* 171 old wait3 */ -///* 172 old rpause */ -// #define SYS_waitid 173 -///* 174 old getdents */ -///* 175 old gc_control */ -///* 176 old add_profil */ -// #define SYS_kdebug_typefilter 177 -// #define SYS_kdebug_trace_string 178 -// #define SYS_kdebug_trace64 179 -// #define SYS_kdebug_trace 180 -// #define SYS_setgid 181 -// #define SYS_setegid 182 -// #define SYS_seteuid 183 -// #define SYS_sigreturn 184 -// #define SYS_panic_with_data 185 -// #define SYS_thread_selfcounts 186 -// #define SYS_fdatasync 187 -// #define SYS_stat 188 -// #define SYS_fstat 189 -// #define SYS_lstat 190 -// #define SYS_pathconf 191 -// #define SYS_fpathconf 192 -///* 193 old getfsstat */ -// #define SYS_getrlimit 194 -// #define SYS_setrlimit 195 -// #define SYS_getdirentries 196 -// #define SYS_mmap 197 -///* 198 old __syscall */ -// #define SYS_lseek 199 -// #define SYS_truncate 200 -// #define SYS_ftruncate 201 -// #define SYS_sysctl 202 -// #define SYS_mlock 203 -// #define SYS_munlock 204 -// #define SYS_undelete 205 -///* 206 old ATsocket */ -///* 207 old ATgetmsg */ -///* 208 old ATputmsg */ -///* 209 old ATsndreq */ -///* 210 old ATsndrsp */ -///* 211 old ATgetreq */ -///* 212 old ATgetrsp */ -///* 213 Reserved for AppleTalk */ -///* 214 */ -///* 215 */ -// #define SYS_open_dprotected_np 216 -// #define SYS_fsgetpath_ext 217 -// #define SYS_openat_dprotected_np 218 -///* 219 old fstatv */ -// #define SYS_getattrlist 220 -// #define SYS_setattrlist 221 -// #define SYS_getdirentriesattr 222 -// #define SYS_exchangedata 223 -///* 224 old checkuseraccess or fsgetpath */ -// #define SYS_searchfs 225 -// #define SYS_delete 226 -// #define SYS_copyfile 227 -// #define SYS_fgetattrlist 228 -// #define SYS_fsetattrlist 229 -// #define SYS_poll 230 -///* 231 old watchevent */ -///* 232 old waitevent */ -///* 233 old modwatch */ -// #define SYS_getxattr 234 -// #define SYS_fgetxattr 235 -// #define SYS_setxattr 236 -// #define SYS_fsetxattr 237 -// #define SYS_removexattr 238 -// #define SYS_fremovexattr 239 -// #define SYS_listxattr 240 -// #define SYS_flistxattr 241 -// #define SYS_fsctl 242 -// #define SYS_initgroups 243 -// #define SYS_posix_spawn 244 -// #define SYS_ffsctl 245 -///* 246 */ -///* 247 old nfsclnt */ -// #define SYS_fhopen 248 -///* 249 */ -// #define SYS_minherit 250 -// #define SYS_semsys 251 -// #define SYS_msgsys 252 -// #define SYS_shmsys 253 -// #define SYS_semctl 254 -// #define SYS_semget 255 -// #define SYS_semop 256 -///* 257 old semconfig */ -// #define SYS_msgctl 258 -// #define SYS_msgget 259 -// #define SYS_msgsnd 260 -// #define SYS_msgrcv 261 -// #define SYS_shmat 262 -// #define SYS_shmctl 263 -// #define SYS_shmdt 264 -// #define SYS_shmget 265 -// #define SYS_shm_open 266 -// #define SYS_shm_unlink 267 -// #define SYS_sem_open 268 -// #define SYS_sem_close 269 -// #define SYS_sem_unlink 270 -// #define SYS_sem_wait 271 -// #define SYS_sem_trywait 272 -// #define SYS_sem_post 273 -// #define SYS_sysctlbyname 274 -///* 275 old sem_init */ -///* 276 old sem_destroy */ -// #define SYS_open_extended 277 -// #define SYS_umask_extended 278 -// #define SYS_stat_extended 279 -// #define SYS_lstat_extended 280 -// #define SYS_fstat_extended 281 -// #define SYS_chmod_extended 282 -// #define SYS_fchmod_extended 283 -// #define SYS_access_extended 284 -// #define SYS_settid 285 -// #define SYS_gettid 286 -// #define SYS_setsgroups 287 -// #define SYS_getsgroups 288 -// #define SYS_setwgroups 289 -// #define SYS_getwgroups 290 -// #define SYS_mkfifo_extended 291 -// #define SYS_mkdir_extended 292 -// #define SYS_identitysvc 293 -// #define SYS_shared_region_check_np 294 -///* 295 old shared_region_map_np */ -// #define SYS_vm_pressure_monitor 296 -// #define SYS_psynch_rw_longrdlock 297 -// #define SYS_psynch_rw_yieldwrlock 298 -// #define SYS_psynch_rw_downgrade 299 -// #define SYS_psynch_rw_upgrade 300 -// #define SYS_psynch_mutexwait 301 -// #define SYS_psynch_mutexdrop 302 -// #define SYS_psynch_cvbroad 303 -// #define SYS_psynch_cvsignal 304 -// #define SYS_psynch_cvwait 305 -// #define SYS_psynch_rw_rdlock 306 -// #define SYS_psynch_rw_wrlock 307 -// #define SYS_psynch_rw_unlock 308 -// #define SYS_psynch_rw_unlock2 309 -// #define SYS_getsid 310 -// #define SYS_settid_with_pid 311 -// #define SYS_psynch_cvclrprepost 312 -// #define SYS_aio_fsync 313 -// #define SYS_aio_return 314 -// #define SYS_aio_suspend 315 -// #define SYS_aio_cancel 316 -// #define SYS_aio_error 317 -// #define SYS_aio_read 318 -// #define SYS_aio_write 319 -// #define SYS_lio_listio 320 -///* 321 old __pthread_cond_wait */ -// #define SYS_iopolicysys 322 -// #define SYS_process_policy 323 -// #define SYS_mlockall 324 -// #define SYS_munlockall 325 -///* 326 */ -// #define SYS_issetugid 327 -// #define SYS___pthread_kill 328 -// #define SYS___pthread_sigmask 329 -// #define SYS___sigwait 330 -// #define SYS___disable_threadsignal 331 -// #define SYS___pthread_markcancel 332 -// #define SYS___pthread_canceled 333 -// #define SYS___semwait_signal 334 -///* 335 old utrace */ -// #define SYS_proc_info 336 -// #define SYS_sendfile 337 -// #define SYS_stat64 338 -// #define SYS_fstat64 339 -// #define SYS_lstat64 340 -// #define SYS_stat64_extended 341 -// #define SYS_lstat64_extended 342 -// #define SYS_fstat64_extended 343 -// #define SYS_getdirentries64 344 -// #define SYS_statfs64 345 -// #define SYS_fstatfs64 346 -// #define SYS_getfsstat64 347 -// #define SYS___pthread_chdir 348 -// #define SYS___pthread_fchdir 349 -// #define SYS_audit 350 -// #define SYS_auditon 351 -///* 352 */ -// #define SYS_getauid 353 -// #define SYS_setauid 354 -///* 355 old getaudit */ -///* 356 old setaudit */ -// #define SYS_getaudit_addr 357 -// #define SYS_setaudit_addr 358 -// #define SYS_auditctl 359 -// #define SYS_bsdthread_create 360 -// #define SYS_bsdthread_terminate 361 -// #define SYS_kqueue 362 -// #define SYS_kevent 363 -// #define SYS_lchown 364 -///* 365 old stack_snapshot */ -// #define SYS_bsdthread_register 366 -// #define SYS_workq_open 367 -// #define SYS_workq_kernreturn 368 -// #define SYS_kevent64 369 -///* 370 old __semwait_signal */ -///* 371 old __semwait_signal */ -// #define SYS_thread_selfid 372 -// #define SYS_ledger 373 -// #define SYS_kevent_qos 374 -// #define SYS_kevent_id 375 -///* 376 */ -///* 377 */ -///* 378 */ -///* 379 */ -// #define SYS___mac_execve 380 -// #define SYS___mac_syscall 381 -// #define SYS___mac_get_file 382 -// #define SYS___mac_set_file 383 -// #define SYS___mac_get_link 384 -// #define SYS___mac_set_link 385 -// #define SYS___mac_get_proc 386 -// #define SYS___mac_set_proc 387 -// #define SYS___mac_get_fd 388 -// #define SYS___mac_set_fd 389 -// #define SYS___mac_get_pid 390 -///* 391 */ -///* 392 */ -///* 393 */ -// #define SYS_pselect 394 -// #define SYS_pselect_nocancel 395 -// #define SYS_read_nocancel 396 -// #define SYS_write_nocancel 397 -// #define SYS_open_nocancel 398 -// #define SYS_close_nocancel 399 -// #define SYS_wait4_nocancel 400 -// #define SYS_recvmsg_nocancel 401 -// #define SYS_sendmsg_nocancel 402 -// #define SYS_recvfrom_nocancel 403 -// #define SYS_accept_nocancel 404 -// #define SYS_msync_nocancel 405 -// #define SYS_fcntl_nocancel 406 -// #define SYS_select_nocancel 407 -// #define SYS_fsync_nocancel 408 -// #define SYS_connect_nocancel 409 -// #define SYS_sigsuspend_nocancel 410 -// #define SYS_readv_nocancel 411 -// #define SYS_writev_nocancel 412 -// #define SYS_sendto_nocancel 413 -// #define SYS_pread_nocancel 414 -// #define SYS_pwrite_nocancel 415 -// #define SYS_waitid_nocancel 416 -// #define SYS_poll_nocancel 417 -// #define SYS_msgsnd_nocancel 418 -// #define SYS_msgrcv_nocancel 419 -// #define SYS_sem_wait_nocancel 420 -// #define SYS_aio_suspend_nocancel 421 -// #define SYS___sigwait_nocancel 422 -// #define SYS___semwait_signal_nocancel 423 -// #define SYS___mac_mount 424 -// #define SYS___mac_get_mount 425 -// #define SYS___mac_getfsstat 426 -// #define SYS_fsgetpath 427 -// #define SYS_audit_session_self 428 -// #define SYS_audit_session_join 429 -// #define SYS_fileport_makeport 430 -// #define SYS_fileport_makefd 431 -// #define SYS_audit_session_port 432 -// #define SYS_pid_suspend 433 -// #define SYS_pid_resume 434 -// #define SYS_pid_hibernate 435 -// #define SYS_pid_shutdown_sockets 436 -///* 437 old shared_region_slide_np */ -///* 438 old shared_region_map_and_slide_np */ -// #define SYS_kas_info 439 -// #define SYS_memorystatus_control 440 -// #define SYS_guarded_open_np 441 -// #define SYS_guarded_close_np 442 -// #define SYS_guarded_kqueue_np 443 -// #define SYS_change_fdguard_np 444 -// #define SYS_usrctl 445 -// #define SYS_proc_rlimit_control 446 -// #define SYS_connectx 447 -// #define SYS_disconnectx 448 -// #define SYS_peeloff 449 -// #define SYS_socket_delegate 450 -// #define SYS_telemetry 451 -// #define SYS_proc_uuid_policy 452 -// #define SYS_memorystatus_get_level 453 -// #define SYS_system_override 454 -// #define SYS_vfs_purge 455 -// #define SYS_sfi_ctl 456 -// #define SYS_sfi_pidctl 457 -// #define SYS_coalition 458 -// #define SYS_coalition_info 459 -// #define SYS_necp_match_policy 460 -// #define SYS_getattrlistbulk 461 -// #define SYS_clonefileat 462 -// #define SYS_openat 463 -// #define SYS_openat_nocancel 464 -// #define SYS_renameat 465 -// #define SYS_faccessat 466 -// #define SYS_fchmodat 467 -// #define SYS_fchownat 468 -// #define SYS_fstatat 469 -// #define SYS_fstatat64 470 -// #define SYS_linkat 471 -// #define SYS_unlinkat 472 -// #define SYS_readlinkat 473 -// #define SYS_symlinkat 474 -// #define SYS_mkdirat 475 -// #define SYS_getattrlistat 476 -// #define SYS_proc_trace_log 477 -// #define SYS_bsdthread_ctl 478 -// #define SYS_openbyid_np 479 -// #define SYS_recvmsg_x 480 -// #define SYS_sendmsg_x 481 -// #define SYS_thread_selfusage 482 -// #define SYS_csrctl 483 -// #define SYS_guarded_open_dprotected_np 484 -// #define SYS_guarded_write_np 485 -// #define SYS_guarded_pwrite_np 486 -// #define SYS_guarded_writev_np 487 -// #define SYS_renameatx_np 488 -// #define SYS_mremap_encrypted 489 -// #define SYS_netagent_trigger 490 -// #define SYS_stack_snapshot_with_config 491 -// #define SYS_microstackshot 492 -// #define SYS_grab_pgo_data 493 -// #define SYS_persona 494 -///* 495 */ -// #define SYS_mach_eventlink_signal 496 -// #define SYS_mach_eventlink_wait_until 497 -// #define SYS_mach_eventlink_signal_wait_until 498 -// #define SYS_work_interval_ctl 499 -// #define SYS_getentropy 500 -// #define SYS_necp_open 501 -// #define SYS_necp_client_action 502 -// #define SYS___nexus_open 503 -// #define SYS___nexus_register 504 -// #define SYS___nexus_deregister 505 -// #define SYS___nexus_create 506 -// #define SYS___nexus_destroy 507 -// #define SYS___nexus_get_opt 508 -// #define SYS___nexus_set_opt 509 -// #define SYS___channel_open 510 -// #define SYS___channel_get_info 511 -// #define SYS___channel_sync 512 -// #define SYS___channel_get_opt 513 -// #define SYS___channel_set_opt 514 -// #define SYS_ulock_wait 515 -// #define SYS_ulock_wake 516 -// #define SYS_fclonefileat 517 -// #define SYS_fs_snapshot 518 -// #define SYS_register_uexc_handler 519 -// #define SYS_terminate_with_payload 520 -// #define SYS_abort_with_payload 521 -// #define SYS_necp_session_open 522 -// #define SYS_necp_session_action 523 -// #define SYS_setattrlistat 524 -// #define SYS_net_qos_guideline 525 -// #define SYS_fmount 526 -// #define SYS_ntp_adjtime 527 -// #define SYS_ntp_gettime 528 -// #define SYS_os_fault_with_payload 529 -// #define SYS_kqueue_workloop_ctl 530 -// #define SYS___mach_bridge_remote_time 531 -// #define SYS_coalition_ledger 532 -// #define SYS_log_data 533 -// #define SYS_memorystatus_available_memory 534 -// #define SYS_objc_bp_assist_cfg_np 535 -// #define SYS_shared_region_map_and_slide_2_np 536 -// #define SYS_pivot_root 537 -// #define SYS_task_inspect_for_pid 538 -// #define SYS_task_read_for_pid 539 -// #define SYS_preadv 540 -// #define SYS_pwritev 541 -// #define SYS_preadv_nocancel 542 -// #define SYS_pwritev_nocancel 543 -// #define SYS_ulock_wait2 544 -// #define SYS_proc_info_extended_id 545 -// #define SYS_tracker_action 546 -// #define SYS_debug_syscall_reject 547 -// #define SYS_debug_syscall_reject_config 548 -// #define SYS_graftdmg 549 -// #define SYS_map_with_linking_np 550 -// #define SYS_freadlink 551 -// #define SYS_record_system_event 552 -// #define SYS_mkfifoat 553 -// #define SYS_mknodat 554 -// #define SYS_ungraftdmg 555 -// #define SYS_coalition_policy_set 556 -// #define SYS_coalition_policy_get 557 -// #define SYS_MAXSYSCALL 558 -// #define SYS_invalid 63 - -/* SYSCALL NUMBERS END */ - #endif // LLVM_LIBC_SRC___SUPPORT_OSUTIL_DARWIN_ARM_SYSCALL_H From c4c46d9c873f71d28bde60838786f2d7d6970a99 Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Sat, 8 Nov 2025 14:41:59 +0530 Subject: [PATCH 07/13] [libc] include sdk path Signed-off-by: Shreeyash Pandey --- libc/cmake/modules/LLVMLibCCompileOptionRules.cmake | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake b/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake index 4e9a9b66a63a7..1ff70f671b2a7 100644 --- a/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake +++ b/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake @@ -174,6 +174,19 @@ function(_get_common_compile_options output_var flags) list(APPEND compile_options "-idirafter${LIBC_KERNEL_HEADERS}") endif() endif() + if(LIBC_TARGET_OS_IS_DARWIN) + execute_process( + COMMAND xcrun --sdk macosx --show-sdk-path + OUTPUT_VARIABLE MACOSX_SDK_PATH + RESULT_VARIABLE MACOSX_SDK_PATH_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(MACOSX_SDK_PATH_RESULT EQUAL 0) + list(APPEND compile_options "-I" "${MACOSX_SDK_PATH}/usr/include") + else() + message(WARNING "Could not find macOS SDK path. `xcrun --sdk macosx --show-sdk-path` failed.") + endif() + endif() endif() if(LIBC_COMPILER_HAS_FIXED_POINT) From 3f0f23981e99701ae49423c3868724d21df829f0 Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Sat, 8 Nov 2025 14:45:03 +0530 Subject: [PATCH 08/13] [libc] make include guards explicit Signed-off-by: Shreeyash Pandey --- libc/include/sys/syscall.h.def | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libc/include/sys/syscall.h.def b/libc/include/sys/syscall.h.def index 333ad659184a3..112fdd2d80369 100644 --- a/libc/include/sys/syscall.h.def +++ b/libc/include/sys/syscall.h.def @@ -9,11 +9,12 @@ #ifndef LLVM_LIBC_SYS_SYSCALL_H #define LLVM_LIBC_SYS_SYSCALL_H -//TODO: Handle non-linux syscalls - #if defined(__APPLE__) + #include -#else + +#elif defined(__linux__) + #include #ifdef __NR_FAST_atomic_update @@ -2364,6 +2365,6 @@ #define SYS_writev __NR_writev #endif -#endif +#endif // __linux__ #endif // LLVM_LIBC_SYS_SYSCALL_H From 1aeec7e2fc6f5d17c4ffe28b4460c52c195e1b1b Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Thu, 13 Nov 2025 23:03:02 +0530 Subject: [PATCH 09/13] [libc] move darwin check to Architecture.cmake from CompileOptionsRules.cmake --- .../cmake/modules/LLVMLibCArchitectures.cmake | 31 +++++++++++++++++++ .../modules/LLVMLibCCompileOptionRules.cmake | 13 -------- 2 files changed, 31 insertions(+), 13 deletions(-) diff --git a/libc/cmake/modules/LLVMLibCArchitectures.cmake b/libc/cmake/modules/LLVMLibCArchitectures.cmake index 6c730f807de6d..939fc1226a4e9 100644 --- a/libc/cmake/modules/LLVMLibCArchitectures.cmake +++ b/libc/cmake/modules/LLVMLibCArchitectures.cmake @@ -215,6 +215,37 @@ else() "Unsupported libc target operating system ${LIBC_TARGET_OS}") endif() +# If the compiler target triple is not the same as the triple specified by +# LIBC_TARGET_TRIPLE or LLVM_RUNTIMES_TARGET, we will add a --target option +# if the compiler is clang. If the compiler is GCC we just error out as there +# is no equivalent of an option like --target. +if(explicit_target_triple AND + (NOT (libc_compiler_triple STREQUAL explicit_target_triple))) + set(LIBC_CROSSBUILD TRUE) + if(CMAKE_COMPILER_IS_GNUCXX) + message(FATAL_ERROR + "GCC target triple (${libc_compiler_triple}) and the explicity " + "specified target triple (${explicit_target_triple}) do not match.") + else() + list(APPEND + LIBC_COMPILE_OPTIONS_DEFAULT "--target=${explicit_target_triple}") + endif() +endif() + +if(LIBC_TARGET_OS_IS_DARWIN) + execute_process( + COMMAND xcrun --sdk macosx --show-sdk-path + OUTPUT_VARIABLE MACOSX_SDK_PATH + RESULT_VARIABLE MACOSX_SDK_PATH_RESULT + OUTPUT_STRIP_TRAILING_WHITESPACE + ) + if(MACOSX_SDK_PATH_RESULT EQUAL 0) + list(APPEND LIBC_COMPILE_OPTIONS_DEFAULT "-I" "${MACOSX_SDK_PATH}/usr/include") + else() + message(WARNING "Could not find macOS SDK path. `xcrun --sdk macosx --show-sdk-path` failed.") + endif() +endif() + # Windows does not support full mode build. if (LIBC_TARGET_OS_IS_WINDOWS AND LLVM_LIBC_FULL_BUILD) message(FATAL_ERROR "Windows does not support full mode build.") diff --git a/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake b/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake index 1ff70f671b2a7..4e9a9b66a63a7 100644 --- a/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake +++ b/libc/cmake/modules/LLVMLibCCompileOptionRules.cmake @@ -174,19 +174,6 @@ function(_get_common_compile_options output_var flags) list(APPEND compile_options "-idirafter${LIBC_KERNEL_HEADERS}") endif() endif() - if(LIBC_TARGET_OS_IS_DARWIN) - execute_process( - COMMAND xcrun --sdk macosx --show-sdk-path - OUTPUT_VARIABLE MACOSX_SDK_PATH - RESULT_VARIABLE MACOSX_SDK_PATH_RESULT - OUTPUT_STRIP_TRAILING_WHITESPACE - ) - if(MACOSX_SDK_PATH_RESULT EQUAL 0) - list(APPEND compile_options "-I" "${MACOSX_SDK_PATH}/usr/include") - else() - message(WARNING "Could not find macOS SDK path. `xcrun --sdk macosx --show-sdk-path` failed.") - endif() - endif() endif() if(LIBC_COMPILER_HAS_FIXED_POINT) From bbdc081bb762054be703491c673cda22bd972709 Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Fri, 14 Nov 2025 17:14:16 +0530 Subject: [PATCH 10/13] [libc] remove syscall.h include --- libc/include/sys/syscall.h.def | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/libc/include/sys/syscall.h.def b/libc/include/sys/syscall.h.def index 112fdd2d80369..f7e53cc4942d5 100644 --- a/libc/include/sys/syscall.h.def +++ b/libc/include/sys/syscall.h.def @@ -9,11 +9,7 @@ #ifndef LLVM_LIBC_SYS_SYSCALL_H #define LLVM_LIBC_SYS_SYSCALL_H -#if defined(__APPLE__) - -#include - -#elif defined(__linux__) +#if defined(__linux__) #include From df8ef1022fda642faa92f1dece7f90c12ac114fb Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Tue, 4 Nov 2025 17:08:20 +0530 Subject: [PATCH 11/13] [libc][test] split exit tests into two separate tests _Exit(3) is a fairly simple syscall wrapper whereas exit(3) calls atexit-registered functions + whole lot of stuff that require support for sync primitives. Splitting the tests allows testing the former easily (especially for new port projects) Signed-off-by: Shreeyash Pandey --- libc/test/src/stdlib/CMakeLists.txt | 13 +++++++++++++ libc/test/src/stdlib/_Exit_test.cpp | 4 ---- libc/test/src/stdlib/exit_test.cpp | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+), 4 deletions(-) create mode 100644 libc/test/src/stdlib/exit_test.cpp diff --git a/libc/test/src/stdlib/CMakeLists.txt b/libc/test/src/stdlib/CMakeLists.txt index 42e8faa3fd69f..80aab080e36d4 100644 --- a/libc/test/src/stdlib/CMakeLists.txt +++ b/libc/test/src/stdlib/CMakeLists.txt @@ -398,6 +398,19 @@ if(LLVM_LIBC_FULL_BUILD) libc-stdlib-tests SRCS _Exit_test.cpp + DEPENDS + libc.src.__support.OSUtil.osutil + libc.src.stdlib._Exit + ) + + add_libc_test( + exit_test + # The EXPECT_EXITS test is only availible for unit tests. + UNIT_TEST_ONLY + SUITE + libc-stdlib-tests + SRCS + exit_test.cpp DEPENDS libc.src.stdlib._Exit libc.src.stdlib.exit diff --git a/libc/test/src/stdlib/_Exit_test.cpp b/libc/test/src/stdlib/_Exit_test.cpp index 333277dc01dca..57c432828c2f3 100644 --- a/libc/test/src/stdlib/_Exit_test.cpp +++ b/libc/test/src/stdlib/_Exit_test.cpp @@ -7,13 +7,9 @@ //===----------------------------------------------------------------------===// #include "src/stdlib/_Exit.h" -#include "src/stdlib/exit.h" #include "test/UnitTest/Test.h" TEST(LlvmLibcStdlib, _Exit) { EXPECT_EXITS([] { LIBC_NAMESPACE::_Exit(1); }, 1); EXPECT_EXITS([] { LIBC_NAMESPACE::_Exit(65); }, 65); - - EXPECT_EXITS([] { LIBC_NAMESPACE::exit(1); }, 1); - EXPECT_EXITS([] { LIBC_NAMESPACE::exit(65); }, 65); } diff --git a/libc/test/src/stdlib/exit_test.cpp b/libc/test/src/stdlib/exit_test.cpp new file mode 100644 index 0000000000000..333277dc01dca --- /dev/null +++ b/libc/test/src/stdlib/exit_test.cpp @@ -0,0 +1,19 @@ +//===-- Unittests for _Exit -----------------------------------------------===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// + +#include "src/stdlib/_Exit.h" +#include "src/stdlib/exit.h" +#include "test/UnitTest/Test.h" + +TEST(LlvmLibcStdlib, _Exit) { + EXPECT_EXITS([] { LIBC_NAMESPACE::_Exit(1); }, 1); + EXPECT_EXITS([] { LIBC_NAMESPACE::_Exit(65); }, 65); + + EXPECT_EXITS([] { LIBC_NAMESPACE::exit(1); }, 1); + EXPECT_EXITS([] { LIBC_NAMESPACE::exit(65); }, 65); +} From ba495338b37a37fb3b898f3a4a1b08da901b4d7f Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Thu, 6 Nov 2025 14:08:41 +0530 Subject: [PATCH 12/13] [libc] remove _Exit mentions from exit_test.cpp Signed-off-by: Shreeyash Pandey --- libc/test/src/stdlib/exit_test.cpp | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libc/test/src/stdlib/exit_test.cpp b/libc/test/src/stdlib/exit_test.cpp index 333277dc01dca..5c82d8303036a 100644 --- a/libc/test/src/stdlib/exit_test.cpp +++ b/libc/test/src/stdlib/exit_test.cpp @@ -1,4 +1,4 @@ -//===-- Unittests for _Exit -----------------------------------------------===// +//===-- Unittests for exit -----------------------------------------------===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. @@ -6,14 +6,10 @@ // //===----------------------------------------------------------------------===// -#include "src/stdlib/_Exit.h" #include "src/stdlib/exit.h" #include "test/UnitTest/Test.h" -TEST(LlvmLibcStdlib, _Exit) { - EXPECT_EXITS([] { LIBC_NAMESPACE::_Exit(1); }, 1); - EXPECT_EXITS([] { LIBC_NAMESPACE::_Exit(65); }, 65); - +TEST(LlvmLibcStdlib, exit) { EXPECT_EXITS([] { LIBC_NAMESPACE::exit(1); }, 1); EXPECT_EXITS([] { LIBC_NAMESPACE::exit(65); }, 65); } From b336af89809ce29f22d14ccdd90510f12d2425c0 Mon Sep 17 00:00:00 2001 From: Shreeyash Pandey Date: Thu, 13 Nov 2025 12:00:54 +0530 Subject: [PATCH 13/13] [libc] remove struct --- libc/test/UnitTest/ExecuteFunctionUnix.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libc/test/UnitTest/ExecuteFunctionUnix.cpp b/libc/test/UnitTest/ExecuteFunctionUnix.cpp index 7c2eb7c6e887c..ab18f7a2ebf52 100644 --- a/libc/test/UnitTest/ExecuteFunctionUnix.cpp +++ b/libc/test/UnitTest/ExecuteFunctionUnix.cpp @@ -57,7 +57,7 @@ ProcessStatus invoke_in_subprocess(FunctionCaller *func, int timeout_ms) { } ::close(pipe_fds[1]); - struct pollfd poll_fd{pipe_fds[0], POLLIN, 0}; + pollfd poll_fd{pipe_fds[0], POLLIN, 0}; // No events requested so this call will only return after the timeout or if // the pipes peer was closed, signaling the process exited. if (::poll(&poll_fd, 1, timeout_ms) == -1) {