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