xref: /freebsd/lib/libsys/Makefile.sys (revision 5202cfcf93b19b39f3d2bf80e73a8ca94d7fffd1)
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