123660Speter#	@(#)Makefile.inc	8.3 (Berkeley) 10/24/94
250476Speter# $FreeBSD: releng/11.0/lib/libc/sys/Makefile.inc 302092 2016-06-22 21:11:27Z brooks $
31573Srgrimes
41573Srgrimes# sys sources
5262722Smarcel.PATH: ${LIBC_SRCTOP}/${LIBC_ARCH}/sys ${LIBC_SRCTOP}/sys
61573Srgrimes
734386Sjb# Include the generated makefile containing the *complete* list
834386Sjb# of syscall names in MIASM.
9262722Smarcel.include "${LIBC_SRCTOP}/../../sys/sys/syscall.mk"
1030448Sbde
1134386Sjb# Include machine dependent definitions.
1234386Sjb#
1334386Sjb# MDASM names override the default syscall names in MIASM.
1434386Sjb# NOASM will prevent the default syscall code from being generated.
1534386Sjb#
16262722Smarcel.sinclude "${LIBC_SRCTOP}/${LIBC_ARCH}/sys/Makefile.inc"
171573Srgrimes
18237434SkibSRCS+= clock_gettime.c gettimeofday.c __vdso_gettimeofday.c
19237434SkibNOASM+=  clock_gettime.o gettimeofday.o
20237434SkibPSEUDO+= _clock_gettime.o _gettimeofday.o
21237434Skib
2234386Sjb# Sources common to both syscall interfaces:
23276630SkibSRCS+=	\
24276630Skib	__error.c \
25276630Skib	interposing_table.c
26276630Skib
27277610SjillesSRCS+= futimens.c utimensat.c
28277610SjillesNOASM+= futimens.o utimensat.o
29277610SjillesPSEUDO+= _futimens.o _utimensat.o
30277610Sjilles
31302092SbrooksSRCS+= pipe.c
32302092Sbrooks
33276630SkibINTERPOSED = \
34276630Skib	accept \
35276630Skib	accept4 \
36276630Skib	aio_suspend \
37276630Skib	close \
38276630Skib	connect \
39276630Skib	fcntl \
40276630Skib	fsync \
41276630Skib	fork \
42280818Skib	kevent \
43276630Skib	msync \
44276630Skib	nanosleep \
45276630Skib	open \
46276630Skib	openat \
47276630Skib	poll \
48281712Skib	ppoll \
49276630Skib	pselect \
50276630Skib	read \
51276630Skib	readv \
52276630Skib	recvfrom \
53276630Skib	recvmsg \
54276630Skib	select \
55276630Skib	sendmsg \
56276630Skib	sendto \
57276630Skib	setcontext \
58276630Skib	sigprocmask \
59276630Skib	sigsuspend \
60276630Skib	sigtimedwait \
61276630Skib	sigwait \
62276630Skib	sigwaitinfo \
63276630Skib	swapcontext \
64276630Skib	wait4 \
65281712Skib	wait6 \
66276630Skib	write \
67276630Skib	writev
68276630Skib
69278870Smarius.if ${MACHINE_CPUARCH} == "sparc64"
70278870SmariusSRCS+=	sigaction.c
71278870SmariusNOASM+=	sigaction.o
72278870Smarius.else
73278870SmariusINTERPOSED+= sigaction
74278870Smarius.endif
75278870Smarius
76276630SkibSRCS+=	${INTERPOSED:S/$/.c/}
77276630SkibNOASM+=	${INTERPOSED:S/$/.o/}
78276630SkibPSEUDO+=	${INTERPOSED:C/^.*$/_&.o/}
79276630Skib
8034386Sjb# Add machine dependent asm sources:
8134386SjbSRCS+=${MDASM}
821573Srgrimes
8334386Sjb# Look though the complete list of syscalls (MIASM) for names that are
8434386Sjb# not defined with machine dependent implementations (MDASM) and are
8571770Sdeischen# not declared for no generation of default code (NOASM).  Add each
8671770Sdeischen# syscall that satisfies these conditions to the ASM list.
8764106Speter.for _asm in ${MIASM}
8834386Sjb.if (${MDASM:R:M${_asm:R}} == "")
8934386Sjb.if (${NOASM:R:M${_asm:R}} == "")
9034386SjbASM+=$(_asm)
9134386Sjb.endif
9234386Sjb.endif
9334386Sjb.endfor
941573Srgrimes
9525105SbdeSASM=	${ASM:S/.o/.S/}
962366Sbde
9725105SbdeSPSEUDO= ${PSEUDO:S/.o/.S/}
982366Sbde
9971770SdeischenSRCS+=	${SASM} ${SPSEUDO}
1001573Srgrimes
101262722SmarcelSYM_MAPS+=	${LIBC_SRCTOP}/sys/Symbol.map
102156613Sdeischen
10325736Speter# Generated files
10471770SdeischenCLEANFILES+=	${SASM} ${SPSEUDO}
10525736Speter
106217850Skib.if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" || \
107288373Skib    ${MACHINE_CPUARCH} == "powerpc" || ${MACHINE_ARCH:Marmv6*}
108217850SkibNOTE_GNU_STACK='\t.section .note.GNU-stack,"",%%progbits\n'
109217850Skib.else
110217850SkibNOTE_GNU_STACK=''
111217850Skib.endif
112217850Skib
11325105Sbde${SASM}:
114194910Sjhb	printf '#include "compat.h"\n' > ${.TARGET}
115194910Sjhb	printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >> ${.TARGET}
116217850Skib	printf  ${NOTE_GNU_STACK} >>${.TARGET}
1172366Sbde
11825105Sbde${SPSEUDO}:
119194910Sjhb	printf '#include "compat.h"\n' > ${.TARGET}
12071770Sdeischen	printf '#include "SYS.h"\nPSEUDO(${.PREFIX:S/_//})\n' \
121194910Sjhb	    >> ${.TARGET}
122217850Skib	printf ${NOTE_GNU_STACK} >>${.TARGET}
1232366Sbde
124246884SpjdMAN+=	abort2.2 \
125246884Spjd	accept.2 \
126246884Spjd	access.2 \
127246884Spjd	acct.2 \
128246884Spjd	adjtime.2 \
129246884Spjd	aio_cancel.2 \
130246884Spjd	aio_error.2 \
131259921Spluknet	aio_fsync.2 \
132251526Sglebius	aio_mlock.2 \
133246884Spjd	aio_read.2 \
134246884Spjd	aio_return.2 \
135246884Spjd	aio_suspend.2 \
136246884Spjd	aio_waitcomplete.2 \
137246884Spjd	aio_write.2 \
138246884Spjd	bind.2 \
139247667Spjd	bindat.2 \
140246884Spjd	brk.2 \
141246884Spjd	cap_enter.2 \
142247602Spjd	cap_fcntls_limit.2 \
143247602Spjd	cap_ioctls_limit.2 \
144247602Spjd	cap_rights_limit.2 \
145246884Spjd	chdir.2 \
146246884Spjd	chflags.2 \
147246884Spjd	chmod.2 \
148246884Spjd	chown.2 \
149246884Spjd	chroot.2 \
150246884Spjd	clock_gettime.2 \
151246884Spjd	close.2 \
152246884Spjd	closefrom.2 \
153246884Spjd	connect.2 \
154247667Spjd	connectat.2 \
155246884Spjd	cpuset.2 \
156246884Spjd	cpuset_getaffinity.2 \
157246884Spjd	dup.2 \
158246884Spjd	execve.2 \
159246884Spjd	_exit.2 \
160246884Spjd	extattr_get_file.2 \
161246884Spjd	fcntl.2 \
162246884Spjd	ffclock.2 \
163246884Spjd	fhopen.2 \
164246884Spjd	flock.2 \
165246884Spjd	fork.2 \
166246884Spjd	fsync.2 \
167246884Spjd	getdirentries.2 \
168246884Spjd	getdtablesize.2 \
169246884Spjd	getfh.2 \
170246884Spjd	getfsstat.2 \
171246884Spjd	getgid.2 \
172246884Spjd	getgroups.2 \
173246884Spjd	getitimer.2 \
174246884Spjd	getlogin.2 \
175246884Spjd	getloginclass.2 \
176246884Spjd	getpeername.2 \
177246884Spjd	getpgrp.2 \
178246884Spjd	getpid.2 \
179246884Spjd	getpriority.2 \
180246884Spjd	getrlimit.2 \
181246884Spjd	getrusage.2 \
182246884Spjd	getsid.2 \
183246884Spjd	getsockname.2 \
184246884Spjd	getsockopt.2 \
185246884Spjd	gettimeofday.2 \
186246884Spjd	getuid.2 \
187246884Spjd	intro.2 \
188246884Spjd	ioctl.2 \
189246884Spjd	issetugid.2 \
190246884Spjd	jail.2 \
191246884Spjd	kenv.2 \
192246884Spjd	kill.2 \
193246884Spjd	kldfind.2 \
194246884Spjd	kldfirstmod.2 \
195246884Spjd	kldload.2 \
196246884Spjd	kldnext.2 \
197246884Spjd	kldstat.2 \
198246884Spjd	kldsym.2 \
199246884Spjd	kldunload.2 \
200246884Spjd	kqueue.2 \
201246884Spjd	ktrace.2 \
202246884Spjd	link.2 \
203246884Spjd	lio_listio.2 \
204246884Spjd	listen.2 \
205109135Stjr	lseek.2 \
206246884Spjd	madvise.2 \
207246884Spjd	mincore.2 \
208246884Spjd	minherit.2 \
209246884Spjd	mkdir.2 \
210246884Spjd	mkfifo.2 \
211246884Spjd	mknod.2 \
212246884Spjd	mlock.2 \
213246884Spjd	mlockall.2 \
214246884Spjd	mmap.2 \
215246884Spjd	modfind.2 \
216246884Spjd	modnext.2 \
217246884Spjd	modstat.2 \
218246884Spjd	mount.2 \
219246884Spjd	mprotect.2 \
220246884Spjd	mq_close.2 \
221246884Spjd	mq_getattr.2 \
222246884Spjd	mq_notify.2 \
223246884Spjd	mq_open.2 \
224246884Spjd	mq_receive.2 \
225246884Spjd	mq_send.2 \
226152942Sdavidxu	mq_setattr.2 \
227246884Spjd	msgctl.2 \
228246884Spjd	msgget.2 \
229246884Spjd	msgrcv.2 \
230246884Spjd	msgsnd.2 \
231246884Spjd	msync.2 \
232246884Spjd	munmap.2 \
233246884Spjd	nanosleep.2 \
234246884Spjd	nfssvc.2 \
235246884Spjd	ntp_adjtime.2 \
236285387Sadrian	numa_getaffinity.2 \
237246884Spjd	open.2 \
238246884Spjd	pathconf.2 \
239246884Spjd	pdfork.2 \
240246884Spjd	pipe.2 \
241246884Spjd	poll.2 \
242246884Spjd	posix_fadvise.2 \
243246884Spjd	posix_fallocate.2 \
244246884Spjd	posix_openpt.2 \
245255708Sjhb	procctl.2 \
246246884Spjd	profil.2 \
247246884Spjd	pselect.2 \
248246884Spjd	ptrace.2 \
249246884Spjd	quotactl.2 \
250246884Spjd	read.2 \
251246884Spjd	readlink.2 \
252246884Spjd	reboot.2 \
253246884Spjd	recv.2 \
254246884Spjd	rename.2 \
255246884Spjd	revoke.2 \
256246884Spjd	rfork.2 \
257246884Spjd	rmdir.2 \
258178249Sru	rtprio.2
259178249Sru.if !defined(NO_P1003_1B)
260246884SpjdMAN+=	sched_get_priority_max.2 \
261246884Spjd	sched_setparam.2 \
262246884Spjd	sched_setscheduler.2 \
263246884Spjd	sched_yield.2
264178249Sru.endif
265246884SpjdMAN+=	sctp_generic_recvmsg.2 \
266246884Spjd	sctp_generic_sendmsg.2 \
267246884Spjd	sctp_peeloff.2 \
268246884Spjd	select.2 \
269246884Spjd	semctl.2 \
270246884Spjd	semget.2 \
271246884Spjd	semop.2 \
272246884Spjd	send.2 \
273246884Spjd	setfib.2 \
274246884Spjd	sendfile.2 \
275246884Spjd	setgroups.2 \
276246884Spjd	setpgid.2 \
277246884Spjd	setregid.2 \
278246884Spjd	setresuid.2 \
279246884Spjd	setreuid.2 \
280246884Spjd	setsid.2 \
281246884Spjd	setuid.2 \
282246884Spjd	shmat.2 \
283246884Spjd	shmctl.2 \
284246884Spjd	shmget.2 \
285246884Spjd	shm_open.2 \
286246884Spjd	shutdown.2 \
287246884Spjd	sigaction.2 \
288246884Spjd	sigaltstack.2 \
289246884Spjd	sigpending.2 \
290246884Spjd	sigprocmask.2 \
291246884Spjd	sigqueue.2 \
292246884Spjd	sigreturn.2 \
293246884Spjd	sigstack.2 \
294246884Spjd	sigsuspend.2 \
295246884Spjd	sigwait.2 \
296246884Spjd	sigwaitinfo.2 \
297246884Spjd	socket.2 \
298246884Spjd	socketpair.2 \
299246884Spjd	stat.2 \
300246884Spjd	statfs.2 \
301246884Spjd	swapon.2 \
302246884Spjd	symlink.2 \
303246884Spjd	sync.2 \
304246884Spjd	sysarch.2 \
305246884Spjd	syscall.2 \
306299741Skib	thr_exit.2 \
307299741Skib	thr_kill.2 \
308299741Skib	thr_new.2 \
309299741Skib	thr_self.2 \
310299741Skib	thr_set_name.2 \
311246884Spjd	timer_create.2 \
312246884Spjd	timer_delete.2 \
313246884Spjd	timer_settime.2 \
314246884Spjd	truncate.2 \
315246884Spjd	umask.2 \
316246884Spjd	undelete.2 \
317246884Spjd	unlink.2 \
318277610Sjilles	utimensat.2 \
319246884Spjd	utimes.2 \
320246884Spjd	utrace.2 \
321246884Spjd	uuidgen.2 \
322246884Spjd	vfork.2 \
323246884Spjd	wait.2 \
324299741Skib	write.2 \
325299741Skib	_umtx_op.2
32634925Sdufault
327250154SjillesMLINKS+=accept.2 accept4.2
328246884SpjdMLINKS+=access.2 eaccess.2 \
329246884Spjd	access.2 faccessat.2
3301573SrgrimesMLINKS+=brk.2 sbrk.2
331219224SrwatsonMLINKS+=cap_enter.2 cap_getmode.2
332247602SpjdMLINKS+=cap_fcntls_limit.2 cap_fcntls_get.2
333247602SpjdMLINKS+=cap_ioctls_limit.2 cap_ioctls_get.2
334247602SpjdMLINKS+=cap_rights_limit.2 cap_rights_get.2
3351573SrgrimesMLINKS+=chdir.2 fchdir.2
336248601SpjdMLINKS+=chflags.2 chflagsat.2 \
337248601Spjd	chflags.2 fchflags.2 \
338246884Spjd	chflags.2 lchflags.2
339246884SpjdMLINKS+=chmod.2 fchmod.2 \
340246884Spjd	chmod.2 fchmodat.2 \
341246884Spjd	chmod.2 lchmod.2
342246884SpjdMLINKS+=chown.2 fchown.2 \
343246884Spjd	chown.2 fchownat.2 \
344246884Spjd	chown.2 lchown.2
345246884SpjdMLINKS+=clock_gettime.2 clock_getres.2 \
346246884Spjd	clock_gettime.2 clock_settime.2
347246884SpjdMLINKS+=cpuset.2 cpuset_getid.2 \
348246884Spjd	cpuset.2 cpuset_setid.2
349177706SjeffMLINKS+=cpuset_getaffinity.2 cpuset_setaffinity.2
35051154SbdeMLINKS+=dup.2 dup2.2
351178248SruMLINKS+=execve.2 fexecve.2
352169104SpjdMLINKS+=extattr_get_file.2 extattr.2 \
353169104Spjd	extattr_get_file.2 extattr_delete_fd.2 \
35475307Sdd	extattr_get_file.2 extattr_delete_file.2 \
355257874Spluknet	extattr_get_file.2 extattr_delete_link.2 \
35675307Sdd	extattr_get_file.2 extattr_get_fd.2 \
357257874Spluknet	extattr_get_file.2 extattr_get_link.2 \
358169104Spjd	extattr_get_file.2 extattr_list_fd.2 \
359169104Spjd	extattr_get_file.2 extattr_list_file.2 \
360169104Spjd	extattr_get_file.2 extattr_list_link.2 \
36175307Sdd	extattr_get_file.2 extattr_set_fd.2 \
362169104Spjd	extattr_get_file.2 extattr_set_file.2 \
363169104Spjd	extattr_get_file.2 extattr_set_link.2
364246884SpjdMLINKS+=ffclock.2 ffclock_getcounter.2 \
365246884Spjd	ffclock.2 ffclock_getestimate.2 \
366227776Slstewart	ffclock.2 ffclock_setestimate.2
36751139SalfredMLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2
36849256SmppMLINKS+=getdirentries.2 getdents.2
369127892SdfrMLINKS+=getfh.2 lgetfh.2
3701573SrgrimesMLINKS+=getgid.2 getegid.2
3711573SrgrimesMLINKS+=getitimer.2 setitimer.2
37255034SbdeMLINKS+=getlogin.2 getlogin_r.3
3731573SrgrimesMLINKS+=getlogin.2 setlogin.2
374219322StraszMLINKS+=getloginclass.2 setloginclass.2
37528404SpeterMLINKS+=getpgrp.2 getpgid.2
3761573SrgrimesMLINKS+=getpid.2 getppid.2
3771573SrgrimesMLINKS+=getpriority.2 setpriority.2
3781573SrgrimesMLINKS+=getrlimit.2 setrlimit.2
3791573SrgrimesMLINKS+=getsockopt.2 setsockopt.2
3801573SrgrimesMLINKS+=gettimeofday.2 settimeofday.2
3811573SrgrimesMLINKS+=getuid.2 geteuid.2
3821573SrgrimesMLINKS+=intro.2 errno.2
383191673SjamieMLINKS+=jail.2 jail_attach.2 \
384191673Sjamie	jail.2 jail_get.2 \
385191673Sjamie	jail.2 jail_remove.2 \
386191673Sjamie	jail.2 jail_set.2
387178249SruMLINKS+=kldunload.2 kldunloadf.2
388246884SpjdMLINKS+=kqueue.2 kevent.2 \
389246884Spjd	kqueue.2 EV_SET.3
390178248SruMLINKS+=link.2 linkat.2
391118684SbmsMLINKS+=madvise.2 posix_madvise.2
392178248SruMLINKS+=mkdir.2 mkdirat.2
393178248SruMLINKS+=mkfifo.2 mkfifoat.2
394178248SruMLINKS+=mknod.2 mknodat.2
3951573SrgrimesMLINKS+=mlock.2 munlock.2
396118771SbmsMLINKS+=mlockall.2 munlockall.2
39766430SpeterMLINKS+=modnext.2 modfnext.2
398246884SpjdMLINKS+=mount.2 nmount.2 \
399246884Spjd	mount.2 unmount.2
400178249SruMLINKS+=mq_receive.2 mq_timedreceive.2
401152943SdavidxuMLINKS+=mq_send.2 mq_timedsend.2
402172185SimpMLINKS+=ntp_adjtime.2 ntp_gettime.2
403285387SadrianMLINKS+=numa_getaffinity.2 numa_setaffinity.2
404178248SruMLINKS+=open.2 openat.2
4051573SrgrimesMLINKS+=pathconf.2 fpathconf.2
406195458StraszMLINKS+=pathconf.2 lpathconf.2
407224987SjonathanMLINKS+=pdfork.2 pdgetpid.2\
408224987Sjonathan	pdfork.2 pdkill.2 \
409224987Sjonathan	pdfork.2 pdwait4.2
410250159SjillesMLINKS+=pipe.2 pipe2.2
411274462SdchaginMLINKS+=poll.2 ppoll.2
412246884SpjdMLINKS+=read.2 pread.2 \
413246884Spjd	read.2 preadv.2 \
414246884Spjd	read.2 readv.2
415178248SruMLINKS+=readlink.2 readlinkat.2
416246884SpjdMLINKS+=recv.2 recvfrom.2 \
417246884Spjd	recv.2 recvmsg.2
418178248SruMLINKS+=rename.2 renameat.2
419228910SdelphijMLINKS+=rtprio.2 rtprio_thread.2
420178249Sru.if !defined(NO_P1003_1B)
421178249SruMLINKS+=sched_get_priority_max.2 sched_get_priority_min.2 \
422178249Sru	sched_get_priority_max.2 sched_rr_get_interval.2
423178249SruMLINKS+=sched_setparam.2 sched_getparam.2
424178249SruMLINKS+=sched_setscheduler.2 sched_getscheduler.2
425178249Sru.endif
426246884SpjdMLINKS+=select.2 FD_CLR.3 \
427246884Spjd	select.2 FD_ISSET.3 \
428246884Spjd	select.2 FD_SET.3 \
429163270Sru	select.2 FD_ZERO.3
430246884SpjdMLINKS+=send.2 sendmsg.2 \
431246884Spjd	send.2 sendto.2
4328786SnateMLINKS+=setpgid.2 setpgrp.2
433246884SpjdMLINKS+=setresuid.2 getresgid.2 \
434246884Spjd	setresuid.2 getresuid.2 \
435246884Spjd	setresuid.2 setresgid.2
436246884SpjdMLINKS+=setuid.2 setegid.2 \
437246884Spjd	setuid.2 seteuid.2 \
438246884Spjd	setuid.2 setgid.2
43911151SjoergMLINKS+=shmat.2 shmdt.2
440175164SjhbMLINKS+=shm_open.2 shm_unlink.2
441152291SdavidxuMLINKS+=sigwaitinfo.2 sigtimedwait.2
442246884SpjdMLINKS+=stat.2 fstat.2 \
443246884Spjd	stat.2 fstatat.2 \
444246884Spjd	stat.2 lstat.2
4451573SrgrimesMLINKS+=statfs.2 fstatfs.2
446107913SdillonMLINKS+=swapon.2 swapoff.2
447178248SruMLINKS+=symlink.2 symlinkat.2
448178249SruMLINKS+=syscall.2 __syscall.2
449246884SpjdMLINKS+=timer_settime.2 timer_getoverrun.2 \
450246884Spjd	timer_settime.2 timer_gettime.2
451299741SkibMLINKS+=thr_kill.2 thr_kill2.2
4521573SrgrimesMLINKS+=truncate.2 ftruncate.2
453178248SruMLINKS+=unlink.2 unlinkat.2
454277610SjillesMLINKS+=utimensat.2 futimens.2
455246884SpjdMLINKS+=utimes.2 futimes.2 \
456246884Spjd	utimes.2 futimesat.2 \
457246884Spjd	utimes.2 lutimes.2
458246884SpjdMLINKS+=wait.2 wait3.2 \
459246884Spjd	wait.2 wait4.2 \
460246884Spjd	wait.2 waitpid.2 \
461246884Spjd	wait.2 waitid.2 \
462246884Spjd	wait.2 wait6.2
463246884SpjdMLINKS+=write.2 pwrite.2 \
464246884Spjd	write.2 pwritev.2 \
465246884Spjd	write.2 writev.2
466