Received: by 10.213.65.68 with SMTP id h4csp1554385imn; Thu, 15 Mar 2018 03:07:06 -0700 (PDT) X-Google-Smtp-Source: AG47ELukZbpB0faWNj/b6xqjMR8vbGa0Xg2ZlBibNxLUOw+SYd4iQUSac5g4dXWoaqoodA0oDAkf X-Received: by 2002:a17:902:7e87:: with SMTP id c7-v6mr7305885plm.138.1521108426211; Thu, 15 Mar 2018 03:07:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1521108426; cv=none; d=google.com; s=arc-20160816; b=wIYy5PAvYPrnFT5BgK9bUbb9MbP+DVOVU9Ts3M+Y8CDNHtvsfVDY5IEEBFjADyi9Ye kOfsDTHQS3imj/nDS3DI63VebdDGGkAyeOi56tclFreMroLwwimDl1WgrkjScFdQ9tuz DL45kvsTtmKTVKO7PVWTe5kjBEp6owwJHy4vUHkoSuGOfpa3YYqMWvUcFBJlSGfo/CQc /3elLTlnilbjDV8EQinNqFmhsn6kP4ACiUnH8JnaVkC31PKvg0XWzyA7J0lZ/RRCpfgZ Z2WtX7QbBw0NIBixeJVLLCw8C07mRboneU0vQIssLotdlvO8KLgFhsqY9+HtY88QelnI wJ7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :references:in-reply-to:mime-version:dkim-signature:dkim-filter :arc-authentication-results; bh=4EvB1WC+I8r6drR1JBbQ2GY5vSsoG7vtbU/kZOFUmyM=; b=NpFKZnOtDD68hGMjuP1+6QaG7XZH0edd5R8JG8XEuevXooj7H2O5L6ofQ28Cop48xI mrO1l0GmJaWR/YgX1CdGqm6k2Ueeq5QDiotqJAY7aX6aUJXiZx5VFao6Ppd2wN6fy01f 2nNyOuXy1vRD7aNBaKm2sHV8qVh9PZyePsvpJq2JRrD95lCZkduAkU9Tm5dfevX0th2L zIJMo+YIxIje65gcuAkCIEqgu8/962LIN5PlgF3euYQDHW5cznU3no+s1p1a5uBEJPCY ZgAHpyvVgeoBeVJudhiwAoMzJ7BKQe0YWbWvUCFGmgwvzTIH6csILD5iuaWE400tCncW 3QKw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=uuqkMs6O; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id q15si2560154pgc.272.2018.03.15.03.06.51; Thu, 15 Mar 2018 03:07:06 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=uuqkMs6O; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751915AbeCOKFm (ORCPT + 99 others); Thu, 15 Mar 2018 06:05:42 -0400 Received: from conssluserg-03.nifty.com ([210.131.2.82]:44150 "EHLO conssluserg-03.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751788AbeCOKFk (ORCPT ); Thu, 15 Mar 2018 06:05:40 -0400 Received: from mail-ua0-f182.google.com (mail-ua0-f182.google.com [209.85.217.182]) (authenticated) by conssluserg-03.nifty.com with ESMTP id w2FA5J8C031822; Thu, 15 Mar 2018 19:05:19 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conssluserg-03.nifty.com w2FA5J8C031822 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1521108320; bh=4EvB1WC+I8r6drR1JBbQ2GY5vSsoG7vtbU/kZOFUmyM=; h=In-Reply-To:References:From:Date:Subject:To:Cc:From; b=uuqkMs6OcsCQfMooOjS8N3AEUuXuoOqbajYQNUD0nmVePSLLdlj5qCSiVIpRIrfQL 8KL6g1NriqJvaYX7/DXW8RDEIza3fuxgTgCP/EAG7yECIYtRMMgoKiwLcu/YjBetF9 qK0uriEpumbH/EgYhvNgo8NPKcacDYh2ZfJOBqClMIMfrGHJXckHi4yPUvRbdcOeqQ Pp89BHs6uPuXLKhUPRbykJtAkqoxzoOn8bX6fq5Ww0BuWHrZpxHV23Kd5aL7tCwQ5q x4T7rUh3fnn7K9pNzc34HKuFaDEmgdfDgi2r9vIPwNwdIw/oXgytuCO378sTomt/Vu nYTGrNojE2K3w== X-Nifty-SrcIP: [209.85.217.182] Received: by mail-ua0-f182.google.com with SMTP id n24so3957469ual.12; Thu, 15 Mar 2018 03:05:19 -0700 (PDT) X-Gm-Message-State: AElRT7FCR71sLR6f+jBbcRchQ7Nwz99EgrK5pMOhjWu14KjdbBjn4elP IiR4Z8m3joruVHSIftnfSUhRlUmHzZ8HJ23FTJc= X-Received: by 10.176.20.112 with SMTP id c45mr5637657uae.82.1521108318527; Thu, 15 Mar 2018 03:05:18 -0700 (PDT) MIME-Version: 1.0 Received: by 10.176.32.138 with HTTP; Thu, 15 Mar 2018 03:04:38 -0700 (PDT) In-Reply-To: References: <1521045861-22418-1-git-send-email-yamada.masahiro@socionext.com> <1521045861-22418-7-git-send-email-yamada.masahiro@socionext.com> From: Masahiro Yamada Date: Thu, 15 Mar 2018 19:04:38 +0900 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH 6/7] kbuild: move include/config/ksym/* to include/ksym/* To: Nicolas Pitre Cc: Linux Kbuild mailing list , Jarod Wilson , Prarit Bhargava , Michal Marek , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 2018-03-15 3:47 GMT+09:00 Nicolas Pitre : > On Thu, 15 Mar 2018, Masahiro Yamada wrote: > >> The idea of using fixdep was inspired by Kconfig, but autoksyms >> is unrelated to Kconfig. So, I want to get those touched files >> out of include/config/. The directory include/ksym/ is removed >> by "make clean". We do not need to keep it for external module >> building. > > It could be argued that include/config/ is not strictly containing > configuration data either and is slightly misleading. But, slightly related to configuration, IMHO. At least they carry timestamps that are updated when kernel configuration is changed. The difference between include/config/ and include/ksym/ is that files under include/config/ are necessary for building external modules (so should be cleaned away by mrproper) whereas include/ksym/ is unnecessary for external modules since vmlinux and in-kernel modules do not depend on external modules. I wonder if trimming symbols makes sense for external modules. EXPORT_SYMBOL(_GPL) in external modules are always trimmed since vmlinux and in-kernel modules never rely on them. If an external module exports symbols, it expects they will be used by other external modules. So, the patch like follows make sense? kbuild: do not trim symbols in external modules diff --git a/Makefile b/Makefile index 0a7bab6..bdf565e 100644 --- a/Makefile +++ b/Makefile @@ -998,6 +998,7 @@ autoksyms_recursive: $(vmlinux-deps) # (this can be evaluated only once include/config/auto.conf has been included) ifdef CONFIG_TRIM_UNUSED_KSYMS KBUILD_MODULES := 1 + export KBUILD_TRIM_UNUSED_KSYMS := 1 endif autoksyms_h := $(if $(CONFIG_TRIM_UNUSED_KSYMS), include/generated/autoksyms.h) diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index 045971e..3249d5f 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include @@ -345,7 +345,7 @@ if_changed_dep = $(if $(strip $(any-prereq) $(arg-check) ), \ @set -e; \ $(cmd_and_fixdep), @:) -ifndef CONFIG_TRIM_UNUSED_KSYMS +ifndef KBUILD_TRIM_UNUSED_KSYMS cmd_and_fixdep = \ $(echo-cmd) $(cmd_$(1)); \ > What about moving include/config/ and include/ksym/ under > include/depfiles/ ? In fact that could even be > include/generated/depfiles/config/ and include/generated/depfiles/ksym/ > to trim down the top include directory. > >> Signed-off-by: Masahiro Yamada >> --- >> >> .gitignore | 1 + >> Makefile | 2 +- >> scripts/Kbuild.include | 2 +- >> scripts/adjust_autoksyms.sh | 2 +- >> scripts/basic/fixdep.c | 8 ++++---- >> 5 files changed, 8 insertions(+), 7 deletions(-) >> >> diff --git a/.gitignore b/.gitignore >> index 1be78fd..85bcc26 100644 >> --- a/.gitignore >> +++ b/.gitignore >> @@ -87,6 +87,7 @@ modules.builtin >> # >> include/config >> include/generated >> +include/ksym >> arch/*/include/generated >> >> # stgit generated dirs >> diff --git a/Makefile b/Makefile >> index e60b16f..1dab647 100644 >> --- a/Makefile >> +++ b/Makefile >> @@ -1327,7 +1327,7 @@ endif # CONFIG_MODULES >> # make distclean Remove editor backup files, patch leftover files and the like >> >> # Directories & files removed with 'make clean' >> -CLEAN_DIRS += $(MODVERDIR) >> +CLEAN_DIRS += $(MODVERDIR) include/ksym >> >> # Directories & files removed with 'make mrproper' >> MRPROPER_DIRS += include/config usr/include include/generated \ >> diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include >> index 065324a..045971e 100644 >> --- a/scripts/Kbuild.include >> +++ b/scripts/Kbuild.include >> @@ -368,7 +368,7 @@ ksym_dep_filter = \ >> $(CPP) $(call flags_nodeps,a_flags) -D__KSYM_DEPS__ $< ;; \ >> boot*|build*|cpp_its_S|*cpp_lds_S|dtc|host*|vdso*) : ;; \ >> *) echo "Don't know how to preprocess $(1)" >&2; false ;; \ >> - esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/KSYM_\1/p' >> + esac | tr ";" "\n" | sed -rn 's/^.*=== __KSYM_(.*) ===.*$$/\1/p' >> >> cmd_and_fixdep = \ >> $(echo-cmd) $(cmd_$(1)); \ >> diff --git a/scripts/adjust_autoksyms.sh b/scripts/adjust_autoksyms.sh >> index a52210b..7bb3618 100755 >> --- a/scripts/adjust_autoksyms.sh >> +++ b/scripts/adjust_autoksyms.sh >> @@ -81,7 +81,7 @@ sort "$cur_ksyms_file" "$new_ksyms_file" | uniq -u | >> sed -n 's/^#define __KSYM_\(.*\) 1/\1/p' | tr "A-Z_" "a-z/" | >> while read sympath; do >> if [ -z "$sympath" ]; then continue; fi >> - depfile="include/config/ksym/${sympath}.h" >> + depfile="include/ksym/${sympath}.h" >> mkdir -p "$(dirname "$depfile")" >> touch "$depfile" >> echo $((count += 1)) >> diff --git a/scripts/basic/fixdep.c b/scripts/basic/fixdep.c >> index 449b68c..f387538 100644 >> --- a/scripts/basic/fixdep.c >> +++ b/scripts/basic/fixdep.c >> @@ -113,11 +113,11 @@ static void usage(void) >> /* >> * Print out a dependency path from a symbol name >> */ >> -static void print_config(const char *m, int slen) >> +static void print_dep(const char *m, int slen, const char *dir) >> { >> int c, i; >> >> - printf(" $(wildcard include/config/"); >> + printf(" $(wildcard %s/", dir); >> for (i = 0; i < slen; i++) { >> c = m[i]; >> if (c == '_') >> @@ -140,7 +140,7 @@ static void do_extra_deps(void) >> fprintf(stderr, "fixdep: bad data on stdin\n"); >> exit(1); >> } >> - print_config(buf, len - 1); >> + print_dep(buf, len - 1, "include/ksym"); >> } >> } >> >> @@ -208,7 +208,7 @@ static void use_config(const char *m, int slen) >> return; >> >> define_config(m, slen, hash); >> - print_config(m, slen); >> + print_dep(m, slen, "include/config"); >> } >> >> /* test if s ends in sub */ >> -- >> 2.7.4 >> >> > -- > To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- Best Regards Masahiro Yamada