4af50e13a0
The backtrace functions backtrace_full, backtrace_print and backtrace_simple walk the call stack, but make sure to skip the first entry, in order to skip over the functions themselves, and start the backtrace at the caller of the functions. When compiling with -flto, the functions may be inlined, causing them to skip over the caller instead. Fix this by declaring the functions with __attribute__((noinline)). 2019-02-08 Tom de Vries <tdevries@suse.de> * backtrace.c (backtrace_full): Declare with __attribute__((noinline)). * print.c (backtrace_print): Same. * simple.c (backtrace_simple): Same. From-SVN: r268668 |
||
---|---|---|
.. | ||
aclocal.m4 | ||
alloc.c | ||
allocfail.c | ||
allocfail.sh | ||
atomic.c | ||
backtrace-supported.h.in | ||
backtrace.c | ||
backtrace.h | ||
btest.c | ||
ChangeLog | ||
ChangeLog.jit | ||
config.h.in | ||
configure | ||
configure.ac | ||
dwarf.c | ||
edtest2.c | ||
edtest.c | ||
elf.c | ||
fileline.c | ||
filetype.awk | ||
install-debuginfo-for-buildid.sh.in | ||
instrumented_alloc.c | ||
internal.h | ||
Makefile.am | ||
Makefile.in | ||
mmap.c | ||
mmapio.c | ||
nounwind.c | ||
pecoff.c | ||
posix.c | ||
print.c | ||
read.c | ||
README | ||
simple.c | ||
sort.c | ||
state.c | ||
stest.c | ||
test_format.c | ||
testlib.c | ||
testlib.h | ||
ttest.c | ||
unittest.c | ||
unknown.c | ||
xcoff.c | ||
ztest.c |
The libbacktrace library Initially written by Ian Lance Taylor <iant@google.com> 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. 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 September 2012, libbacktrace only supports ELF executables with DWARF debugging information. The library is written to make it straightforward to add support for other object file and debugging formats.