Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 20 Apr 2020 01:49:55 +0000
From:      bugzilla-noreply@freebsd.org
To:        powerpc@FreeBSD.org
Subject:   [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'
Message-ID:  <bug-243958-25139-yqExK3ZOqk@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-243958-25139@https.bugs.freebsd.org/bugzilla/>
References:  <bug-243958-25139@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D243958

--- Comment #11 from Mark Millard <marklmi26-fbsd@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.)

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-243958-25139-yqExK3ZOqk>