S
.github
Add Dependabot configuration for GitHub Actions (#3)
config
configury: update to recent versions
.gitignore
.gitignore: add simple .gitignore file
.pre-commit-config.yaml
[StepSecurity] Apply security best practices (#2)
aclocal.m4
libbacktrace: update to current version from GCC trunk
alloc.c
Update copyright years.
allocfail.c
Update copyright years.
allocfail.sh
Update copyright years.
atomic.c
Update copyright years.
backtrace-supported.h.in
Update copyright years.
backtrace.c
Update copyright years.
backtrace.h
libbacktrace: pass -1 to error callback for unrecognized DWARF
btest.c
Update copyright years.
compile
libbacktrace: update to current version from GCC trunk
config.guess
configury: update to recent versions
config.h.in
libbacktrace: support zstd decompression
config.sub
configury: update to recent versions
configure
libbacktrace: don't run --build-id tests if it is not supported
configure.ac
libbacktrace: don't run --build-id tests if it is not supported
dwarf.c
libbacktrace: change PC variables from uint64_t to uintptr_t
edtest.c
Update copyright years.
edtest2.c
Update copyright years.
elf.c
libbacktrace: minor fixes for zstd decompression
fileline.c
Update copyright years.
filenames.h
libbacktrace: update to current version from GCC trunk
filetype.awk
libbacktrace: only match magic number at start of line
install-debuginfo-for-buildid.sh.in
Update copyright years.
install-sh
configury: update to recent versions
instrumented_alloc.c
Update copyright years.
internal.h
libbacktrace: support zstd decompression
Isaac.Newton-Opticks.txt
libbacktrace: replace Tom Sawyer with Opticks
libtool.m4
configury: update to recent versions
LICENSE
libbacktrace: initial commit
lt~obsolete.m4
libbacktrace: update to current version from GCC trunk
ltmain.sh
configury: update to recent versions
ltoptions.m4
libbacktrace: update to current version from GCC trunk
ltsugar.m4
libbacktrace: update to current version from GCC trunk
ltversion.m4
libbacktrace: update to current version from GCC trunk
macho.c
libbacktrace: don't exit Mach-O dyld library loop on one failure
Makefile.am
libbacktrace: don't run --build-id tests if it is not supported
Makefile.in
libbacktrace: don't run --build-id tests if it is not supported
missing
configury: update to recent versions
mmap.c
Update copyright years.
mmapio.c
Update copyright years.
move-if-change
configury: update to recent versions
mtest.c
Update copyright years.
nounwind.c
Update copyright years.
pecoff.c
Update copyright years.
posix.c
Update copyright years.
print.c
Update copyright years.
read.c
Update copyright years.
README.md
libbacktrace: update README
simple.c
Update copyright years.
sort.c
Update copyright years.
state.c
Update copyright years.
stest.c
Update copyright years.
test_format.c
Update copyright years.
test-driver
libbacktrace: update to current version from GCC trunk
testlib.c
Update copyright years.
testlib.h
Update copyright years.
ttest.c
Update copyright years.
unittest.c
Update copyright years.
unknown.c
Update copyright years.
xcoff.c
Update copyright years.
xztest.c
Update copyright years.
zstdtest.c
libbacktrace: support zstd decompression
ztest.c
Update copyright years.

libbacktrace

A C library that may be linked into a C/C++ program to produce symbolic backtraces

Initially written by Ian Lance Taylor iant@golang.org.

This is version 1.0. It is likely that this will always be version 1.0.

The libbacktrace library may be linked into a program or library and used to produce symbolic backtraces. Sample uses would be to print a detailed backtrace when an error occurs or to gather detailed profiling information. In general the functions provided by this library are async-signal-safe, meaning that they may be safely called from a signal handler.

The libbacktrace library is provided under a BSD license. See the source files for the exact license text.

The public functions are declared and documented in the header file backtrace.h, which should be #include'd by a user of the library.

Building libbacktrace will generate a file backtrace-supported.h, which a user of the library may use to determine whether backtraces will work. See the source file backtrace-supported.h.in for the macros that it defines.

As of October 2020, libbacktrace supports ELF, PE/COFF, Mach-O, and XCOFF executables with DWARF debugging information. In other words, it supports GNU/Linux, *BSD, macOS, Windows, and AIX. The library is written to make it straightforward to add support for other object file and debugging formats.

The library relies on the C++ unwind API defined at https://itanium-cxx-abi.github.io/cxx-abi/abi-eh.html This API is provided by GCC and clang.