summary refs log tree commit diff
path: root/src/libunwind/build.rs
AgeCommit message (Collapse)AuthorLines
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).