tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

fat binaries

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 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.

Home | Main Index | Thread Index | Old Index