[MacPorts] #58712: macports-clangs > 6.0 are missing atomic builtins on i386
MacPorts
noreply at macports.org
Sat Mar 27 00:49:42 UTC 2021
#58712: macports-clangs > 6.0 are missing atomic builtins on i386
-------------------------------------------------+-------------------------
Reporter: devernay | Owner: kencu
Type: defect | Status: assigned
Priority: Normal | Milestone:
Component: ports | Version:
Resolution: | Keywords:
Port: clang-7.0 clang-8.0 clang-9.0 |
clang-10 clang-devel |
-------------------------------------------------+-------------------------
Comment (by kencu):
I think we need to do something here. This i386 atomics issue does keep
coming around. Upstream llvm turned this off because for technical reasons
it is better implemented as a dylib than as a linked in static
implementation.
A number of other projects have run into this, and they have (for the most
part) just put the atomics back into the static compiler_rt.a library
(where it used to be). That is easy -- toggle the option, which still
exists, as above.
Otherwise we can -- require an appropriate version of libgcc at runtime
and either manually or automatically add the link library to
libatomic.1.dylib. Or - find some other, non-gcc implementation of
libatomic.dylib somewhere that we want to use instead of the one in
libgcc, and somehow have it work in with our clang libraries.
I'm leaning towards just toggling it back on. If we do that, with the
x64_64 and arm64 builds be affected (ie will they use the older, non-
favoured static lib calls) or will they continue to use the new intrinsic
calls and be unaffected? If the 64 bit systems are unaffected, I would
suggest we just toggle the atomics back on for i386 and be done with it.
--
Ticket URL: <https://trac.macports.org/ticket/58712#comment:12>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list