From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id 1A68D1389E2 for ; Tue, 9 Dec 2014 13:53:01 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 52E4BE0ACD; Tue, 9 Dec 2014 13:52:55 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 52F9DE0A8A for ; Tue, 9 Dec 2014 13:52:54 +0000 (UTC) Received: from pomiot.lan (77-253-129-159.adsl.inetia.pl [77.253.129.159]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: mgorny) by smtp.gentoo.org (Postfix) with ESMTPSA id 4A8F1340341; Tue, 9 Dec 2014 13:52:52 +0000 (UTC) Date: Tue, 9 Dec 2014 14:52:34 +0100 From: =?UTF-8?B?TWljaGHFgiBHw7Nybnk=?= To: Tomas Mozes Cc: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] sys-devel/gcc::mgorny up for testing Message-ID: <20141209145234.44701b56@pomiot.lan> In-Reply-To: <0847c6bae9b1ad4eaecf425ca1b04350@shmu.sk> References: <20141207113757.511b7f99@pomiot.lan> <0847c6bae9b1ad4eaecf425ca1b04350@shmu.sk> Organization: Gentoo X-Mailer: Claws Mail 3.11.1 (GTK+ 2.24.25; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; boundary="Sig_/pVo0795GV/6r0egfXewIPk0"; protocol="application/pgp-signature" X-Archives-Salt: 3d0c04aa-6e0a-4abd-945e-0a08cdc6dc0e X-Archives-Hash: 9fd8f1cfcb0f36531d86f0bd1419e814 --Sig_/pVo0795GV/6r0egfXewIPk0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Dnia 2014-12-09, o godz. 14:23:21 Tomas Mozes napisa=C5=82(a): > On 2014-12-07 11:37, Micha=C5=82 G=C3=B3rny wrote: > > Hello, developers and users. > >=20 > > As some of you know, the toolchain packages in Gentoo suffer from > > lack-of-sanity issues and their maintainers are completely unwilling to > > improve things. I have finally decided to start working on a fork of > > the sys-devel/gcc ebuilds, and I have some bits ready for initial > > testing in 'mgorny' repo, so I would like to know your opinion. > >=20 > >=20 > > Before you start, the shortcomings are: > >=20 > > 1. No cross-compilation support. If the project proves being a success > > it will be readded at some point. However, I will likely fork glibc > > first and work on a sane crossdev alternative. > >=20 > > 2. No gcj support. Since the ebuild has been forked out of > > toolchain.eclass, and the gcj support suffers a lot of issues there, I > > decided there's no point in copying the code. Not sure if anybody > > actually uses it, and if it is actually useful for anything but will > > probably get reintroduced one day [above 'if' applies too]. > >=20 > > 3. No bootstrapping, fallbacks and possible some other random feature > > support. The goal was pretty much to get gcc compiling first, and avoid > > awful lot of effort if things prove to have no future. > >=20 > > 4. Hardened is not tested. I think I have copied all the needed code > > and fixed some stuff but I have no clue if it still works ;). > >=20 > >=20 > > Now, the major changes are: > >=20 > > 1. Most of the insanity removed. No more toolchain.eclass. The ebuild > > has just the code for the current gcc version. You can read it and know > > what it does, you don't have to parse a few dozen version conditionals, > > runtime conditionals and random crap code that doesn't do anything in > > some gcc versions. In fact, I think I removed most of the no-op code. > > And now you can actually change something in the ebuild without caring > > for gcc3.4, or without breaking stuff for stable ebuilds. > >=20 > > 2. USE flags are supposed to work. I've replaced the cases when they > > were silently ignored with REQUIRED_USE. I've also removed the silent > > removals when they didn't work -- so if your current toolchain is > > broken, things may actually fail instead of giving your different gcc > > than you wanted. Probably deserves explanatory pkg_pretend() at some > > point, with messages like 'disable USE=3D-foo because your toolchain is > > broken'. > >=20 > > 3. Things simplified where they could have been simplified. For > > example, I removed the big gcc executable moving function and replaced > > it with --enable-version-specific-runtime-libs. It was enabled in > > toolchain.eclass with a comment 'If we enable it on non-Darwin we screw > > up the behaviour this eclass relies on.' So yep, precious cargo cult -- > > why enable something that would require you to remove your useless > > complex function?! > >=20 > > 4. Added gx86-multilib love. Now you have abi_* flags to control > > the compiler runtime. Of course, since gcc is a pile of random modules > > not fit for one another it has different code for different targets. In > > particular, on mips you can't do two ABIs -- either single one > > (non-multilib) or all three of them (--enable-multilib). > >=20 > > 5. Added multilib gcc wrappers. Long story short, multilib gcc now > > shows up in gcc-config alike crossdev -- but unlike i686 crossdev, it > > doesn't screw up your system! Of course, the final implementation may > > differ since it's an early idea but it works. Now distcc happily builds > > stuff for your x86 clients. > >=20 > > 6. Added missing dependencies. Yep, USE flags now, say, pull in doxygen > > rather than silently skipping doc build when it's not installed... > >=20 > > 7. Disabled bootstrap by default (and in fact completely for now). It > > is not *that* useful, and means time savings (and distcc support): > >=20 > > Thu Nov 6 20:39:31 2014 >>> sys-devel/gcc-4.9.2 > > merge time: 1 hour, 56 minutes and 43 seconds. > >=20 > > Sun Dec 7 10:46:08 2014 >>> sys-devel/gcc-4.9.2-r100 > > merge time: 34 minutes and 55 seconds. > >=20 > >=20 > > If you're interested in testing it, 'layman -a mgorny' and enjoy. I'd > > appreciate any bug reports, except for those covering things i've > > already listed as missing :). Any further comments will be very helpful > > in deciding on the way forward. > >=20 > > If there is a real interest in my fork, I will probably move it to gx86 > > as sys-devel/gcc-mgorny. I will also be happy to work on replacing > > the new versions of original sys-devel/gcc completely. With QA process > > against toolchain.eclass if necessary. >=20 > Thanks, I've tried this on ~amd64. It builds in 10 minutes (wow!),=20 > tested to build some core stuff with it: > kernel 3.17, glibc, coreutils, openssl, ssh... >=20 > All seems to work fine. I'll try to recompile the whole machine with it. >=20 > After emerge, there are these notices: > * QA Notice: command not found: > * > * /var/tmp/portage/sys-devel/gcc-4.9.2-r100/temp/environment: line= =20 > 3110: pax-mark: command not found > * /var/tmp/portage/sys-devel/gcc-4.9.2-r100/temp/environment: line= =20 > 3111: pax-mark: command not found Thanks for the report. I've just fixed the missing inherit. --=20 Best regards, Micha=C5=82 G=C3=B3rny --Sig_/pVo0795GV/6r0egfXewIPk0 Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJUhv6lXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2REJCMDdDQzRGMERBRDA2RUEwQUZFNDFC MDdBMUFFQUVGQjQ0NjRFAAoJELB6GurvtEZOq/QQAKDNUDbIHHLN7wzRt4s4PSVe k2Ec/v1fKRfKDVt57fxMW14hpp5mAAkp6v7sQW3tFEvGt3xSqw8/Vr/al/lGlkxt j9ZL9K48PVQ9O0+ei+xiar4ycci49KcNeMHEI2UhC7U1k69G+Piq+g3EICEXrwAb B6SZ+UXZO2yY0ofZiPrl59kUdis4lV3EKr1XAIsteYx+yOlJ9p+jlZ6SjpQkTPUT xbFmxew/MpAIj/ztUDOq2D7GJOnZ1Sy86Z2SBUPv37kG5ytwJ2iVwWyU875a3L7S j4g1sRtKiUjyb22OA7JS7l5KYyRFFKSyFktLkJm8c+E4rtBjwep/HLw5aSHiJu8O UEm0LsHpG+l4arTkOEuhCEGcRDtRt0cOsA20AEPC1o9LABxipJEwLIlZ55b8Psr0 H4slw6ZX+u/X/PnMLGQE3uSCu0qBXewyxGe3T6EbMh5lc4KqoxC73svyuUCz+MEq l7s4WzmDgaPaa3Y7k4t5pSiRW6J3V9kqxMK64ky0bT/+h1xK6wt2xpgXRNWpw4wc PhfeIvmm64zQBZT9StY7Wp2Q5TBMj0czt2IX1vBEkFRpaJU9t0eCyLR4iOv+4OMj m4+AhAhasHSiSvrJLkTD483n0cTmV0TtGd4j4encU7weUmlUY4qSOoCNSuxBOjOQ vz3Hoq3IJwCdiMv6e4mw =NMbX -----END PGP SIGNATURE----- --Sig_/pVo0795GV/6r0egfXewIPk0--