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 |