summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorjyasskin@chromium.org <jyasskin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-05 19:39:38 +0000
committerjyasskin@chromium.org <jyasskin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-05 19:39:38 +0000
commitfe215da7c1385d11ccec59f058c8c7ea315fd0c1 (patch)
treebd9be936b0caa4ed0a740239647ccf5494feccf3 /tools
parent62b54ebb64ffe105b7c2684ac6b2fca184a022e0 (diff)
downloadchromium_src-fe215da7c1385d11ccec59f058c8c7ea315fd0c1.zip
chromium_src-fe215da7c1385d11ccec59f058c8c7ea315fd0c1.tar.gz
chromium_src-fe215da7c1385d11ccec59f058c8c7ea315fd0c1.tar.bz2
Have valgrind use a gdb that matches the word width of the binary.
Review URL: https://chromiumcodereview.appspot.com/12385063 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@186230 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools')
-rwxr-xr-xtools/valgrind/valgrind.sh15
1 files changed, 10 insertions, 5 deletions
diff --git a/tools/valgrind/valgrind.sh b/tools/valgrind/valgrind.sh
index 8e9b8a1..78781b8 100755
--- a/tools/valgrind/valgrind.sh
+++ b/tools/valgrind/valgrind.sh
@@ -17,10 +17,15 @@ export THISDIR=`dirname $0`
setup_memcheck() {
RUN_COMMAND="valgrind"
- # Prefer a 32-bit gdb if it's available.
- GDB="/usr/bin/gdb32";
- if [ ! -x $GDB ]; then
- GDB="gdb"
+ GDB=gdb
+ EXE_INFO=$(file $1)
+ if [[ $? -eq 0 ]]; then
+ # Prefer a gdb that matches the executable if it's available.
+ if [[ "$EXE_INFO" == *32-bit* && -x /usr/bin/gdb32 ]]; then
+ GDB="/usr/bin/gdb32";
+ elif [[ "$EXE_INFO" == *64-bit* && -x /usr/bin/gdb64 ]]; then
+ GDB="/usr/bin/gdb64";
+ fi
fi
# Prompt to attach gdb when there was an error detected.
@@ -69,7 +74,7 @@ if echo "$@" | grep "\-\-tool" ; then
fi
case $TOOL_NAME in
- memcheck*) setup_memcheck;;
+ memcheck*) setup_memcheck "$1";;
tsan*) setup_tsan;;
*) setup_unknown;;
esac