- 12 11月, 2018 1 次提交
-
-
由 Alex Crichton 提交于
This commit cleans up allocator injection logic found in the compiler around selecting the global allocator. It turns out that now that jemalloc is gone the compiler never actually injects anything! This means that basically everything around loading crates here and there can be easily pruned. This also removes the `exe_allocation_crate` option from custom target specs as it's no longer used by the compiler anywhere.
-
- 10 11月, 2018 1 次提交
-
-
由 Nikita Popov 提交于
This avoids trapping in the -Zsaturating-float-casts implementation.
-
- 06 11月, 2018 1 次提交
-
-
由 Petr Hosek 提交于
Fuchsia already uses lld as the default linker, so there's no reason to always invoke it through Clang, instead we can simply invoke lld directly and pass the set of flags that matches Clang.
-
- 05 11月, 2018 1 次提交
-
-
由 Eduard-Mihai Burtescu 提交于
-
- 04 11月, 2018 1 次提交
-
-
由 Alex Crichton 提交于
This commit deletes the injection of `-(` and `-)` options to the linker for the musl targets. This actually causes problems today on nightly if you execute: $ echo 'fn main() {}' >> foo.rs $ rustc --target x86_64-unknown-linux-musl -C panic=abort you get a linker error about "cannot nest groups". This comes about because rustc injects its own `--start-group` and `--end-group` variables which clash with the outer `-(` and `-)` variables. It's not entirely clear to me why this doesn't affect the musl target by default (in `-C panic=unwind` mode). The compiler's own injection of `--start-group` and `--end-group` should solve the issues mentioned in the comment for injecting `-(` and `-)` as well.
-
- 02 11月, 2018 2 次提交
-
-
由 Alex Crichton 提交于
This commit adds opt-in support to the compiler to link to `jemalloc` in the compiler. When activated the compiler will depend on `jemalloc-sys`, instruct jemalloc to unprefix its symbols, and then link to it. The feature is activated by default on Linux/OSX compilers for x86_64/i686 platforms, and it's not enabled anywhere else for now. We may be able to opt-in other platforms in the future! Also note that the opt-in only happens on CI, it's otherwise unconditionally turned off by default. Closes #36963
-
由 Alex Crichton 提交于
This commit removes all jemalloc related submodules, configuration, etc, from the bootstrap, from the standard library, and from the compiler. This will be followed up with a change to use jemalloc specifically as part of rustc on blessed platforms.
-
- 29 10月, 2018 1 次提交
-
-
由 Jorge Aparicio 提交于
PR #51953 enabled the Atomic*.{load,store} API on MSP430. Unfortunately, the LLVM backend doesn't currently support those atomic operations, so this commit removes the API and leaves instructions on how and when to enable it in the future.
-
- 26 10月, 2018 1 次提交
-
-
由 Shotaro Yamada 提交于
-
- 13 10月, 2018 1 次提交
-
-
由 Alex Crichton 提交于
The upcoming SIMD support in the wasm target is unique from the other platforms where it's either unconditionally available or not available, there's no halfway where a subsection of the program can use it but no other parts of the program can use it. In this world it's valid for wasm SIMD args to always be passed by value and there's no need to pass them by reference. This commit adds a new custom target specification option `simd_types_indirect` which defaults to `true`, but the wasm backend disables this and sets it to `false`.
-
- 12 10月, 2018 1 次提交
-
-
由 Gabriel Majeri 提交于
Disable the PLT where possible to improve performance for indirect calls into shared libraries. This optimization is enabled by default where possible. - Add the `NonLazyBind` attribute to `rustllvm`: This attribute informs LLVM to skip PLT calls in codegen. - Disable PLT unconditionally: Apply the `NonLazyBind` attribute on every function. - Only enable no-plt when full relro is enabled: Ensures we only enable it when we have linker support. - Add `-Z plt` as a compiler option
-
- 28 9月, 2018 1 次提交
-
-
由 Nathan Froyd 提交于
MSVC ignores these keywords for C/C++ and uses the standard system calling convention. Rust should do so as well. Fixes #54569.
-
- 21 9月, 2018 1 次提交
-
-
由 bgermann 提交于
The no_default_libraries was introduced in #28578 because the NetBSD-based rumprun needed to disable the link flag. This moves the definition to be used by all NetBSD linker flavors to close #49627. A different solution would be adding -lc but as there is no platform with explicit -lc, this approach is used.
-
- 17 9月, 2018 1 次提交
-
-
由 Michael Woerister 提交于
-
- 13 9月, 2018 1 次提交
-
-
由 Jordan Rhee 提交于
-
- 07 9月, 2018 1 次提交
-
-
由 Jordan Rhee 提交于
-
- 05 9月, 2018 1 次提交
-
-
由 Jordan Rhee 提交于
-
- 01 9月, 2018 1 次提交
-
-
由 Alex Crichton 提交于
This commit adds a few changes for atomic instructions on the `wasm32-unknown-unknown` target. Atomic instructions are not yet stable in WebAssembly itself but there are multiple implementations and LLVM has support for the proposed instruction set, so let's work on exposing it! Here there are a few inclusions: * The `atomics` feature was whitelisted for LLVM, allowing code in Rust to enable/disable/gate on this. * The `singlethread` option is turned off for wasm when the `atomics` feature is enabled. This means that by default wasm won't be lowering with atomics, but when atomics are enabled globally we'll turn off single-threaded mode to actually codegen atomics. This probably isn't what we'll want in the long term but for now it should work. * Finally the maximum atomic width is increased to 64 to reflect the current wasm spec.
-
- 31 8月, 2018 1 次提交
-
-
由 David Craven 提交于
-
- 30 8月, 2018 3 次提交
-
-
由 David Craven 提交于
-
由 David Craven 提交于
-
由 David Craven 提交于
-
- 26 8月, 2018 6 次提交
-
-
由 Jorge Aparicio 提交于
-
由 Jorge Aparicio 提交于
-
由 Jorge Aparicio 提交于
-
由 Jorge Aparicio 提交于
by removing the redundant +v7 feature
-
由 Jorge Aparicio 提交于
-
由 Paolo Teti 提交于
Similar to `armebv7r-none-eabihf`, but for Little-endian MCUs. As example TI RM4x/RM5x are Little-endian Cortex-R4F/R5F MCUs. CI/Dockerfile is intentionally in the disabled folder.
-
- 25 8月, 2018 1 次提交
-
-
由 Jorge Aparicio 提交于
to rust-lld so users won't need an external linker to build programs
-
- 23 8月, 2018 1 次提交
-
-
由 Matthias Krüger 提交于
-
- 19 8月, 2018 1 次提交
-
-
由 Jorge Aparicio 提交于
-
- 18 8月, 2018 2 次提交
-
-
由 Jorge Aparicio 提交于
-
由 Jorge Aparicio 提交于
this field defaults to the LD / GNU flavor
-
- 16 8月, 2018 1 次提交
-
-
由 Alex Crichton 提交于
This commit adds the necessary definitions for target specs and such as well as the necessary support in libstd to compile basic `aarch64-pc-windows-msvc` binaries. The target is not currently built on CI, but it can be built locally with: ./configure --target=aarch64-pc-windows-msvc --set rust.lld ./x.py build src/libstd --target aarch64-pc-windows-msvc Currently this fails to build `libtest` due to a linker bug (seemingly in LLD?) which hasn't been investigate yet. Otherwise though with libstd you can build a hello world program (linked with LLD). I've not tried to execute it yet, but it at least links! Full support for this target is still a long road ahead, but this is hopefully a good stepping stone to get started. Points of note about this target are: * Currently defaults to `panic=abort` as support is still landing in LLVM for SEH on AArch64. * Currently defaults to LLD as a linker as I was able to get farther with it than I was with `link.exe`
-
- 12 8月, 2018 1 次提交
-
-
由 ljedrz 提交于
-
- 10 8月, 2018 1 次提交
-
-
由 Andre Richter 提交于
A generic AArch64 target that can be used for writing bare-metal code for 64-bit ARM architectures.
-
- 09 8月, 2018 1 次提交
-
-
由 ljedrz 提交于
-
- 08 8月, 2018 1 次提交
-
-
由 Jonathan A. Kollasch 提交于
-
- 07 8月, 2018 1 次提交
-
-
由 Dan Callaghan 提交于
Same as the other embedded targets, see: https://github.com/rust-lang/rust/pull/49728 This is a temporary workaround for #44993.
-
- 01 8月, 2018 1 次提交
-
-
由 David Craven 提交于
-