summaryrefslogtreecommitdiff
path: root/libbacktrace/Makefile.am
diff options
context:
space:
mode:
authorTom de Vries <tdevries@suse.de>2018-12-12 13:50:51 +0000
committerTom de Vries <vries@gcc.gnu.org>2018-12-12 13:50:51 +0000
commitd665cd9b131b129caa3f6b1e3f85e43b34ca71e8 (patch)
tree81ecef53312f75f6b1a382a5e3da9ee70eca54af /libbacktrace/Makefile.am
parentbf4eca2e562d036f109f1782e95b233453b0d503 (diff)
downloadgcc-d665cd9b131b129caa3f6b1e3f85e43b34ca71e8.tar.gz
[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
Diffstat (limited to 'libbacktrace/Makefile.am')
-rw-r--r--libbacktrace/Makefile.am20
1 files changed, 20 insertions, 0 deletions
diff --git a/libbacktrace/Makefile.am b/libbacktrace/Makefile.am
index 1a3680bc98c..9d489f7b418 100644
--- a/libbacktrace/Makefile.am
+++ b/libbacktrace/Makefile.am
@@ -145,6 +145,26 @@ unittest_alloc_LDADD = libbacktrace_alloc.la
check_PROGRAMS += unittest_alloc
+check_LTLIBRARIES += libbacktrace_instrumented_alloc.la
+
+libbacktrace_instrumented_alloc_la_SOURCES = $(libbacktrace_la_SOURCES)
+libbacktrace_instrumented_alloc_la_LIBADD = $(BACKTRACE_FILE) $(FORMAT_FILE) \
+ read.lo instrumented_alloc.lo
+
+libbacktrace_instrumented_alloc_la_DEPENDENCIES = \
+ $(libbacktrace_instrumented_alloc_la_LIBADD)
+
+instrumented_alloc.lo: alloc.c
+
+allocfail_SOURCES = allocfail.c testlib.c
+allocfail_LDADD = libbacktrace_instrumented_alloc.la
+
+check_PROGRAMS += allocfail
+
+allocfail.sh: allocfail
+
+TESTS += allocfail.sh
+
btest_SOURCES = btest.c testlib.c
btest_CFLAGS = $(AM_CFLAGS) -g -O
btest_LDADD = libbacktrace.la