Re: [PATCH] gcov: Support for >=gcc-6 missing

From: Peter Oberparleiter
Date: Thu Jun 30 2016 - 08:25:29 EST


On 29.06.2016 16:58, Florian Meier wrote:
> Hello!
>
> I've noticed problems ("not executed"/ "file empty") with the gcov
> kernel support, when I'm using a gcc version >=6.
> For me, it seems like this is no technical reason, gcc 6 just was
> forgotten in the #ifdefs :).
>
> The following patch was tested with kernel 4.6.3 and gcc-6.1.1.
>
> I'm not 100% sure, that CGOV_COUNTERS=10 is correct, but the gcov
> output seemed reasonable.

Looking at the source of GCC 6's gcc/gcov-counter.def I don't see any
new counters added compared to GCC 5.1.0, so GCOV_COUNTERS=10 should
still be correct.

Given that the same situation could again arise with a potential GCC
7.x, adding a "__GNUC__ > 5 ||" to the condition of the existing #if
would be a longer-term solution. Could you re-post the patch with this
change?

>
> --- a/kernel/gcov/gcc_4_7.c 2016-05-16 00:43:13.000000000 +0200
> +++ b/kernel/gcov/gcc_4_7.c 13:41:41.726666665 +0200
> @@ -18,7 +18,9 @@
> #include <linux/vmalloc.h>
> #include "gcov.h"
>
> -#if __GNUC__ == 5 && __GNUC_MINOR__ >= 1
> +#if __GNUC__ == 6
> +#define GCOV_COUNTERS 10
> +#elif __GNUC__ == 5 && __GNUC_MINOR__ >= 1
> #define GCOV_COUNTERS 10
> #elif __GNUC__ == 4 && __GNUC_MINOR__ >= 9
> #define GCOV_COUNTERS 9
>
> Regards
> Florian Meier
>

--
Peter Oberparleiter
Linux on z Systems Development - IBM Germany