Re: [PATCH] gcov: add support for GCC 14

From: Chuck Lever
Date: Mon Jun 10 2024 - 09:41:42 EST


On Mon, Jun 10, 2024 at 11:27:43AM +0200, Peter Oberparleiter wrote:
> Using gcov on kernels compiled with GCC 14 results in truncated 16-byte
> long .gcda files with no usable data. To fix this, update GCOV_COUNTERS
> to match the value defined by GCC 14.
>
> Tested with GCC versions 14.1.0 and 13.2.0.
>
> Reported-by: Allison Henderson <allison.henderson@xxxxxxxxxx>
> Reported-by: Chuck Lever III <chuck.lever@xxxxxxxxxx>
> Signed-off-by: Peter Oberparleiter <oberpar@xxxxxxxxxxxxx>
> ---
> kernel/gcov/gcc_4_7.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/gcov/gcc_4_7.c b/kernel/gcov/gcc_4_7.c
> index 74a4ef1da9ad..fd75b4a484d7 100644
> --- a/kernel/gcov/gcc_4_7.c
> +++ b/kernel/gcov/gcc_4_7.c
> @@ -18,7 +18,9 @@
> #include <linux/mm.h>
> #include "gcov.h"
>
> -#if (__GNUC__ >= 10)
> +#if (__GNUC__ >= 14)
> +#define GCOV_COUNTERS 9
> +#elif (__GNUC__ >= 10)
> #define GCOV_COUNTERS 8
> #elif (__GNUC__ >= 7)
> #define GCOV_COUNTERS 9
> --
> 2.40.1
>

With "gcc (GCC) 14.1.1 20240522 (Red Hat 14.1.1-4)" on Fedora 40:

lines: 58.2% (2350 out of 4036)
functions: 72.2% (197 out of 273)
branches: 35.5% (1037 out of 2923)
calls: 0.0% (0 out of 0)

All were 0% previously.

Tested-by: Chuck Lever <chuck.lever@xxxxxxxxxx>


--
Chuck Lever