Gentoo Archives: gentoo-mips

From: Markos Chandras <hwoarang@g.o>
To: gentoo-mips@l.g.o
Subject: Re: [gentoo-mips] Re: On MIPS using the same CHOST for all multilib ABIs
Date: Sun, 29 Dec 2013 22:34:28
Message-Id: 52C0A354.30808@gentoo.org
In Reply to: Re: [gentoo-mips] Re: On MIPS using the same CHOST for all multilib ABIs by "Anthony G. Basile"
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

Replies

Subject Author
Re: [gentoo-mips] Re: On MIPS using the same CHOST for all multilib ABIs "Anthony G. Basile" <blueness@g.o>