1 |
On 12/29/2013 09:40 PM, Joshua Kinard wrote: |
2 |
> On 12/28/2013 5:58 PM, Michał Górny wrote: |
3 |
>> Hello, folks. |
4 |
>> |
5 |
>> I've noticed today that mips uses the same CHOST value for all three |
6 |
>> ABIs it supports: |
7 |
>> |
8 |
>> arch/mips/mips64/multilib/make.defaults:CHOST_o32="${CHOST}" |
9 |
>> arch/mips/mips64/multilib/make.defaults:CHOST_n32=${CHOST} |
10 |
>> arch/mips/mips64/multilib/make.defaults:CHOST_n64=${CHOST} |
11 |
>> arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_o32="${CHOST}" |
12 |
>> arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_n32="${CHOST}" |
13 |
>> arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_n64="${CHOST}" |
14 |
>> |
15 |
>> Long story short, this sucks and will cause trouble. |
16 |
>> |
17 |
>> In the multilib stuff, we're using CHOST for two purposes: |
18 |
>> |
19 |
>> 1. wrapped headers are put in /usr/include/$CHOST, |
20 |
>> |
21 |
>> 2. multilib executables are prefixed with $CHOST-. |
22 |
>> |
23 |
>> (1) here is not really a killer feature but I'd rather avoid changing |
24 |
>> this at this point. (2) is actually a killer feature, since the eclass |
25 |
>> sets CHOST properly and thanks to that AC_CHECK_TOOL and friends can |
26 |
>> find multilib *-config progs and stuff without any special hackery. |
27 |
>> |
28 |
>> And those are just the examples I can think of. I suspect that more stuff |
29 |
>> may actually expect CHOST to uniquely identify build, especially some |
30 |
>> tricky hidden features in autotools :). |
31 |
>> |
32 |
>> I'd suggest that you changed the CHOST values to uniquely identify ABI |
33 |
>> in use, at least in multilib profiles and preferably in all of them. |
34 |
> |
35 |
> Matt can probably vouch for this better, but the only two ABIs affected by |
36 |
> this are n32 and n64. mips[el]-unknown-linux-gnu implies a 32-bit |
37 |
> big/little endian CHOST, which means the o32 ABI. |
38 |
|
39 |
Why? mips64 can do o32 as well. |
40 |
|
41 |
> |
42 |
> According to this Debian wiki entry: |
43 |
> https://wiki.debian.org/Multiarch/Tuples |
44 |
|
45 |
Probably because they don't do mips64/o32. But we do, so we would also |
46 |
need *-linux-gnuabi32 |
47 |
|
48 |
-- |
49 |
Regards, |
50 |
Markos Chandras |