Was the clang <> GCC 5 ABI incompatibility overcome at some point?

Ces VLC cesarillovlc at gmail.com
Tue May 19 20:43:40 UTC 2020


Thanks a lot, Ken. Yes, I understand that, but I believe there was some ABI
incompatibility introduced with GCC 5, wasn't it? If I recall correctly, it
wasn't just a matter of what C++ standard library you choose, but that even
if you chose the same, GCC 5 still broke the ABI compatibility. At the time
the rumors said that the reason was an attempt to break compatibility with
LLVM because GCC saw it like a competitor, but that was just a rumor.

Kind regards and thanks a lot,

César


On Tue, May 19, 2020 at 5:08 PM Kenneth F. Cunningham <
ken.cunningham.webuse at gmail.com> wrote:

> > Hi!
> >
> > I remember a few years ago when a change in GCC 5 caused ABI
> > incompatibility with clang. I'm searching for updates on this, and it
> seems
> > like clang applied the same change eventually, but can they considered
> > binary compatible at this moment? Is it now safe to link object code
> coming
> > from GCC and from clang?
> >
> > Thanks!
> >
> > César
>
> The issue is not so much with the compiler as with the c++ standard
> library.
>
> Any compiler can use any c++ standard library.
>
> But *by default* (1) clang will use libc++ and gcc will use libstdc++, and
> these are not compatible with each other.
>
> So if you are going to mix objects (and libraries) coming out of clang and
> gcc, you have to be sure that they all use the same c++ standard library.
>
> With c++ code, that is quite tricky to do properly.
>
> If you use gcc just to build "c" code, or fortran code, there is no
> problem mixing those libraries or objects with clang c++ code.
>
> Ken
>
>
>
>
> 1. By default, on current MacOS and on all MacOS on MacPorts. Further
> needless and sometimes confusing detail omitted for clarity of focus, ask
> if truly curious. -K
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20200519/a19d034c/attachment.html>


More information about the macports-users mailing list