Gentoo Archives: gentoo-dev

From: "Robin H. Johnson" <robbat2@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Support for multiple ABIs for amd64 (64bit,32bit) in multilib overlay
Date: Mon, 19 Oct 2009 02:57:42
Message-Id: robbat2-20091019T024530-719637144Z@orbis-terrarum.net
In Reply to: Re: [gentoo-dev] Support for multiple ABIs for amd64 (64bit,32bit) in multilib overlay by Mike Frysinger
1 On Sun, Oct 18, 2009 at 10:26:37PM -0400, Mike Frysinger wrote:
2 > On Sunday 18 October 2009 14:49:09 Thomas Sachau wrote:
3 > > Robin H. Johnson schrieb:
4 > > > On Mon, Oct 12, 2009 at 04:50:23PM -0400, Mike Frysinger wrote:
5 > > >> what exactly does this "lib32" do ? naming USE flags according to
6 > > >> specific ABI implementations is a bad idea. you have to forget special
7 > > >> casing anything to "lib32 vs lib64". amd64, while the most common, is
8 > > >> hardly extensible. we must handle multiple ABIs which easily might have
9 > > >> the same bitsize.
10 > > >
11 > > > The canonical example for this does still remain MIPS I believe.
12 > > >
13 > > > The most common ABIs in MIPS are:
14 > > > o32, n32 - Both in Gentoo releases
15 > > > n64 - Was experimentally done in Gentoo
16 > > > (default-linux/mips/2007.1-dev/generic-be/n64) o64, eabi, meabi, nubi -
17 > > > Not sure if they were were ever released in any way.
18 > > >
19 > > > Crossdev DOES support the full swath of these last I checked it.
20 > >
21 > > There is a difference between creating a toolchain and supporting all
22 > > packages for that arch and every possible ABI you can crosscompile.
23 > >
24 > > Currently i only support amd64 since thats the only ARCH i know and have
25 > > access to. If i get enough details to implement other ARCHes and some way
26 > > to test it there, i might try it for those other ARCHes too.
27 > we're not asking you to implement support for these ABIs, just to keep in mind
28 > that any implementation that does not scale and/or hardcodes to a single set
29 > of ABIs isnt a proper solution
30 My main objection thusfar is hardcoding the names as lib64/lib32.
31
32 Is there any specific reason you're using the content of the
33 LIBDIR_${ABI} variable? Maybe using the $ABI string as the USE flag
34 would be better, in some form of USE_EXPAND manner (cannot use them raw
35 as I believe we still have some code in the form of 'use $ARCH', which
36 might not behave sanely if say both amd64 and x86 were set.
37
38 Egs:
39 multilib AMD64:
40 USE="abi_x86 abi_amd64"
41
42 Multilib PPC64:
43 USE="abi_ppc abi_ppc64"
44
45 Multilib MIPS (SGI hardware)
46 USE="abi_n32 abi_n64"
47
48 Possible valid multilib sets on MIPS are:
49 [n32,n64] - at least one Gentoo system like this has been built.
50 [o32,o64]
51 [eabi,meabi] - docs fuzzy
52 [nubi]
53
54 --
55 Robin Hugh Johnson
56 Gentoo Linux: Developer, Trustee & Infrastructure Lead
57 E-Mail : robbat2@g.o
58 GnuPG FP : 11AC BA4F 4778 E3F6 E4ED F38E B27B 944E 3488 4E85

Replies