head	1.1;
access;
symbols
	perseant-exfatfs-base-20250801:1.1
	perseant-exfatfs-base-20240630:1.1
	perseant-exfatfs:1.1.0.46
	perseant-exfatfs-base:1.1
	cjep_sun2x:1.1.0.44
	cjep_sun2x-base:1.1
	cjep_staticlib_x-base1:1.1
	cjep_staticlib_x:1.1.0.42
	cjep_staticlib_x-base:1.1
	phil-wifi-20200421:1.1
	phil-wifi-20200411:1.1
	phil-wifi-20200406:1.1
	pgoyette-compat-merge-20190127:1.1
	pgoyette-compat-20190127:1.1
	pgoyette-compat-20190118:1.1
	pgoyette-compat-1226:1.1
	pgoyette-compat-1126:1.1
	pgoyette-compat-1020:1.1
	pgoyette-compat-0930:1.1
	pgoyette-compat-0906:1.1
	pgoyette-compat-0728:1.1
	pgoyette-compat-0625:1.1
	pgoyette-compat-0521:1.1
	pgoyette-compat-0502:1.1
	pgoyette-compat-0422:1.1
	pgoyette-compat-0415:1.1
	pgoyette-compat-0407:1.1
	pgoyette-compat-0330:1.1
	pgoyette-compat-0322:1.1
	pgoyette-compat-0315:1.1
	pgoyette-compat:1.1.0.40
	pgoyette-compat-base:1.1
	prg-localcount2-base3:1.1
	prg-localcount2-base2:1.1
	prg-localcount2-base1:1.1
	prg-localcount2:1.1.0.38
	prg-localcount2-base:1.1
	pgoyette-localcount-20170426:1.1
	bouyer-socketcan-base1:1.1
	pgoyette-localcount-20170320:1.1
	bouyer-socketcan:1.1.0.36
	bouyer-socketcan-base:1.1
	pgoyette-localcount-20170107:1.1
	pgoyette-localcount-20161104:1.1
	localcount-20160914:1.1
	pgoyette-localcount-20160806:1.1
	pgoyette-localcount-20160726:1.1
	pgoyette-localcount:1.1.0.34
	pgoyette-localcount-base:1.1
	netbsd-5-2-3-RELEASE:1.1
	netbsd-5-1-5-RELEASE:1.1
	yamt-pagecache-base9:1.1
	yamt-pagecache-tag8:1.1
	tls-earlyentropy:1.1.0.30
	tls-earlyentropy-base:1.1
	riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.1
	riastradh-drm2-base3:1.1
	netbsd-5-2-2-RELEASE:1.1
	netbsd-5-1-4-RELEASE:1.1
	netbsd-5-2-1-RELEASE:1.1
	netbsd-5-1-3-RELEASE:1.1
	agc-symver:1.1.0.32
	agc-symver-base:1.1
	tls-maxphys-base:1.1
	yamt-pagecache-base8:1.1
	netbsd-5-2:1.1.0.28
	yamt-pagecache-base7:1.1
	netbsd-5-2-RELEASE:1.1
	netbsd-5-2-RC1:1.1
	yamt-pagecache-base6:1.1
	yamt-pagecache-base5:1.1
	yamt-pagecache-base4:1.1
	netbsd-5-1-2-RELEASE:1.1
	netbsd-5-1-1-RELEASE:1.1
	yamt-pagecache-base3:1.1
	yamt-pagecache-base2:1.1
	yamt-pagecache:1.1.0.26
	yamt-pagecache-base:1.1
	bouyer-quota2-nbase:1.1
	bouyer-quota2:1.1.0.24
	bouyer-quota2-base:1.1
	matt-nb5-pq3:1.1.0.22
	matt-nb5-pq3-base:1.1
	netbsd-5-1:1.1.0.20
	netbsd-5-1-RELEASE:1.1
	netbsd-5-1-RC4:1.1
	netbsd-5-1-RC3:1.1
	netbsd-5-1-RC2:1.1
	netbsd-5-1-RC1:1.1
	netbsd-5-0-2-RELEASE:1.1
	netbsd-5-0-1-RELEASE:1.1
	jym-xensuspend-nbase:1.1
	netbsd-5-0:1.1.0.18
	netbsd-5-0-RELEASE:1.1
	netbsd-5-0-RC4:1.1
	netbsd-5-0-RC3:1.1
	netbsd-5-0-RC2:1.1
	jym-xensuspend:1.1.0.16
	jym-xensuspend-base:1.1
	netbsd-5-0-RC1:1.1
	netbsd-5:1.1.0.14
	netbsd-5-base:1.1
	mjf-devfs2:1.1.0.12
	mjf-devfs2-base:1.1
	yamt-pf42-base4:1.1
	yamt-pf42-base3:1.1
	hpcarm-cleanup-nbase:1.1
	yamt-pf42-base2:1.1
	yamt-pf42:1.1.0.10
	yamt-pf42-base:1.1
	keiichi-mipv6:1.1.0.8
	keiichi-mipv6-base:1.1
	cube-autoconf:1.1.0.6
	cube-autoconf-base:1.1
	hpcarm-cleanup:1.1.0.4
	hpcarm-cleanup-base:1.1
	nathanw_sa:1.1.0.2;
