[CRIU] [PATCH] [v2] criu: add -fprofile-update=atomic for builds with gcov
Andrei Vagin
avagin at virtuozzo.com
Fri Mar 23 03:43:00 MSK 2018
Applied
On Thu, Mar 08, 2018 at 01:49:54AM +0300, Andrei Vagin wrote:
> Sometimes we see errors like this:
> criu/cr-restore.gcda:Merge mismatch for function 106
>
> It proabably means that this gcda file was corrupted. According to the
> gcc man page, the -fprofile-update=atomic should fix this problem.
>
> v2: this options appered in gcc7, so we need to install it.
>
> Reported-by: Mr Travis CI
> Signed-off-by: Andrei Vagin <avagin at virtuozzo.com>
> ---
> .travis.yml | 3 ++-
> Makefile | 2 +-
> scripts/travis/travis-tests | 9 ++++++++-
> 3 files changed, 11 insertions(+), 3 deletions(-)
>
> diff --git a/.travis.yml b/.travis.yml
> index cd33019cc..538cd2221 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -5,7 +5,7 @@ cache: ccache
> services:
> - docker
> env:
> - - TR_ARCH=local GCOV=1
> + - TR_ARCH=local
> - TR_ARCH=local CLANG=1
> - TR_ARCH=alpine
> - TR_ARCH=fedora-asan
> @@ -23,6 +23,7 @@ env:
> - TR_ARCH=fedora-rawhide
> - TR_ARCH=fedora-rawhide-aarch64
> - TR_ARCH=phaul-test
> + - TR_ARCH=local GCOV=1
> matrix:
> allow_failures:
> - env: TR_ARCH=docker-test
> diff --git a/Makefile b/Makefile
> index 6cdda4630..bdfb55b26 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -91,7 +91,7 @@ DEFINES += -D_GNU_SOURCE
>
> WARNINGS := -Wall -Wformat-security
>
> -CFLAGS-GCOV := --coverage -fno-exceptions -fno-inline
> +CFLAGS-GCOV := --coverage -fno-exceptions -fno-inline -fprofile-update=atomic
> export CFLAGS-GCOV
>
> ifneq ($(GCOV),)
> diff --git a/scripts/travis/travis-tests b/scripts/travis/travis-tests
> index 6cfc81f52..0a0db0b3e 100755
> --- a/scripts/travis/travis-tests
> +++ b/scripts/travis/travis-tests
> @@ -20,6 +20,13 @@ travis_prep () {
> CC=clang
> fi
>
> + [ -n "$GCOV" ] && {
> + apt-add-repository -y "ppa:ubuntu-toolchain-r/test"
> + apt-get update -yq
> + apt-get -yq --no-install-suggests --no-install-recommends --force-yes install g++-7
> + CC=gcc-7
> + }
> +
> # ccache support, only enable for non-GCOV case
> if [ "$CCACHE" = "1" -a -z "$GCOV" ]; then
> # ccache is installed by default, need to set it up
> @@ -99,7 +106,7 @@ bash ./test/jenkins/criu-inhfd.sh
>
> make -C test/others/mnt-ext-dev/ run
> #make -C test/others/exec/ run
> -make -C test/others/make/ run
> +make -C test/others/make/ run CC="$CC"
>
> ./test/zdtm.py run -t zdtm/static/env00 --sibling
>
> --
> 2.13.6
>
More information about the CRIU
mailing list