Re: [PATCH 5/7] kbuild: hide CONFIG_TRIM_UNUSED_KSYMS code from external module building

From: Masahiro Yamada
Date: Thu Mar 15 2018 - 02:37:28 EST


2018-03-15 3:32 GMT+09:00 Nicolas Pitre <nicolas.pitre@xxxxxxxxxx>:
> On Thu, 15 Mar 2018, Masahiro Yamada wrote:
>
>> If CONFIG_TRIM_UNUSED_KYMS is enabled, KBUILD_MODULES is set.
>
> Not when you do "make vmlinux" though.

I could not understand this.

Unless I am missing something,
I think this code is always parsed.



>> This code is unneeded for external module building because
>> KBUILD_MODULES is always set. Move this code inside "ifeq
>> ($(KBUILD_EXTMOD),)" conditional.
>>
>> Signed-off-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
>
> Acked-by: Nicolas Pitre <nico@xxxxxxxxxx>
>
>> ---
>>
>> Makefile | 14 +++++++-------
>> 1 file changed, 7 insertions(+), 7 deletions(-)
>>
>> diff --git a/Makefile b/Makefile
>> index decc870..e60b16f 100644
>> --- a/Makefile
>> +++ b/Makefile
>> @@ -603,13 +603,6 @@ else
>> include/config/auto.conf: ;
>> endif # $(dot-config)
>>
>> -# For the kernel to actually contain only the needed exported symbols,
>> -# we have to build modules as well to determine what those symbols are.
>> -# (this can be evaluated only once include/config/auto.conf has been included)
>> -ifdef CONFIG_TRIM_UNUSED_KSYMS
>> - KBUILD_MODULES := 1
>> -endif
>> -
>> # The all: target is the default when no target is given on the
>> # command line.
>> # This allow a user to issue only 'make' to build a kernel including modules
>> @@ -1010,6 +1003,13 @@ ifdef CONFIG_TRIM_UNUSED_KSYMS
>> "$(MAKE) -f $(srctree)/Makefile vmlinux"
>> endif
>>
>> +# For the kernel to actually contain only the needed exported symbols,
>> A+# we have to build modules as well to determine what those symbols
> are.
>> +# (this can be evaluated only once include/config/auto.conf has been included)
>> +ifdef CONFIG_TRIM_UNUSED_KSYMS
>> + KBUILD_MODULES := 1
>> +endif
>> +
>> autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h)
>>
>> $(autoksyms_h):
>> --
>> 2.7.4
>>
>>



--
Best Regards
Masahiro Yamada