summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2013-05-05 10:47:19 +0200
committerMichael Niedermayer <michaelni@gmx.at>2013-05-05 10:47:19 +0200
commit4451be5ce1fc0517e566e005b6fb8f30ee2e3351 (patch)
treee7b6444b42906582075b0a20a5093dcb6ac35ac4
parent336ffb837705810682423b4d411c20170e56b923 (diff)
parentb1ee8eec849f17fce2f411a297de9cbf2edaeb3a (diff)
Merge commit 'b1ee8eec849f17fce2f411a297de9cbf2edaeb3a'
* commit 'b1ee8eec849f17fce2f411a297de9cbf2edaeb3a': configure: Add basic valgrind-memcheck support Conflicts: configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
-rwxr-xr-xconfigure8
-rw-r--r--doc/developer.texi12
2 files changed, 18 insertions, 2 deletions
diff --git a/configure b/configure
index f646d55885..ed0009af3e 100755
--- a/configure
+++ b/configure
@@ -2504,6 +2504,10 @@ case "$toolchain" in
add_cflags -fsanitize=thread -pie
add_ldflags -fsanitize=thread -pie
;;
+ valgrind-memcheck)
+ target_exec_default="valgrind"
+ target_exec_args="--track-origins=yes --leak-check=full"
+ ;;
msvc)
cc_default="c99wrap cl"
ld_default="c99wrap link"
@@ -2520,7 +2524,7 @@ case "$toolchain" in
;;
esac
-set_default arch cc cxx pkg_config strip sysinclude target_os yasmexe
+set_default arch cc cxx pkg_config strip sysinclude target_exec target_os yasmexe
enabled cross_compile || host_cc_default=$cc
set_default host_cc
@@ -4550,7 +4554,7 @@ HOSTCC_DEPFLAGS=$HOSTCC_DEPFLAGS
HOSTCC_C=$HOSTCC_C
HOSTCC_O=$HOSTCC_O
HOSTLD_O=$HOSTLD_O
-TARGET_EXEC=$target_exec
+TARGET_EXEC=$target_exec $target_exec_args
TARGET_PATH=$target_path
LIBS-ffplay=$sdl_libs
CFLAGS-ffplay=$sdl_cflags
diff --git a/doc/developer.texi b/doc/developer.texi
index d5580d1543..90885eeaaa 100644
--- a/doc/developer.texi
+++ b/doc/developer.texi
@@ -604,6 +604,18 @@ You can use the command @code{make lcov-reset} to reset the coverage
measurements. You will need to rerun @code{make lcov} after running a
new test.
+@subsection Using Valgrind
+
+The configure script provides a shortcut for using valgrind to spot bugs
+related to memory handling. Just add the option
+@code{--toolchain=valgrind-memcheck} to your configure line, and
+reasonable defaults will be set for running FATE under the supervision
+of the @strong{memcheck} tool of the valgrind suite.
+
+In case you need finer control over how valgrind is invoked, use the
+@code{--target-exec='valgrind <your_custom_valgrind_options>} option in
+your configure line instead.
+
@anchor{Release process}
@section Release process