Re: fat binaries

To me, more interesting than distributing a fat (or pre-compiled for
everything) binary would be distributing JIT binaries - the target
machine can then either interpret or compile the files in a way that
exploits all the features of the target. For instance on x86 systems
being able to use SSE registers as part of the ABI improves its fp
performance. This ability is one of the ideas behind compiler
projects such as llvm.org.
On Sun, Mar 8, 2009 at 12:17 AM, Gregory McGarry <g.mcgarry%ieee.org@localhost>
wrote:
> I really like the concept of the mach fat binaries and have always thought
> that NetBSD could benefit from their use more than any other operating
> system.
>
> While NetBSD supports fat binaries containing macho executables, I did a
> proof-of-concept to put native ELF executables inside the fat container. ÂI
> wrote a lipo(1) tool based on the same tool on OS X.
>
> You can find patches at http://ftp.netbsd.org/pub/NetBSD/misc/gmcgarry/fat.
> ÂIt's a grotty hack, but it proves that the concept is not difficult. ÂThe
> diff is against an 8-month-old version of -current. ÂThe cat.fat binary
> supports amd64, i386 and arm.
>
> What's the general feeling about such a feature? ÂI think it would be great
> for universal boot cds. ÂIt would be nice to boot a "netbsd desktop" between
> an amd64 and i386 kernel using the same userland.
>
> Further changes would be required to the toolchain before widespread
> adoption. Âgdb works, but will only recognise the ELF binaries extracted
> from the fat binary. Âld would need to grok shared libs inside the fat
> container.
>
> If there is enthusiasm for the feature, I'll try to factor common code
> between ELF and macho for a clean patch. ÂI'll also look into modifying pcc
> to build fat binaries.
>
>