ARM64 ABI breaks calling convention for variadic functions.
Hi Daniel,
I finally tried ECL on iOS last weekend, and got it working for armv7, with only several minor fixes. I really enjoyed the moment that ASDF and swank worked. Live coding on iOS through SLIME!
But when testing for arm64, there is a serious issue, arm64 variadic arguments passing ABI has changed that these mismatching signatures would result in unspecified argument values:
typedef cl_object (*cl_objectfn)(cl_narg narg, ...);
cl_object cl_string_equal (cl_narg narg, cl_object string1, cl_object string2, ...);
Actually, arm64 requires that variadic function signatures be exact match. It would probably have the same issue on Android for arm64.
I wonder if a fix would be possible?