locks; strict;
comment	@# @;


1.1
date	2002.01.29.19.48.55;	author nathanw;	state dead;
branches
	1.1.2.1;
next	;

1.1.2.1
date	2002.01.29.19.48.55;	author nathanw;	state Exp;
branches;
next	1.1.2.2;

1.1.2.2
date	2002.03.31.01.49.56;	author nathanw;	state Exp;
branches;
next	1.1.2.3;

1.1.2.3
date	2002.08.01.03.28.07;	author nathanw;	state Exp;
branches;
next	1.1.2.4;

1.1.2.4
date	2002.08.02.22.03.56;	author nathanw;	state dead;
branches;
next	;


desc
@@


1.1
log
@file Makefile was initially added on branch nathanw_sa.
@
text
@@


1.1.2.1
log
@Libsyscall build infrastructure.

This provides other libraries (notably, libpthread) with the ability to
override syscalls with wrappers that do something else, optionally calling
the real system call (renamed to _syscall_whatever), and have those overridden
functioned used by libc.
@
text
@a0 194

.include <bsd.own.mk>

LIB=		syscall
CPPFLAGS+=	-D_LIBC -DSYSLIBC_SCCS -D_REENTRANT 
LIBCDIR=	${.CURDIR}/../libc
CPPFLAGS+=	-I${LIBCDIR}/include

.if exists(${LIBCDIR}/arch/${MACHINE_ARCH}/sys)
ARCHSUBDIR=	${MACHINE_ARCH}
.elif exists(${LIBCDIR}/arch/${MACHINE_CPU}/sys) 
ARCHSUBDIR=	${MACHINE_CPU}
.else
.BEGIN:
	@@echo no ARCHSUBDIR for ${MACHINE_ARCH} nor ${MACHINE_CPU}
	@@false
.endif

ARCHDIR=	${LIBCDIR}/arch/${ARCHSUBDIR}
AINC=		-I${ARCHDIR}
.if defined(DESTDIR)
AINC+=		-nostdinc -idirafter ${DESTDIR}/usr/include
.endif


# sys sources
.PATH: ${ARCHDIR}/sys ${LIBCDIR}/sys

# modules with non-default implementations on at least one architecture:
SRCS+=	Ovfork.S __clone.S __vfork14.S brk.S exect.S fork.S msgctl.S pipe.S \
	getcontext.S \
	ptrace.S sbrk.S __semctl.S setlogin.S shmat.S shmctl.S sigaction.S \
	sigpending.S sigprocmask.S sigreturn.S __sigreturn14.S sigsuspend.S \
	syscall.S __syscall.S __clone.S cerror.S

_LSRC=	Lint_Ovfork.c Lint___clone.c Lint___vfork14.c Lint_brk.c Lint_clone.c \
	Lint_getcontext.c \
	Lint_exect.c Lint_fork.c Lint_pipe.c Lint_ptrace.c Lint_sbrk.c \
	Lint_setlogin.c Lint___sigreturn14.c Lint_syscall.c Lint___syscall.c \
	LintSysNormal.c LintSysNoerr.c LintSysPseudoNoerr.c

LSRCS+=	${_LSRC}
DPSRCS+=${_LSRC:MLintSys*.c}

# namespace purity wrappers
SRCS+=	_brk.c _fork.c _getcontext.c _pipe.c _sbrk.c


