Re: [PATCH] kbuild: use -fmacro-prefix-map for .S sources compilation

From: Masahiro Yamada
Date: Mon Nov 02 2020 - 06:18:05 EST


On Thu, Oct 29, 2020 at 8:22 PM Denys Zagorui <dzagorui@xxxxxxxxx> wrote:
>
> Follow-up to a73619a845d5 ("kbuild: use -fmacro-prefix-map to make
> __FILE__ a relative path") commit. Assembler sources also use __FILE__
> macro so this flag should be also apllied to that sources.
>
> Signed-off-by: Denys Zagorui <dzagorui@xxxxxxxxx>
> ---
> Makefile | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Makefile b/Makefile
> index ee2284a5cad2..26c4294f6e25 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -947,6 +947,7 @@ KBUILD_CFLAGS += $(call cc-option,-Werror=designated-init)
>
> # change __FILE__ to the relative path from the srctree
> KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)
> +KBUILD_AFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)



-fmacro-prefix-map is a preprocessor option.

https://gcc.gnu.org/onlinedocs/gcc-10.2.0/gcc/Preprocessor-Options.html#Preprocessor-Options



I think it makes more sense to replace

KBUILD_CFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)

with

KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srctree)/=)


Then, this flag will be passed to .S files as well as .c files.








> # ensure -fcf-protection is disabled when using retpoline as it is
> # incompatible with -mindirect-branch=thunk-extern
> --
> 2.19.0.dirty
>


--
Best Regards
Masahiro Yamada