Skip to content
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

[Breaking Change Request] Remove support for ia32 on macOS #39810

Closed
athomas opened this issue Dec 16, 2019 · 8 comments
Closed

[Breaking Change Request] Remove support for ia32 on macOS #39810

athomas opened this issue Dec 16, 2019 · 8 comments
Assignees
Labels
area-sdk Use area-sdk for general purpose SDK issues (packaging, distribution, …). breaking-change-request This tracks requests for feedback on breaking changes

Comments

@athomas
Copy link
Member

athomas commented Dec 16, 2019

Intended Change

Remove support for ia32 on macOS from the dart-sdk completely, as well as the ia32 distributions for all future releases on dart.dev and other release channels (e.g. homebrew). 32-bit ARM on iOS will remain supported.

Rationale

On macOS Catalina or later, these binaries cannot be run anymore. Snow Leopard (10.6, ~10 years ago) was the last release that could run on ia32 CPUs. Therefore, most users on macOS can run the x64 SDK instead.

Expected Impact

The exact number of users affected by this change is unknown but we expect it to be low based on the large groups that we know will not be. Any projects that

Projects known to break

None

Projects that will not be affected

  • Flutter
  • All Google internal projects

Migration Steps

Any project affected by this change needs to switch to the x64 macOS artifacts or stay on Dart SDK version 2.7.0.

@athomas athomas added breaking-change-request This tracks requests for feedback on breaking changes area-sdk Use area-sdk for general purpose SDK issues (packaging, distribution, …). labels Dec 16, 2019
@athomas athomas changed the title [Breaking Change Requested] Remove support for ia32 on macOS [Breaking Change Request] Remove support for ia32 on macOS Dec 16, 2019
dart-bot pushed a commit that referenced this issue Dec 17, 2019
These are currently broken because our xcode version no longer supports
i386 builds.

See #39810 for the corresponding
breaking change request.

Change-Id: Iaf9c20d090e7d9914a4c395e4aa17c13a1d336fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128583
Reviewed-by: William Hesse <[email protected]>
@mit-mit
Copy link
Member

mit-mit commented Dec 17, 2019

cc @Hixie @matanlurey @dgrove any concerns?

@athomas
Copy link
Member Author

athomas commented Dec 17, 2019

The commit above was landed to unblock internal rolls and dev releases, but we will hold off dev releases until this request is approved. If it isn't approved, we'll have to either stop using xcode or pin to an older version (that will only work for some time).

@franklinyow
Copy link
Contributor

Make sense to me.

@dgrove
Copy link
Contributor

dgrove commented Dec 19, 2019

Approved

@athomas
Copy link
Member Author

athomas commented Dec 20, 2019

I accidentally posted this only to internal lists, I've now sent the external notification to [email protected] as well. I won't be able to act on this until after the holidays, anyway.

@Hixie
Copy link
Contributor

Hixie commented Dec 20, 2019

this is probably fine.

@mit-mit
Copy link
Member

mit-mit commented Jan 6, 2020

@athomas this is approved, you may go ahead

dart-bot pushed a commit that referenced this issue Jan 6, 2020
We no longer support ia32 Macs (see linked issue).

Bug: #39810
Change-Id: I5fc6ab6a9074e54a90e8480d0ede416a237733cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130360
Reviewed-by: William Hesse <[email protected]>
@athomas
Copy link
Member Author

athomas commented Jan 8, 2020

This change has now fully landed. 2.7.0 is the last release that has ia32 binaries for macOS.

@athomas athomas closed this as completed Jan 8, 2020
dart-bot pushed a commit that referenced this issue Jan 23, 2020
These are currently broken because our xcode version no longer supports
i386 builds.

See #39810 for the corresponding
breaking change request.

Change-Id: Iaf9c20d090e7d9914a4c395e4aa17c13a1d336fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128583
Reviewed-by: William Hesse <[email protected]>
dart-bot pushed a commit that referenced this issue Jan 23, 2020
We no longer support ia32 Macs (see linked issue).

Bug: #39810
Change-Id: I5fc6ab6a9074e54a90e8480d0ede416a237733cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130360
Reviewed-by: William Hesse <[email protected]>
athomas added a commit to dart-lang/homebrew-dart that referenced this issue Jun 4, 2021
We no longer support ia32 Macs (see linked issue).

Bug: dart-lang/sdk#39810
Change-Id: I5fc6ab6a9074e54a90e8480d0ede416a237733cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130360
Reviewed-by: William Hesse <[email protected]>
athomas added a commit to dart-lang/homebrew-dart that referenced this issue Jul 1, 2021
We no longer support ia32 Macs (see linked issue).

Bug: dart-lang/sdk#39810
Change-Id: I5fc6ab6a9074e54a90e8480d0ede416a237733cf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/130360
Reviewed-by: William Hesse <[email protected]>
copybara-service bot pushed a commit that referenced this issue Nov 3, 2021
This CL expands the ABIs in the FFI transform and VM from 3 groups to
18 individual ABIs in preparation of adding ABI-specific integer sizes
and structs.

This increases const lists with offsets in the kernel representation
from 3 to 18 elements. We do not expect significant size increases or
performance regressions from this. The constants are deduplicated in
Dart and the optimizer should optimize indexed lookups in const lists
away. However, landing this separately will enable us to verify that
assumption.

This also moves `Abi` to its own file and makes it an opaque class with
a predefined set of instances so that we do not depend on its internals.
That will enable us to keep `pkg/vm/lib/transformations/ffi/abi.dart`
consistent with the `Abi` abstraction to be introduced in `dart:ffi`
later for specifying ABI-specific integer sizes.

Bug: #42563
Bug: #42816

List of ABIs decided based on what's currently used (as Dart SDK target
platform, or Flutter target platform, or G3 target) and added
windows_arm64 in anticipation of
(flutter/flutter#53120).
Excluded are macos_ia32 (#39810)
because we discontinued support; and windows_arm, fuchsia_arm,
fuchsia_ia32, ios_ia32, and macos_arm because these are
unlikely to be added.

TEST=pkg/front_end/testcases/*.expect
TEST=tests/ffi/*

Change-Id: I437707c18d8667490c063272a5f8a33d846e6061
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-x64-try,vm-ffi-android-debug-arm-try,vm-kernel-mac-debug-x64-try,vm-kernel-nnbd-linux-debug-x64-try,vm-kernel-linux-debug-ia32-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-reload-rollback-linux-debug-x64-try,vm-kernel-win-debug-x64-try,vm-kernel-win-debug-ia32-try,vm-ffi-android-debug-arm64c-try,vm-kernel-mac-release-arm64-try,vm-precomp-ffi-qemu-linux-release-arm-try,vm-kernel-precomp-android-release-arm64c-try,vm-kernel-precomp-android-release-arm_x64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/217184
Commit-Queue: Daco Harkes <[email protected]>
Reviewed-by: Ryan Macnak <[email protected]>
Reviewed-by: Clement Skau <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-sdk Use area-sdk for general purpose SDK issues (packaging, distribution, …). breaking-change-request This tracks requests for feedback on breaking changes
Projects
None yet
Development

No branches or pull requests

5 participants