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 15:04 +0200, Mark Wielaard wrote:
> On Fri, 2020-06-05 at 11:19 +0200, Jakub Jelinek wrote:
> > On Fri, Jun 05, 2020 at 09:52:09AM +0200, Kevin Kofler wrote:
> > > I do not see why we should allow yet another special case for Firefox, nor 
> > > why we should let random packages make their own choice of compiler and risk 
> > > running into hidden binary incompatibilities. We have a system compiler for 
> > > a reason.
> > 
> > I'll note that there are some even not really hidden binary
> > incompatibilities, where LLVM diverges from the psABI for years, it has been
> > reported and nothing has been changed.
> > So if a library is built with clang/LLVM and used by GCC built package or
> > vice versa, one might very well run into those (this is e.g. about passing
> > std::byte or other scoped enums with char/short underlying type by value, or
> > in some cases even about passing char/short arguments).
> > And of course unknown ABI bugs on both sides.
> 
> So the new policy is only for non-library packages then?
> Packages which provide libraries that can be linked to by other
> packages still need to use the default system compiler to make sure
> there is no breakage. At least to the other packages. A package that is
> build with llvm might subtly break when linked against system
> libraries.
No, it makes no distinction between library and other packages.

Clang/LLVM and GCC are ABI compatible (with the known exception of the alignment
issue for atomics) and one should be able to mix and match libraries compiled by
one with code compiled by the other just fine.


Perhaps you're worried about libc++ (the Clang/LLVM C++ runtime)?  We don't use
or support libc++ in Fedora because it is not ABI compatible with libstdc++ and
an object created by one library can not be used/manipulated by the other (or
instantiated templates from the other).

If you're aware of ABI compatibility issues between the compilers, certainly
chime in here, the appropriate BZ or to me directly.  You can even raise it in
the Tuesday meetings with the LLVM/GCC teams -- I'm sure that if there's an issue
that both Tom and I will want to know about it.

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