From: Ian Stakenvicius <axs@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Subject: Re: [gentoo-dev] Re: crossdev and multilib interference
Date: Fri, 01 Aug 2014 10:36:16 -0400 [thread overview]
Message-ID: <53DBA5E0.9060809@gentoo.org> (raw)
In-Reply-To: <20140801090512.GA17213@rathaus.eclipse.co.uk>
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
On 01/08/14 05:05 AM, Steven J. Long wrote:
> On Fri, Jun 20, 2014, Ian Stakenvicius wrote:
>> On 19/06/14 05:20 PM, Steven J. Long wrote:
>>> Well I've spent far too long at crossdev code, only to see this
>>> and realise you can simply hard-mask:
>>> cross-i686-pc-linux-gnu/{binutils,gcc,glibc,pkg-config} in the
>>> amd64 multilib profile, unless I'm missing something. You'd be
>>> hard-pushed to install a clashing crossdev with such a mask,
>>> afaict.
>>>
>>> If you do want to change crossdev[1], afaict you're looking at
>>> interaction between toolchain.eclass (and toolchain-binutils,
>>> and likely -funcs), crossdev and gcc-config. I could well be
>>> wrong, as ever. This is just my preliminary understanding, and
>>> maybe it'll provoke a more thorough explanation. [ Snip! ]
>>
>> Thank you for the explanation and research!
>
> YW :-) shove autotools.eclass (and supporting) in there too,
> including multiprocessing which had a simply painful attempt at
> cleverness. I mentioned it in #gentoo-embedded when i saw it, so
> hopefully it'll be corrected soon. (bashpid() function: if you
> can't see why it's painfully embarrassing, /join #bash and ask.)
>
>> Tangental to this, mgorny wrote a little tool yesterday that
>> might work well as an alternative to crossdev for multilib
>> systems. It simply wraps all the native toolchain calls with
>> proper -m and provides the new CTARGETs.
>>
>> If anybody wants to take a look, this is the link he posted on
>> -dev :
>>
>> <dead url>
>>
>> Whether or not this suits everyone's needs for an i686 crossdev
>> on amd64 systems, i don't know. Thoughts?
>
> It's more layer upon layer, I'm afraid. Though that file's gone
> from the repo, so I imagine it's already made its way to join the
> rest of the misguided hackery that is multilib. Still, it's good
> that his bash has come on, though he's still too tricksy for his
> own good; likely trying to emulate Frysinger, another one who needs
> a nice lie-down sometimes, instead of banging out more. Idiot
> house-"styles" will do that to you, as will C++.
>
> I don't know why we can't just mask cross-*/whatever in the
> multilib profile, instead of more talk of "masking crossdev" with a
> heavy heart.
>
> Nor do know if that's been done already, as I just found that the
> profiles directory Changelog stopped in 2013, for some reason, and
> I don't have time to chase the files right now.
>
> Sorry for delay, been away and then busy. I was hoping to read
> something more than "mask crossdev" yet again, when I got back.
>
> Regards, igli.
>
It's a package in the tree now, actually --
sys-devel/multilib-gcc-wrapper ; it wraps the native toolchain
appropriately for the different ABI's that this toolchain supports, so
that ie an i686-*-gcc call is implemented properly via the native gcc
instead of a crossdev one. Note, it *also* works on multilib
crossdev, too! I have a ppc crossdev installed on my amd64 host box
and multilib-gcc-wrapper allows it to build for both ppc32 and ppc64
ABIs just fine (presumably; i don't have a ppc32 or ppc64 native
system to actually do runtime tests).
Back to the comment on masking -- would a cross-emerge (which i think
uses the target's profile, right?) end up p.masking its own toolchain?
If it did, would that actually break anything (i'm thinking no since
it's the crossdev that manages toolchain updates for the target rather
than cross-emerge)?? I agree that masks should be minimized, at most
masking the conflicting cross-* packages in a profile. However if
this causes issues within cross-emerge too, then perhaps adjusting the
crossdev tool to warn or error would suffice when a target that will
conflict with the native toolchain is requested.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iF4EAREIAAYFAlPbpeAACgkQ2ugaI38ACPCGRwD+JnA2ACNizXn9ZYG0kiaoitwO
wqHqahuceDxeo8z+Ps4A/158v8pElxPFZ4oWgHfVbZ43eiJm/N65Zay1x3U/vo3w
=m7AR
-----END PGP SIGNATURE-----
next prev parent reply other threads:[~2014-08-01 14:36 UTC|newest]
Thread overview: 85+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-03-12 15:46 [gentoo-dev] crossdev and multilib interference hasufell
2014-03-12 16:06 ` Alexandre Rostovtsev
2014-03-12 18:56 ` Alexis Ballier
2014-03-16 11:50 ` Greg Turner
2014-03-26 6:07 ` Mike Frysinger
2014-03-26 12:25 ` [gentoo-dev] " Steven J. Long
2014-03-26 16:12 ` Mike Frysinger
2014-03-26 16:23 ` Ian Stakenvicius
2014-03-27 2:41 ` Mike Frysinger
2014-03-27 4:41 ` Alexandre Rostovtsev
2014-03-27 6:07 ` Mike Frysinger
2014-03-27 6:31 ` Alexandre Rostovtsev
2014-03-27 6:41 ` Mike Frysinger
2014-03-27 6:51 ` Michał Górny
2014-03-27 7:23 ` Mike Frysinger
2014-03-27 6:58 ` Samuli Suominen
2014-03-27 8:41 ` [gentoo-dev] " Steven J. Long
2014-03-28 6:36 ` Mike Frysinger
2014-03-30 9:53 ` [gentoo-dev] " Steven J. Long
2014-06-15 20:35 ` hasufell
2014-06-15 20:43 ` Chí-Thanh Christopher Nguyễn
2014-06-16 13:37 ` hasufell
2014-06-16 18:42 ` Steev Klimaszewski
2014-06-16 19:31 ` hasufell
2014-06-16 19:42 ` Jeroen Roovers
2014-06-16 19:47 ` hasufell
2014-06-16 20:05 ` Joshua Kinard
2014-06-16 20:24 ` hasufell
2014-06-16 20:59 ` Joshua Kinard
2014-06-16 22:10 ` hasufell
2014-06-16 23:38 ` Joshua Kinard
2014-06-17 1:47 ` hasufell
2014-06-17 2:17 ` Joshua Kinard
2014-06-17 12:30 ` hasufell
2014-06-17 12:49 ` Rich Freeman
2014-06-17 13:53 ` hasufell
2014-06-17 14:17 ` Joshua Kinard
2014-06-17 14:56 ` Alexandre Rostovtsev
2014-06-17 15:10 ` Michał Górny
2014-06-18 15:24 ` Peter Stuge
2014-06-19 7:58 ` Michał Górny
2014-06-17 15:20 ` Joshua Kinard
2014-06-18 5:08 ` Alexandre Rostovtsev
2014-06-18 6:24 ` Joshua Kinard
2014-06-18 14:18 ` Ian Stakenvicius
2014-06-19 21:20 ` [gentoo-dev] " Steven J. Long
2014-06-20 20:10 ` [gentoo-dev] " Ian Stakenvicius
2014-06-21 10:31 ` Greg Turner
2014-06-21 20:47 ` Michał Górny
2014-08-01 9:05 ` Steven J. Long
2014-08-01 14:36 ` Ian Stakenvicius [this message]
2014-08-01 18:17 ` [gentoo-dev] " Steven J. Long
2014-06-18 4:29 ` [gentoo-dev] " Ryan Hill
2014-06-17 14:04 ` [gentoo-dev] Re: " Joshua Kinard
2014-06-17 14:38 ` hasufell
2014-06-17 15:02 ` Joshua Kinard
2014-06-17 15:18 ` hasufell
2014-06-17 15:37 ` hasufell
2014-06-17 12:48 ` hasufell
2014-06-17 14:31 ` Joshua Kinard
2014-06-17 13:25 ` Ian Stakenvicius
2014-06-17 14:22 ` Michał Górny
2014-06-17 14:34 ` Joshua Kinard
2014-06-16 23:25 ` Patrick Lauer
2014-06-16 20:27 ` Ian Stakenvicius
2014-06-16 21:42 ` [gentoo-dev] " Jeroen Roovers
2014-06-17 0:03 ` Joshua Kinard
2014-06-16 20:25 ` [gentoo-dev] Re: Re: " hasufell
2014-06-16 2:24 ` [gentoo-dev] " Ryan Hill
2014-06-16 13:27 ` hasufell
2014-06-17 4:52 ` Ryan Hill
2014-06-17 12:29 ` hasufell
2014-03-29 1:21 ` [gentoo-dev] " Maciej Mrozowski
2014-03-16 12:01 ` Greg Turner
2014-03-13 8:55 ` Michał Górny
2014-03-13 12:20 ` Alexandre Rostovtsev
2014-03-26 5:17 ` Mike Frysinger
2014-03-27 6:13 ` Mike Frysinger
2014-03-27 6:51 ` Michał Górny
2014-03-27 7:18 ` Mike Frysinger
2014-03-27 9:10 ` Michał Górny
2014-03-27 14:23 ` Mike Frysinger
2014-03-27 14:31 ` Michał Górny
2014-03-28 6:33 ` Mike Frysinger
2014-03-29 21:39 ` Michał Górny
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53DBA5E0.9060809@gentoo.org \
--to=axs@gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox