-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[vm/ffi] Add support for MacOS arm64 #46305
Comments
Link to approved failures on bot: https://dart-ci.firebaseapp.com/#configurations=dartk-mac-release-arm64 Edit: current results: https://dart-ci.firebaseapp.com/current_results/#/filter=dartk-mac-release-arm64,ffi Quick triage:
A linking error.
Mangled arguments in callbacks 10.0, 14.0, and 18.0 are passed "in between" the structs leaving the last struct 0.0, 0.0, 0.0.
Mangled arguments the other way around in calls. Expected 11 where 10 is passed. |
Fix the alignment of structs on MacOS arm64 so that it is the same as on iOS arm64. This fixes some of the ffi test failures, but not all. I'll follow up with further CLs. (Having this landed will allow us to see further failures on the bots.) Bug: #46305 TEST=runtime/vm/compiler/ffi/unit_tests/struct12bytesFloatx6/arm64_macos.expect TEST=tests/ffi(_2)/(.*)function(.*)_test.dart Change-Id: I66d214ecf672734c685ff97316b1666a2859b106 Cq-Include-Trybots: luci.dart.try:vm-kernel-mac-release-arm64-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202940 Reviewed-by: Clement Skau <cskau@google.com> Commit-Queue: Daco Harkes <dacoharkes@google.com>
Having the previous fix landed enables us to see further failure on the M1 devices. Log of current results: https://dart-ci.firebaseapp.com/current_results/#/filter=dartk-mac-release-arm64,ffi&showAll ABIFurther triage:
Mangled argument in FFI call again.
Same mangled arguments in callbacks. double PassStruct9BytesPackedMixedx10DoubleInt32(
Struct9BytesPackedMixed a0,
Struct9BytesPackedMixed a1,
Struct9BytesPackedMixed a2,
Struct9BytesPackedMixed a3,
Struct9BytesPackedMixed a4,
Struct9BytesPackedMixed a5,
Struct9BytesPackedMixed a6,
Struct9BytesPackedMixed a7,
Struct9BytesPackedMixed a8,
Struct9BytesPackedMixed a9,
double a10,
int32_t a11) {
Linking
|
Bug: #46305 TEST=tests/ffi_2/vmspecific_function_callbacks_test.dart Change-Id: I82af08c5123b9bf637b9dc6e1983dde3fa155291 Cq-Include-Trybots: luci.dart.try:vm-kernel-mac-release-arm64-try,vm-ffi-android-debug-arm64-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/202967 Reviewed-by: Tess Strickland <sstrickl@google.com> Commit-Queue: Daco Harkes <dacoharkes@google.com>
After https://dart-review.googlesource.com/c/sdk/+/203305, we still have 2 tests failing which use |
Makes (u)int8 and (u)int16 extended to 32 bits in registers on arm64 MacOS. This makes it consistent with iOS. (Now the calling convention on arm64 MacOS is fully identical to arm64 iOS.) TEST=runtime/vm/compiler/ffi/native_calling_convention_test.cc TEST=tests/ffi_2/function_test.dart Bug: #46305 This CL makes all remaining failing tests pass listed in the bug, except for tests using `--use-slow-path`. Change-Id: If0d93bfa774e561f39468d2b63fc9381b7646b18 Cq-Include-Trybots: luci.dart.try:vm-kernel-mac-release-arm64-try Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/203305 Reviewed-by: Clement Skau <cskau@google.com> Commit-Queue: Daco Harkes <dacoharkes@google.com>
There are new test failures on [infra] Add xcodebuild/...XARM64 directories to the vm-kernel fileset.
The tests
are failing on configurations
The
vm_specific_function_callbacks
tests are failing due to symbol lookup failures. Not sure about the others, but guessing it's just needing to adjust stuff for the possibility of ARM64./cc @dcharkes
The text was updated successfully, but these errors were encountered: