1 |
On 12/29/2013 05:13 PM, Markos Chandras wrote: |
2 |
> On 12/29/2013 09:52 PM, Anthony G. Basile wrote: |
3 |
>> On 12/29/2013 04:48 PM, Markos Chandras wrote: |
4 |
>>> On 12/29/2013 09:48 PM, Michał Górny wrote: |
5 |
>>>> Dnia 2013-12-29, o godz. 16:40:08 |
6 |
>>>> Joshua Kinard <kumba@g.o> napisał(a): |
7 |
>>>> |
8 |
>>>>> On 12/28/2013 5:58 PM, Michał Górny wrote: |
9 |
>>>>>> I've noticed today that mips uses the same CHOST value for all three |
10 |
>>>>>> ABIs it supports: |
11 |
>>>>>> |
12 |
>>>>>> arch/mips/mips64/multilib/make.defaults:CHOST_o32="${CHOST}" |
13 |
>>>>>> arch/mips/mips64/multilib/make.defaults:CHOST_n32=${CHOST} |
14 |
>>>>>> arch/mips/mips64/multilib/make.defaults:CHOST_n64=${CHOST} |
15 |
>>>>>> arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_o32="${CHOST}" |
16 |
>>>>>> arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_n32="${CHOST}" |
17 |
>>>>>> arch/mips/mipsel/mips64el/multilib/make.defaults:CHOST_n64="${CHOST}" |
18 |
>>>>>> |
19 |
>>>>>> [...] |
20 |
>>>>> Matt can probably vouch for this better, but the only two ABIs |
21 |
>>>>> affected by |
22 |
>>>>> this are n32 and n64. mips[el]-unknown-linux-gnu implies a 32-bit |
23 |
>>>>> big/little endian CHOST, which means the o32 ABI. |
24 |
>>>>> mips64[el]-unknown-linux-gnu means either n32 or n64. So no change |
25 |
>>>>> should |
26 |
>>>>> be needed for o32-based installs. |
27 |
>>>> Just to be clear: |
28 |
>>>> |
29 |
>>>> profiles/arch/mips/mipsel/mips64el/multilib/make.defaults: |
30 |
>>>> |
31 |
>>>> CHOST="mips64el-unknown-linux-gnu" |
32 |
>>>> |
33 |
>>>> [...] |
34 |
>>>> |
35 |
>>>> CFLAGS_o32="-mabi=32" |
36 |
>>>> CHOST_o32="${CHOST}" |
37 |
>>>> |
38 |
>>>> CFLAGS_n32="-mabi=n32" |
39 |
>>>> CHOST_n32="${CHOST}" |
40 |
>>>> |
41 |
>>>> CFLAGS_n64="-mabi=64" |
42 |
>>>> CHOST_n64="${CHOST}" |
43 |
>>>> |
44 |
>>>> So in this case, o32 actually uses mips64el-unknown-linux-gnu, unless |
45 |
>>>> I'm missing something. |
46 |
>>>> |
47 |
>>> Yes all 3 ABIs use the same tuple. |
48 |
>>> |
49 |
>> I think people are missing Mike's point from earlier, which is that |
50 |
>> tuples label toolchains and a toolchain can support multiple abis. So |
51 |
>> for example, what would one do on a system which simultaneously has o32, |
52 |
>> n32 and n64? -gnuabi32n32n64 looks pretty crazy. |
53 |
>> |
54 |
> There is only one default ABI, so the toolchain should be named after |
55 |
> that. But that does not mean the toolchain can't build for different ABIs |
56 |
> |
57 |
No because that would confuse a toolchain which only supports n32 with |
58 |
one that supports o32/n32/n64. Anyhow, Michał response is heading in |
59 |
the right direction where we'd have to use multiple tuple on multilib |
60 |
system support more than one lib. I'm still not sure where this will |
61 |
land us with respect to gnuconfig and other tuple parsing tools that |
62 |
bring in their own assumptions. |
63 |
|
64 |
-- |
65 |
Anthony G. Basile, Ph.D. |
66 |
Gentoo Linux Developer [Hardened] |
67 |
E-Mail : blueness@g.o |
68 |
GnuPG FP : 1FED FAD9 D82C 52A5 3BAB DC79 9384 FA6E F52D 4BBA |
69 |
GnuPG ID : F52D4BBA |