[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 9/9] .travis.yml: add gcc sanitizer build
From: |
Alex Bennée |
Subject: |
[Qemu-devel] [PATCH v2 9/9] .travis.yml: add gcc sanitizer build |
Date: |
Thu, 22 Sep 2016 11:13:16 +0100 |
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 <address@hidden>
---
v2
- move to container instead of using Trusty
- work around link problem with -fuse-ld=gold
- disable linux-user builds
- drop blacklist (gcc doesn't support it)
- dump config.log if configure step fails
- disable make check
- ensure we use gthread coroutines
---
.travis.yml | 45 +++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 45 insertions(+)
diff --git a/.travis.yml b/.travis.yml
index f30b10e..9916178 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
--
2.9.3
- [Qemu-devel] [PATCH v2 1/9] ui/vnc-enc-tight: remove switch and have single return, (continued)
- [Qemu-devel] [PATCH v2 1/9] ui/vnc-enc-tight: remove switch and have single return, Alex Bennée, 2016/09/22
- [Qemu-devel] [PATCH v2 4/9] seqlock: use atomic writes for the sequence, Alex Bennée, 2016/09/22
- [Qemu-devel] [PATCH v2 6/9] cpu: atomically modify cpu->exit_request, Alex Bennée, 2016/09/22
- [Qemu-devel] [PATCH v2 3/9] new: blacklist.tsan, Alex Bennée, 2016/09/22
- [Qemu-devel] [PATCH v2 8/9] qga/command: use QEMU atomic primitives, Alex Bennée, 2016/09/22
- [Qemu-devel] [PATCH v2 5/9] qom/object: update class cache atomically, Alex Bennée, 2016/09/22
- [Qemu-devel] [PATCH v2 9/9] .travis.yml: add gcc sanitizer build,
Alex Bennée <=
- [Qemu-devel] [PATCH v2 7/9] util/qht: atomically set b->hashes, Alex Bennée, 2016/09/22
- Re: [Qemu-devel] [PATCH v2 0/9] A couple of fixes for ThreadSanitizer, Paolo Bonzini, 2016/09/30