| Age | Commit message (Collapse) | Author | Lines |
|
Signed-off-by: David Wood <david@davidtw.co>
|
|
Signed-off-by: David Wood <david@davidtw.co>
|
|
Removes the backwards-compatible `LinkSelfContainedDefault`, by
incorporating the remaining specifics into `LinkSelfContained`.
Then renames the modern options to keep the old name.
|
|
|
|
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.
|
|
platforms
Document supported targets for `-C link-self-contained`
Move `LinkSelfContainedDefault::True` from wasm_base to wasm32_wasi
|
|
In accordance with the design from https://github.com/rust-lang/rust/pull/96827#issuecomment-1208441595
|
|
The "fallback" naming pre-dates introduction of `-Clink-self-contained`
|
|
They ensure that lld and non-lld linker flavors get the same set of arguments
|
|
|
|
New address spaces were added in https://reviews.llvm.org/D111154.
|
|
|
|
|
|
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
|
|
`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`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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' {} \;
|
|
Construction of a built-in target is always infallible now, so `TargetResult` is no longer necessary.
|
|
|
|
|