7e6c9f3635
This commit migrates the in-tree `libcompiler_builtins` to the upstream version at https://github.com/rust-lang-nursery/compiler-builtins. The upstream version has a number of intrinsics written in Rust and serves as an in-progress rewrite of compiler-rt into Rust. Additionally it also contains all the existing intrinsics defined in `libcompiler_builtins` for 128-bit integers. It's been the intention since the beginning to make this transition but previously it just lacked the manpower to get done. As this PR likely shows it wasn't a trivial integration! Some highlight changes are: * The PR rust-lang-nursery/compiler-builtins#166 contains a number of fixes across platforms and also some refactorings to make the intrinsics easier to read. The additional testing added there also fixed a number of integration issues when pulling the repository into this tree. * LTO with the compiler-builtins crate was fixed to link in the entire crate after the LTO process as these intrinsics are excluded from LTO. * Treatment of hidden symbols was updated as previously the `#![compiler_builtins]` crate would mark all symbol *imports* as hidden whereas it was only intended to mark *exports* as hidden.
48 lines
1.4 KiB
TOML
48 lines
1.4 KiB
TOML
[package]
|
|
authors = ["The Rust Project Developers"]
|
|
name = "std"
|
|
version = "0.0.0"
|
|
build = "build.rs"
|
|
|
|
[lib]
|
|
name = "std"
|
|
path = "lib.rs"
|
|
crate-type = ["dylib", "rlib"]
|
|
|
|
[dependencies]
|
|
alloc = { path = "../liballoc" }
|
|
alloc_jemalloc = { path = "../liballoc_jemalloc", optional = true }
|
|
alloc_system = { path = "../liballoc_system" }
|
|
panic_unwind = { path = "../libpanic_unwind", optional = true }
|
|
panic_abort = { path = "../libpanic_abort" }
|
|
collections = { path = "../libcollections" }
|
|
core = { path = "../libcore" }
|
|
libc = { path = "../rustc/libc_shim" }
|
|
rand = { path = "../librand" }
|
|
compiler_builtins = { path = "../rustc/compiler_builtins_shim" }
|
|
profiler_builtins = { path = "../libprofiler_builtins", optional = true }
|
|
std_unicode = { path = "../libstd_unicode" }
|
|
unwind = { path = "../libunwind" }
|
|
|
|
[target.x86_64-apple-darwin.dependencies]
|
|
rustc_asan = { path = "../librustc_asan" }
|
|
rustc_tsan = { path = "../librustc_tsan" }
|
|
|
|
[target.x86_64-unknown-linux-gnu.dependencies]
|
|
rustc_asan = { path = "../librustc_asan" }
|
|
rustc_lsan = { path = "../librustc_lsan" }
|
|
rustc_msan = { path = "../librustc_msan" }
|
|
rustc_tsan = { path = "../librustc_tsan" }
|
|
|
|
[build-dependencies]
|
|
build_helper = { path = "../build_helper" }
|
|
gcc = "0.3.50"
|
|
|
|
[features]
|
|
backtrace = []
|
|
debug-jemalloc = ["alloc_jemalloc/debug"]
|
|
jemalloc = ["alloc_jemalloc"]
|
|
force_alloc_system = []
|
|
panic-unwind = ["panic_unwind"]
|
|
profiler = ["profiler_builtins"]
|