Re: fat / multi arch binaries?

From: Bernd Petrovitsch
Date: Wed Sep 28 2005 - 17:02:04 EST


On Wed, 2005-09-28 at 19:29 +0200, Antonio Vargas wrote:
> On 9/28/05, Andreas Jellinghaus <aj@xxxxxxxxxxxxxxx> wrote:
[...]
> > does linux support binaries with code
> > for several architectures? I read that
> > elf allowes that, and for example
> > apple plans to use it on mac os X,
> > but I couldn't find anything whether
> > such binaries would work with linux
> > or not. can you tell me?
>
> OSX begat from NeXT and NeXT had these same "fat binaries". They are not new :)

Yup. For 4 archs IIRC.

> > if linux supports that, it should
> > also work for merging x86 and x86_64
> > into one binary? would ther be a way
>
> you don't want that ;)

ACK. It boils down to have n (i.e. lots of) cross-compilers installed.
Compiling needs n times as much time - you compile once for every
architecture. The binaries get much larger. You have to store and
transport them at startup (OK, this is pretty pathetic.) And then the
shared loader/kernel throws n-1 versions away.
On NeXT folks started to disable the FAT binaries just because of these
reasons.
ANd I hear the Intel-using world moan if they det on Debian >10 times as
large binaroes just to support MIPS and 68k ....

> > to run the 32bit version in the 64bit
> > kernel, if requested? are there any
>
> 32bit user-space can run 100% on 64bit kernel, this is usual in sparc
> if i'm not mistaken

And on Linux too. OO.org is on the major distros only as 32bit available
and runs "natively" on x86_64.
Actually the example is not that good.

> > tools to create such binaries?
> >
> > with google I found info from 97
> > that indicades elf format has no
> > provision for fat binaries and linux
> > doesn't support them. is that still
> > true?
>
> just remember that linux is mainly about source access, so having
> "fat" binaries is just wrong because the one-true-way is to get the
> sources and compile for your arch directly. this can be done by hand,
> semi-automated (aka gentoo) or automated (aka debian, fedora, etc...)
> by just installing from precompiled binaries

ACK. With apt-get/yum/portage/... most of the problems which were solved
with fat binaries a decade ago are already solved.

Bernd
--
Firmix Software GmbH http://www.firmix.at/
mobil: +43 664 4416156 fax: +43 1 7890849-55
Embedded Linux Development and Services



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/