We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
Darwin Kernel Version 20.5.0 /arm64 $ clang --version Apple clang version 13.0.0 (clang-1300.0.29.3) Target: arm64-apple-darwin20.5.0
The latest code of libffi/Aarch64 at https://github.com/libffi/libffi/tree/master/src/aarch64 was integrated to our code at https://github.com/eclipse-openj9/openj9/tree/master/runtime/libffi/aarch64 to support JNI call to native on macOS/Aarch64 which works good in the majority of tests except test cases with the mixed type arguments, including primitives, struct and function pointers, in which the arguments after struct were messed up (please see eclipse-openj9/openj9#16336 (comment) for details).
libffi/Aarch64
macOS/Aarch64
Here's one of the failing test cases at sample.c.txt.
Assuming libffi/Aarch64 should work for both macOS and iOS, I am wondering whether anybody here can help us to figure out what happened in such case (more failing test cases can be found at eclipse-openj9/openj9#16336 (comment) and eclipse-openj9/openj9#16336 (comment)).
macOS
iOS
The text was updated successfully, but these errors were encountered:
FYI: @atgreen
Sorry, something went wrong.
allocate_to_stack() does not work as expected on macOS when ty->alignment is smaller than 8 with the case (a-2) below.
allocate_to_stack()
ty->alignment
AArch64 macOS aligns a struct argument as described below when it is passed in the stack:
(a) The size of the struct is 16 bytes or less
(a-1) If all the struct members are 32-bit float:
(a-2) If the struct contains one or more members that is not 32-bit float:
(b) The size of the struct is larger than 16 bytes
(b-1) If all the struct members are 64-bit float, and the size of the struct is 32 bytes or less:
(b-2) Other cases:
No branches or pull requests
System Details
Problems Description
The latest code of
libffi/Aarch64
at https://github.com/libffi/libffi/tree/master/src/aarch64 was integrated to our code at https://github.com/eclipse-openj9/openj9/tree/master/runtime/libffi/aarch64 to support JNI call to native onmacOS/Aarch64
which works good in the majority of tests except test cases with the mixed type arguments, including primitives, struct and function pointers, in which the arguments after struct were messed up (please see eclipse-openj9/openj9#16336 (comment) for details).Here's one of the failing test cases at sample.c.txt.
Assuming
libffi/Aarch64
should work for bothmacOS
andiOS
, I am wondering whether anybody here can help us to figure out what happened in such case (more failing test cases can be found at eclipse-openj9/openj9#16336 (comment) and eclipse-openj9/openj9#16336 (comment)).The text was updated successfully, but these errors were encountered: