Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp1873238ybz; Thu, 23 Apr 2020 07:30:48 -0700 (PDT) X-Google-Smtp-Source: APiQypIAt9hrLWk1G6wk5yVWoTN/Sjfg6uyjJstxg6y7unShpV978Qjbig3idfPX8iwvJzKJoKlp X-Received: by 2002:a17:906:f295:: with SMTP id gu21mr2987182ejb.83.1587652248288; Thu, 23 Apr 2020 07:30:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587652248; cv=none; d=google.com; s=arc-20160816; b=UFvfvMjT2uXmB9CKHgq0A2D7kHpttgEtYHp3njIxs3jxP5QTER6BvdE62ddAhotjB5 QO/yZd1xMplC9Ki19FvuYdWaPwCU7RY6F480x5OU1KP3OPG4FAQGCjhpPbeUVPXULkol LdjAK5ln1f8QKgY3VR1CpTBeZThcjs5eD8LgqORiy2ClGZC5eISMxaxq+RUQC2OQw8Fa rC/e5mqAX1hONi3iyrxEhWBnX58w3VC9rLyT2GqfQmaImOC+xL8La+tEkhaZGPD7YDE4 gOICYR8ipwwi8W+5+at/EWQH9P/tYB1R+E66JSaAmE93qTjHMLBIwkVu5qVML4Zuf803 UkQA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=y/RgA3OfQwkVYcRBj8yVKgjZM+9PXxFWaqqKysxWTF0=; b=yrRcpQtahhJl55NIFfX6nfNHURYD8d7Kez5eXkcjS86hc293Zc6/MaBGRqtutaEUcK ShmqcOXNOujJK7JAN6Fn0w4TPSbpWOZzxx2L87H0hN4ag5b473qxaXdLwxFKPTKSRyLK nObkLL6jUcms17lXsVHwpHRQlVvulxZebC0V6Gw/JMgZ3/63Ctrbeb3FQ3kQ/UojVSqM Z24Dzqa7ezjfkiQY7lszL4hCvvUzyktUtQOIBMD6zUCYaTXksGB2Y/zW9YVrD+KkTI6y C4ixXZ6IvFESjPrbtI4G5gCpScdH1aJKkshw1kvuRRncYSFZFguE0GBr1EGq8qEO4jr1 y7yw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=GEJHkPB7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a63si1217593ede.399.2020.04.23.07.30.24; Thu, 23 Apr 2020 07:30:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@nifty.com header.s=dec2015msa header.b=GEJHkPB7; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727787AbgDWOYm (ORCPT + 99 others); Thu, 23 Apr 2020 10:24:42 -0400 Received: from conuserg-12.nifty.com ([210.131.2.79]:42832 "EHLO conuserg-12.nifty.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726119AbgDWOYi (ORCPT ); Thu, 23 Apr 2020 10:24:38 -0400 Received: from oscar.flets-west.jp (softbank126090202047.bbtec.net [126.90.202.47]) (authenticated) by conuserg-12.nifty.com with ESMTP id 03NEO72W028581; Thu, 23 Apr 2020 23:24:09 +0900 DKIM-Filter: OpenDKIM Filter v2.10.3 conuserg-12.nifty.com 03NEO72W028581 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nifty.com; s=dec2015msa; t=1587651849; bh=y/RgA3OfQwkVYcRBj8yVKgjZM+9PXxFWaqqKysxWTF0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=GEJHkPB7pnUT8XQVjZx66sdja70mNI1EkP3EXp+DPCtqmUPuIF5GCm2lofc6Z1CY1 zPE8LTXS/oMr5FXjAPpQGzUI9TTChO4wTYUglxaPKYz1TEl0o4eY3QWGprxFCLjCxs E/lDXfqjXjQvxZs90Y1iacbc2bl1zHXAN4RH/Us/V3+1jTYaBuhJ7J61rF1aUK+7e1 3kjzxKG6GqZBABH1Nvee/Mby55k+rseUpP7cVY6XkUz/PhNUX0i0z/v+f/PjXm0jqr LzTeas2+e//21lUlxJIDhYKrgGtJA2I2wqCgxTPMsWoLb9cUNKhihnGFMjWL/v6fLm 3xHJci5vYW77Q== X-Nifty-SrcIP: [126.90.202.47] From: Masahiro Yamada To: linux-kbuild@vger.kernel.org Cc: Masahiro Yamada , Michal Marek , linux-kernel@vger.kernel.org Subject: [PATCH v2 3/4] kbuild: use -MMD instead of -MD to exclude system headers from dependency Date: Thu, 23 Apr 2020 23:23:53 +0900 Message-Id: <20200423142354.312088-3-masahiroy@kernel.org> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200423142354.312088-1-masahiroy@kernel.org> References: <20200423142354.312088-1-masahiroy@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This omits system headers from the generated header dependency. System headers are not updated unless you upgrade the compiler. Nor do they contain CONFIG options, so fixdep does not need to parse them. Having said that, the effect of this optimization will be quite small because the kernel code generally does not include system headers except . Host programs include a lot of system headers, but there are not so many in the kernel tree. Theoretically, fixdep does not need to cater to host programs because they should not contain CONFIG options in the first place. fixdep actually does just because Kbuild reuses if_changed_dep for host programs. At first, keeping system headers in .*.cmd files might be useful to detect the compiler update, but there is no guarantee that is included from every file. So, I implemented a more reliable way in the previous commit. Signed-off-by: Masahiro Yamada --- Changes in v2: None scripts/Kbuild.include | 2 +- scripts/Makefile.host | 4 ++-- scripts/Makefile.lib | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include index 6cabf20ce66a..0c3dc983439b 100644 --- a/scripts/Kbuild.include +++ b/scripts/Kbuild.include @@ -16,7 +16,7 @@ pound := \# dot-target = $(dir $@).$(notdir $@) ### -# The temporary file to save gcc -MD generated dependencies must not +# The temporary file to save gcc -MMD generated dependencies must not # contain a comma depfile = $(subst $(comma),_,$(dot-target).d) diff --git a/scripts/Makefile.host b/scripts/Makefile.host index 2045855d0b75..c8a4a033dc3e 100644 --- a/scripts/Makefile.host +++ b/scripts/Makefile.host @@ -88,8 +88,8 @@ _hostcxx_flags += -I $(objtree)/$(obj) endif endif -hostc_flags = -Wp,-MD,$(depfile) $(_hostc_flags) -hostcxx_flags = -Wp,-MD,$(depfile) $(_hostcxx_flags) +hostc_flags = -Wp,-MMD,$(depfile) $(_hostc_flags) +hostcxx_flags = -Wp,-MMD,$(depfile) $(_hostcxx_flags) ##### # Compile programs on the host diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 97547108ee7f..a94c1e741df9 100644 --- a/scripts/Makefile.lib +++ b/scripts/Makefile.lib @@ -171,22 +171,22 @@ modkern_aflags = $(if $(part-of-module), \ $(KBUILD_AFLAGS_MODULE) $(AFLAGS_MODULE), \ $(KBUILD_AFLAGS_KERNEL) $(AFLAGS_KERNEL)) -c_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ +c_flags = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ -include $(srctree)/include/linux/compiler_types.h \ $(_c_flags) $(modkern_cflags) \ $(basename_flags) $(modname_flags) -a_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ +a_flags = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ $(_a_flags) $(modkern_aflags) -cpp_flags = -Wp,-MD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ +cpp_flags = -Wp,-MMD,$(depfile) $(NOSTDINC_FLAGS) $(LINUXINCLUDE) \ $(_cpp_flags) ld_flags = $(KBUILD_LDFLAGS) $(ldflags-y) $(LDFLAGS_$(@F)) DTC_INCLUDE := $(srctree)/scripts/dtc/include-prefixes -dtc_cpp_flags = -Wp,-MD,$(depfile).pre.tmp -nostdinc \ +dtc_cpp_flags = -Wp,-MMD,$(depfile).pre.tmp -nostdinc \ $(addprefix -I,$(DTC_INCLUDE)) \ -undef -D__DTS__ -- 2.25.1