[Bug 243958] net-p2p/libtorrent-rasterbar : Fails to build on FreeBSD 12.1-RELEASE-p1 powerpc 32 bit : libtorrent-rasterbar.so.1.2.3: undefined reference to `__atomic_compare_exchange_8'
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Apr 20 01:49:56 UTC 2020
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=243958
--- Comment #11 from Mark Millard <marklmi26-fbsd at yahoo.com> ---
(In reply to Piotr Kubaj from comment #9)
For head, if gcc* is to match the system clang code
that is currently produced by default, gcc* needs to
be told to use -maix-struct-return instead of its
default -msvr4-struct-return .
It will be this way until system-clang itself is
updated to use the historical -msvr4-struct-return
style that was in use prior to the conversion to
using clang as the system compiler for 32-bit
powerpc.
This, unfortunately, is a mismatch with prior-to-head
versions of 32-bit FreeBSD: for those -maix-struct-return
in a gcc* would be wrong and would introduce an ABI
difference.
I'll note that, when code on head hits the ABI
difference, it treats non-pointer-values as pointer
values and tries to dereference or update memory
through the garbage addresses.
(FYI: I'm a tester of the llvm proposal, so my context
is non-default for the system-clang behavior for
targeting 32-bit powerpc.)
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the freebsd-ppc
mailing list