Open afonso360 opened 1 year ago
A plethora of system integrators (Microsoft, HP, Dell, Samsung, Lenovo, Acer, ...) have announced Windows ARM laptops based on Snapdragon's new Elite processors. They will start shipping in a couple days. It seems like this target will be a lot more important soon.
I don't have a Windows ARM laptop, nor any other way to test any support I add. As such it is basically impossible for me to add this support. If someone who is in a position to test it were to work on getting it supported, I did welcome any PR(s) however.
👋 Hey, There has been some discussion about support for
aarch64-pc-windows-msvc
on wasmtime and cranelift.As a curiosity I tried to build cg_clif on this target. It fails when building sysroot due to object not being able to handle these kinds of relocations.
y.exe build output:
``` PS C:\Users\WOA\git\rustc_codegen_cranelift> .\y.exe build [BUILD] rustc_codegen_cranelift Updating git repository `https://github.com/bjorn3/rust-ar.git` Downloaded once_cell v1.13.0 Downloaded smallvec v1.9.0 Downloaded cranelift-module v0.88.1 Downloaded anyhow v1.0.60 Downloaded cranelift-bforest v0.88.1 Downloaded cranelift-object v0.88.1 Downloaded target-lexicon v0.12.4 Downloaded gimli v0.26.2 Downloaded cranelift-jit v0.88.1 Downloaded cranelift-codegen-shared v0.88.1 Downloaded cranelift-isle v0.88.1 Downloaded regalloc2 v0.3.2 Downloaded cranelift-native v0.88.1 Downloaded cranelift-codegen-meta v0.88.1 Downloaded cranelift-frontend v0.88.1 Downloaded bumpalo v3.11.0 Downloaded cranelift-entity v0.88.1 Downloaded cranelift-codegen v0.88.1 Downloaded libc v0.2.127 Downloaded 19 crates (2.7 MB) in 19.50s Compiling cfg-if v1.0.0 Compiling version_check v0.9.4 Compiling once_cell v1.13.0 Compiling autocfg v1.1.0 Compiling getrandom v0.2.7 Compiling cranelift-isle v0.88.1 Compiling log v0.4.17 Compiling ahash v0.7.6 Compiling indexmap v1.9.1 Compiling cranelift-codegen-shared v0.88.1 Compiling cranelift-codegen-meta v0.88.1 Compiling target-lexicon v0.12.4 Compiling hashbrown v0.12.3 Compiling byteorder v1.4.3 Compiling fxhash v0.2.1 Compiling cranelift-entity v0.88.1 Compiling smallvec v1.9.0 Compiling slice-group-by v0.3.0 Compiling cranelift-bforest v0.88.1 Compiling gimli v0.26.2 Compiling regalloc2 v0.3.2 Compiling cranelift-codegen v0.88.1 Compiling arrayvec v0.7.2 Compiling bumpalo v3.11.0 Compiling winapi v0.3.9 Compiling anyhow v1.0.60 Compiling memchr v2.5.0 Compiling windows_aarch64_msvc v0.36.1 Compiling crc32fast v1.3.2 Compiling libc v0.2.127 Compiling bitflags v1.3.2 Compiling object v0.29.0 Compiling region v2.2.0 Compiling windows-sys v0.36.1 Compiling libloading v0.7.3 Compiling ar v0.8.0 (https://github.com/bjorn3/rust-ar.git?branch=do_not_remove_cg_clif_ranlib#de9ab0e5) Compiling cranelift-module v0.88.1 Compiling cranelift-native v0.88.1 Compiling cranelift-frontend v0.88.1 Compiling cranelift-jit v0.88.1 Compiling cranelift-object v0.88.1 Compiling rustc_codegen_cranelift v0.1.0 (C:\Users\WOA\git\rustc_codegen_cranelift) Finished release [optimized] target(s) in 11m 15s [BUILD] sysroot Clif Downloaded cfg-if v0.1.10 Downloaded unicode-width v0.1.10 Downloaded miniz_oxide v0.4.4 Downloaded libc v0.2.132 Downloaded object v0.26.2 Downloaded getopts v0.2.21 Downloaded addr2line v0.16.0 Downloaded compiler_builtins v0.1.80 Downloaded gimli v0.25.0 Downloaded 9 crates (1.8 MB) in 14.14s Compiling compiler_builtins v0.1.80 Compiling core v0.0.0 (C:\Users\WOA\git\rustc_codegen_cranelift\build_sysroot\sysroot_src\library\core) Compiling libc v0.2.132 Compiling cc v1.0.73 Compiling memchr v2.5.0 Compiling autocfg v1.1.0 Compiling miniz_oxide v0.4.4 Compiling std v0.0.0 (C:\Users\WOA\git\rustc_codegen_cranelift\build_sysroot\sysroot_src\library\std) Compiling unwind v0.0.0 (C:\Users\WOA\git\rustc_codegen_cranelift\build_sysroot\sysroot_src\library\unwind) Compiling rustc-std-workspace-core v1.99.0 (C:\Users\WOA\git\rustc_codegen_cranelift\build_sysroot\sysroot_src\library\rustc-std-workspace-core) [rustc_std_workspace_core : codegen mono items] start [rustc_std_workspace_core : codegen mono items] end time: 851.334µs [libc : codegen mono items] start [libc : codegen mono items] end time: 4.8135ms [core : codegen mono items] start thread 'Additionally to get this target working we also need stack probing support. And maybe some ABI support on cranelift? Not sure.
I'm a little bit more focused on getting
x86_64-pc-windows-msvc
working properly, so I'm not planning on working on this right now.