cvs commit: src/sys/i386/linux linux_machdep.c linux_ptrace.c linux_sysvec.c
Matthew Dillon
dillon at crater.dragonflybsd.org
Sat Jul 26 11:13:28 PDT 2003
dillon 2003/07/26 11:12:43 PDT
Modified files:
sys/i386/linux linux_machdep.c linux_ptrace.c
linux_sysvec.c
Log:
syscall messaging 2: Change the standard return value storage for system
calls from proc->p_retval[] to the message structure embedded in the syscall.
System calls used to set their non-error return value in p_retval[] but
must now set it in the message structure. This is a necessary precursor to
any sort of asynchronizatino, for obvious reasons.
This work was particularly annoying because all the emualtion code declares
and manually fills in syscall argument structures.
This commit could potentially destabilize some of the emulation code but I
went through the most important Linux emulation code three times and tested it
with linux-mozilla, so I am fairly confident that I got it right.
Note: proper linux emulation requires setting the fallback elf brand to 3 or
it will default to SVR4. It really ought to default to linux (3), not SVR4.
sysctl -w kern.fallback_elf_brand=3
Revision Changes Path
1.6 +104 -49 src/sys/i386/linux/linux_machdep.c
1.5 +24 -21 src/sys/i386/linux/linux_ptrace.c
1.5 +3 -1 src/sys/i386/linux/linux_sysvec.c
More information about the Commits
mailing list