gcc/libbacktrace
Tom de Vries 4af50e13a0 [libbacktrace] Declare external backtrace fns noinline
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
2019-02-08 09:49:06 +00:00
..
aclocal.m4
alloc.c Update copyright years. 2019-01-01 13:31:55 +01:00
allocfail.c * allocfail.c (main): Increase portability of printf statement. 2019-01-20 15:09:02 +00:00
allocfail.sh Update copyright years. 2019-01-01 13:31:55 +01:00
atomic.c Update copyright years. 2019-01-01 13:31:55 +01:00
backtrace-supported.h.in Update copyright years. 2019-01-01 13:31:55 +01:00
backtrace.c [libbacktrace] Declare external backtrace fns noinline 2019-02-08 09:49:06 +00:00
backtrace.h PR other/16615 [1/5] 2019-01-09 16:37:45 -05:00
btest.c Update copyright years. 2019-01-01 13:31:55 +01:00
ChangeLog [libbacktrace] Declare external backtrace fns noinline 2019-02-08 09:49:06 +00:00
ChangeLog.jit
config.h.in
configure [libbacktrace] Add test-cases exercising build-id and dwz 2019-01-29 16:25:46 +00:00
configure.ac [libbacktrace] Add test-cases exercising build-id and dwz 2019-01-29 16:25:46 +00:00
dwarf.c [libbacktrace] Handle DW_FORM_ref_addr 2019-02-08 05:55:44 +00:00
edtest2.c Update copyright years. 2019-01-01 13:31:55 +01:00
edtest.c Update copyright years. 2019-01-01 13:31:55 +01:00
elf.c [libbacktrace] Fix .gnu_debugaltlink build-id check 2019-01-31 12:17:32 +00:00
fileline.c Update copyright years. 2019-01-01 13:31:55 +01:00
filetype.awk
install-debuginfo-for-buildid.sh.in [libbacktrace] Add test-cases exercising build-id and dwz 2019-01-29 16:25:46 +00:00
instrumented_alloc.c Update copyright years. 2019-01-01 13:31:55 +01:00
internal.h re PR libbacktrace/88890 (libbacktrace on 32-bit system with _FILE_OFFSET_BITS == 64) 2019-01-18 17:13:59 +00:00
Makefile.am [libbacktrace] Add test-cases exercising build-id and dwz 2019-01-29 16:25:46 +00:00
Makefile.in [libbacktrace] Add test-cases exercising build-id and dwz 2019-01-29 16:25:46 +00:00
mmap.c Update copyright years. 2019-01-01 13:31:55 +01:00
mmapio.c re PR libbacktrace/88890 (libbacktrace on 32-bit system with _FILE_OFFSET_BITS == 64) 2019-01-18 17:13:59 +00:00
nounwind.c Update copyright years. 2019-01-01 13:31:55 +01:00
pecoff.c [libbacktrace] Add altlink field to struct dwarf_data 2019-01-17 00:07:43 +00:00
posix.c Update copyright years. 2019-01-01 13:31:55 +01:00
print.c [libbacktrace] Declare external backtrace fns noinline 2019-02-08 09:49:06 +00:00
read.c re PR libbacktrace/88890 (libbacktrace on 32-bit system with _FILE_OFFSET_BITS == 64) 2019-01-18 17:13:59 +00:00
README
simple.c [libbacktrace] Declare external backtrace fns noinline 2019-02-08 09:49:06 +00:00
sort.c Update copyright years. 2019-01-01 13:31:55 +01:00
state.c Update copyright years. 2019-01-01 13:31:55 +01:00
stest.c Update copyright years. 2019-01-01 13:31:55 +01:00
test_format.c Update copyright years. 2019-01-01 13:31:55 +01:00
testlib.c Update copyright years. 2019-01-01 13:31:55 +01:00
testlib.h Update copyright years. 2019-01-01 13:31:55 +01:00
ttest.c Update copyright years. 2019-01-01 13:31:55 +01:00
unittest.c Update copyright years. 2019-01-01 13:31:55 +01:00
unknown.c Update copyright years. 2019-01-01 13:31:55 +01:00
xcoff.c [libbacktrace] Add altlink field to struct dwarf_data 2019-01-17 00:07:43 +00:00
ztest.c Update copyright years. 2019-01-01 13:31:55 +01:00

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.