Open Bug 1480548 (aarch64-windows) Opened 2 years ago Updated 3 days ago
enable building Firefox on aarch64 windows
AArch64 Windows is a thing. We should make Firefox run on it.
The necessary Rust support is landing in https://github.com/rust-lang/rust/pull/53173. Thanks to Alex Crichton for writing it and pushing it upstream! Compiling Rust crates with that preliminary support is another story. The current sticking point is winapi-rs, which doesn't have any aarch64 support at the moment. I've opened https://github.com/retep998/winapi-rs/issues/659 to start discussing that.
Status update: Firefox builds for ARM64 (yay!), but crashes immediately on startup (boo!) I've attempted to distill everything needed to build things not-on-my-machine into https://github.com/froydnj/FF-arm64 Following the instructions therein *should* enable somebody to build on their machine. dmajor is going to start debugging things and will ideally resolve the crashes in short order. =D The remaining bugs at this point do not need to be solved for the MVP. The non-exhaustive next steps are, in no particular order: 1. Debug startup problems. 2. Integrate Microsoft's patches for libffi so ctypes starts working. 3. Make the whole thing buildable on infra, which implies changing a lot of things about our Windows builds. 4. Fixing any compilation issues with vendored third-party code (e.g. webrtc). 5. Adding in AArch64-specific optimizations to vendored third-party code where applicable. 6. Reactivate any disabled components (e.g. sandboxing). 7. Make aarch64-pc-windows-msvc stdlib available with Nightly rustc (https://github.com/rust-lang/rust/issues/53864), so people don't have to build their own rustc to get the stdlib. 8. ...
Oh, we should also make sure that the JIT is disabled-by-default on AArch64 Windows.
I guess we'd also need to create atomicops_internals_aarch64_msvc.h or using the mutex impl instead of reusing the x86 one. Ref: bug 1480732 comment #7
Depends on: 1508899
Depends on: 1513748
Depends on: 1515387
Depends on: 1518057
Depends on: 1518375
Depends on: 1539300
You need to log in before you can comment on or make changes to this bug.