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
Apple Silicon support #102
Conversation
This cannot be a submodule until we upstream our mips64el tweaks.
3ad89d3
to
60b8f95
Compare
Fixes #92. |
fa7fc24
to
76c49d6
Compare
Holding off on merging this due to failures in jnr-ffi that may require further libffi patches: https://gist.github.com/headius/153c43133aafa6d7820bf00c6a68cb7b |
@larskanis This is nearly 100% other than the varargs failures in jnr-ffi. Perhaps you will be able to learn something from this for the ffi gem? Have you any thoughts on these varargs failures? It seems like it is just passing the wrong varargs layout through to |
Merging to continue progress. Unsure at this point if the variadic failures are due to bugs in jffi or jnr-ffi. |
This merges in the leading edge of https://github.com/libffi/libffi, including a few tweaks from @atsweet and others for Apple arm64 support. We cannot yet use a submodule for our libffi due to libffi/libffi#630.
We would like to go with a release, but this version passes all tests on the platforms we have available and appears to be working well on Apple Silicon.
Notes:
ffi_closure_alloc
to avoid crashing when attempting to set the closure's memory page executable. This change came from ffi/ffi@2c9c517 by @Watson1978.One there is a proper libffi release that incorporates our mips64el tweaks from #83 we will switch to using a git submodule.