# is run.
#LIVE_AST_BRISTUFFED_LIBPRI=yes
#
+# LIVE_AST_VALGRIND_ARGS
+# Extra parameters to be passed to valgrind in the 'valgrind' subcommand.
+#LIVE_AST_VALGRIND_ARGS="-v --leak-check=full --suppressions=$PWD/contrib/valgrind.supp"
+#
# LIVE_AST_FOR_SYSTEM
# When generating asterisk.conf, use most components from the installed
# system. Also provide a sane var-run directory for those of us who want
set_ld_env
$AST_BIN -C $AST_CONF "$@"
;;
+valgrind)
+ set_ld_env
+ valgrind $LIVE_AST_VALGRIND_ARGS --log-fd=9 -- $AST_BIN -C $AST_CONF "$@" 9>$PWD/live/valgrind.txt
+ ;;
rsync)
remote_host="$1"
remote_dir="$2"
echo "$0 install make install"
echo "$0 samples make samples"
echo "$0 run [params] asterisk [params]"
+ echo "$0 valgrind [params] valgrind -- asterisk [params]"
echo "$0 gdb gdb asterisk"
echo "$0 rsync [user@]host dir copy files over to [user@]host:dir"
echo "$0 gen-live-asterisk regenerate the wrapper ./live/asterisk"
--- /dev/null
+#!/bin/bash
+
+# compare_valgrind: diff two valgrinf memory usage logs. Masks out PIDs,
+# addresses and such that should normally be different.
+#
+# Usage: ./compare_valgrind file1.log file2.log | less
+#
+# (Requires /bin/bash due to usage of '<()' )
+
+log1="$1"
+log2="$2"
+
+pipe_log() {
+ sed \
+ -e 's/^--[0-9]\+-- //' -e 's/^==[0-9]\+== //' "$1" \
+ -e 's/ record [0-9]\+ of [0-9]\+$/ <snipped>/' \
+ -e 's/^ Address 0x[0-9a-f]\+/ Address 0x<snipped>/' \
+
+}
+
+diff -u -L "$log1" <(pipe_log "$log1") -L "$log2" <(pipe_log "$log2")