Enable ASAN build
Requires Clang 3.1 or higher to be installed. R=epoger@google.com Review URL: https://codereview.chromium.org/18205007 git-svn-id: http://skia.googlecode.com/svn/trunk@9891 2bbb7eff-a529-9590-31e7-b0007b416f81
This commit is contained in:
parent
0b82852b23
commit
0d19309080
@ -210,6 +210,15 @@
|
||||
}],
|
||||
],
|
||||
}],
|
||||
[ 'skia_asan_build', {
|
||||
'cflags': [
|
||||
'-fsanitize=address',
|
||||
'-fno-omit-frame-pointer',
|
||||
],
|
||||
'ldflags': [
|
||||
'-fsanitize=address',
|
||||
],
|
||||
}],
|
||||
],
|
||||
},
|
||||
],
|
||||
|
@ -142,6 +142,7 @@
|
||||
'skia_static_initializers%': '<(skia_static_initializers)',
|
||||
'ios_sdk_version%': '6.0',
|
||||
'skia_win_debuggers_path%': '<(skia_win_debuggers_path)',
|
||||
'skia_asan_build%': 0,
|
||||
|
||||
# These are referenced by our .gypi files that list files (e.g. core.gypi)
|
||||
#
|
||||
|
42
tools/asan_build
Executable file
42
tools/asan_build
Executable file
@ -0,0 +1,42 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Build Skia with Address Sanitizer.
|
||||
#
|
||||
# Address Sanitizer is available in LLVM (and Clang) 3.1 and above, as well as
|
||||
# GCC 4.8. For now, this script assumes the use of Clang 3.2 or newer, which
|
||||
# uses different flag syntax from 3.1.
|
||||
#
|
||||
# For more information, see:
|
||||
# https://code.google.com/p/address-sanitizer/wiki/AddressSanitizer
|
||||
|
||||
makeVars="$@"
|
||||
|
||||
export CC="$(which clang)"
|
||||
export CXX="$(which clang++)"
|
||||
export LINK="$(which clang)"
|
||||
|
||||
noClang="Couldn't find Clang on this machine!"
|
||||
if [[ -z "${CC}" ]]; then
|
||||
echo "${noClang}"
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${CXX}" ]]; then
|
||||
echo "${noClang}"
|
||||
exit 1
|
||||
fi
|
||||
if [[ -z "${LINK}" ]]; then
|
||||
echo "${noClang}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
export GYP_DEFINES="skia_asan_build=1 ${GYP_DEFINES}"
|
||||
|
||||
python gyp_skia
|
||||
if [[ "$?" != "0" ]]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
make ${makeVars}
|
||||
if [[ "$?" != "0" ]]; then
|
||||
exit 1
|
||||
fi
|
Loading…
Reference in New Issue
Block a user