1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA256 |
3 |
|
4 |
On 01/08/14 05:05 AM, Steven J. Long wrote: |
5 |
> On Fri, Jun 20, 2014, Ian Stakenvicius wrote: |
6 |
>> On 19/06/14 05:20 PM, Steven J. Long wrote: |
7 |
>>> Well I've spent far too long at crossdev code, only to see this |
8 |
>>> and realise you can simply hard-mask: |
9 |
>>> cross-i686-pc-linux-gnu/{binutils,gcc,glibc,pkg-config} in the |
10 |
>>> amd64 multilib profile, unless I'm missing something. You'd be |
11 |
>>> hard-pushed to install a clashing crossdev with such a mask, |
12 |
>>> afaict. |
13 |
>>> |
14 |
>>> If you do want to change crossdev[1], afaict you're looking at |
15 |
>>> interaction between toolchain.eclass (and toolchain-binutils, |
16 |
>>> and likely -funcs), crossdev and gcc-config. I could well be |
17 |
>>> wrong, as ever. This is just my preliminary understanding, and |
18 |
>>> maybe it'll provoke a more thorough explanation. [ Snip! ] |
19 |
>> |
20 |
>> Thank you for the explanation and research! |
21 |
> |
22 |
> YW :-) shove autotools.eclass (and supporting) in there too, |
23 |
> including multiprocessing which had a simply painful attempt at |
24 |
> cleverness. I mentioned it in #gentoo-embedded when i saw it, so |
25 |
> hopefully it'll be corrected soon. (bashpid() function: if you |
26 |
> can't see why it's painfully embarrassing, /join #bash and ask.) |
27 |
> |
28 |
>> Tangental to this, mgorny wrote a little tool yesterday that |
29 |
>> might work well as an alternative to crossdev for multilib |
30 |
>> systems. It simply wraps all the native toolchain calls with |
31 |
>> proper -m and provides the new CTARGETs. |
32 |
>> |
33 |
>> If anybody wants to take a look, this is the link he posted on |
34 |
>> -dev : |
35 |
>> |
36 |
>> <dead url> |
37 |
>> |
38 |
>> Whether or not this suits everyone's needs for an i686 crossdev |
39 |
>> on amd64 systems, i don't know. Thoughts? |
40 |
> |
41 |
> It's more layer upon layer, I'm afraid. Though that file's gone |
42 |
> from the repo, so I imagine it's already made its way to join the |
43 |
> rest of the misguided hackery that is multilib. Still, it's good |
44 |
> that his bash has come on, though he's still too tricksy for his |
45 |
> own good; likely trying to emulate Frysinger, another one who needs |
46 |
> a nice lie-down sometimes, instead of banging out more. Idiot |
47 |
> house-"styles" will do that to you, as will C++. |
48 |
> |
49 |
> I don't know why we can't just mask cross-*/whatever in the |
50 |
> multilib profile, instead of more talk of "masking crossdev" with a |
51 |
> heavy heart. |
52 |
> |
53 |
> Nor do know if that's been done already, as I just found that the |
54 |
> profiles directory Changelog stopped in 2013, for some reason, and |
55 |
> I don't have time to chase the files right now. |
56 |
> |
57 |
> Sorry for delay, been away and then busy. I was hoping to read |
58 |
> something more than "mask crossdev" yet again, when I got back. |
59 |
> |
60 |
> Regards, igli. |
61 |
> |
62 |
|
63 |
It's a package in the tree now, actually -- |
64 |
sys-devel/multilib-gcc-wrapper ; it wraps the native toolchain |
65 |
appropriately for the different ABI's that this toolchain supports, so |
66 |
that ie an i686-*-gcc call is implemented properly via the native gcc |
67 |
instead of a crossdev one. Note, it *also* works on multilib |
68 |
crossdev, too! I have a ppc crossdev installed on my amd64 host box |
69 |
and multilib-gcc-wrapper allows it to build for both ppc32 and ppc64 |
70 |
ABIs just fine (presumably; i don't have a ppc32 or ppc64 native |
71 |
system to actually do runtime tests). |
72 |
|
73 |
Back to the comment on masking -- would a cross-emerge (which i think |
74 |
uses the target's profile, right?) end up p.masking its own toolchain? |
75 |
If it did, would that actually break anything (i'm thinking no since |
76 |
it's the crossdev that manages toolchain updates for the target rather |
77 |
than cross-emerge)?? I agree that masks should be minimized, at most |
78 |
masking the conflicting cross-* packages in a profile. However if |
79 |
this causes issues within cross-emerge too, then perhaps adjusting the |
80 |
crossdev tool to warn or error would suffice when a target that will |
81 |
conflict with the native toolchain is requested. |
82 |
|
83 |
|
84 |
-----BEGIN PGP SIGNATURE----- |
85 |
Version: GnuPG v2 |
86 |
|
87 |
iF4EAREIAAYFAlPbpeAACgkQ2ugaI38ACPCGRwD+JnA2ACNizXn9ZYG0kiaoitwO |
88 |
wqHqahuceDxeo8z+Ps4A/158v8pElxPFZ4oWgHfVbZ43eiJm/N65Zay1x3U/vo3w |
89 |
=m7AR |
90 |
-----END PGP SIGNATURE----- |