gcc/libbacktrace
Tom de Vries d665cd9b13 [libbacktrace] Add allocfail.sh test-case
Add test-case that forces alloc.c functions to fail, and check whether fail
handling is robust.

This is the test-case for "[libbacktrace] Fix segfault upon allocation
failure".  Without that patch, this test-case fails like this:
...
allocfail.sh: line 71: 26041 Segmentation fault      (core dumped) \
  ./allocfail $i > /dev/null 2>&1
Unallowed fail found: 13
FAIL allocfail.sh (exit status: 1)
...

This is a seperate patch because the test-case is nontrivial.

Bootstrapped and reg-tested on x86_64.

2018-12-12  Tom de Vries  <tdevries@suse.de>

	* Makefile.am (TESTS): Add allocfail.sh.
	(check_PROGRAMS): Add allocfail.
	* Makefile.in: Regenerate.
	* instrumented_alloc.c: New file.  Redefine malloc and realloc.
	Include alloc.c.
	* allocfail.c: New file.
	* allocfail.sh: New file.

From-SVN: r267054
2018-12-12 13:50:51 +00:00
..
aclocal.m4 Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
alloc.c [libbacktrace] Avoid realloc with size == 0 in backtrace_vector_release 2018-11-27 08:25:52 +00:00
allocfail.c [libbacktrace] Add allocfail.sh test-case 2018-12-12 13:50:51 +00:00
allocfail.sh [libbacktrace] Add allocfail.sh test-case 2018-12-12 13:50:51 +00:00
atomic.c
backtrace-supported.h.in
backtrace.c backtrace.c: Revert last two changes. 2018-04-17 17:58:05 +00:00
backtrace.h re PR libbacktrace/87529 (libbacktrace API forces users to have memory leaks) 2018-10-05 14:09:07 +00:00
btest.c elf.c (elf_add): Close descriptor if we use a debugfile. 2018-01-31 23:23:21 +00:00
ChangeLog [libbacktrace] Add allocfail.sh test-case 2018-12-12 13:50:51 +00:00
ChangeLog.jit
config.h.in Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
configure Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
configure.ac Update GCC to autoconf 2.69, automake 1.15.1 (PR bootstrap/82856). 2018-10-31 17:03:16 +00:00
dwarf.c [libbacktrace] Factor out backtrace_vector_free 2018-11-30 08:43:50 +00:00
edtest2.c
edtest.c
elf.c re PR other/86198 (Libbacktrace does not properly work with ".note.gnu.build-id" section) 2018-06-21 08:42:53 +03:00
fileline.c
filetype.awk
instrumented_alloc.c [libbacktrace] Add allocfail.sh test-case 2018-12-12 13:50:51 +00:00
internal.h [libbacktrace] Factor out backtrace_vector_free 2018-11-30 08:43:50 +00:00
Makefile.am [libbacktrace] Add allocfail.sh test-case 2018-12-12 13:50:51 +00:00
Makefile.in [libbacktrace] Add allocfail.sh test-case 2018-12-12 13:50:51 +00:00
mmap.c [libbacktrace] Don't point to released memory in backtrace_vector_release 2018-11-27 08:26:04 +00:00
mmapio.c
nounwind.c
pecoff.c * pecoff.c (coff_add): Only release syms_view if it is valid. 2018-01-25 15:38:41 +00:00
posix.c
print.c
read.c
README
simple.c
sort.c
state.c
stest.c
test_format.c [libbacktrace] Add tests for unused formats 2018-11-30 15:33:23 +00:00
testlib.c
testlib.h
ttest.c
unittest.c [libbacktrace] Don't point to released memory in backtrace_vector_release 2018-11-27 08:26:04 +00:00
unknown.c
xcoff.c xcoff.c (struct xcoff_line, [...]): Remove. 2018-08-01 21:55:05 +00:00
ztest.c elf.c (codes): Fix size to be 288. 2018-01-17 01:39:05 +00: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.