# modules with default implementations on all architectures:
ASM=	accept.S access.S acct.S bind.S chdir.S chflags.S \
	chmod.S chown.S chroot.S clock_getres.S clock_gettime.S \
	connect.S dup.S dup2.S execve.S \
	fchdir.S fchflags.S fchmod.S fchown.S fchroot.S \
	fdatasync.S fhopen.S fhstat.S fhstatfs.S \
	fktrace.S flock.S fpathconf.S __fstat13.S fstatfs.S \
	futimes.S __getcwd.S \
	getdents.S getfh.S getfsstat.S getgroups.S getitimer.S \
	__getlogin.S getpeername.S getpgid.S getpgrp.S \
	getpriority.S getrlimit.S getrusage.S getsid.S getsockname.S \
	getsockopt.S gettimeofday.S ioctl.S kill.S ktrace.S \
	lchflags.S lchmod.S lchown.S __lstat13.S lfs_bmapv.S lfs_markv.S \
	lfs_segclean.S lfs_segwait.S link.S listen.S lutimes.S \
	madvise.S mincore.S minherit.S mkdir.S mkfifo.S mknod.S \
	mlock.S mlockall.S mount.S mprotect.S __msgctl13.S msgget.S \
	 munlock.S munlockall.S munmap.S \
	nfssvc.S ntp_gettime.S pathconf.S \
	profil.S quotactl.S \
	readlink.S reboot.S recvfrom.S recvmsg.S rename.S revoke.S \
	rmdir.S semconfig.S semget.S semop.S ____semctl13.S sendmsg.S \
	sendto.S setegid.S setcontext.S seteuid.S setgid.S setgroups.S setitimer.S \
	setpgid.S setpriority.S setregid.S setreuid.S setrlimit.S \
	setsid.S setsockopt.S setuid.S \
	__shmctl13.S shmdt.S shmget.S shutdown.S __sigaction14.S \
	__sigaltstack14.S __sigpending14.S __sigprocmask14.S \
	socket.S socketpair.S __stat13.S statfs.S \
	swapctl.S symlink.S umask.S undelete.S unlink.S \
	unmount.S utimes.S utrace.S vadvise.S \
	__sysctl.S \
	__posix_chown.S __posix_fchown.S __posix_lchown.S __posix_rename.S \
	_lwp_create.S _lwp_exit.S _lwp_self.S _lwp_wait.S \
	_lwp_suspend.S _lwp_continue.S _lwp_wakeup.S \
	sa_register.S sa_stacks.S sa_enable.S sa_setconcurrency.S sa_yield.S \
	sa_preempt.S \
	timer_create.S timer_delete.S timer_gettime.S timer_getoverrun.S \
	timer_settime.S

WEAKASM= sysarch.S close.S fcntl.S fsync.S msgrcv.S msgsnd.S __msync13.S \
	 nanosleep.S open.S poll.S pread.S pwrite.S read.S readv.S \
	 select.S __sigsuspend14.S wait4.S write.S writev.S

NOERR=	getegid.S geteuid.S getgid.S getpid.S getppid.S getuid.S \
	issetugid.S sync.S

PSEUDONOERR=	_exit.S

SRCS+=		${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR}
CLEANFILES+=	${ASM} ${WEAKASM} ${NOERR} ${PSEUDONOERR}

${ASM}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
	printf '#include "SYS.h"\nRSYSCALL(${.PREFIX})\n' >${.TARGET}

${WEAKASM}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
	printf '#include "SYS.h"\nWSYSCALL(${.PREFIX},_syscall_${.PREFIX})\n' >${.TARGET}

${NOERR}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
	printf '#include "SYS.h"\nRSYSCALL_NOERROR(${.PREFIX})\n' >${.TARGET}

${PSEUDONOERR}: ${ARCHDIR}/SYS.h ${DESTDIR}/usr/include/sys/syscall.h
	printf '#include "SYS.h"\nPSEUDO_NOERROR(${.PREFIX},${.PREFIX:S/_//})\n' >${.TARGET}

LintSysNormal.c: ${LIBCDIR}/sys/makelintstub \
    ${DESTDIR}/usr/include/sys/syscall.h
	sh ${LIBCDIR}/sys/makelintstub -o ${.TARGET} \
	    -s ${DESTDIR}/usr/include/sys/syscall.h ${ASM} ${WEAKASM}

LintSysNoerr.c: ${LIBCDIR}/sys/makelintstub \
    ${DESTDIR}/usr/include/sys/syscall.h
	sh ${LIBCDIR}/sys/makelintstub -o ${.TARGET} -n \
	    -s ${DESTDIR}/usr/include/sys/syscall.h ${NOERR}

LintSysPseudoNoerr.c: ${LIBCDIR}/sys/makelintstub \
    ${DESTDIR}/usr/include/sys/syscall.h
	sh ${LIBCDIR}/sys/makelintstub -o ${.TARGET} -p \
	    -s ${DESTDIR}/usr/include/sys/syscall.h ${PSEUDONOERR}

MAN+=	accept.2 access.2 acct.2 adjtime.2 bind.2 brk.2 chdir.2 \
	chflags.2 chmod.2 chown.2 chroot.2 clock_settime.2 clone.2 close.2 \
	connect.2 dup.2 execve.2 _exit.2 fcntl.2 fdatasync.2 fhopen.2 \
	flock.2 fork.2 fsync.2 getcontext.2 getdents.2 getdirentries.3 \
	getfh.2 getfsstat.2 getgid.2 getgroups.2 \
	getitimer.2 getlogin.2 getpeername.2 getpgrp.2 getpid.2 \
	getpriority.2 getrlimit.2 getrusage.2 getsid.2 getsockname.2 \
	getsockopt.2 gettimeofday.2 getuid.2 intro.2 ioctl.2 issetugid.2 \
	kill.2 ktrace.2 lfs_bmapv.2 lfs_markv.2 lfs_segclean.2 lfs_segwait.2 \
	link.2 listen.2 lseek.2 mkdir.2 mkfifo.2 mknod.2 \
	madvise.2 mincore.2 minherit.2 mlock.2 mlockall.2 mmap.2 mount.2 \
	mprotect.2 msgctl.2 msgget.2 msgrcv.2 msgsnd.2 msync.2 \
	munmap.2 nanosleep.2 nfssvc.2 ntp_adjtime.2 open.2 pathconf.2 pipe.2 \
	poll.2 profil.2 ptrace.2 quotactl.2 read.2 readlink.2 \
	reboot.2 recv.2 rename.2 revoke.2 rmdir.2 select.2 semctl.2 \
	semget.2 semop.2 send.2 setgroups.2 setpgid.2 setregid.2 \
	setreuid.2 setsid.2 setuid.2 shmat.2 shmctl.2 shmget.2 \
	shutdown.2 sigaction.2 sigaltstack.2 sigpending.2 \
	sigprocmask.2 sigreturn.2 sigstack.2 sigsuspend.2 socket.2 \
	socketpair.2 stat.2 statfs.2 swapctl.2 swapon.3 symlink.2 \
	sync.2 sysarch.2 syscall.2 truncate.2 umask.2 undelete.2 \
	unlink.2 utimes.2 utrace.2 vfork.2 wait.2 write.2

MLINKS+=brk.2 sbrk.2
MLINKS+=clone.2 __clone.2
MLINKS+=dup.2 dup2.2
MLINKS+=chdir.2 fchdir.2
MLINKS+=chflags.2 fchflags.2 chflags.2 lchflags.2
MLINKS+=chmod.2 fchmod.2 chmod.2 lchmod.2
MLINKS+=chown.2 fchown.2 chown.2 lchown.2
MLINKS+=chroot.2 fchroot.2
MLINKS+=clock_settime.2 clock_gettime.2
MLINKS+=clock_settime.2 clock_getres.2
MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2
MLINKS+=getcontext.2 setcontext.2
MLINKS+=getgid.2 getegid.2
MLINKS+=getitimer.2 setitimer.2
MLINKS+=getlogin.2 setlogin.2
MLINKS+=getpgrp.2 getpgid.2
MLINKS+=getpid.2 getppid.2
MLINKS+=getpriority.2 setpriority.2
MLINKS+=getrlimit.2 setrlimit.2
MLINKS+=getsockopt.2 setsockopt.2
MLINKS+=gettimeofday.2 settimeofday.2
MLINKS+=getuid.2 geteuid.2
MLINKS+=intro.2 errno.2
MLINKS+=ktrace.2 fktrace.2
MLINKS+=lseek.2 seek.2
MLINKS+=mlock.2 munlock.2
MLINKS+=mlockall.2 munlockall.2
MLINKS+=mount.2 unmount.2
MLINKS+=ntp_adjtime.2 ntp_gettime.2
MLINKS+=pathconf.2 fpathconf.2
MLINKS+=read.2 readv.2 read.2 pread.2 read.2 preadv.2
MLINKS+=recv.2 recvfrom.2 recv.2 recvmsg.2
MLINKS+=send.2 sendmsg.2 send.2 sendto.2
MLINKS+=setpgid.2 setpgrp.2
MLINKS+=setuid.2 setegid.2 setuid.2 seteuid.2 setuid.2 setgid.2
MLINKS+=shmat.2 shmdt.2
MLINKS+=stat.2 fstat.2 stat.2 lstat.2
MLINKS+=statfs.2 fstatfs.2
MLINKS+=syscall.2 __syscall.2
MLINKS+=truncate.2 ftruncate.2
MLINKS+=utimes.2 futimes.2 utimes.2 lutimes.2
MLINKS+=wait.2 wait3.2 wait.2 wait4.2 wait.2 waitpid.2
MLINKS+=write.2 writev.2 write.2 pwrite.2 write.2 pwritev.2


.include <bsd.lib.mk>
@


1.1.2.2
log
@setlogin.S no longer exists; build __setlogin.S as with default syscall code.

(should have committed this a while ago)
@
text
@d32 1
a32 1
	ptrace.S sbrk.S __semctl.S shmat.S shmctl.S sigaction.S \
d71 1
a71 1
	__setlogin.S setpgid.S setpriority.S setregid.S setreuid.S setrlimit.S \
@


1.1.2.3
log
@Add new files.
@
text
@d73 1
a73 1
	__shmctl13.S shmdt.S shmget.S shutdown.S \
d75 1
a75 1
	__sigaction_sigtramp.S socket.S socketpair.S __stat13.S statfs.S \
@


1.1.2.4
log
@Kill libsyscall.
@
text
@@


