-
-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Replace legacy sync* builtins with modern atomic* builtins: fixes build on 32-bit platforms #253
Comments
@barracuda156 Could you submit a pull request for this patch? I'd like to take responsibility for testing this change and getting it incorporated into the project. I'll request a review from @rakshasa when the time is right and get it merged for you. |
I'd rather replace them with |
@stickz Sorry, I am away from the testing hardware at the moment, so can’t do much until I am back. @rakshasa If you can handle this, it will be much better, since I am not too sure that my fix is the right one. (FWIW, we will still depend on |
All |
@rakshasa Thank you very much, I will try it out. |
@rakshasa Everything compiles fine now for me, thanks again. |
@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 modernatomic*
builtins. 32-bit archs will just need an explicit linking tolibatomic
.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
The text was updated successfully, but these errors were encountered: