16d3f4dcdSBrooks Davis# Implement symbols common to libc and libsys. 26d3f4dcdSBrooks Davis# 36d3f4dcdSBrooks Davis# When dynamically linked, the libc symbols are filtered by the actual 46d3f4dcdSBrooks Davis# implementations in libsys. When statically linked, both libc and 56d3f4dcdSBrooks Davis# libsys contain full implementations to preserve the API of libc.a. 66d3f4dcdSBrooks Davis# 76d3f4dcdSBrooks Davis# The following variable are programmer-defined: 86d3f4dcdSBrooks Davis# 96d3f4dcdSBrooks Davis# MDASM Override the default syscall implementation in MIASM 106d3f4dcdSBrooks Davis# (from syscall.mk below). Each entry is a source file 116d3f4dcdSBrooks Davis# name (e.g., vfork.S). 126d3f4dcdSBrooks Davis# Generally defined in <arch>/Makefile.sys. 136d3f4dcdSBrooks Davis# NOASM Don't generate system call stubs. Each entry is an 146d3f4dcdSBrooks Davis# object file name (e.g., yeild.o). Don't add more of these. 156d3f4dcdSBrooks Davis# PSEUDO Generate _<sys> and __sys_<sys> symbols, but not <sys>. 166d3f4dcdSBrooks Davis# Each entry is a bare syscall name (e.g., "clock_gettime"). 176d3f4dcdSBrooks Davis# INTERPOSED Like PSEUDO, but <sys>.c is added to SRCS. 186d3f4dcdSBrooks Davis# Used for syscalls intercepted by the threading library. 196d3f4dcdSBrooks Davis# 208f529310SBrooks Davis.PATH: ${LIBSYS_SRCTOP}/${LIBC_ARCH} ${LIBSYS_SRCTOP} 218f529310SBrooks Davis 228f529310SBrooks Davis# Include the generated makefile containing the *complete* list 238f529310SBrooks Davis# of syscall names in MIASM. 248f529310SBrooks Davis.include "${SRCTOP}/sys/sys/syscall.mk" 258f529310SBrooks Davis 268f529310SBrooks Davis# Include machine dependent definitions. 2731a46e2cSBrooks Davis.include "${LIBSYS_SRCTOP}/${LIBC_ARCH}/Makefile.sys" 2831a46e2cSBrooks Davis.if ${LIBC_ARCH} == "i386" || ${LIBC_ARCH} == "amd64" 2931a46e2cSBrooks Davis.include "${LIBSYS_SRCTOP}/x86/Makefile.sys" 3031a46e2cSBrooks Davis.endif 318f529310SBrooks Davis 328f529310SBrooks DavisSRCS+= clock_gettime.c gettimeofday.c __vdso_gettimeofday.c 338f529310SBrooks Davis 348f529310SBrooks Davis# Sources common to both syscall interfaces: 358f529310SBrooks DavisSRCS+= \ 368f529310SBrooks Davis __error.c \ 3710f1b536SBrooks Davis __getosreldate.c \ 38f70c5a09SBrooks Davis getpagesize.c \ 39f70c5a09SBrooks Davis getpagesizes.c \ 40f7dbbbd1SBrooks Davis libsys_sigwait.c 418f529310SBrooks Davis 4299ea6757SBrooks Davis.if ${LIB} == "c" 4399ea6757SBrooks Davis# Trapping stubs in dynamic libc to be filtered by libsys. 4499ea6757SBrooks DavisSOBJS+= libc_stubs.pico 4599ea6757SBrooks Davis 4699ea6757SBrooks Davis# Link the full implementation of ELF auxargs for static libc. 4799ea6757SBrooks DavisSTATICOBJS+= auxv.o 4874484086SBrooks Davis 4974484086SBrooks DavisSTATICOBJS+= interposing_table.o 5099ea6757SBrooks Davis.endif 5199ea6757SBrooks Davis 52f102db50SBrooks DavisPSEUDO= \ 53cdb24fbbSBrooks Davis __realpathat \ 546d3f4dcdSBrooks Davis clock_gettime \ 556d3f4dcdSBrooks Davis exit \ 566d3f4dcdSBrooks Davis getlogin \ 576d3f4dcdSBrooks Davis gettimeofday \ 586d3f4dcdSBrooks Davis sched_getcpu 59f102db50SBrooks Davis 608f529310SBrooks DavisINTERPOSED = \ 618f529310SBrooks Davis accept \ 628f529310SBrooks Davis accept4 \ 638f529310SBrooks Davis aio_suspend \ 648f529310SBrooks Davis clock_nanosleep \ 658f529310SBrooks Davis close \ 668f529310SBrooks Davis connect \ 678f529310SBrooks Davis fcntl \ 688f529310SBrooks Davis fdatasync \ 698f529310SBrooks Davis fsync \ 708f529310SBrooks Davis fork \ 718f529310SBrooks Davis kevent \ 728f529310SBrooks Davis msync \ 738f529310SBrooks Davis nanosleep \ 748f529310SBrooks Davis open \ 758f529310SBrooks Davis openat \ 768f529310SBrooks Davis pdfork \ 778f529310SBrooks Davis poll \ 788f529310SBrooks Davis ppoll \ 798f529310SBrooks Davis pselect \ 808f529310SBrooks Davis ptrace \ 818f529310SBrooks Davis read \ 828f529310SBrooks Davis readv \ 838f529310SBrooks Davis recvfrom \ 848f529310SBrooks Davis recvmsg \ 858f529310SBrooks Davis select \ 868f529310SBrooks Davis sendmsg \ 878f529310SBrooks Davis sendto \ 888f529310SBrooks Davis setcontext \ 898f529310SBrooks Davis sigaction \ 908f529310SBrooks Davis sigprocmask \ 918f529310SBrooks Davis sigsuspend \ 928f529310SBrooks Davis sigtimedwait \ 938f529310SBrooks Davis sigwait \ 948f529310SBrooks Davis sigwaitinfo \ 958f529310SBrooks Davis swapcontext \ 968f529310SBrooks Davis wait4 \ 978f529310SBrooks Davis wait6 \ 988f529310SBrooks Davis write \ 998f529310SBrooks Davis writev 1008f529310SBrooks Davis 1016d3f4dcdSBrooks DavisPSEUDO+= ${INTERPOSED} 1028f529310SBrooks Davis 1038f529310SBrooks Davis# Add machine dependent asm sources: 1048f529310SBrooks DavisSRCS+=${MDASM} 1058f529310SBrooks Davis 1068f529310SBrooks Davis# Look though the complete list of syscalls (MIASM) for names that are 107e52a9177SBrooks Davis# not defined with machine dependent implementations (MDASM), not declared 108e52a9177SBrooks Davis# without a trival <sys> symbol (PSEUDO). Add each syscall that satisfies 109e52a9177SBrooks Davis# these conditions to the ASM list. 1108f529310SBrooks Davis.for _asm in ${MIASM} 1116d3f4dcdSBrooks Davis.if !${MDASM:R:M${_asm:R}} && !${NOASM:R:M${_asm:R}} && !${PSEUDO:M${_asm:R}} 1128f529310SBrooks DavisASM+=$(_asm) 1138f529310SBrooks Davis.endif 1148f529310SBrooks Davis.endfor 1158f529310SBrooks Davis 1168f529310SBrooks DavisSASM= ${ASM:S/.o/.S/} 1178f529310SBrooks Davis 1186d3f4dcdSBrooks DavisSPSEUDO= ${PSEUDO:C/^.*$/_&.S/} 1198f529310SBrooks Davis 1208f529310SBrooks DavisSRCS+= ${SASM} ${SPSEUDO} 1218f529310SBrooks Davis 12286deddfaSBrooks DavisSYM_MAPS+= ${LIBSYS_SRCTOP}/syscalls.map 1238f529310SBrooks DavisSYM_MAPS+= ${LIBSYS_SRCTOP}/Symbol.sys.map 1241e2502bfSBrooks Davis.if exists(${LIBSYS_SRCTOP}/${LIBC_ARCH}/Symbol.sys.map) 1251e2502bfSBrooks DavisSYM_MAPS+= ${LIBSYS_SRCTOP}/${LIBC_ARCH}/Symbol.sys.map 1261e2502bfSBrooks Davis.endif 1278f529310SBrooks Davis 1288f529310SBrooks Davis# Generated files 1298f529310SBrooks DavisCLEANFILES+= ${SASM} ${SPSEUDO} 1308f529310SBrooks Davis 1318f529310SBrooks DavisNOTE_GNU_STACK='\t.section .note.GNU-stack,"",%%progbits\n' 1328f529310SBrooks Davis.if ${MACHINE_CPUARCH} == "aarch64" 133269593dcSBrooks DavisFEATURE_NOTE='\#include <sys/elf_common.h>\nGNU_PROPERTY_AARCH64_FEATURE_1_NOTE(GNU_PROPERTY_AARCH64_FEATURE_1_VAL)\n' 1348f529310SBrooks Davis.else 1358f529310SBrooks DavisFEATURE_NOTE='' 1368f529310SBrooks Davis.endif 1378f529310SBrooks Davis 1388f529310SBrooks Davis${SASM}: 1398f529310SBrooks Davis printf '/* %sgenerated by libc/sys/Makefile.inc */\n' @ > ${.TARGET} 1408f529310SBrooks Davis printf '#include "compat.h"\n' >> ${.TARGET} 1418f529310SBrooks Davis printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >> ${.TARGET} 1428f529310SBrooks Davis printf ${NOTE_GNU_STACK} >>${.TARGET} 1438f529310SBrooks Davis printf ${FEATURE_NOTE} >> ${.TARGET} 1448f529310SBrooks Davis 1458f529310SBrooks Davis${SPSEUDO}: 1468f529310SBrooks Davis printf '/* %sgenerated by libc/sys/Makefile.inc */\n' @ > ${.TARGET} 1478f529310SBrooks Davis printf '#include "compat.h"\n' >> ${.TARGET} 1488f529310SBrooks Davis printf '#include "SYS.h"\nPSEUDO(${.PREFIX:S/_//})\n' \ 1498f529310SBrooks Davis >> ${.TARGET} 1508f529310SBrooks Davis printf ${NOTE_GNU_STACK} >>${.TARGET} 1518f529310SBrooks Davis printf ${FEATURE_NOTE} >> ${.TARGET} 1528f529310SBrooks Davis 153e9d96105SBrooks Davis.if ${LIB} == "sys" 1548f529310SBrooks DavisMAN+= abort2.2 \ 1558f529310SBrooks Davis accept.2 \ 1568f529310SBrooks Davis access.2 \ 1578f529310SBrooks Davis acct.2 \ 1588f529310SBrooks Davis adjtime.2 \ 1598f529310SBrooks Davis aio_cancel.2 \ 1608f529310SBrooks Davis aio_error.2 \ 1618f529310SBrooks Davis aio_fsync.2 \ 1628f529310SBrooks Davis aio_mlock.2 \ 1638f529310SBrooks Davis aio_read.2 \ 1648f529310SBrooks Davis aio_return.2 \ 1658f529310SBrooks Davis aio_suspend.2 \ 1668f529310SBrooks Davis aio_waitcomplete.2 \ 1678f529310SBrooks Davis aio_write.2 \ 1684c33415eSBrooks Davis auxv.3 \ 1698f529310SBrooks Davis bind.2 \ 1708f529310SBrooks Davis bindat.2 \ 1718f529310SBrooks Davis brk.2 \ 1728f529310SBrooks Davis cap_enter.2 \ 1738f529310SBrooks Davis cap_fcntls_limit.2 \ 1748f529310SBrooks Davis cap_ioctls_limit.2 \ 1758f529310SBrooks Davis cap_rights_limit.2 \ 1768f529310SBrooks Davis chdir.2 \ 1778f529310SBrooks Davis chflags.2 \ 1788f529310SBrooks Davis chmod.2 \ 1798f529310SBrooks Davis chown.2 \ 1808f529310SBrooks Davis chroot.2 \ 1818f529310SBrooks Davis clock_gettime.2 \ 1828f529310SBrooks Davis close.2 \ 1838f529310SBrooks Davis closefrom.2 \ 1848f529310SBrooks Davis connect.2 \ 1858f529310SBrooks Davis connectat.2 \ 1868f529310SBrooks Davis copy_file_range.2 \ 1878f529310SBrooks Davis cpuset.2 \ 1888f529310SBrooks Davis cpuset_getaffinity.2 \ 1898f529310SBrooks Davis cpuset_getdomain.2 \ 19029d079c9SBrooks Davis creat.2 \ 1918f529310SBrooks Davis dup.2 \ 1928f529310SBrooks Davis eventfd.2 \ 1938f529310SBrooks Davis execve.2 \ 1948f529310SBrooks Davis _exit.2 \ 1958f529310SBrooks Davis extattr_get_file.2 \ 1968f529310SBrooks Davis fcntl.2 \ 1978f529310SBrooks Davis ffclock.2 \ 1988f529310SBrooks Davis fhlink.2 \ 1998f529310SBrooks Davis fhopen.2 \ 2008f529310SBrooks Davis fhreadlink.2 \ 2018f529310SBrooks Davis flock.2 \ 2028f529310SBrooks Davis fork.2 \ 2038f529310SBrooks Davis fspacectl.2 \ 2048f529310SBrooks Davis fsync.2 \ 2058f529310SBrooks Davis getdirentries.2 \ 2068f529310SBrooks Davis getdtablesize.2 \ 2078f529310SBrooks Davis getfh.2 \ 2088f529310SBrooks Davis getfsstat.2 \ 2098f529310SBrooks Davis getgid.2 \ 2108f529310SBrooks Davis getgroups.2 \ 2118f529310SBrooks Davis getitimer.2 \ 2128f529310SBrooks Davis getlogin.2 \ 2138f529310SBrooks Davis getloginclass.2 \ 2148f529310SBrooks Davis getpeername.2 \ 2158f529310SBrooks Davis getpgrp.2 \ 2168f529310SBrooks Davis getpid.2 \ 2178f529310SBrooks Davis getpriority.2 \ 2188f529310SBrooks Davis getrandom.2 \ 2198f529310SBrooks Davis getrlimit.2 \ 2203670421eSKonstantin Belousov getrlimitusage.2 \ 2218f529310SBrooks Davis getrusage.2 \ 2228f529310SBrooks Davis getsid.2 \ 2238f529310SBrooks Davis getsockname.2 \ 2248f529310SBrooks Davis getsockopt.2 \ 2258f529310SBrooks Davis gettimeofday.2 \ 2268f529310SBrooks Davis getuid.2 \ 227*5202cfcfSMark Johnston inotify.2 \ 2288f529310SBrooks Davis intro.2 \ 2298f529310SBrooks Davis ioctl.2 \ 2308f529310SBrooks Davis issetugid.2 \ 2318f529310SBrooks Davis jail.2 \ 2328f529310SBrooks Davis kcmp.2 \ 2338f529310SBrooks Davis kenv.2 \ 2348f529310SBrooks Davis kill.2 \ 2358f529310SBrooks Davis kldfind.2 \ 2368f529310SBrooks Davis kldfirstmod.2 \ 2378f529310SBrooks Davis kldload.2 \ 2388f529310SBrooks Davis kldnext.2 \ 2398f529310SBrooks Davis kldstat.2 \ 2408f529310SBrooks Davis kldsym.2 \ 2418f529310SBrooks Davis kldunload.2 \ 2428f529310SBrooks Davis kqueue.2 \ 2438f529310SBrooks Davis ktrace.2 \ 2448f529310SBrooks Davis link.2 \ 2458f529310SBrooks Davis lio_listio.2 \ 2468f529310SBrooks Davis listen.2 \ 2478f529310SBrooks Davis lseek.2 \ 2488f529310SBrooks Davis madvise.2 \ 2498b41e693SEd Maste membarrier.2 \ 2508f529310SBrooks Davis mincore.2 \ 2518f529310SBrooks Davis minherit.2 \ 2528f529310SBrooks Davis mkdir.2 \ 2538f529310SBrooks Davis mkfifo.2 \ 2548f529310SBrooks Davis mknod.2 \ 2558f529310SBrooks Davis mlock.2 \ 2568f529310SBrooks Davis mlockall.2 \ 2578f529310SBrooks Davis mmap.2 \ 2588f529310SBrooks Davis modfind.2 \ 2598f529310SBrooks Davis modnext.2 \ 2608f529310SBrooks Davis modstat.2 \ 2618f529310SBrooks Davis mount.2 \ 2628f529310SBrooks Davis mprotect.2 \ 2638f529310SBrooks Davis mq_close.2 \ 2648f529310SBrooks Davis mq_getattr.2 \ 2658f529310SBrooks Davis mq_notify.2 \ 2668f529310SBrooks Davis mq_open.2 \ 2678f529310SBrooks Davis mq_receive.2 \ 2688f529310SBrooks Davis mq_send.2 \ 2698f529310SBrooks Davis mq_setattr.2 \ 2708f529310SBrooks Davis mq_unlink.2 \ 2718f529310SBrooks Davis msgctl.2 \ 2728f529310SBrooks Davis msgget.2 \ 2738f529310SBrooks Davis msgrcv.2 \ 2748f529310SBrooks Davis msgsnd.2 \ 2758f529310SBrooks Davis msync.2 \ 2768f529310SBrooks Davis munmap.2 \ 2778f529310SBrooks Davis nanosleep.2 \ 2788f529310SBrooks Davis nfssvc.2 \ 2798f529310SBrooks Davis ntp_adjtime.2 \ 2808f529310SBrooks Davis open.2 \ 2818f529310SBrooks Davis pathconf.2 \ 2828f529310SBrooks Davis pdfork.2 \ 2838f529310SBrooks Davis pipe.2 \ 2848f529310SBrooks Davis poll.2 \ 2858f529310SBrooks Davis posix_fadvise.2 \ 2868f529310SBrooks Davis posix_fallocate.2 \ 2878f529310SBrooks Davis posix_openpt.2 \ 2888f529310SBrooks Davis procctl.2 \ 2898f529310SBrooks Davis profil.2 \ 2908f529310SBrooks Davis pselect.2 \ 2918f529310SBrooks Davis ptrace.2 \ 2928f529310SBrooks Davis quotactl.2 \ 2938f529310SBrooks Davis rctl_add_rule.2 \ 2948f529310SBrooks Davis read.2 \ 2958f529310SBrooks Davis readlink.2 \ 2968f529310SBrooks Davis reboot.2 \ 2978f529310SBrooks Davis recv.2 \ 2988f529310SBrooks Davis rename.2 \ 2998f529310SBrooks Davis revoke.2 \ 3008f529310SBrooks Davis rfork.2 \ 3018f529310SBrooks Davis rmdir.2 \ 3028f529310SBrooks Davis rtprio.2 \ 3038f529310SBrooks Davis sched_get_priority_max.2 \ 30436887e04SEd Maste sched_getcpu.3 \ 3058f529310SBrooks Davis sched_setparam.2 \ 3068f529310SBrooks Davis sched_setscheduler.2 \ 3078f529310SBrooks Davis sched_yield.2 \ 3088f529310SBrooks Davis sctp_generic_recvmsg.2 \ 3098f529310SBrooks Davis sctp_generic_sendmsg.2 \ 3108f529310SBrooks Davis sctp_peeloff.2 \ 3118f529310SBrooks Davis select.2 \ 3128f529310SBrooks Davis semctl.2 \ 3138f529310SBrooks Davis semget.2 \ 3148f529310SBrooks Davis semop.2 \ 3158f529310SBrooks Davis send.2 \ 316b6f4027aSOlivier Certner setcred.2 \ 3178f529310SBrooks Davis setfib.2 \ 3188f529310SBrooks Davis sendfile.2 \ 3198f529310SBrooks Davis setgroups.2 \ 3208f529310SBrooks Davis setpgid.2 \ 3218f529310SBrooks Davis setregid.2 \ 3228f529310SBrooks Davis setresuid.2 \ 3238f529310SBrooks Davis setreuid.2 \ 3248f529310SBrooks Davis setsid.2 \ 3258f529310SBrooks Davis setuid.2 \ 3268f529310SBrooks Davis shmat.2 \ 3278f529310SBrooks Davis shmctl.2 \ 3288f529310SBrooks Davis shmget.2 \ 3298f529310SBrooks Davis shm_open.2 \ 3308f529310SBrooks Davis shutdown.2 \ 3318f529310SBrooks Davis sigaction.2 \ 3328f529310SBrooks Davis sigaltstack.2 \ 3338f529310SBrooks Davis sigfastblock.2 \ 3348f529310SBrooks Davis sigpending.2 \ 3358f529310SBrooks Davis sigprocmask.2 \ 3368f529310SBrooks Davis sigqueue.2 \ 3378f529310SBrooks Davis sigreturn.2 \ 3388f529310SBrooks Davis sigstack.2 \ 3398f529310SBrooks Davis sigsuspend.2 \ 3408f529310SBrooks Davis sigwait.2 \ 3418f529310SBrooks Davis sigwaitinfo.2 \ 3428f529310SBrooks Davis socket.2 \ 3438f529310SBrooks Davis socketpair.2 \ 3448f529310SBrooks Davis stat.2 \ 3458f529310SBrooks Davis statfs.2 \ 3468f529310SBrooks Davis swapon.2 \ 3478f529310SBrooks Davis symlink.2 \ 3488f529310SBrooks Davis sync.2 \ 3498f529310SBrooks Davis sysarch.2 \ 3508f529310SBrooks Davis syscall.2 \ 3518f529310SBrooks Davis thr_exit.2 \ 3528f529310SBrooks Davis thr_kill.2 \ 3538f529310SBrooks Davis thr_new.2 \ 3548f529310SBrooks Davis thr_self.2 \ 3558f529310SBrooks Davis thr_set_name.2 \ 3568f529310SBrooks Davis thr_suspend.2 \ 3578f529310SBrooks Davis thr_wake.2 \ 3588f529310SBrooks Davis timer_create.2 \ 3598f529310SBrooks Davis timer_delete.2 \ 3608f529310SBrooks Davis timer_settime.2 \ 3618f529310SBrooks Davis timerfd.2 \ 3628f529310SBrooks Davis truncate.2 \ 3638f529310SBrooks Davis umask.2 \ 3648f529310SBrooks Davis undelete.2 \ 3658f529310SBrooks Davis unlink.2 \ 3668f529310SBrooks Davis utimensat.2 \ 3678f529310SBrooks Davis utimes.2 \ 3688f529310SBrooks Davis utrace.2 \ 3698f529310SBrooks Davis uuidgen.2 \ 3708f529310SBrooks Davis vfork.2 \ 3718f529310SBrooks Davis wait.2 \ 3728f529310SBrooks Davis write.2 \ 3738f529310SBrooks Davis _umtx_op.2 3748f529310SBrooks Davis 37529d079c9SBrooks DavisMAN+= \ 376f70c5a09SBrooks Davis getpagesize.3 \ 377f70c5a09SBrooks Davis getpagesizes.3 \ 37829d079c9SBrooks Davis lockf.3 \ 379cdecda8dSBrooks Davis rfork_thread.3 \ 38029d079c9SBrooks Davis sleep.3 \ 38129d079c9SBrooks Davis usleep.3 38229d079c9SBrooks Davis 383a52cb4c4SKonstantin BelousovMLINKS+=aio_read.2 aio_readv.2 \ 384a52cb4c4SKonstantin Belousov aio_read.2 aio_read2.2 385a52cb4c4SKonstantin BelousovMLINKS+=aio_write.2 aio_writev.2 \ 386a52cb4c4SKonstantin Belousov aio_write.2 aio_write2.2 3878f529310SBrooks DavisMLINKS+=accept.2 accept4.2 3888f529310SBrooks DavisMLINKS+=access.2 eaccess.2 \ 3898f529310SBrooks Davis access.2 faccessat.2 3904c33415eSBrooks DavisMLINKS+=auxv.3 elf_aux_info.3 3918f529310SBrooks DavisMLINKS+=brk.2 sbrk.2 3928f529310SBrooks DavisMLINKS+=cap_enter.2 cap_getmode.2 3938f529310SBrooks DavisMLINKS+=cap_fcntls_limit.2 cap_fcntls_get.2 3948f529310SBrooks DavisMLINKS+=cap_ioctls_limit.2 cap_ioctls_get.2 3958f529310SBrooks DavisMLINKS+=chdir.2 fchdir.2 3968f529310SBrooks DavisMLINKS+=chflags.2 chflagsat.2 \ 3978f529310SBrooks Davis chflags.2 fchflags.2 \ 3988f529310SBrooks Davis chflags.2 lchflags.2 3998f529310SBrooks DavisMLINKS+=chmod.2 fchmod.2 \ 4008f529310SBrooks Davis chmod.2 fchmodat.2 \ 4018f529310SBrooks Davis chmod.2 lchmod.2 4028f529310SBrooks DavisMLINKS+=chown.2 fchown.2 \ 4038f529310SBrooks Davis chown.2 fchownat.2 \ 4048f529310SBrooks Davis chown.2 lchown.2 405b165e9e3SEdward Tomasz NapieralaMLINKS+=chroot.2 fchroot.2 4068f529310SBrooks DavisMLINKS+=clock_gettime.2 clock_getres.2 \ 4078f529310SBrooks Davis clock_gettime.2 clock_settime.2 4088f529310SBrooks DavisMLINKS+=closefrom.2 close_range.2 4098f529310SBrooks DavisMLINKS+=nanosleep.2 clock_nanosleep.2 4108f529310SBrooks DavisMLINKS+=cpuset.2 cpuset_getid.2 \ 4118f529310SBrooks Davis cpuset.2 cpuset_setid.2 4128f529310SBrooks DavisMLINKS+=cpuset_getaffinity.2 cpuset_setaffinity.2 4138f529310SBrooks DavisMLINKS+=cpuset_getdomain.2 cpuset_setdomain.2 4148f529310SBrooks DavisMLINKS+=dup.2 dup2.2 4158f529310SBrooks DavisMLINKS+=eventfd.2 eventfd_read.3 \ 4168f529310SBrooks Davis eventfd.2 eventfd_write.3 4178f529310SBrooks DavisMLINKS+=execve.2 fexecve.2 4188f529310SBrooks DavisMLINKS+=extattr_get_file.2 extattr.2 \ 4198f529310SBrooks Davis extattr_get_file.2 extattr_delete_fd.2 \ 4208f529310SBrooks Davis extattr_get_file.2 extattr_delete_file.2 \ 4218f529310SBrooks Davis extattr_get_file.2 extattr_delete_link.2 \ 4228f529310SBrooks Davis extattr_get_file.2 extattr_get_fd.2 \ 4238f529310SBrooks Davis extattr_get_file.2 extattr_get_link.2 \ 4248f529310SBrooks Davis extattr_get_file.2 extattr_list_fd.2 \ 4258f529310SBrooks Davis extattr_get_file.2 extattr_list_file.2 \ 4268f529310SBrooks Davis extattr_get_file.2 extattr_list_link.2 \ 4278f529310SBrooks Davis extattr_get_file.2 extattr_set_fd.2 \ 4288f529310SBrooks Davis extattr_get_file.2 extattr_set_file.2 \ 4298f529310SBrooks Davis extattr_get_file.2 extattr_set_link.2 4308f529310SBrooks DavisMLINKS+=ffclock.2 ffclock_getcounter.2 \ 4318f529310SBrooks Davis ffclock.2 ffclock_getestimate.2 \ 4328f529310SBrooks Davis ffclock.2 ffclock_setestimate.2 4338f529310SBrooks DavisMLINKS+=fhlink.2 fhlinkat.2 4348f529310SBrooks DavisMLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2 4358f529310SBrooks DavisMLINKS+=fork.2 _Fork.2 4368f529310SBrooks DavisMLINKS+=fsync.2 fdatasync.2 4378f529310SBrooks DavisMLINKS+=getdirentries.2 getdents.2 4388f529310SBrooks DavisMLINKS+=getfh.2 lgetfh.2 \ 4398f529310SBrooks Davis getfh.2 getfhat.2 4408f529310SBrooks DavisMLINKS+=getgid.2 getegid.2 4418f529310SBrooks DavisMLINKS+=getitimer.2 setitimer.2 4428f529310SBrooks DavisMLINKS+=getlogin.2 getlogin_r.3 4438f529310SBrooks DavisMLINKS+=getlogin.2 setlogin.2 4448f529310SBrooks DavisMLINKS+=getloginclass.2 setloginclass.2 4458f529310SBrooks DavisMLINKS+=getpgrp.2 getpgid.2 4468f529310SBrooks DavisMLINKS+=getpid.2 getppid.2 4478f529310SBrooks DavisMLINKS+=getpriority.2 setpriority.2 4488f529310SBrooks DavisMLINKS+=getrlimit.2 setrlimit.2 4498f529310SBrooks DavisMLINKS+=getsockopt.2 setsockopt.2 4508f529310SBrooks DavisMLINKS+=gettimeofday.2 settimeofday.2 4518f529310SBrooks DavisMLINKS+=getuid.2 geteuid.2 452*5202cfcfSMark JohnstonMLINKS+=inotify.2 inotify_init.2 \ 453*5202cfcfSMark Johnston inotify.2 inotify_init1.2 \ 454*5202cfcfSMark Johnston inotify.2 inotify_add_watch.2 \ 455*5202cfcfSMark Johnston inotify.2 inotify_add_watch_at.2 \ 456*5202cfcfSMark Johnston inotify.2 inotify_rm_watch.2 4578f529310SBrooks DavisMLINKS+=intro.2 errno.2 4588f529310SBrooks DavisMLINKS+=jail.2 jail_attach.2 \ 4598f529310SBrooks Davis jail.2 jail_get.2 \ 4608f529310SBrooks Davis jail.2 jail_remove.2 \ 4618f529310SBrooks Davis jail.2 jail_set.2 4628f529310SBrooks DavisMLINKS+=kldunload.2 kldunloadf.2 4638f529310SBrooks DavisMLINKS+=kqueue.2 kevent.2 \ 4649b158538SJohn Baldwin kqueue.2 kqueue1.2 \ 4658f529310SBrooks Davis kqueue.2 kqueuex.2 \ 4668f529310SBrooks Davis kqueue.2 EV_SET.3 4678f529310SBrooks DavisMLINKS+=link.2 linkat.2 4688f529310SBrooks DavisMLINKS+=madvise.2 posix_madvise.2 4698f529310SBrooks DavisMLINKS+=mkdir.2 mkdirat.2 4708f529310SBrooks DavisMLINKS+=mkfifo.2 mkfifoat.2 4718f529310SBrooks DavisMLINKS+=mknod.2 mknodat.2 4728f529310SBrooks DavisMLINKS+=mlock.2 munlock.2 4738f529310SBrooks DavisMLINKS+=mlockall.2 munlockall.2 4748f529310SBrooks DavisMLINKS+=modnext.2 modfnext.2 4758f529310SBrooks DavisMLINKS+=mount.2 nmount.2 \ 4768f529310SBrooks Davis mount.2 unmount.2 4778f529310SBrooks DavisMLINKS+=mq_receive.2 mq_timedreceive.2 4788f529310SBrooks DavisMLINKS+=mq_send.2 mq_timedsend.2 4798f529310SBrooks DavisMLINKS+=ntp_adjtime.2 ntp_gettime.2 4808f529310SBrooks DavisMLINKS+=open.2 openat.2 4818f529310SBrooks DavisMLINKS+=pathconf.2 fpathconf.2 4828f529310SBrooks DavisMLINKS+=pathconf.2 lpathconf.2 4838f529310SBrooks DavisMLINKS+=pdfork.2 pdgetpid.2\ 4848f529310SBrooks Davis pdfork.2 pdkill.2 4858f529310SBrooks DavisMLINKS+=pipe.2 pipe2.2 4868f529310SBrooks DavisMLINKS+=poll.2 ppoll.2 4878f529310SBrooks DavisMLINKS+=rctl_add_rule.2 rctl_get_limits.2 \ 4888f529310SBrooks Davis rctl_add_rule.2 rctl_get_racct.2 \ 4898f529310SBrooks Davis rctl_add_rule.2 rctl_get_rules.2 \ 4908f529310SBrooks Davis rctl_add_rule.2 rctl_remove_rule.2 4918f529310SBrooks DavisMLINKS+=read.2 pread.2 \ 4928f529310SBrooks Davis read.2 preadv.2 \ 4938f529310SBrooks Davis read.2 readv.2 4948f529310SBrooks DavisMLINKS+=readlink.2 readlinkat.2 4958f529310SBrooks DavisMLINKS+=recv.2 recvfrom.2 \ 4968da89a17SJohn Baldwin recv.2 recvmmsg.2 \ 4978f529310SBrooks Davis recv.2 recvmsg.2 4988f529310SBrooks DavisMLINKS+=rename.2 renameat.2 4998f529310SBrooks DavisMLINKS+=rtprio.2 rtprio_thread.2 5008f529310SBrooks DavisMLINKS+=sched_get_priority_max.2 sched_get_priority_min.2 \ 5018f529310SBrooks Davis sched_get_priority_max.2 sched_rr_get_interval.2 5028f529310SBrooks DavisMLINKS+=sched_setparam.2 sched_getparam.2 5038f529310SBrooks DavisMLINKS+=sched_setscheduler.2 sched_getscheduler.2 5048f529310SBrooks DavisMLINKS+=sctp_generic_sendmsg.2 sctp_generic_sendmsg_iov.2 5058f529310SBrooks DavisMLINKS+=select.2 FD_CLR.3 \ 5068f529310SBrooks Davis select.2 FD_ISSET.3 \ 5078f529310SBrooks Davis select.2 FD_SET.3 \ 5088f529310SBrooks Davis select.2 FD_ZERO.3 5098da89a17SJohn BaldwinMLINKS+=send.2 sendmmsg.2 \ 5108da89a17SJohn Baldwin send.2 sendmsg.2 \ 5118f529310SBrooks Davis send.2 sendto.2 5128f529310SBrooks DavisMLINKS+=setpgid.2 setpgrp.2 5138f529310SBrooks DavisMLINKS+=setresuid.2 getresgid.2 \ 5148f529310SBrooks Davis setresuid.2 getresuid.2 \ 5158f529310SBrooks Davis setresuid.2 setresgid.2 5168f529310SBrooks DavisMLINKS+=setuid.2 setegid.2 \ 5178f529310SBrooks Davis setuid.2 seteuid.2 \ 5188f529310SBrooks Davis setuid.2 setgid.2 5198f529310SBrooks DavisMLINKS+=shmat.2 shmdt.2 5208f529310SBrooks DavisMLINKS+=shm_open.2 memfd_create.3 \ 5218f529310SBrooks Davis shm_open.2 shm_create_largepage.3 \ 5228f529310SBrooks Davis shm_open.2 shm_unlink.2 \ 5238f529310SBrooks Davis shm_open.2 shm_rename.2 5248f529310SBrooks DavisMLINKS+=sigwaitinfo.2 sigtimedwait.2 5258f529310SBrooks DavisMLINKS+=stat.2 fstat.2 \ 5268f529310SBrooks Davis stat.2 fstatat.2 \ 5278f529310SBrooks Davis stat.2 lstat.2 5288f529310SBrooks DavisMLINKS+=statfs.2 fstatfs.2 5298f529310SBrooks DavisMLINKS+=swapon.2 swapoff.2 5308f529310SBrooks DavisMLINKS+=symlink.2 symlinkat.2 5318f529310SBrooks DavisMLINKS+=syscall.2 __syscall.2 5328f529310SBrooks DavisMLINKS+=timer_settime.2 timer_getoverrun.2 \ 5338f529310SBrooks Davis timer_settime.2 timer_gettime.2 5348f529310SBrooks DavisMLINKS+=timerfd.2 timerfd_create.2 \ 5358f529310SBrooks Davis timerfd.2 timerfd_gettime.2 \ 5368f529310SBrooks Davis timerfd.2 timerfd_settime.2 5378f529310SBrooks DavisMLINKS+=thr_kill.2 thr_kill2.2 5388f529310SBrooks DavisMLINKS+=truncate.2 ftruncate.2 5398f529310SBrooks DavisMLINKS+=unlink.2 unlinkat.2 5408f529310SBrooks DavisMLINKS+=unlink.2 funlinkat.2 5418f529310SBrooks DavisMLINKS+=utimensat.2 futimens.2 5428f529310SBrooks DavisMLINKS+=utimes.2 futimes.2 \ 5438f529310SBrooks Davis utimes.2 futimesat.2 \ 5448f529310SBrooks Davis utimes.2 lutimes.2 5458f529310SBrooks DavisMLINKS+=wait.2 wait3.2 \ 5468f529310SBrooks Davis wait.2 wait4.2 \ 5478f529310SBrooks Davis wait.2 waitpid.2 \ 5488f529310SBrooks Davis wait.2 waitid.2 \ 5498f529310SBrooks Davis wait.2 wait6.2 5508f529310SBrooks DavisMLINKS+=write.2 pwrite.2 \ 5518f529310SBrooks Davis write.2 pwritev.2 \ 5528f529310SBrooks Davis write.2 writev.2 553e9d96105SBrooks Davis.endif # ${LIB} == "sys" 554