Re: [PATCH v3] gcov: fix when CONFIG_MODULES is not set

From: Randy Dunlap
Date: Tue Apr 02 2019 - 00:47:15 EST


On 4/1/19 8:09 PM, trong@xxxxxxxxxxx wrote:
> From: Tri Vo <trong@xxxxxxxxxxx>
>
> Fixes: 8c3d220cb6b5 ("gcov: clang support")
>
> Cc: Greg Hackmann <ghackmann@xxxxxxxxxxx>
> Cc: Peter Oberparleiter <oberpar@xxxxxxxxxxxxx>
> Cc: linux-mm@xxxxxxxxx
> Cc: kbuild-all@xxxxxx
> Reported-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx>
> Reported-by: kbuild test robot <lkp@xxxxxxxxx>
> Link: https://marc.info/?l=linux-mm&m=155384681109231&w=2
> Signed-off-by: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> Signed-off-by: Tri Vo <trong@xxxxxxxxxxx>

Acked-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> # build-tested

Thanks.

> ---
> kernel/gcov/clang.c | 4 ++++
> kernel/gcov/gcc_3_4.c | 4 ++++
> kernel/gcov/gcc_4_7.c | 4 ++++
> 3 files changed, 12 insertions(+)
>
> diff --git a/kernel/gcov/clang.c b/kernel/gcov/clang.c
> index 125c50397ba2..cfb9ce5e0fed 100644
> --- a/kernel/gcov/clang.c
> +++ b/kernel/gcov/clang.c
> @@ -223,7 +223,11 @@ void gcov_info_unlink(struct gcov_info *prev, struct gcov_info *info)
> */
> bool gcov_info_within_module(struct gcov_info *info, struct module *mod)
> {
> +#ifdef CONFIG_MODULES
> return within_module((unsigned long)info->filename, mod);
> +#else
> + return false;
> +#endif
> }
>
> /* Symbolic links to be created for each profiling data file. */
> diff --git a/kernel/gcov/gcc_3_4.c b/kernel/gcov/gcc_3_4.c
> index 801ee4b0b969..8fc30f178351 100644
> --- a/kernel/gcov/gcc_3_4.c
> +++ b/kernel/gcov/gcc_3_4.c
> @@ -146,7 +146,11 @@ void gcov_info_unlink(struct gcov_info *prev, struct gcov_info *info)
> */
> bool gcov_info_within_module(struct gcov_info *info, struct module *mod)
> {
> +#ifdef CONFIG_MODULES
> return within_module((unsigned long)info, mod);
> +#else
> + return false;
> +#endif
> }
>
> /* Symbolic links to be created for each profiling data file. */
> diff --git a/kernel/gcov/gcc_4_7.c b/kernel/gcov/gcc_4_7.c
> index ec37563674d6..0b6886d4a4dd 100644
> --- a/kernel/gcov/gcc_4_7.c
> +++ b/kernel/gcov/gcc_4_7.c
> @@ -159,7 +159,11 @@ void gcov_info_unlink(struct gcov_info *prev, struct gcov_info *info)
> */
> bool gcov_info_within_module(struct gcov_info *info, struct module *mod)
> {
> +#ifdef CONFIG_MODULES
> return within_module((unsigned long)info, mod);
> +#else
> + return false;
> +#endif
> }
>
> /* Symbolic links to be created for each profiling data file. */
>


--
~Randy