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