Re: Fedora 33 System-Wide Change proposal: CompilerPolicy Change

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux