Classify mmap, lseek, pread, pwrite, truncate, ftruncate as pseudo

syscalls, unless WITHOUT_SYSCALL_COMPAT is defined.  The default case
will have the .c wrappers still.  If you define WITHOUT_SYSCALL_COMPAT,
the .c wrappers will go away and libc will make direct syscalls.

After 7-stable starts, the direct syscall method will be default.

Approved by:  re (kensmith)
This commit is contained in:
Peter Wemm 2007-07-04 23:23:01 +00:00
parent eabc04d472
commit 65a6d893ba
7 changed files with 35 additions and 22 deletions

View File

@ -7,8 +7,10 @@ MDASM= vfork.S brk.S cerror.S exect.S getcontext.S pipe.S ptrace.S \
reboot.S sbrk.S setlogin.S sigreturn.S
# Don't generate default code for these syscalls:
NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \
lseek.o mmap.o openbsd_poll.o pread.o \
pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o
NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \
setdomainname.o sstk.o uname.o vfork.o yield.o
PSEUDO= _getlogin.o _exit.o
.if !defined(WITHOUT_SYSCALL_COMPAT)
PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o
.endif

View File

@ -3,7 +3,10 @@
MDASM= Ovfork.S brk.S cerror.S pipe.S ptrace.S sbrk.S shmat.S sigreturn.S syscall.S
# Don't generate default code for these syscalls:
NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \
lseek.o mmap.o openbsd_poll.o pread.o \
pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o
NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \
setdomainname.o sstk.o uname.o vfork.o yield.o
PSEUDO= _exit.o _getlogin.o
.if !defined(WITHOUT_SYSCALL_COMPAT)
PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o
.endif

View File

@ -12,11 +12,13 @@ MDASM= Ovfork.S brk.S cerror.S exect.S getcontext.S pipe.S ptrace.S \
reboot.S sbrk.S setlogin.S sigreturn.S syscall.S
# Don't generate default code for these syscalls:
NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \
lseek.o mmap.o openbsd_poll.o pread.o \
pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o
NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \
setdomainname.o sstk.o uname.o vfork.o yield.o
PSEUDO= _getlogin.o _exit.o
.if !defined(WITHOUT_SYSCALL_COMPAT)
PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o
.endif
MAN+= i386_get_ioperm.2 i386_get_ldt.2 i386_vm86.2
MAN+= i386_set_watch.3

View File

@ -4,8 +4,10 @@ MDASM+= Ovfork.S brk.S cerror.S exect.S fork.S getcontext.S pipe.S ptrace.S \
sbrk.S setlogin.S sigreturn.S swapcontext.S
# Don't generate default code for these syscalls:
NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \
lseek.o mmap.o openbsd_poll.o pread.o \
pwrite.o setdomainname.o sstk.o truncate.o uname.o vfork.o yield.o
NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \
setdomainname.o sstk.o uname.o vfork.o yield.o
PSEUDO= _getlogin.o _exit.o
.if !defined(WITHOUT_SYSCALL_COMPAT)
PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o
.endif

View File

@ -3,9 +3,10 @@
MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S
# Don't generate default code for these syscalls:
NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \
lseek.o mmap.o openbsd_poll.o pread.o \
pwrite.o setdomainname.o sstk.o truncate.o uname.o yield.o
NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \
setdomainname.o sstk.o uname.o yield.o
PSEUDO= _getlogin.o _exit.o
.if !defined(WITHOUT_SYSCALL_COMPAT)
PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o
.endif

View File

@ -18,9 +18,10 @@ CFLAGS+= -DSUN4V
MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S
# Don't generate default code for these syscalls:
NOASM= break.o exit.o ftruncate.o getdomainname.o getlogin.o \
lseek.o mmap.o openbsd_poll.o pread.o \
pwrite.o setdomainname.o sstk.o truncate.o uname.o yield.o
NOASM= break.o exit.o getdomainname.o getlogin.o openbsd_poll.o \
setdomainname.o sstk.o uname.o yield.o
PSEUDO= _getlogin.o _exit.o
.if !defined(WITHOUT_SYSCALL_COMPAT)
PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o
.endif

View File

@ -18,8 +18,10 @@
.endif
# Sources common to both syscall interfaces:
SRCS+= ftruncate.c lseek.c mmap.c pread.c pwrite.c stack_protector.c \
truncate.c __error.c
SRCS+= stack_protector.c __error.c
.if !defined(WITHOUT_SYSCALL_COMPAT)
SRCS+= ftruncate.c lseek.c mmap.c pread.c pwrite.c truncate.c
.endif
# Add machine dependent asm sources:
SRCS+=${MDASM}