Received: by 2002:a05:6a10:83d0:0:0:0:0 with SMTP id o16csp44583pxh; Thu, 7 Apr 2022 13:29:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyM03g+a+l0iS8MQJ47BX95QfIZL0NxExaEc8yu5hnSvZubwsp9j2kQGkdlQtYpx6V6LmKj X-Received: by 2002:a17:902:740b:b0:156:9eed:d2d4 with SMTP id g11-20020a170902740b00b001569eedd2d4mr15784130pll.80.1649363340997; Thu, 07 Apr 2022 13:29:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649363340; cv=none; d=google.com; s=arc-20160816; b=WDt0Mcm6dLTVvgf0r/5FM1j9vMlGehvZJm+abMGzHseS6saCNgGywkOlsoSOti1gVI lgrSrOSJDotIRvNy/syCLsTp6NdBqY+N6tXNyd1nJ578AtchSZiQUhfVRyQP28KC94Tc W7mHBvmQFW2JKlIc+nhkzzqced9kBY6Rhcz9YoIJv7tBQ5GrRfawvZQjkMiqsgIAKlI6 7c+d7KmM8DX3DjDOQzj0A9EJDMI07rOtg4p7mV8JmLXGcR3ID5vEGSELcl6v8tTNpr8N psNCdMc5XqLdd8zsbUnwBQILzW03PyBbxyjl7UEoSpxHGuA7Ob65Zc/k0LSmoEFhc7/6 f71Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=2/Ixb8mIA2M7JIXe7fAe9rthDbNf/SQgIztcewlJmQQ=; b=LkGhsjgpYxCfBVwkvVNst8YNVbvWZtD51cFBGYuslXlMynf+VoLJMpe7X3xHTj6R/L v728bIWNUcDaqx8r583iW5TPDDmt6B90w2LpDs3cNbUo2kFZWr4UofSx0m1swGlwRWZ3 YBk0EC4kH7YRmkvCGkDumaxc2kRe5Hf3qE73yfpE3kBMQvutgxyBPhZoTibW6cpkd7hf TBBLJl/n7Mdt+y+E9on+HsdpzqomoFSkEudaqUNbTO59sh5+tr8YnCfwVyHxlh0TG8IY n1OoPpMjBh0tzRls1KNh6uRmxkGGhFAmC0UYwmVmVOcPWb7I/OusiMkn2foL+dcZMnTx XR4Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=buXo0yGs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [2620:137:e000::1:18]) by mx.google.com with ESMTPS id rm7-20020a17090b3ec700b001bf4e57a5d4si2931372pjb.35.2022.04.07.13.29.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 07 Apr 2022 13:29:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) client-ip=2620:137:e000::1:18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=buXo0yGs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id B60F536AE43; Thu, 7 Apr 2022 12:43:51 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344775AbiDGSBh (ORCPT + 99 others); Thu, 7 Apr 2022 14:01:37 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56082 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1346690AbiDGSBf (ORCPT ); Thu, 7 Apr 2022 14:01:35 -0400 Received: from mail-lf1-x134.google.com (mail-lf1-x134.google.com [IPv6:2a00:1450:4864:20::134]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EF32813E25 for ; Thu, 7 Apr 2022 10:59:34 -0700 (PDT) Received: by mail-lf1-x134.google.com with SMTP id t25so10988242lfg.7 for ; Thu, 07 Apr 2022 10:59:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=2/Ixb8mIA2M7JIXe7fAe9rthDbNf/SQgIztcewlJmQQ=; b=buXo0yGsMVGnLz+9ouLK4JFFQelyxx4cO5RFmHI4tYFSV2l/gEMwvIe9tDDSZIbsiN jtjB/p/e2I+MKpqjoV/rzYOivXDoAIBXZRyd/aS871BjAnMeZ5siig5fLxm7BUqLITo8 rN+hpkILuZTvuG3eXx4DHzeWgQ06y/2N9pTDXNQ2jAT4IhVMm9wGSMCsIzhIrgXDd0Uq 0rfaq5CVOkUO2oA8qdZyJiNgPhvl/4e1eOXaP4TPGnSTXr4KvQertjDFWpINeQG5uhbI jg6fYUi1Livn5uv4t9dGXHLGXwRhiVhJ41S8B1+SeOfq4keuYr3Wo97KduZQVyMcvrg4 FDKg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=2/Ixb8mIA2M7JIXe7fAe9rthDbNf/SQgIztcewlJmQQ=; b=Fdv6UA9kcDHgG8M7wQnHTD4r4h+6twZy8dGBL8XQUZ6Fj65Z5/2Uzri3XU033Z/Bt/ 1fF1sOtBrXOwME/H7ntJ+TvbDP04WFWhqRxRxoPxTUAGoRBtQvcjPXDaabn5dJCeyvOG 3unnzNgjCPTzc32+XPz2Vqwo6e8DwSmwuBr2q5QCC4gj8rH5jWJrRGTr+w9N5ggXsWmO s03Ib7z+miYU2rkGFfSHAn8axW0ZCdAzg+ljVvFHa+I1UTx91TjKh3VAe4R4Jtndi34E jelbkMT0QpZoDHv0pBSs4oOe0zvhOskfvBNc51A1FI4bwVQhWQytNm/QPAcQrnISD3Ks Qd2Q== X-Gm-Message-State: AOAM533UMeVvJ3RsRELP+EcHMlluNxVohry3oa8u3V/4IH+W9in0Zvsg /9pLXI91wV5DWtQvC93fOSNXrltUOPIKlPgmaD6c7w== X-Received: by 2002:a05:6512:108b:b0:44a:6dc2:ffeb with SMTP id j11-20020a056512108b00b0044a6dc2ffebmr10400479lfg.184.1649354372922; Thu, 07 Apr 2022 10:59:32 -0700 (PDT) MIME-Version: 1.0 References: <20220406153023.500847-1-masahiroy@kernel.org> <20220406153023.500847-7-masahiroy@kernel.org> In-Reply-To: <20220406153023.500847-7-masahiroy@kernel.org> From: Nick Desaulniers Date: Thu, 7 Apr 2022 10:59:21 -0700 Message-ID: Subject: Re: [PATCH 6/7] kbuild: make *.mod not depend on *.o To: Masahiro Yamada Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, Michal Marek Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-9.5 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE, URIBL_BLOCKED,USER_IN_DEF_DKIM_WL autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Apr 6, 2022 at 8:31 AM Masahiro Yamada wrote: > > The dependency > > $(obj)/%.mod: $(obj)/%$(mod-prelink-ext).o > > ... exists because *.mod files previously contained undefined symbols, > which are computed from *.o files when CONFIG_TRIM_UNUSED_KSYMS=y. > > Now that the undefined symbols are put into separate *.usyms files, > there is no reason to make *.mod depend on *.o files. > > Signed-off-by: Masahiro Yamada > --- > > Makefile | 3 ++- > scripts/Makefile.build | 5 ++--- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/Makefile b/Makefile > index 82ee893909e9..e915aacd02b0 100644 > --- a/Makefile > +++ b/Makefile > @@ -1792,7 +1792,8 @@ ifdef single-build > > # .ko is special because modpost is needed > single-ko := $(sort $(filter %.ko, $(MAKECMDGOALS))) > -single-no-ko := $(sort $(patsubst %.ko,%.mod, $(MAKECMDGOALS))) > +single-no-ko := $(filter-out $(single-ko), $(MAKECMDGOALS)) \ > + $(foreach x, o mod, $(patsubst %.ko, %.$x, $(single-ko))) I'm on board with this patch, and the overall goal with the series. My brain is having a hard time parsing `o mod` though. Can you walk me through that? Are those targets for .o and .mod files, respectively? > > $(single-ko): single_modpost > @: > diff --git a/scripts/Makefile.build b/scripts/Makefile.build > index f7a30f378e20..3da731cf6978 100644 > --- a/scripts/Makefile.build > +++ b/scripts/Makefile.build > @@ -85,7 +85,7 @@ ifdef need-builtin > targets-for-builtin += $(obj)/built-in.a > endif > > -targets-for-modules := $(foreach x, mod $(if $(CONFIG_TRIM_UNUSED_KSYMS), usyms), \ > +targets-for-modules := $(foreach x, o mod $(if $(CONFIG_TRIM_UNUSED_KSYMS), usyms), \ > $(patsubst %.o, %.$x, $(filter %.o, $(obj-m)))) > > ifneq ($(CONFIG_LTO_CLANG)$(CONFIG_X86_KERNEL_IBT),) > @@ -306,7 +306,7 @@ endif > cmd_mod = echo $(addprefix $(obj)/, $(call real-search, $*.o, .o, -objs -y -m)) | \ > $(AWK) -v RS='( |\n)' '!x[$$0]++' > $@ > > -$(obj)/%.mod: $(obj)/%$(mod-prelink-ext).o FORCE > +$(obj)/%.mod: FORCE > $(call if_changed,mod) > > # List module undefined symbols > @@ -469,7 +469,6 @@ $(multi-obj-m): FORCE > $(call if_changed,link_multi-m) > $(call multi_depend, $(multi-obj-m), .o, -objs -y -m) > > -targets += $(multi-obj-m) > targets := $(filter-out $(PHONY), $(targets)) > > # Add intermediate targets: > -- > 2.32.0 > -- Thanks, ~Nick Desaulniers