(Illustration by Gaich Muramatsu)
Jan Harkes <jaharkes_at_cs.cmu.edu> writes: > On Wed, Aug 06, 2014 at 07:39:02AM -0400, Greg Troxel wrote: >> So you are really running into Linux bugs. If an amd64 system is >> running an i386 binary then it should expect the system call args to be >> in the i386 format, because it is really running an emulation. Either > > No, the system calls are as far as I know fine, it is just that pioctl > uses ioctl, which doesn't interpret the contents of the blobs it passed > back and forth. I see. It's venus that fails to provide binary compat, and it has no idea that the client is from a foreign architecture. > And cfs/venus probably use long integers in some of the structures, so a > 32-bit cfs binary cannot talk to a 64-bit venus and vv. And while it would be nice to have these all be fixed-width types, probably a number of them are OS-specific types, which are not the same size on all architectures. So the likely conclusion is that you need cfs/venus built consistently, which seems like a restriction that causes no trouble.Received on 2014-08-06 08:12:27