On Fri, 2020-06-05 at 12:27 +0000, devel-request@xxxxxxxxxxxxxxxxxxxxxxx wrote: > > Date: Fri, 5 Jun 2020 08:26:04 -0400 > From: Neal Gompa <ngompa13@xxxxxxxxx> > Subject: Re: Fedora 33 System-Wide Change proposal: CompilerPolicy > Change > To: Development discussions related to Fedora > <devel@xxxxxxxxxxxxxxxxxxxxxxx> > Cc: Vitaly Zaitsev <vitaly@xxxxxxxxxxxxxx> > Message-ID: > <CAEg-Je8gcbnxZb-=TSUu+PoxFLfJUGcKk-OnRJAKaBOwN895rA@xxxxxxxxxxxxxx> > Content-Type: text/plain; charset="UTF-8" > > On Fri, Jun 5, 2020 at 6:47 AM Vitaly Zaitsev via devel > <devel@xxxxxxxxxxxxxxxxxxxxxxx> wrote: > > On 05.06.2020 09:52, Kevin Kofler wrote: > > > I am opposed to this change. Chromium and Firefox build fine with GCC. I > > > think that a distribution should be built with a consistent toolchain > > > wherever possible. > > > > Clang is much better than GCC nowadays. It has better architecture, > > support lots of optimizations and analyzers. > > > > GCC is a legacy compiler. It should be completely replaced by Clang in > > the nearest future. > > > > Having worked in a distribution that uses Clang by default > (OpenMandriva), I can say that this is *not true*. Switching from GCC > to Clang cost OpenMandriva a lot of performance. It also cost them a lot of > security hardening at the compiler level. GCC-built binaries are still > better, and remain better as long as people are continually using and > developing for it. I'm not suggesting switching the default. I'm suggesting the compiler choice be made by the upstream projects. Some prefer LLVM, others prefer GCC. Fedora should get out of the way and use the same tools that the upstream projects are using. > > This change appears to largely be driven by the maintainers of web > browser packages that upstream have no GCC validation and it has to be > done in Fedora downstream. I know Chromium is a lost cause (Google > couldn't possibly care any less than they do now, especially since > they don't even care about Python 2 being EOL), but has anyone talked > to Mozilla about introducing GCC-based CI for Firefox code? I assume > they have a CI infrastructure that's relatively pluggable. There's been a ton of discussions with the upstream Firefox and Chromium communitities. While we were able to get Firefox to continue to support GCC, it was exceedingly painful and ultimately the Firefox developers are primarily using Clang/LLVM. And note I've called out Chromium and Firefox simply because they're the ones I'm familiar with. There well could be other packages now and in the future that are jumping through hoops because of current Fedora policy. > > Note that having stuff mix compilers is also a bad idea because LTO is > compatible across the two compilers. If you want to use LTO, you need > to use the same compiler across the chain, or stuff will break. Simply not true. See my earlier message. The LTO streams live for the duration of a package build and are then discarded because they are not considered stable release-to-release by the compiler. > > I would rather see us still *strongly prefer* GCC rather than allowing > this to be freely changeable at a whim. I disagree. I strongly believe toolchain decisions need to be made at the upstream project level. I say this as someone who has been a GCC developer for 30 years, who is an active GCC steering committee member and who has led GCC development in the past. It's time to remove the anti Clang/LLVM bias in Fedora. Jeff _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx