-
Notifications
You must be signed in to change notification settings - Fork 12.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of #132070 - fmease:rollup-4i4k587, r=fmease
Rollup of 5 pull requests Successful merges: - #131043 (Refactor change detection for rustdoc and download-rustc) - #131181 (Compiletest: Custom differ) - #131487 (Add wasm32v1-none target (compiler-team/#791)) - #132054 (do not remove `.cargo` directory) - #132058 (CI: rfl: use rust-next temporary commit) r? `@ghost` `@rustbot` modify labels: rollup
- Loading branch information
Showing
20 changed files
with
290 additions
and
115 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
//! A "bare wasm" target representing a WebAssembly output that does not import | ||
//! anything from its environment and also specifies an _upper_ bound on the set | ||
//! of WebAssembly proposals that are supported. | ||
//! | ||
//! It's equivalent to the `wasm32-unknown-unknown` target with the additional | ||
//! flags `-Ctarget-cpu=mvp` and `-Ctarget-feature=+mutable-globals`. This | ||
//! enables just the features specified in <https://www.w3.org/TR/wasm-core-1/> | ||
//! | ||
//! This is a _separate target_ because using `wasm32-unknown-unknown` with | ||
//! those target flags doesn't automatically rebuild libcore / liballoc with | ||
//! them, and in order to get those libraries rebuilt you need to use the | ||
//! nightly Rust feature `-Zbuild-std`. This target is for people who want to | ||
//! use stable Rust, and target a stable set pf WebAssembly features. | ||
|
||
use crate::spec::{Cc, LinkerFlavor, Target, base}; | ||
|
||
pub(crate) fn target() -> Target { | ||
let mut options = base::wasm::options(); | ||
options.os = "none".into(); | ||
|
||
// WebAssembly 1.0 shipped in 2019 and included exactly one proposal | ||
// after the initial "MVP" feature set: "mutable-globals". | ||
options.cpu = "mvp".into(); | ||
options.features = "+mutable-globals".into(); | ||
|
||
options.add_pre_link_args(LinkerFlavor::WasmLld(Cc::No), &[ | ||
// For now this target just never has an entry symbol no matter the output | ||
// type, so unconditionally pass this. | ||
"--no-entry", | ||
]); | ||
options.add_pre_link_args(LinkerFlavor::WasmLld(Cc::Yes), &[ | ||
// Make sure clang uses LLD as its linker and is configured appropriately | ||
// otherwise | ||
"--target=wasm32-unknown-unknown", | ||
"-Wl,--no-entry", | ||
]); | ||
|
||
Target { | ||
llvm_target: "wasm32-unknown-unknown".into(), | ||
metadata: crate::spec::TargetMetadata { | ||
description: Some("WebAssembly".into()), | ||
tier: Some(2), | ||
host_tools: Some(false), | ||
std: Some(false), | ||
}, | ||
pointer_width: 32, | ||
data_layout: "e-m:e-p:32:32-p10:8:8-p20:8:8-i64:64-n32:64-S128-ni:1:10:20".into(), | ||
arch: "wasm32".into(), | ||
options, | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.