aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Bennée <alex.bennee@linaro.org>2016-09-30 22:31:03 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2016-10-04 10:00:26 +0200
commit32265288a9b207dcd3f8da516643f81e1d2c5a1e (patch)
tree1b957f5d43527893c580f52854fb97e0288306ee
parenta31393e7a594e45f2ed0ae17e1b7987e94f30fcf (diff)
.travis.yml: add gcc sanitizer build
As it seems easy to break the ThreadSanitizer build we should defend it to ensure that fixes get applied when it breaks. We use the Ubuntu GCC PPA to get the latest GCC goodness. As we need to use the -fuse-ld=gold work around we have to disable the linux-user targets as these trip up the linker. The make check run is also disabled for Travis but this can be re-enabled once the check targets have been fixed. Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20160930213106.20186-13-alex.bennee@linaro.org>
-rw-r--r--.travis.yml45
1 files changed, 45 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index f30b10e4f7..9916178bf3 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -9,6 +9,7 @@ cache: ccache
addons:
apt:
packages:
+ # Build dependencies
- libaio-dev
- libattr1-dev
- libbrlapi-dev
@@ -89,6 +90,7 @@ matrix:
- env: CONFIG=""
os: osx
compiler: clang
+ # Plain Trusty Build
- env: CONFIG=""
sudo: required
addons:
@@ -99,3 +101,46 @@ matrix:
- sudo apt-get build-dep -qq qemu
- wget -O - http://people.linaro.org/~alex.bennee/qemu-submodule-git-seed.tar.xz | tar -xvJ
- git submodule update --init --recursive
+ # Using newer GCC with sanitizers
+ - addons:
+ apt:
+ sources:
+ # PPAs for newer toolchains
+ - ubuntu-toolchain-r-test
+ packages:
+ # Extra toolchains
+ - gcc-5
+ - g++-5
+ # Build dependencies
+ - libaio-dev
+ - libattr1-dev
+ - libbrlapi-dev
+ - libcap-ng-dev
+ - libgnutls-dev
+ - libgtk-3-dev
+ - libiscsi-dev
+ - liblttng-ust-dev
+ - libnfs-dev
+ - libncurses5-dev
+ - libnss3-dev
+ - libpixman-1-dev
+ - libpng12-dev
+ - librados-dev
+ - libsdl1.2-dev
+ - libseccomp-dev
+ - libspice-protocol-dev
+ - libspice-server-dev
+ - libssh2-1-dev
+ - liburcu-dev
+ - libusb-1.0-0-dev
+ - libvte-2.90-dev
+ - sparse
+ - uuid-dev
+ language: generic
+ compiler: none
+ env:
+ - COMPILER_NAME=gcc CXX=g++-5 CC=gcc-5
+ - CONFIG="--cc=gcc-5 --cxx=g++-5 --disable-pie --disable-linux-user --with-coroutine=gthread"
+ - TEST_CMD=""
+ before_script:
+ - ./configure ${CONFIG} --extra-cflags="-g3 -O0 -fsanitize=thread -fuse-ld=gold" || cat config.log