On Fri, Oct 25, 2024 at 10:27:01AM +0200, Johannes Berg wrote:
> From: Johannes Berg <johannes.b...@intel.com>
> 
> CONFIG_GCOV is special and only in UML since it builds the
> kernel with a "userspace" option. This is fine, but the stub
> is even more special and not really a full userspace process,
> so it then fails to link as reported.
> 
> For good measure, also remove the GPROF options, even though
> they don't seem to cause build failures now.
> 
> To be able to do this, export the specific options (GCOV_OPT
> and GPROF_OPT) but rename them so there's less chance of any
> conflicts.
> 
> Reported-by: kernel test robot <l...@intel.com>
> Closes: 
> https://lore.kernel.org/oe-kbuild-all/202410242238.sxhs2kq4-...@intel.com/
> Fixes: 32e8eaf263d9 ("um: use execveat to create userspace MMs")
> Signed-off-by: Johannes Berg <johannes.b...@intel.com>

Reviewed-by: Nathan Chancellor <nat...@kernel.org>
Tested-by: Nathan Chancellor <nat...@kernel.org>

> ---
>  arch/um/Makefile-skas        | 14 +++++++-------
>  arch/um/kernel/skas/Makefile |  2 +-
>  2 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/arch/um/Makefile-skas b/arch/um/Makefile-skas
> index 67323b028999..1a27e65bcb9c 100644
> --- a/arch/um/Makefile-skas
> +++ b/arch/um/Makefile-skas
> @@ -3,15 +3,15 @@
>  # Licensed under the GPL
>  #
>  
> -GPROF_OPT += -pg
> +export UM_GPROF_OPT += -pg
>  
>  ifdef CONFIG_CC_IS_CLANG
> -GCOV_OPT += -fprofile-instr-generate -fcoverage-mapping
> +export UM_GCOV_OPT += -fprofile-instr-generate -fcoverage-mapping
>  else
> -GCOV_OPT += -fprofile-arcs -ftest-coverage
> +export UM_GCOV_OPT += -fprofile-arcs -ftest-coverage
>  endif
>  
> -CFLAGS-$(CONFIG_GCOV) += $(GCOV_OPT)
> -CFLAGS-$(CONFIG_GPROF) += $(GPROF_OPT)
> -LINK-$(CONFIG_GCOV) += $(GCOV_OPT)
> -LINK-$(CONFIG_GPROF) += $(GPROF_OPT)
> +CFLAGS-$(CONFIG_GCOV) += $(UM_GCOV_OPT)
> +CFLAGS-$(CONFIG_GPROF) += $(UM_GPROF_OPT)
> +LINK-$(CONFIG_GCOV) += $(UM_GCOV_OPT)
> +LINK-$(CONFIG_GPROF) += $(UM_GPROF_OPT)
> diff --git a/arch/um/kernel/skas/Makefile b/arch/um/kernel/skas/Makefile
> index f6a219074772..3384be42691f 100644
> --- a/arch/um/kernel/skas/Makefile
> +++ b/arch/um/kernel/skas/Makefile
> @@ -24,7 +24,7 @@ $(obj)/stub_exe: $(obj)/stub_exe.dbg FORCE
>  
>  quiet_cmd_stub_exe = STUB_EXE $@
>        cmd_stub_exe = $(CC) -nostdlib -o $@ \
> -                        $(KBUILD_CFLAGS) $(STUB_EXE_LDFLAGS) \
> +                        $(filter-out $(UM_GPROF_OPT) 
> $(UM_GCOV_OPT),$(KBUILD_CFLAGS)) $(STUB_EXE_LDFLAGS) \

Not that it matters much but it might be more readable to have
$(STUB_EXE_LDFLAGS) on its own line now.

>                          $(filter %.o,$^)
>  
>  STUB_EXE_LDFLAGS = -Wl,-n -static
> -- 
> 2.47.0
> 

Reply via email to