summary refs log tree commit diff
path: root/src/libunwind/build.rs
AgeCommit message (Collapse)AuthorLines
2018-12-25Remove licensesMark Rousskov-10/+0
2018-01-22Do not assume dynamic linking for musl/mips[el] targetsMarco A L Barbosa-1/+1
All musl targets except mips[el] assume static linking by default. This can be confusing https://users.rust-lang.org/t/static-cross-compiled-binaries-arent-really-static/6084 When the musl/mips[el] targets was [added](https://github.com/rust-lang/rust/pull/31298), dynamic linking was chosen because of binary size concerns, and probably also because libunwind [didn't](https://users.rust-lang.org/t/static-cross-compiled-binaries-arent-really-static/6084/8) supported mips. Now that we have `crt-static` target-feature (the user can choose dynamic link for musl targets), and libunwind [6.0](https://github.com/llvm-mirror/libunwind/commits/release_60) add support to mips, we do not need to assume dynamic linking.
2017-12-26Link against -lunwind on CloudABI.Ed Schouten-0/+2
CloudABI makes use of LLVM's libunwind to do stack unwinding. It is installed under the name libunwind.a.
2017-11-26make OpenBSD to use libc++ instead of (e)stdc++Sébastien Marie-1/+1
2017-08-22Update libunwind dependencies for muslSamuel Holland-1/+1
Use libgcc_s when linking dynamically. Convert the static libunwind to static-nobundle, as libunwind.a is copied from musl_root and available in the library search path.
2017-08-03Make backtraces work on Redox, copying Unix implementationIan Douglas Scott-0/+2
2017-04-22Haiku: fix initial platform supportJessica Hamilton-0/+2
2017-03-30libgcc_eh may depend on libpthread.Vadim Chugunov-1/+2
Make sure we link to the static libpthread, so that compiled Rust binaries do not depend on winpthread1.dll.
2017-03-04Add/remove `rerun-if-changed` when necessaryVadim Petrochenkov-0/+1
2017-02-11Add Solaris as recognized ostypeShawn Walker-Salas-0/+2
Add cputype recognition for Solaris Fixes #39729
2017-02-06std: Remove cfg(cargobuild) annotationsAlex Crichton-2/+0
These are all now no longer needed that we've only got rustbuild in tree.
2016-10-22Add Fuchsia supportRaph Levien-0/+2
Adds support for the x86_64-unknown-fuchsia target, which covers the Fuchsia operating system.
2016-09-25Report which required build-time environment variable is not setJake Goulding-1/+1
2016-07-30arm-musl: statically link to libunwindJorge Aparicio-1/+1
2016-05-09rustc: Implement custom panic runtimesAlex Crichton-0/+39
This commit is an implementation of [RFC 1513] which allows applications to alter the behavior of panics at compile time. A new compiler flag, `-C panic`, is added and accepts the values `unwind` or `panic`, with the default being `unwind`. This model affects how code is generated for the local crate, skipping generation of landing pads with `-C panic=abort`. [RFC 1513]: https://github.com/rust-lang/rfcs/blob/master/text/1513-less-unwinding.md Panic implementations are then provided by crates tagged with `#![panic_runtime]` and lazily required by crates with `#![needs_panic_runtime]`. The panic strategy (`-C panic` value) of the panic runtime must match the final product, and if the panic strategy is not `abort` then the entire DAG must have the same panic strategy. With the `-C panic=abort` strategy, users can expect a stable method to disable generation of landing pads, improving optimization in niche scenarios, decreasing compile time, and decreasing output binary size. With the `-C panic=unwind` strategy users can expect the existing ability to isolate failure in Rust code from the outside world. Organizationally, this commit dismantles the `sys_common::unwind` module in favor of some bits moving part of it to `libpanic_unwind` and the rest into the `panicking` module in libstd. The custom panic runtime support is pretty similar to the custom allocator support with the only major difference being how the panic runtime is injected (takes the `-C panic` flag into account).