diff options
author | Jay Berkenbilt <ejb@ql.org> | 2017-08-22 16:51:21 +0200 |
---|---|---|
committer | Jay Berkenbilt <ejb@ql.org> | 2017-08-22 20:13:10 +0200 |
commit | 83ec09f66c4548d356423894708e6727aaa39c88 (patch) | |
tree | 6eeda68288a72a8a1d90a908d5a624e55e3c43fc /make | |
parent | 85ef2cb6fd3d3e9dbeee013eceeb19b9f3c7f731 (diff) | |
download | qpdf-83ec09f66c4548d356423894708e6727aaa39c88.tar.zst |
Do memory checks
Slightly improve memory cleanup in Pl_DCT
Make it easier to test with valgrind
Diffstat (limited to 'make')
-rwxr-xr-x | make/exec-z | 24 | ||||
-rw-r--r-- | make/libtool.mk | 1 | ||||
-rwxr-xr-x | make/valgrind-wrap | 10 |
3 files changed, 35 insertions, 0 deletions
diff --git a/make/exec-z b/make/exec-z new file mode 100755 index 00000000..dc21dbc1 --- /dev/null +++ b/make/exec-z @@ -0,0 +1,24 @@ +#!/bin/sh +# This script is used for valgrind testing. See README.maintainer. + +# Create a suppressions file. This can be updated by running valgrind +# with --gen-suppressions=yes. +test -f /tmp/a.supp || cat > /tmp/a.supp <<EOF +{ + zlib1 + Memcheck:Cond + fun:inflateReset2 + fun:inflateInit2_ +} +{ + index + Memcheck:Cond + fun:index + fun:expand_dynamic_string_token + fun:_dl_map_object + fun:map_doit +} +EOF + +exec valgrind --suppressions=/tmp/a.supp -q \ + `dirname $0`/z/`basename $0` ${1+"$@"} diff --git a/make/libtool.mk b/make/libtool.mk index c6cf4e4d..c3af7b9f 100644 --- a/make/libtool.mk +++ b/make/libtool.mk @@ -102,6 +102,7 @@ endef # Usage: $(call makebin,objs,binary,ldflags,libs) define makebin $(LIBTOOL) --mode=link $(CXX) $(CXXFLAGS) $(1) -o $(2) $(4) $(3) + if [ "$(VALGRIND)" = 1 ]; then make/valgrind-wrap $(2); fi endef # Install target diff --git a/make/valgrind-wrap b/make/valgrind-wrap new file mode 100755 index 00000000..40785bf1 --- /dev/null +++ b/make/valgrind-wrap @@ -0,0 +1,10 @@ +#!/bin/sh +set -e +pwd +dir=$(dirname $1) +if [ ! -x $dir/exec-z ]; then + ln -f make/exec-z $dir/exec-z +fi +mkdir -p $dir/z +mv $1 $dir/z +ln -f $dir/exec-z $1 |