about summary refs log tree commit diff
path: root/compiler/rustc_target/src/spec/wasm32_unknown_emscripten.rs
AgeCommit message (Collapse)AuthorLines
2023-11-08targets: move target specs to spec/targetsDavid Wood-35/+0
Signed-off-by: David Wood <david@davidtw.co>
2023-11-08target: move base specs to spec/baseDavid Wood-3/+4
Signed-off-by: David Wood <david@davidtw.co>
2022-09-01rustc_target: Refactor internal linker flavors slightlyVadim Petrochenkov-2/+2
Remove one unstable user-facing linker flavor (l4-bender)
2022-06-25rustc_target: Some more tests and fixes for linker argumentsVadim Petrochenkov-11/+10
2022-06-25rustc_target: Add convenience functions for adding linker argumentsVadim Petrochenkov-11/+3
They ensure that lld and non-lld linker flavors get the same set of arguments
2022-06-24Set relocation_model to Pic on emscripten targetHood Chatham-1/+2
2022-06-24Rollup merge of #98214 - petrochenkov:islike, r=compiler-errorsYuki Okushi-1/+0
rustc_target: Remove some redundant target properties `is_like_emscripten` is equivalent to `os == "emscripten"`, so it's removed. `is_like_fuchsia` is equivalent to `os == "fuchsia"`, so it's removed. `is_like_osx` also falls into the same category and is equivalent to `vendor == "apple"`, but it's commonly used so I kept it as is for now. `is_like_(solaris,windows,wasm)` are combinations of different operating systems or architectures (see compiler/rustc_target/src/spec/tests/tests_impl.rs) so they are also kept as is. I think `is_like_wasm` (and maybe `is_like_osx`) are sufficiently closed sets, so we can remove these fields as well and replace them with methods like `fn is_like_wasm() { arch == "wasm32" || arch == "wasm64" }`. On other hand, `is_like_solaris` and `is_like_windows` are sufficiently open and I can imagine custom targets introducing other values for `os`. This is kind of a gray area.
2022-06-22Set no_default_libraries: false in wasm32_emscripten targetHood Chatham-0/+1
2022-06-18rustc_target: Remove some redundant target propertiesVadim Petrochenkov-1/+0
2022-06-09Clean upHood Chatham-5/+1
2022-06-09Remove ERROR_ON_UNDEFINED_SYMBOLS according to sbc100's commentsHood Chatham-2/+0
2022-06-09Remove -sASSERTIONS=1 from wasm32_unknown_emscripten default link argsHood Chatham-2/+0
This is a debug setting. We should only make debug builds if user requests a debug build. Currently this is inserted in release builds. Furthermore, it would be better to insert these settings in --pre-link-args because then it would be possible to override them if appropriate. Because these are inserted at the end, it is necessary to patch emscripten to remove them.
2022-04-03Replace every Vec in Target(Options) with it's Cow equivalentLoïc BRANSTETT-2/+2
2022-04-03Replace every `String` in Target(Options) with `Cow<'static, str>`Loïc BRANSTETT-15/+14
2022-02-16Update data layout for wasm32 targetsNikita Popov-1/+2
New address spaces were added in https://reviews.llvm.org/D111154.
2021-11-16Add emscripten to the "wasm" family of targetsAlex Crichton-1/+1
2021-08-16Update wasm data layoutNikita Popov-1/+1
2021-05-20Remove linker_is_gnu: true cases as that is now the default.Luqman Aden-1/+0
2021-04-11Allow setting `target_family` to multiple valuesSimonas Kazlauskas-1/+1
This enables us to set more generic labels shared between targets. For example `target_family="wasm"` across all targets that are conceptually "wasm". See https://github.com/rust-lang/reference/pull/1006
2021-04-05Rollup merge of #80525 - devsnek:wasm64, r=nagisaDylan DPC-2/+2
wasm64 support There is still some upstream llvm work needed before this can land.
2021-04-04wasm64Gus Caplan-2/+2
2021-03-28rustc_target: Avoid unwraps when adding linker flagsVadim Petrochenkov-1/+1
2021-01-21Don't link with --export-dynamic on wasm32-wasiDan Gohman-1/+12
Remove --export-dynamic from the link arguments on the wasm32-wasi target, as it emits spurious exports and increases code size. Leave it in place for wasm32-unknown-unknown and wasm32-unknown-emscripten. Even though it isn't a great solution there, users are likely depending on its behavior there.
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/+0
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-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-08-30mv compiler to compiler/mark-0/+44