binutils-gdb/libbacktrace
Sam James b450e10273 Sync libbacktrace from gcc [PR31327]
Note that this includes Nick's fix from edf64cd235 which
landed upstream a bit differently as r13-1566-g9ed57796235abc in GCC.

This pulls in libbacktrace as of r14-9404-gc775a030af9cad in GCC trunk.

Note that I have dropped a top-level Darwin change from r14-4825-g6a6d3817afa02b
which would've required an autoreconf, as it should be handled separately.

Approved-By: Tom Tromey <tom@tromey.com>
2024-03-11 23:10:33 +00:00
..
aclocal.m4
alloc.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
allocfail.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
allocfail.sh Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
atomic.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
backtrace-supported.h.in Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
backtrace.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
backtrace.h Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
btest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
ChangeLog Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
ChangeLog.jit
config.h.in Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
configure Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
configure.ac Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
dwarf.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
edtest2.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
edtest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
elf.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
fileline.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
filetype.awk
install-debuginfo-for-buildid.sh.in Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
instrumented_alloc.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
internal.h Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
macho.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
Makefile.am Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
Makefile.in Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
mmap.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
mmapio.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
mtest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
nounwind.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
pecoff.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
posix.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
print.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
read.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
README Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
simple.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
sort.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
state.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
stest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
test_format.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
testlib.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
testlib.h Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
ttest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
unittest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
unknown.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
xcoff.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
xztest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
zstdtest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00
ztest.c Sync libbacktrace from gcc [PR31327] 2024-03-11 23:10:33 +00:00

The libbacktrace library
Initially written by Ian Lance Taylor <iant@golang.org>

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.