re: thoughts on architectures
Bear in mind that quite a few systems already support multiple kinds of
binaries, and there are more on the way. Sparc, ia64 and x86-64 (not sure
if x86-64 is a Debian arch yet) all can do both 64 and 32 bit binaries. I
think s390 might too, but I'm not sure. The packaging system needs to know
how to deal with the situation.
The BSDs can run Linux binaries, and also run on some of the same 64/32 bit
on my netbsd/sparc64 box running a 64 bit kernel, i can run these binaries:
- native (elf64_sparc)
- elf32 sparc (netbsd)
- a.out sparc (netbsd)
- a.out sunos
- elf32 svr4
- elf64 svr4
i don't think we ever did a.out 64bit so that doesn't count... the libraries
for these are located in several places:
(the latter two because solaris defines different paths 64bit code, something
that netbsd hasn't gotten around to working out how to do properly yet.)
Also, FreeBSD (and possibly NetBSD as well) uses the ELF OSABI field to mark
it's binaries. That's how it knows when to start emulating Linux syscalls.
So it's effectively using an altered ELF format on i386, as well as a
different libc. But it's capable of supporting libc6 in Linux emulation mode.
Of course, dpkg doesn't know that...
that would be "FreeBSD abuses the ELF OSABI" but nevermind :-) NetBSD
uses an ELF note section, rather than mark their binaries as "not ELF"
(which is what setting OSABI means -- bad name yes.)