(Illustration by Gaich Muramatsu)
u+codalist-p4pg_at_chalmers.se writes: > Hi Greg, > > On Wed, Jul 11, 2007 at 08:10:37AM -0400, Greg Troxel wrote: >> > x86 <-> amd64 is not the only example. Linux ABI is available on >> > several *BSD kernels, what is wrong with providing a single client >> > userspace for all those systems? Our Coda client is self-contained >> > and does not depend on any additional libraries, why do we have to >> > maintain 5 instanses of it - while one x86-Linux instance is >> > capable of running on all 5 platforms unmodified?.. >> >> But it isn't. Either you have to just build coda native, or all those >> other systems have to emulate Linux down to the kernel/venus level. I >> could make the same claim - why doesn't Linux run NetBSD programs? > > The systems can not emulate kernel/venus level by definition - as there is > yet no (architecture-independent) definition of such a thing, > and that was also the point you mentioned. Sure they could - there is no formal spec, but there is the actual behavior, and emulations have to match it. NetBSD's Linux emulation is adjusted as we find new subtleties of Linux system calls that programs people want to run rely on. truss on Linux, ktrace on NetBSD, find different results, fix emulation, repeat. This is messy, but I can run Linux binaries of openoffice, acrobat, and the flash player on NetBSD. But it's a huge amount of work, only justified in practice by the existence of binary programs people want to run. Coda is too easy to compile natively. I do see the point of what you want, and good luck.Received on 2007-07-15 08:57:31