-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
std: Get the standard library compiling for wasm64 #90382
Commits on Nov 10, 2021
-
std: Get the standard library compiling for wasm64
This commit goes through and updates various `#[cfg]` as appropriate to get the wasm64-unknown-unknown target behaving similarly to the wasm32-unknown-unknown target. Most of this is just updating various conditions for `target_arch = "wasm32"` to also account for `target_arch = "wasm64"` where appropriate. This commit also lists `wasm64` as an allow-listed architecture to not have the `restricted_std` feature enabled, enabling experimentation with `-Z build-std` externally. The main goal of this commit is to enable playing around with `wasm64-unknown-unknown` externally via `-Z build-std` in a way that's similar to the `wasm32-unknown-unknown` target. These targets are effectively the same and only differ in their pointer size, but wasm64 is much newer and has much less ecosystem/library support so it'll still take time to get wasm64 fully-fledged.
Configuration menu - View commit details
-
Copy full SHA for 7f3ffbc - Browse repository at this point
Copy the full SHA 7f3ffbcView commit details -
Enable WebAssembly features by default on wasm64
These are all stable as-of-now in the WebAssembly specification so any engine which implements wasm64 will surely implement these features as well.
Configuration menu - View commit details
-
Copy full SHA for cfb2f98 - Browse repository at this point
Copy the full SHA cfb2f98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9716388 - Browse repository at this point
Copy the full SHA 9716388View commit details -
Configuration menu - View commit details
-
Copy full SHA for f738abe - Browse repository at this point
Copy the full SHA f738abeView commit details -
Configuration menu - View commit details
-
Copy full SHA for caa9e4a - Browse repository at this point
Copy the full SHA caa9e4aView commit details -
Fix a crash with wasm64 in LLVM
This commit works around a crash in LLVM when the `-generate-arange-section` argument is passed to LLVM. An LLVM bug is opened for this and the code in question is also set to continue passing this flag with LLVM 14, assuming that this is fixed by the time LLVM 14 comes out. Otherwise this should work around debuginfo crashes on LLVM 13.
Configuration menu - View commit details
-
Copy full SHA for d208e19 - Browse repository at this point
Copy the full SHA d208e19View commit details -
Update more rustc/libtest things for wasm64
* Add wasm64 variants for inline assembly along the same lines as wasm32 * Update a few directives in libtest to check for `target_family` instead of `target_arch` * Update some rustc codegen and typechecks specialized for wasm32 to also work for wasm64.
Configuration menu - View commit details
-
Copy full SHA for d2a3c24 - Browse repository at this point
Copy the full SHA d2a3c24View commit details -
Configuration menu - View commit details
-
Copy full SHA for a3b9405 - Browse repository at this point
Copy the full SHA a3b9405View commit details -
Update stdarch/compiler_builtins
Brings in some fixes and better support for the wasm64 target.
Configuration menu - View commit details
-
Copy full SHA for 88f1bf7 - Browse repository at this point
Copy the full SHA 88f1bf7View commit details -
This pulls in a fix for wasm64 to work correctly with this dlmalloc
Configuration menu - View commit details
-
Copy full SHA for b5c3f4c - Browse repository at this point
Copy the full SHA b5c3f4cView commit details -
Ensure that they compile with the now-a-feature-is-required logic.
Configuration menu - View commit details
-
Copy full SHA for e4b3496 - Browse repository at this point
Copy the full SHA e4b3496View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9d6f7f7 - Browse repository at this point
Copy the full SHA 9d6f7f7View commit details -
Update src/doc/rustc/src/platform-support.md
Co-authored-by: Josh Triplett <josh@joshtriplett.org>
Configuration menu - View commit details
-
Copy full SHA for 1d74c77 - Browse repository at this point
Copy the full SHA 1d74c77View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9a44235 - Browse repository at this point
Copy the full SHA 9a44235View commit details -
Disable
.debug_aranges
for all wasm targetsThis follows from discussion on https://bugs.llvm.org/show_bug.cgi?id=52442 where it looks like this section doesn't make sense for wasm targets.
Configuration menu - View commit details
-
Copy full SHA for 7dc3836 - Browse repository at this point
Copy the full SHA 7dc3836View commit details
Commits on Nov 16, 2021
-
Configuration menu - View commit details
-
Copy full SHA for 97cd27a - Browse repository at this point
Copy the full SHA 97cd27aView commit details
Commits on Nov 17, 2021
-
Configuration menu - View commit details
-
Copy full SHA for af217f7 - Browse repository at this point
Copy the full SHA af217f7View commit details