gcc/libbacktrace
Ian Lance Taylor bf406a5369 libbacktrace: avoid infinite recursion
We could get an infinite recursion in an odd case in which a
.gnu_debugdata section was added to a debug file, and mini_debuginfo
was put into the debug file, and the debug file was put into a
/usr/lib/debug directory to be found by build ID.  This combination
doesn't really make sense but we shouldn't get an infinite recursion.

	* elf.c (elf_add): Don't use .gnu_debugdata if we are already
	reading a debuginfo file.
	* Makefile.am (m2test_*): New test targets.
	(CHECK_PROGRAMS): Add m2test.
	(MAKETESTS): Add m2test_minidebug2.
	(%_minidebug2): New pattern.
	(CLEANFILES): Remove minidebug2 files.
	* Makefile.in: Regenerate.
2024-07-11 19:34:45 -07:00
..
aclocal.m4
alloc.c Update copyright years. 2024-01-03 12:19:35 +01:00
allocfail.c Update copyright years. 2024-01-03 12:19:35 +01:00
allocfail.sh Update copyright years. 2024-01-03 12:19:35 +01:00
atomic.c Update copyright years. 2024-01-03 12:19:35 +01:00
backtrace-supported.h.in Update copyright years. 2024-01-03 12:19:35 +01:00
backtrace.c Update copyright years. 2024-01-03 12:19:35 +01:00
backtrace.h Update copyright years. 2024-01-03 12:19:35 +01:00
btest.c libbacktrace: don't fail if symbol size is unknown 2024-07-11 17:58:17 -07:00
ChangeLog Daily bump. 2024-07-12 00:17:52 +00:00
ChangeLog.jit
config.h.in libbacktrace: load Windows modules 2024-04-28 11:14:17 -07:00
configure libbacktrace: fix testsuite for clang 2024-07-11 16:12:47 -07:00
configure.ac libbacktrace: fix testsuite for clang 2024-07-11 16:12:47 -07:00
dwarf.c libbacktrace: remove trailing whitespace 2024-07-11 15:29:24 -07:00
edtest2.c Update copyright years. 2024-01-03 12:19:35 +01:00
edtest.c libbacktrace: fix testsuite for clang 2024-07-11 16:12:47 -07:00
elf.c libbacktrace: avoid infinite recursion 2024-07-11 19:34:45 -07:00
fileline.c Update copyright years. 2024-01-03 12:19:35 +01:00
filetype.awk
install-debuginfo-for-buildid.sh.in Update copyright years. 2024-01-03 12:19:35 +01:00
instrumented_alloc.c Update copyright years. 2024-01-03 12:19:35 +01:00
internal.h Update copyright years. 2024-01-03 12:19:35 +01:00
macho.c libbacktrace: correctly gather Mach-O symbol table 2024-07-11 17:54:43 -07:00
Makefile.am libbacktrace: avoid infinite recursion 2024-07-11 19:34:45 -07:00
Makefile.in libbacktrace: avoid infinite recursion 2024-07-11 19:34:45 -07:00
mmap.c Update copyright years. 2024-01-03 12:19:35 +01:00
mmapio.c Update copyright years. 2024-01-03 12:19:35 +01:00
mtest.c libbacktrace: don't fail if symbol size is unknown 2024-07-11 17:58:17 -07:00
nounwind.c Update copyright years. 2024-01-03 12:19:35 +01:00
pecoff.c libbacktrace: suggest how to fix missing debug info 2024-07-11 15:39:07 -07:00
posix.c Update copyright years. 2024-01-03 12:19:35 +01:00
print.c Update copyright years. 2024-01-03 12:19:35 +01:00
read.c Update copyright years. 2024-01-03 12:19:35 +01:00
README
simple.c Update copyright years. 2024-01-03 12:19:35 +01:00
sort.c Update copyright years. 2024-01-03 12:19:35 +01:00
state.c Update copyright years. 2024-01-03 12:19:35 +01:00
stest.c Update copyright years. 2024-01-03 12:19:35 +01:00
test_format.c Update copyright years. 2024-01-03 12:19:35 +01:00
testlib.c Update copyright years. 2024-01-03 12:19:35 +01:00
testlib.h Update copyright years. 2024-01-03 12:19:35 +01:00
ttest.c Update copyright years. 2024-01-03 12:19:35 +01:00
unittest.c Update copyright years. 2024-01-03 12:19:35 +01:00
unknown.c Update copyright years. 2024-01-03 12:19:35 +01:00
xcoff.c Update copyright years. 2024-01-03 12:19:35 +01:00
xztest.c Update copyright years. 2024-01-03 12:19:35 +01:00
zstdtest.c Update copyright years. 2024-01-03 12:19:35 +01:00
ztest.c Update copyright years. 2024-01-03 12:19:35 +01: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.