macdriver icon indicating copy to clipboard operation
macdriver copied to clipboard

Add basic arm64 support

Open mkrautz opened this issue 3 years ago • 0 comments

This pull request implements basic arm64 support.

Tested with topframe and pomodoro examples, as well as all existing tests in objc and variadic.

I am not sure how much the new gan-infrastructure still relies on objc and misc/variadic? If there is something else that would make better sense to test, let me know.

Notes: This is pretty basic support. It doesn't yet support overflowing parameters to the stack - so it relies on there being enough registers to pass all expected parameters. This is true both for the variadic and the "call" module of the objc package, which is used to implement ObjC objects in Go. I've not yet run into issues, but I thought this was a good starting point. Since this is something that pops up at development-time, that should raise a flag for when/if further development to support overflowing to the stack is needed.

It also doesn't support struct returns (stret) yet.

mkrautz avatar Jul 27 '22 10:07 mkrautz