#backtrace #coredump #stack-trace #ffi #x86-64

sys libunwind-sys

Low-level bindings for the libunwind library

8 releases (4 breaking)

0.5.1 Feb 1, 2021
0.5.0 Apr 7, 2020
0.4.0 Mar 14, 2020
0.3.0 Feb 9, 2020
0.1.3 Feb 5, 2020

#19 in #coredump


Used in libunwind-rs

MIT license

1.5MB
33K SLoC

C 30K SLoC // 0.3% comments GNU Style Assembly 2K SLoC // 0.3% comments Automake 1K SLoC // 0.1% comments Rust 598 SLoC // 0.0% comments C++ 118 SLoC // 0.3% comments Shell 16 SLoC // 0.1% comments

Contains (obscure autoconf code, 16KB) libunwind/configure.ac

crates.io

libunwind-sys

This Rust crate provides low-level bindings for the libunwind library.

Supported targets:

  • x86_64-unknown-linux-gnu;
  • i686-unknown-linux-gnu;
  • i586-unknown-linux-gnu;
  • arm-unknown-linux-gnueabihf;
  • x86_64-unknown-linux-musl.

Tests are provided only for x86_64-unknown-linux-gnu target.

Installation

First, compile libunwind as a shared library and install it. Add this crate to your Cargo.toml:

[dependencies]
libunwind-sys = "0.5.1"

License

This crate is licensed under the MIT license.


lib.rs:

Low-level bindings for the libunwind library.

Please see the libunwind C API documentation for function descriptions.

Dependencies

~0–2.2MB
~44K SLoC