libtorrent icon indicating copy to clipboard operation
libtorrent copied to clipboard

Replace legacy sync* builtins with modern atomic* builtins: fixes build on 32-bit platforms

Open barracuda156 opened this issue 1 year ago • 3 comments

@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

barracuda156 avatar Oct 03 '24 16:10 barracuda156