2020-10-29 11:31:05

by Denys Zagorui

[permalink] [raw]
Subject: [PATCH] kbuild: use -fmacro-prefix-map for .S sources compilation

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 <[email protected]>
---
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)/=)

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


2020-11-02 11:20:00

by Masahiro Yamada

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

On Thu, Oct 29, 2020 at 8:22 PM Denys Zagorui <[email protected]> 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 <[email protected]>
> ---
> 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