syscall separation part 13 for review

David P. Reese, Jr. daver at
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().

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

More information about the Submit mailing list