qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] tests: add gcov target


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH 2/2] tests: add gcov target
Date: Sun, 10 Jun 2012 18:07:45 +0000

On Sun, Jun 10, 2012 at 4:04 PM, Paolo Bonzini <address@hidden> wrote:
> Il 10/06/2012 15:04, Blue Swirl ha scritto:
>> @@ -2851,10 +2859,14 @@ fi
>>  # End of CC checks
>>  # After here, no more $cc or $ld runs
>>
>> -if test "$debug" = "no" ; then
>> +if test "$gcov" = "yes" ; then
>> +  CFLAGS="-fprofile-arcs -ftest-coverage -g $CFLAGS"
>> +  LDFLAGS="-fprofile-arcs -ftest-coverage $LDFLAGS"
>> +elif test "$debug" = "no" ; then
>>    CFLAGS="-O2 $CFLAGS"
>>  fi
>
> Why does need to be mutually exclusive?

Optimization may skip generating some code so coverage would not be
recorded for these areas. Recommended by GNU:
http://gcc.gnu.org/onlinedocs/gcc/Gcov-and-Optimization.html#Gcov-and-Optimization

>
>>
>> +
>>  # Consult white-list to determine whether to enable werror
>>  # by default.  Only enable by default for git builds
>>  z_version=`cut -f3 -d. $source_path/VERSION`
>> @@ -3033,6 +3045,8 @@ echo "OpenGL support    $opengl"
>>  echo "libiscsi support  $libiscsi"
>>  echo "build guest agent $guest_agent"
>>  echo "coroutine backend $coroutine_backend"
>> +echo "gcov              $gcov_tool"
>> +echo "gcov enabled      $gcov"
>>
>>  if test "$sdl_too_old" = "yes"; then
>>  echo "-> Your SDL version is too old - please upgrade to have SDL support"
>> @@ -3441,6 +3455,9 @@ echo "LIBS_TOOLS+=$libs_tools" >> $config_host_mak
>>  echo "EXESUF=$EXESUF" >> $config_host_mak
>>  echo "LIBS_QGA+=$libs_qga" >> $config_host_mak
>>  echo "POD2MAN=$POD2MAN" >> $config_host_mak
>> +if test "$gcov" = "yes" ; then
>> +  echo "GCOV=$gcov_tool" >> $config_host_mak
>> +fi
>>
>>  # generate list of library paths for linker script
>>
>> diff --git a/tests/Makefile b/tests/Makefile
>> index 2e754c3..d265daa 100644
>> --- a/tests/Makefile
>> +++ b/tests/Makefile
>> @@ -1,18 +1,42 @@
>>  export SRC_PATH
>>
>>  check-unit-y = tests/check-qdict$(EXESUF)
>> +GCOV_FILES = $(SRC_PATH)/qdict.c
>
> Ouch, ugly.  Why is it needed?

Gcov needs to know both the source file and the object. Probably it
can't get this information from the object or .gc{da,no} files.

>
> Paolo



reply via email to

[Prev in Thread] Current Thread [Next in Thread]