2005-09-28 17:20:41

by Andreas Jellinghaus

[permalink] [raw]
Subject: fat / multi arch binaries?

Hi,

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?

if linux supports that, it should
also work for merging x86 and x86_64
into one binary? would ther be a way
to run the 32bit version in the 64bit
kernel, if requested? are there any
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?

Thanks, Andreas


2005-09-28 17:29:40

by Antonio Vargas

[permalink] [raw]
Subject: Re: fat / multi arch binaries?

On 9/28/05, Andreas Jellinghaus <[email protected]> wrote:
> Hi,
>
> 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 :)


> 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 ;)

> 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

> 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

> Thanks, Andreas
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>


--
Greetz, Antonio Vargas aka winden of network

http://wind.codepixel.com/


Every day, every year
you have to work
you have to study
you have to scene.

2005-09-28 22:01:44

by Bernd Petrovitsch

[permalink] [raw]
Subject: Re: fat / multi arch binaries?

On Wed, 2005-09-28 at 19:29 +0200, Antonio Vargas wrote:
> On 9/28/05, Andreas Jellinghaus <[email protected]> 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



2005-09-29 00:03:20

by Alan

[permalink] [raw]
Subject: Re: fat / multi arch binaries?

> but I couldn't find anything whether
> such binaries would work with linux
> or not. can you tell me?

Linux doesn't. Instead there are a set of policies allowing parallel
library installations which although far from perfect do work.

If you want to put both architectures in one package then a simple
script to front it will do what is needed.

Alan