svn commit: r234352 - in head/sys: amd64/linux32 compat/linux
i386/linux kern
Giovanni Trematerra
gianni at freebsd.org
Wed Apr 18 11:52:25 UTC 2012
On Mon, Apr 16, 2012 at 11:22 PM, Jung-uk Kim <jkim at freebsd.org> wrote:
> Author: jkim
> Date: Mon Apr 16 21:22:02 2012
> New Revision: 234352
> URL: http://svn.freebsd.org/changeset/base/234352
>
> Log:
> - Implement pipe2 syscall for Linuxulator. This syscall appeared in 2.6.27
> but GNU libc used it without checking its kernel version, e. g., Fedora 10.
> - Move pipe(2) implementation for Linuxulator from MD files to MI file,
> sys/compat/linux/linux_file.c. There is no MD code for this syscall at all.
> - Correct an argument type for pipe() from l_ulong * to l_int *. Probably
> this was the source of MI/MD confusion.
>
> Reviewed by: emulation
>
> Modified:
> head/sys/amd64/linux32/linux32_dummy.c
> head/sys/amd64/linux32/linux32_machdep.c
> head/sys/amd64/linux32/syscalls.master
> head/sys/compat/linux/linux_file.c
> head/sys/i386/linux/linux_dummy.c
> head/sys/i386/linux/linux_machdep.c
> head/sys/i386/linux/syscalls.master
> head/sys/kern/sys_pipe.c
>
I don't think it's worth to change sys/kern/sys_pipe.c just to implement
linux_pipe2 in linuxator.
You can just revert the changes in sys_pipe.c and call kern_fcntl in linux_pipe2
to set appropriate flags for the pipes after you created them with kern_pipe.
Please, take a look at this patch
http://www.trematerra.net/patches/linux_pipe2.patch
It's only test-compiled though.
Thank you.
--
Giovanni Trematerra
More information about the svn-src-head
mailing list