mirror of
https://github.com/flutter/flutter.git
synced 2026-02-20 02:29:02 +08:00
Instead of generating assembly code that is then compiled to a Mach-O dynamic library, use the new app-aot-macho-dylib output option for gen_snapshot to generate the Mach-O dynamic library without the assembly step. This is a reland of https://github.com/flutter/flutter/pull/171626, with the necessary changes to avoid the issue found in https://github.com/flutter/flutter/issues/174393 where DWARF information was being retained in the final snapshot. The initial PR state are the original commits landed in the previous PR, with a followup commit containing the fix for that issue: the DWARF information is moved into an associated relocatable object, so the information is still accessible by dsymutil before the snapshot is stripped. Related issues: * https://github.com/dart-lang/sdk/issues/43299 * https://github.com/dart-lang/sdk/issues/60307 ## Pre-launch Checklist - [X] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [X] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [X] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [X] I signed the [CLA]. - [X] I listed at least one issue that this PR fixes in the description above. - [X] I updated/added relevant documentation (doc comments with `///`). - [X] I added new tests to check the change I am making, or this PR is [test-exempt]. - [X] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [X] All existing and new tests are passing.