syscall separation part 13 for review

David P. Reese, Jr. daver at gomerbud.com
Tue Nov 11 17:32:45 PST 2003


Split mkfifo().

Trash the CHECKALT{CREAT,EXIST} macros and friends.  Implement
linux_copyin_path() and linux_free_path() for path translation without
using the stackgap.

Use the above and recently split syscalls to remove stackgap allocations
from linux_creat(), linux_open(), linux_lseek(), linux_llseek(),
linux_access(), linux_unlink(), linux_chdir(), linux_chmod(),
linux_mkdir(), linux_rmdir(), linux_rename(), linux_symlink(),
linux_readlink(), linux_truncate(), linux_link(), linux_chown(),
linux_lchown(), linux_uselib(), linux_utime(), linux_mknod(),
linux_newstat(), linux_newlstat(), linux_statfs(), linux_stat64(),
linux_lstat64(), linux_chown16(), linux_lchown16(), linux_execve(). 

Split use split syscalls to reimplement linux_fstatfs().

Implement linux_translate_path() for use in exec_linux_imgact_try().

http://gomerbud.com/daver/patches/dragonfly/syscall-separation-13.diff

This patch kills about 30 stackgap allocations in the linux emulator.
It looks like I only have about 10 stackgaps left.

I am praying that this isn't anywhere as buggy as the last big syscall
split patch.  These changes were rather straight forward, so I have
some faith.  LINT builds.  linux-mozillafirebird works.

-- 
   David P. Reese, Jr.                                     daver at xxxxxxxxxxxx
                                               http://www.gomerbud.com/daver/





More information about the Submit mailing list