libtorrent
libtorrent copied to clipboard
Replace legacy sync* builtins with modern atomic* builtins: fixes build on 32-bit platforms
@rakshasa Could you please take a look?
The issue is that old sync* builtins require 8-byte atomics support in hardware. That leaves 32-bit platforms (arm, ppc, mips) broken. What will work for both 64- and 32-bit platforms alike is usage of modern atomic* builtins. 32-bit archs will just need an explicit linking to libatomic.
This a patch which is confirmed to fix compilation on ppc, but maybe you can suggest a better solution or verify/improve upon this one?
https://github.com/macports/macports-ports/blob/4ac3291874cad2051b9cc1ba08cadd62643f92f5/net/libtorrent-devel/files/0001-Fix-atomics-for-modern-gcc.patch