README revision 1.1.1.1.2.1 1 1.1 christos The libbacktrace library
2 1.1.1.1.2.1 perseant Initially written by Ian Lance Taylor <iant (a] golang.org>
3 1.1 christos
4 1.1 christos The libbacktrace library may be linked into a program or library and
5 1.1.1.1.2.1 perseant used to produce symbolic backtraces.
6 1.1.1.1.2.1 perseant Sample uses would be to print a detailed backtrace when an error
7 1.1.1.1.2.1 perseant occurs or to gather detailed profiling information.
8 1.1.1.1.2.1 perseant In general the functions provided by this library are async-signal-safe,
9 1.1.1.1.2.1 perseant meaning that they may be safely called from a signal handler.
10 1.1 christos
11 1.1.1.1.2.1 perseant The libbacktrace library is provided under a BSD license.
12 1.1.1.1.2.1 perseant See the source files for the exact license text.
13 1.1 christos
14 1.1 christos The public functions are declared and documented in the header file
15 1.1 christos backtrace.h, which should be #include'd by a user of the library.
16 1.1 christos
17 1.1 christos Building libbacktrace will generate a file backtrace-supported.h,
18 1.1 christos which a user of the library may use to determine whether backtraces
19 1.1.1.1.2.1 perseant will work.
20 1.1.1.1.2.1 perseant See the source file backtrace-supported.h.in for the macros that it
21 1.1.1.1.2.1 perseant defines.
22 1.1 christos
23 1.1.1.1.2.1 perseant As of October 2020, libbacktrace supports ELF, PE/COFF, Mach-O, and
24 1.1.1.1.2.1 perseant XCOFF executables with DWARF debugging information.
25 1.1.1.1.2.1 perseant In other words, it supports GNU/Linux, *BSD, macOS, Windows, and AIX.
26 1.1.1.1.2.1 perseant The library is written to make it straightforward to add support for
27 1.1.1.1.2.1 perseant other object file and debugging formats.
28 1.1.1.1.2.1 perseant
29 1.1.1.1.2.1 perseant The library relies on the C++ unwind API defined at
30 1.1.1.1.2.1 perseant https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html
31 1.1.1.1.2.1 perseant This API is provided by GCC and clang.
32