about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec/wasm32_wasi.rs
AgeCommit message (Collapse)AuthorLines
2023-11-08targets: move target specs to spec/targetsDavid Wood-119/+0
Signed-off-by: David Wood <david@davidtw.co>
2023-11-08target: move base specs to spec/baseDavid Wood-4/+4
Signed-off-by: David Wood <david@davidtw.co>
2023-10-18unify `LinkSelfContained` and `LinkSelfContainedDefault`Rémy Rakic-2/+2
Removes the backwards-compatible `LinkSelfContainedDefault`, by incorporating the remaining specifics into `LinkSelfContained`. Then renames the modern options to keep the old name.
2023-10-18allow target specs to declare self-contained linking componentsRémy Rakic-2/+3
2022-12-08Mangle "main" as "__main_void" on wasm32-wasiDan Gohman-0/+4
On wasm, the age-old C trick of having a main function which can either have no arguments or argc+argv doesn't work, because wasm requires caller and callee signatures to match. WASI's current strategy is to have compilers mangle main's name to indicate which signature they're using. Rust uses the no-argument form, which should be mangled as `__main_void`. This is needed on wasm32-wasi as of #105395.
2022-11-14Issue error when `-C link-self-contained` option is used on unsupported ↵StackDoubleFlow-1/+5
platforms Document supported targets for `-C link-self-contained` Move `LinkSelfContainedDefault::True` from wasm_base to wasm32_wasi
2022-10-06rustc_target: Refactor internal linker flavorsVadim Petrochenkov-4/+2
In accordance with the design from https://github.com/rust-lang/rust/pull/96827#issuecomment-1208441595
2022-08-12rustc_target: Update some old naming around self contained linkingVadim Petrochenkov-2/+2
The "fallback" naming pre-dates introduction of `-Clink-self-contained`
2022-06-25rustc_target: Add convenience functions for adding linker argumentsVadim Petrochenkov-5/+1
They ensure that lld and non-lld linker flavors get the same set of arguments
2022-04-03Replace every `String` in Target(Options) with `Cow<'static, str>`Loïc BRANSTETT-5/+5
2022-02-16Update data layout for wasm32 targetsNikita Popov-1/+1
New address spaces were added in https://reviews.llvm.org/D111154.
2021-08-16Update wasm data layoutNikita Popov-1/+1
2021-04-04wasm64Gus Caplan-2/+2
2020-11-11rustc_target: Normalize vendor from "" to "unknown" for all targetsVadim Petrochenkov-1/+0
Majority of targets use "unknown" vendor and changing it from "unknown" to omitted doesn't make sense. From the LLVM docs (https://clang.llvm.org/docs/CrossCompilation.html#target-triple): >Most of the time it can be omitted (and Unknown) will be assumed, which sets the defaults for the specified architecture. >When a parameter is not important, it can be omitted, or you can choose unknown and the defaults will be used. If you choose a parameter that Clang doesn’t know, like blerg, it’ll ignore and assume unknown
2020-11-08rustc_target: Rename some target options to avoid tautologyVadim Petrochenkov-2/+2
`target.target_endian` -> `target.endian` `target.target_c_int_width` -> `target.c_int_width` `target.target_os` -> `target.os` `target.target_env` -> `target.env` `target.target_vendor` -> `target.vendor` `target.target_family` -> `target.os_family` `target.target_mcount` -> `target.mcount`
2020-11-07rustc_target: Move `linker_flavor` from `Target` to `TargetOptions`Vadim Petrochenkov-1/+1
2020-11-07rustc_target: Move `target_vendor` from `Target` to `TargetOptions`Vadim Petrochenkov-1/+1
2020-11-07rustc_target: Move `target_env` from `Target` to `TargetOptions`Vadim Petrochenkov-1/+0
2020-11-07rustc_target: Move `target_os` from `Target` to `TargetOptions`Vadim Petrochenkov-1/+1
2020-11-07rustc_target: Move `target_endian` from `Target` to `TargetOptions`Vadim Petrochenkov-1/+0
2020-11-07rustc_target: Move `target_c_int_width` from `Target` to `TargetOptions`Vadim Petrochenkov-1/+0
2020-11-05Fix automatic_links warningsGuillaume Gomez-1/+1
2020-10-15Use integer literals for builtin target_pointer_width fieldsest31-1/+1
Also change target_pointer_width to pointer_width. Preparation for a subsequent type change of target_pointer_width to an integer together with a rename to pointer_width. On its own, this commit breaks the build. I don't like making build-breaking commits, but in this instance I believe that it makes review easier, as the "real" changes of this PR can be seen much more easily. Result of running: find compiler/rustc_target/src/spec/ -type f -exec sed -i -e 's/target_pointer_width: "\(.*\)"\..*,/pointer_width: \1,/g' {} \;
2020-10-05rustc_target: Refactor away `TargetResult`Vadim Petrochenkov-3/+3
Construction of a built-in target is always infallible now, so `TargetResult` is no longer necessary.
2020-09-21fix typo in docs and commentsyuk1ty-1/+1
2020-08-30mv compiler to compiler/mark-0/+120