Missing syscall linux_base-f10 on 8.0-R (amd64)
Jung-uk Kim
jkim at FreeBSD.org
Wed Dec 2 18:19:20 UTC 2009
On Wednesday 02 December 2009 11:58 am, Paul Schenkeveld wrote:
> Hi,
>
> I'm trying to run an old linux executable on 8.0-R amd64 under
> linux_base-f10. The app (we have no sources) fails when trying to
> open a pipe to the lp command. With truss I see the following:
>
> 70291: read(0,"\n",4096) = 1 (0x1)
> 70291:
> linux_socketcall(0x9,0xffffb424,0x81b0150,0x81b0150,0x81a5ac8,0x6)
> = 4 (0x4) 70291:
> linux_socketcall(0xa,0xffffb400,0x81afc08,0x4,0x81a5c9c,0x6) = 12
> (0xc) 70291: linux_access(0x8187fc8,0x4,0x8187fc8,0x6,0x0,0x6)
> ERR#2 'No such file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0x6,0x0,0x6) ERR#2 'No such
> file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0x6,0x0,0x6) ERR#2 'No such
> file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xb,0x6) ERR#2 'No such
> file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xffffae84,0x6) ERR#2 'No
> such file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xffffae84,0x6) ERR#2 'No
> such file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xffffae84,0x6) ERR#2 'No
> such file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xb,0x6) ERR#2 'No such
> file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0xe,0xffffae84,0x6) ERR#2 'No
> such file or directory' 70291:
> linux_access(0x8187fc8,0x4,0x8187fc8,0xffffae84,0xe,0x6) = 0 (0x0)
> 70291: linux_open("/some/file",0x0,00) = 6 (0x6)
> 70291: read(6,"xxxxxx",6) = 6 (0x6)
> 70291: read(6,0xffffafbc,13) = 0 (0x0)
> 70291: close(6) = 0 (0x0)
> -- UNKNOWN SYSCALL 331 --
> 70291: write(2,"\n ",5) = 5 (0x5)
>
> Is this a system call missing in linux_base-f10 or in the kernel
> part of the linux emulation? The app user to run on 6.2-R i386
> with linux_base-fc-4. We are trying to move to 8.0-R amd64 to get
> stable ZFS support.
Linux syscall 331 is pipe2(2) and it was added in Linux 2.6.27 and
glibc 2.9 according to the Linux manual page:
http://www.kernel.org/doc/man-pages/online/pages/man2/pipe.2.html
Linuxulator in kernel does not support it. You may try older
linux_base instead.
Jung-uk Kim
More information about the freebsd-emulation
mailing list