Gentoo Archives: gentoo-mips

From: Joshua Kinard <kumba@g.o>
To: "Michał Górny" <mgorny@g.o>, gentoo-mips@l.g.o
Cc: mips@g.o, multilib@g.o
Subject: [gentoo-mips] Re: On MIPS using the same CHOST for all multilib ABIs
Date: Sun, 29 Dec 2013 21:40:19
Message-Id: 52C096B8.1020302@gentoo.org
In Reply to: [gentoo-mips] On MIPS using the same CHOST for all multilib ABIs by "Michał Górny"
1 On 12/28/2013 5:58 PM, Michał Górny wrote:
2 > Hello, folks.
3 >
4 > I've noticed today that mips uses the same CHOST value for all three
5 > ABIs it supports:
6 >
7 > arch/mips/mips64/multilib/make.defaults:CHOST_o32="${CHOST}"
8 > arch/mips/mips64/multilib/make.defaults:CHOST_n32=${CHOST}
9 > arch/mips/mips64/multilib/make.defaults:CHOST_n64=${CHOST}
10 > arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_o32="${CHOST}"
11 > arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_n32="${CHOST}"
12 > arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_n64="${CHOST}"
13 >
14 > Long story short, this sucks and will cause trouble.
15 >
16 > In the multilib stuff, we're using CHOST for two purposes:
17 >
18 > 1. wrapped headers are put in /usr/include/$CHOST,
19 >
20 > 2. multilib executables are prefixed with $CHOST-.
21 >
22 > (1) here is not really a killer feature but I'd rather avoid changing
23 > this at this point. (2) is actually a killer feature, since the eclass
24 > sets CHOST properly and thanks to that AC_CHECK_TOOL and friends can
25 > find multilib *-config progs and stuff without any special hackery.
26 >
27 > And those are just the examples I can think of. I suspect that more stuff
28 > may actually expect CHOST to uniquely identify build, especially some
29 > tricky hidden features in autotools :).
30 >
31 > I'd suggest that you changed the CHOST values to uniquely identify ABI
32 > in use, at least in multilib profiles and preferably in all of them.
33
34 Matt can probably vouch for this better, but the only two ABIs affected by
35 this are n32 and n64. mips[el]-unknown-linux-gnu implies a 32-bit
36 big/little endian CHOST, which means the o32 ABI.
37 mips64[el]-unknown-linux-gnu means either n32 or n64. So no change should
38 be needed for o32-based installs.
39
40 According to this Debian wiki entry:
41 https://wiki.debian.org/Multiarch/Tuples
42
43 We would have to adopt mips64[el]-unknown-linux-gnuabin32 for n32 and
44 -gnuabin64 for n64. Testing would be needed to watch for packages that
45 don't have updated config.sub/config.guess files and fail to recognize this
46 particular CHOST.
47
48 --
49 Joshua Kinard
50 Gentoo/MIPS
51 kumba@g.o
52 4096R/D25D95E3 2011-03-28
53
54 "The past tempts us, the present confuses us, the future frightens us. And
55 our lives slip away, moment by moment, lost in that vast, terrible in-between."
56
57 --Emperor Turhan, Centauri Republic

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies