From patchwork Tue Nov 22 00:11:22 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 24063 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1912186wrr; Mon, 21 Nov 2022 16:21:03 -0800 (PST) X-Google-Smtp-Source: AA0mqf5xsTIXu93IMEItjYQRtqKnyAFDOF8n2R81MnouoG6URZdESjQjxTmk71arixz09WI6S3mI X-Received: by 2002:a17:906:9c47:b0:78d:8fa5:c326 with SMTP id fg7-20020a1709069c4700b0078d8fa5c326mr5819115ejc.25.1669076463265; Mon, 21 Nov 2022 16:21:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669076463; cv=none; d=google.com; s=arc-20160816; b=N5XPXEf+Q8dPc7v+e1zUy7sIl/xYU1xzhkqQTl2a1Mx33r3KfyXVyXDqb0gH71Rjfu 4oZcYWRvpZ4m2fg+WDXQ/acKeo4+1pTGmmj8aJoIwdOkMelV34hzCh3ohFdLpf1I0K9y SrHL/EASzs1KRhwr0lKdMkPdQ4F+JlGxJT8P5qdZ8N+WmYKfSiSpJMT6quaNjt2+cSIy QxSIj56LyPfZwvG+cNpgChJ+9FvnNxR42/P72GDTC6jkpeZ0S9zLrLFwXKOXNCfAo0Kk YzPkE+ttS7fEY6/lXo6/L8+8nncbDUCThfQOpN3GhnJSpLhLS/7CR8+3I60VBJU/2Cn8 lzTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=YA3p4eZ27kBAmptCpOS+nsvy69bweIx+1O3zQnoMBQo=; b=tcbdNPLBlvuvqxtN3C+AMqKsruk6DFofwI3dGEKuBC3d41+8pHuFuoRdc8dlWtJI6z y6qLMhAE/2s0TP+k9Pja/CNTt6zCQKn0HGlIX394A1CtMtmu//09JwqYZmlBPZK4kaD+ sgYwTRa53DBaONJIDniAp0JvZ6Sr/qv+xlU5uk++OLmHV8EnRDy7QqOEV7VDCtQchFhM 6G6Ceb5qkdd2PAsbF2iO2BUgRGCVaSLC3umaPamrwIj0f4wQ3RZ31p4H03g8PwZFdjW+ MXEYO6IF20Tzgk4DZvnh3U/vorSEidKbLzEl7gFIy5kbZAUhLVJ4eBbnmniyDd4FcCKr UtEQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="qIcwx0y/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id r15-20020a05640251cf00b0045a3b951e8bsi10949702edd.194.2022.11.21.16.20.39; Mon, 21 Nov 2022 16:21:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="qIcwx0y/"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232069AbiKVAL7 (ORCPT + 99 others); Mon, 21 Nov 2022 19:11:59 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229639AbiKVALu (ORCPT ); Mon, 21 Nov 2022 19:11:50 -0500 Received: from mail-yb1-xb4a.google.com (mail-yb1-xb4a.google.com [IPv6:2607:f8b0:4864:20::b4a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 241D6B4806 for ; Mon, 21 Nov 2022 16:11:50 -0800 (PST) Received: by mail-yb1-xb4a.google.com with SMTP id e15-20020a5b0ccf000000b006ed1704b40cso2811850ybr.5 for ; Mon, 21 Nov 2022 16:11:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=YA3p4eZ27kBAmptCpOS+nsvy69bweIx+1O3zQnoMBQo=; b=qIcwx0y/rn5zB6cQ9qMsMkZjvI5gpRES2VmQc7R5/U0FH5cNytRN8b6HgZWP3lqmhc 3L11/ejja/s1KmjigNlyciVn59RY0Tzyx4JFjENh/0tSrdO7la6uMQQ8fYABbxTF1cpP g2Z2Be+xQdwbxhEQ7k8eTL1ABOQIOxL4R/CclCu1ZWnwkXM62+Uxy+O97ODM1T+MYf5k QLbEfwwu37ZtEy//NZ/93+KtTDebZ9CYFqXpucRX5IthEnNuoaywD6RGBzV0Q/sbY2sk gsEmMRnRuI9fa4JFwG1mu7Jpzq7Qt6+e7rBI0VNZHyaiZjsDYdavm5iF0NnMdBOrHWaW eybQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=YA3p4eZ27kBAmptCpOS+nsvy69bweIx+1O3zQnoMBQo=; b=IsNlvQTLh2m+XAUy4T15YOPG+UoNBqKnC5vwxGini7tuTkQcaiHd1A4H+sWFrXeBQ6 r8iM5TWDuAmIjtp8Pti7oM7tze7CSbnMcap6v95mWWL2HRxT3BH/g6m/tT4EMyd5FX9p /r8/UqM0IX8aFG+PxmJpSeeC0LgMKfS/OoqXIcYsj7bWruH5R05yELxDV7GtDmUMlcxM TqQBd7EdVF25QPVb25+l9IReS6ak53dPZElOl/47Hz8mOhQpvIi/gLRXk6uWxVQhVeyj p/xB823ZDgSUiht1sJd5yAJpZ/YXKeX1cTVcwiysCnDPcU1DYSsByENVjzGnpJfE7iAM qbYQ== X-Gm-Message-State: ANoB5pmGNfdF57Sk7DnHcefplmQ7GAiEL7oeBgInuWh8b8CkW8K/Cani 2dan4LDqsAUiNrIlN8Qwlg9MP5zgjyzY X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:2107:a1f5:8582:5608]) (user=irogers job=sendgmr) by 2002:a25:4288:0:b0:6dd:39f6:da9 with SMTP id p130-20020a254288000000b006dd39f60da9mr10107180yba.509.1669075909376; Mon, 21 Nov 2022 16:11:49 -0800 (PST) Date: Mon, 21 Nov 2022 16:11:22 -0800 In-Reply-To: <20221122001125.765003-1-irogers@google.com> Message-Id: <20221122001125.765003-2-irogers@google.com> Mime-Version: 1.0 References: <20221122001125.765003-1-irogers@google.com> X-Mailer: git-send-email 2.38.1.584.g0f3c55d4c2-goog Subject: [PATCH v2 1/4] tools lib subcmd: Add install target From: Ian Rogers To: Josh Poimboeuf , Peter Zijlstra , Nathan Chancellor , Nick Desaulniers , Tom Rix , Masahiro Yamada , Nicolas Schier , linux-kernel@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Andrii Nakryiko , Jiri Olsa , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750153521621906129?= X-GMAIL-MSGID: =?utf-8?q?1750153521621906129?= This allows libsubcmd to be installed as a dependency. Signed-off-by: Ian Rogers --- tools/lib/subcmd/Makefile | 49 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/tools/lib/subcmd/Makefile b/tools/lib/subcmd/Makefile index 8f1a09cdfd17..e96566f8991c 100644 --- a/tools/lib/subcmd/Makefile +++ b/tools/lib/subcmd/Makefile @@ -17,6 +17,15 @@ RM = rm -f MAKEFLAGS += --no-print-directory +INSTALL = install + +# Use DESTDIR for installing into a different root directory. +# This is useful for building a package. The program will be +# installed in this directory as if it was the root directory. +# Then the build tool can move it later. +DESTDIR ?= +DESTDIR_SQ = '$(subst ','\'',$(DESTDIR))' + LIBFILE = $(OUTPUT)libsubcmd.a CFLAGS := -ggdb3 -Wall -Wextra -std=gnu99 -fPIC @@ -48,6 +57,18 @@ CFLAGS += $(EXTRA_WARNINGS) $(EXTRA_CFLAGS) SUBCMD_IN := $(OUTPUT)libsubcmd-in.o +ifeq ($(LP64), 1) + libdir_relative = lib64 +else + libdir_relative = lib +endif + +prefix ?= +libdir = $(prefix)/$(libdir_relative) + +# Shell quotes +libdir_SQ = $(subst ','\'',$(libdir)) + all: export srctree OUTPUT CC LD CFLAGS V @@ -61,6 +82,34 @@ $(SUBCMD_IN): FORCE $(LIBFILE): $(SUBCMD_IN) $(QUIET_AR)$(RM) $@ && $(AR) rcs $@ $(SUBCMD_IN) +define do_install_mkdir + if [ ! -d '$(DESTDIR_SQ)$1' ]; then \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$1'; \ + fi +endef + +define do_install + if [ ! -d '$(DESTDIR_SQ)$2' ]; then \ + $(INSTALL) -d -m 755 '$(DESTDIR_SQ)$2'; \ + fi; \ + $(INSTALL) $1 $(if $3,-m $3,) '$(DESTDIR_SQ)$2' +endef + +install_lib: $(LIBFILE) + $(call QUIET_INSTALL, $(LIBFILE)) \ + $(call do_install_mkdir,$(libdir_SQ)); \ + cp -fpR $(LIBFILE) $(DESTDIR)$(libdir_SQ) + +install_headers: + $(call QUIET_INSTALL, headers) \ + $(call do_install,exec-cmd.h,$(prefix)/include/subcmd,644); \ + $(call do_install,help.h,$(prefix)/include/subcmd,644); \ + $(call do_install,pager.h,$(prefix)/include/subcmd,644); \ + $(call do_install,parse-options.h,$(prefix)/include/subcmd,644); \ + $(call do_install,run-command.h,$(prefix)/include/subcmd,644); + +install: install_lib install_headers + clean: $(call QUIET_CLEAN, libsubcmd) $(RM) $(LIBFILE); \ find $(or $(OUTPUT),.) -name \*.o -or -name \*.o.cmd -or -name \*.o.d | xargs $(RM) From patchwork Tue Nov 22 00:11:23 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 24067 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1920505wrr; Mon, 21 Nov 2022 16:42:17 -0800 (PST) X-Google-Smtp-Source: AA0mqf5s0AxQmNSxqnFm2AZQkCQVcbq2Alg7Y+PJARH5LP5M059zaiK2244i33yfi7rU8eOI4cCJ X-Received: by 2002:a17:906:ee2:b0:78d:3f96:b7aa with SMTP id x2-20020a1709060ee200b0078d3f96b7aamr4085006eji.74.1669077736935; Mon, 21 Nov 2022 16:42:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669077736; cv=none; d=google.com; s=arc-20160816; b=Q/PVaEvu4hYlu5ZmPVoXIzO7HH8Ai4Le2xVt11/riItOgEoDUMmG32PYxzZCj7iP6V 7KIzo5ng8vcBVdTGHnsGpk4MpNHJihgRXzKEew3cLJvaTETm5hiFzg4hohmMze2jn7f3 cdIzaAoIFSOp9RGX9qJ4tAmnCaZAhFX+FxgGRJ+VIUovwIXBszOwutHyyZeilXenN4XV 2iiyhtHpDVAoQx5XW6cYsRWaFDc8/FuDFOWTsEnk567V5zByyUQPTkVk3LEwHWHGUcuO 05QaYD5Rq2hlVrx16PtMU+V8Lg7XKkgMd9jRWcgXVuG6/rz82llpuMjHXF0hhhz8nPmJ Mg0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=GoR0XfyfLKOGrF4aZi9U/Y5nI4Wyasyd+UL78gHDN8Q=; b=hU/la4dMxYBKEhrrJXVk3P6Ra0gx3KOhcSXOSpx+ZGlKGLZk9CNat6ay5IGouXUk8M 9VyMLV+AuceUf7k9rL7wzIwvYg0U3sGNZ0QvZ7Cd5rCgI8taRx5aEzYorMuMgnSXX50E MnvAZFInwQgMvkyPuZJUz8DlctmvYjbDVK6JNRwcgwJ4fA/EqiexEXgw+VT0llnyXG90 7NJkR7lgrFarvYM1wBRFaoCwMcDvRsWl2xKQbg5quLIyyrjXtB9nbCwkc58SHp+9RATM 6q2Pwrqvw0tztVctGS/5ysw1wvBIztPWXNg4kd8+4irlhmmMxYstmsy8d+70/n6QCiq2 Ob6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="lNTU/PzL"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id sz15-20020a1709078b0f00b007a4feae7ae7si6875860ejc.575.2022.11.21.16.41.52; Mon, 21 Nov 2022 16:42:16 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b="lNTU/PzL"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232173AbiKVAMS (ORCPT + 99 others); Mon, 21 Nov 2022 19:12:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40092 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232089AbiKVAMC (ORCPT ); Mon, 21 Nov 2022 19:12:02 -0500 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 01427BA593 for ; Mon, 21 Nov 2022 16:11:58 -0800 (PST) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-391842a55d6so117595027b3.0 for ; Mon, 21 Nov 2022 16:11:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=GoR0XfyfLKOGrF4aZi9U/Y5nI4Wyasyd+UL78gHDN8Q=; b=lNTU/PzLJsqM2jLMTKBPrA4eAqGQHrDPAkxlfcHQm+r1wj/z9o8rIwqKYDLjoNXHkb YgSSO/lwGMoBnf+CYYg0UW5j5tawIogVOlSJfAAH5Ltv3ED+3MiK5Nq+bjSctz/TRcz8 +3A2cr1oQR77bin4jeqYK33MIxQD/Aamnq8P62owl5JUyRW38kLK8Am6EETziPSZIGhV Xx89fZ76t9YtTJKjTev19Th4JzJ93Q1Ht35I2ESNs3JlEH59PZCxLnrycIA7MjxG6P8X Vpg4uh86bV4ncCmkEPeRQlmid6Jv9G/nGNDqdeGbH9wCt1LUeifTLuFKBwFnlwowNOxl CboA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=GoR0XfyfLKOGrF4aZi9U/Y5nI4Wyasyd+UL78gHDN8Q=; b=YAOIfcMYkod7SKqmH6BxYVykYtIAfxbshLzpMfxEDVN5DljETMxvaXN3/zdueEanSB dOvkzoFJ2BmtwEySjiozCQgTAz3ZZQpQlqS4FTdMuAPUdqb3epxTHG6dOpMWPRReXwXY CfOvsdFRzYdZNYGNSv2yCuJ6ZnnXnBsHUX/JATjlliasMGkuyyRbhl66eAfcslDyP4CF 7Xh+awKeKdQ/YmwXSL4jHLYRe0UgHE0ctLGsFOJknxdNnYGuzo0+gPFoAz3NLqpri7oe JmQO2KvKoynLe/cJi2EAmIh4fepzmRp2EMv/vn753erU0Yiy2cVWn8QaGSlsC/FSJrig D6fA== X-Gm-Message-State: ANoB5pm70pOZy5/aTCJdp88uRknR8qEKGsLJC+gWZ6eivhsrLm6+JOxi IxxMyQnosAYZ7jWNyvDFctR9t1ESZA7C X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:2107:a1f5:8582:5608]) (user=irogers job=sendgmr) by 2002:a25:2e0e:0:b0:6cc:35b9:8525 with SMTP id u14-20020a252e0e000000b006cc35b98525mr5139616ybu.104.1669075917318; Mon, 21 Nov 2022 16:11:57 -0800 (PST) Date: Mon, 21 Nov 2022 16:11:23 -0800 In-Reply-To: <20221122001125.765003-1-irogers@google.com> Message-Id: <20221122001125.765003-3-irogers@google.com> Mime-Version: 1.0 References: <20221122001125.765003-1-irogers@google.com> X-Mailer: git-send-email 2.38.1.584.g0f3c55d4c2-goog Subject: [PATCH v2 2/4] objtool: Install libsubcmd in build From: Ian Rogers To: Josh Poimboeuf , Peter Zijlstra , Nathan Chancellor , Nick Desaulniers , Tom Rix , Masahiro Yamada , Nicolas Schier , linux-kernel@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Andrii Nakryiko , Jiri Olsa , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750154856981350118?= X-GMAIL-MSGID: =?utf-8?q?1750154856981350118?= Including from tools/lib can create inadvertent dependencies. Install libsubcmd in the objtool build and then include the headers from there. Signed-off-by: Ian Rogers --- tools/objtool/Build | 2 -- tools/objtool/Makefile | 33 +++++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 10 deletions(-) diff --git a/tools/objtool/Build b/tools/objtool/Build index 33f2ee5a46d3..a3cdf8af6635 100644 --- a/tools/objtool/Build +++ b/tools/objtool/Build @@ -16,8 +16,6 @@ objtool-y += libctype.o objtool-y += str_error_r.o objtool-y += librbtree.o -CFLAGS += -I$(srctree)/tools/lib - $(OUTPUT)libstring.o: ../lib/string.c FORCE $(call rule_mkdir) $(call if_changed_dep,cc_o_c) diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile index a3a9cc24e0e3..fd9b3e3113c6 100644 --- a/tools/objtool/Makefile +++ b/tools/objtool/Makefile @@ -12,9 +12,15 @@ srctree := $(patsubst %/,%,$(dir $(CURDIR))) srctree := $(patsubst %/,%,$(dir $(srctree))) endif -SUBCMD_SRCDIR = $(srctree)/tools/lib/subcmd/ -LIBSUBCMD_OUTPUT = $(or $(OUTPUT),$(CURDIR)/) -LIBSUBCMD = $(LIBSUBCMD_OUTPUT)libsubcmd.a +LIBSUBCMD_DIR = $(srctree)/tools/lib/subcmd/ +ifneq ($(OUTPUT),) + LIBSUBCMD_OUTPUT = $(abspath $(OUTPUT))/libsubcmd +else + LIBSUBCMD_OUTPUT = $(CURDIR)/libsubcmd +endif +LIBSUBCMD_DESTDIR = $(LIBSUBCMD_OUTPUT) +LIBSUBCMD = $(LIBSUBCMD_OUTPUT)/libsubcmd.a +CFLAGS += -I$(LIBSUBCMD_OUTPUT)/include OBJTOOL := $(OUTPUT)objtool OBJTOOL_IN := $(OBJTOOL)-in.o @@ -28,7 +34,8 @@ INCLUDES := -I$(srctree)/tools/include \ -I$(srctree)/tools/arch/$(HOSTARCH)/include/uapi \ -I$(srctree)/tools/arch/$(SRCARCH)/include \ -I$(srctree)/tools/objtool/include \ - -I$(srctree)/tools/objtool/arch/$(SRCARCH)/include + -I$(srctree)/tools/objtool/arch/$(SRCARCH)/include \ + -I$(LIBSUBCMD_OUTPUT)/include WARNINGS := $(EXTRA_WARNINGS) -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs CFLAGS := -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS) LDFLAGS += $(LIBELF_LIBS) $(LIBSUBCMD) $(KBUILD_HOSTLDFLAGS) @@ -38,6 +45,7 @@ elfshdr := $(shell echo '$(pound)include ' | $(CC) $(CFLAGS) -x c -E - CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED) AWK = awk +MKDIR = mkdir BUILD_ORC := n @@ -57,13 +65,22 @@ $(OBJTOOL): $(LIBSUBCMD) $(OBJTOOL_IN) $(QUIET_LINK)$(CC) $(OBJTOOL_IN) $(LDFLAGS) -o $@ -$(LIBSUBCMD): fixdep FORCE - $(Q)$(MAKE) -C $(SUBCMD_SRCDIR) OUTPUT=$(LIBSUBCMD_OUTPUT) +$(LIBSUBCMD_OUTPUT): + @$(MKDIR) -p $@ + +$(LIBSUBCMD): fixdep FORCE $(LIBSUBCMD_OUTPUT) + @$(MAKE) -C $(LIBSUBCMD_DIR) O=$(LIBSUBCMD_OUTPUT) \ + DESTDIR=$(LIBSUBCMD_DESTDIR) prefix= subdir= \ + $@ install_headers + +$(LIBSUBCMD)-clean: + $(call QUIET_CLEAN, libsubcmd) + $(Q)$(RM) -r -- $(LIBSUBCMD_OUTPUT) -clean: +clean: $(LIBSUBCMD)-clean $(call QUIET_CLEAN, objtool) $(RM) $(OBJTOOL) $(Q)find $(OUTPUT) -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete - $(Q)$(RM) $(OUTPUT)arch/x86/lib/inat-tables.c $(OUTPUT)fixdep $(LIBSUBCMD) + $(Q)$(RM) $(OUTPUT)arch/x86/lib/inat-tables.c $(OUTPUT)fixdep FORCE: From patchwork Tue Nov 22 00:11:24 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 24062 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1910849wrr; Mon, 21 Nov 2022 16:17:39 -0800 (PST) X-Google-Smtp-Source: AA0mqf417K3kSfmqEd04S2D8YzyIZtiw/QL8NtzGuknzfmNEyQuqeLvzUxTnwM8YgCdFu8+vjFDD X-Received: by 2002:a05:6a00:198d:b0:569:92fa:cbbc with SMTP id d13-20020a056a00198d00b0056992facbbcmr1326458pfl.77.1669076259406; Mon, 21 Nov 2022 16:17:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669076259; cv=none; d=google.com; s=arc-20160816; b=LXgUXFGX8ZxcIXAtnExtE6hTMJ6Bnw5KNJ5e/43w1p+G9ti16NT/2CYVq2vT+ZMZf9 MRa3cDftRQQxZsYjUbaI7MVx8InTwe2/wJkF4woInfq6UBsRvEslGXbS0dxXG4vTKWKG /ZQUJHdTcgYHJXQnwKypz2RQZrYegrscE/3RfyYYDxZRhVchstkfJQRXrHCL67KxD02N 9S7vG0ExIIpZmalAeYTcME8GEMvpUuUfs7l7lB3AgMP1kPaSTPsz10jczEAxOZ9NQ/fa 1irNSpcwIeYAh1+8KkyLWfJ5mOPtHxH2SwYUeNX7JU3VnLOWNkGMY8eLxowFT2QcngGq ktwA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=dAoGw6w4KlL7DQVt7ZsS6OCEJRbgq50upBPjFJ4o4ig=; b=b/wCPgcDizAwz4zg1KVykRNnJeHJKzinmIm/D+nUGb9eQ3voR63VIJ99zzLoAbmxHo fvORVm5afzgIzSHBfIjLJWTIO/rmKls1/AwCcMiZJB7vp3sFaeAVe/niouPg9vJ7IBHD q5f3p8fdf6dAdyFnzg00OBbuZSK70S57wGySgkADqTjcU2OTtiMYhTIUvunp264pFhNS MkIlBI34HrUg+/48wtU/LOyoU+ldfBpALDOvbznU1nJoanXpl03GK+/PL8KBeDZee+ts kKcJTH20siliR7hC1K2a2SwYEGXNZE/cUgSyt3/jsJQrYpysY3PWalIUHv4fYoPFq8DF iaRQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=BrggVwj0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id pf4-20020a17090b1d8400b00200ad6b1554si173635pjb.6.2022.11.21.16.17.24; Mon, 21 Nov 2022 16:17:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=BrggVwj0; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230491AbiKVAM0 (ORCPT + 99 others); Mon, 21 Nov 2022 19:12:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40268 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232109AbiKVAMH (ORCPT ); Mon, 21 Nov 2022 19:12:07 -0500 Received: from mail-pj1-x104a.google.com (mail-pj1-x104a.google.com [IPv6:2607:f8b0:4864:20::104a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B64B0C4949 for ; Mon, 21 Nov 2022 16:12:04 -0800 (PST) Received: by mail-pj1-x104a.google.com with SMTP id s18-20020a17090aad9200b00218a1ef5c00so2440860pjq.3 for ; Mon, 21 Nov 2022 16:12:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=dAoGw6w4KlL7DQVt7ZsS6OCEJRbgq50upBPjFJ4o4ig=; b=BrggVwj0H1omWRQ69YMIUK21XBMjpa7HVYTK62MFY+Cb1CVXGLi4683S8vfkF0PlDM iakDSbG0hQ1GrjLKiYu+30WQWoGLlKWLb0p65JCmlI1aDPoMI0jiuCnzgxOflZSLS4Mo +D88Umt4pSij+Ntjtuvcwcw5DTxcYIBsaZnO5JLYqwEig0u1hFvA6h1s2vePSQZbhaMn 2tPAC9dLJguoQRb9z1bn/v20WbWjqhZzy1ZSqHvEYvPvmcxzrjqilM83hKRKhTVKkAYk eAqcLKxHBZKEubi4UsMMBTlys38TZYdzQ1RoNwRZ7qYQqamyn6pG9gfN725/Qq4ewSwD AL5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=dAoGw6w4KlL7DQVt7ZsS6OCEJRbgq50upBPjFJ4o4ig=; b=kwosJrpF+AZuSCF4fernJ0GvEe3qrN8AGepqzdxW6MjzYB5pHOzaoilhcE5VAGfTSa bts87OKxyuOIw9oqmpb4593slH/hRb4EKz4TtfB5WfApp6UctKAuS6dBuJvhvp2ROWU4 YGI9Wy1x7Ss2zPg+4p0NOd4Luqzqb3Lgl++jK0sUUq+FIAO6FPEpzxjW7xv/5N7VFnMZ UC1pRrGU8P1z0WX/nUdUQm2js37pDKo7Rgxt6G1q2Rqu4O5qogaDI7I/rgwdwD4jSshl iiBNeabiKRXhCihTgx3V6j7LEwvfchVkKeDqCK19Ho0zZj5N9ZfRnUydTb/05qUYi/xu IZpg== X-Gm-Message-State: ANoB5pljrbJmbkLLL3Vi/MiEs4VGtvJSlPdcCUxKsi6f/YKZkbKtlPQb VvSVCVaeQUsBcpYew7oERu1biF9VbiCc X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:2107:a1f5:8582:5608]) (user=irogers job=sendgmr) by 2002:a63:f4b:0:b0:46f:98cf:3bb6 with SMTP id 11-20020a630f4b000000b0046f98cf3bb6mr1125125pgp.332.1669075924133; Mon, 21 Nov 2022 16:12:04 -0800 (PST) Date: Mon, 21 Nov 2022 16:11:24 -0800 In-Reply-To: <20221122001125.765003-1-irogers@google.com> Message-Id: <20221122001125.765003-4-irogers@google.com> Mime-Version: 1.0 References: <20221122001125.765003-1-irogers@google.com> X-Mailer: git-send-email 2.38.1.584.g0f3c55d4c2-goog Subject: [PATCH v2 3/4] objtool: Properly support make V=1 From: Ian Rogers To: Josh Poimboeuf , Peter Zijlstra , Nathan Chancellor , Nick Desaulniers , Tom Rix , Masahiro Yamada , Nicolas Schier , linux-kernel@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Andrii Nakryiko , Jiri Olsa , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750153308205785353?= X-GMAIL-MSGID: =?utf-8?q?1750153308205785353?= The Q variable was being used but never correctly set up. Add the setting up and use in place of @. Signed-off-by: Ian Rogers --- tools/objtool/Makefile | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile index fd9b3e3113c6..61a00b7acae9 100644 --- a/tools/objtool/Makefile +++ b/tools/objtool/Makefile @@ -47,6 +47,12 @@ CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED) AWK = awk MKDIR = mkdir +ifeq ($(V),1) + Q = +else + Q = @ +endif + BUILD_ORC := n ifeq ($(SRCARCH),x86) @@ -58,18 +64,18 @@ export srctree OUTPUT CFLAGS SRCARCH AWK include $(srctree)/tools/build/Makefile.include $(OBJTOOL_IN): fixdep FORCE - @$(CONFIG_SHELL) ./sync-check.sh - @$(MAKE) $(build)=objtool + $(Q)$(CONFIG_SHELL) ./sync-check.sh + $(Q)$(MAKE) $(build)=objtool $(OBJTOOL): $(LIBSUBCMD) $(OBJTOOL_IN) $(QUIET_LINK)$(CC) $(OBJTOOL_IN) $(LDFLAGS) -o $@ $(LIBSUBCMD_OUTPUT): - @$(MKDIR) -p $@ + $(Q)$(MKDIR) -p $@ $(LIBSUBCMD): fixdep FORCE $(LIBSUBCMD_OUTPUT) - @$(MAKE) -C $(LIBSUBCMD_DIR) O=$(LIBSUBCMD_OUTPUT) \ + $(Q)$(MAKE) -C $(LIBSUBCMD_DIR) O=$(LIBSUBCMD_OUTPUT) \ DESTDIR=$(LIBSUBCMD_DESTDIR) prefix= subdir= \ $@ install_headers From patchwork Tue Nov 22 00:11:25 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ian Rogers X-Patchwork-Id: 24064 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:f944:0:0:0:0:0 with SMTP id q4csp1919232wrr; Mon, 21 Nov 2022 16:38:43 -0800 (PST) X-Google-Smtp-Source: AA0mqf5sYfTe6Ce9CTBWiQM6QcgTyDwo3p8pNQvIWMMJQMKv8PLDV1ZZyvzRzIBSQcLFJzciIkxw X-Received: by 2002:a17:906:830d:b0:79e:5ea1:4f83 with SMTP id j13-20020a170906830d00b0079e5ea14f83mr4046507ejx.372.1669077523614; Mon, 21 Nov 2022 16:38:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669077523; cv=none; d=google.com; s=arc-20160816; b=hklneLz8JJvtJhkKgNJajM9b0VBIY92uri0lKFcP7BSuKUF4+cpc0XmohTsNKxyKFo 1B/xRw/FMDJv94dxVSJ1vg1Q81w6ImPjUIfVm+IEHXjslL86ZTPCBQFnLYvhLt/DG4JT CfndAjhJuzbUL3PByIjfkLqVvOQ2h5z5TX7SYXb/HR8Kuc4yJG+oK/sz6OVyYF3Aaeu0 yb4iKgc6B6d+IQyHqhBQuSrmX/yKGBLokBKM2BMXTq2HGsE//4SktBVxPdA/tUqfApWp 6HWA5PHdi2Rwob++xt+wGDkLZKknIR5XllrZ3YsRErXtgmhcC3coRLlQtjMq2uMFLFOy b8uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:from:subject:references:mime-version :message-id:in-reply-to:date:dkim-signature; bh=f2OEVX8RYPyAcopuDfdaWLt0cg7xaISJPygwT0E0ouc=; b=TXJc6rnA4PESoruya/7HBNWRUjBZgZRpcr/GeWJ68OcBMsAdm5oSr56W/sv42BesX6 p3Iml+eVPNTSmo1Msr0U/iG5BGoi16oFbyQEu8G2gfvehY10Dq9NsnJAVryj4xsrYM0n 6OI8QMJGnZjAWiWOYgwQLlTuPEB4OybGoACElmnngKzfdwJ/4pGGmNsKzcfGw3mVRGKa DZLpufUSr5RfloyZtXa9iAqezn/WF++Dr4/kzgw9SNQPQb4ld5Outc/dSx764m9IRpZP FlEjLhwR+cY4aFDJF144can48ClyeLpxnE8UOOgnGQOcmmT0VJGaSO+nM3BhWcKrK1UG xFgQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=c4MiccdF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 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 out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b6-20020a056402350600b00459f9c3d02bsi11221326edd.22.2022.11.21.16.38.20; Mon, 21 Nov 2022 16:38:43 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20210112 header.b=c4MiccdF; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232131AbiKVAMx (ORCPT + 99 others); Mon, 21 Nov 2022 19:12:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40462 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232163AbiKVAMP (ORCPT ); Mon, 21 Nov 2022 19:12:15 -0500 Received: from mail-yw1-x114a.google.com (mail-yw1-x114a.google.com [IPv6:2607:f8b0:4864:20::114a]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 89CD4B7EBA for ; Mon, 21 Nov 2022 16:12:12 -0800 (PST) Received: by mail-yw1-x114a.google.com with SMTP id 00721157ae682-352e29ff8c2so128265417b3.21 for ; Mon, 21 Nov 2022 16:12:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:from:to:cc:subject:date:message-id:reply-to; bh=f2OEVX8RYPyAcopuDfdaWLt0cg7xaISJPygwT0E0ouc=; b=c4MiccdF0m/dJ6gtmkt+leDsOcrSbyKkmprTSa4NTl6g3KAnmRAuF+gGso2easyZsV FnnkY2OmhIJN4f2BPS0ybe5jTSitq97A6wqCQKnrQFSfSYi2zSLGqRV1VY9kDsvqoP2R t7vrJ0f66IXcQXWLOe03yZNMU4fE8eO1zdHeOlGgNEGBe+TNLpWksnss3EZ6dw5crZh1 gZplgnn9sPsj3eomSopOQzM21GLPpdCGWhE8wt8wWd30fGqgGk1Ez78i9ETM/bve4hbZ NYmLcH2qQd6Co5l6aHL5H7Qkns5w5OP9pjxxeoqiSG1Qbl0VgAM0kCgmBYat/D1EGHzn 5h0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:from:subject:references:mime-version:message-id:in-reply-to :date:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=f2OEVX8RYPyAcopuDfdaWLt0cg7xaISJPygwT0E0ouc=; b=rVGn/FUB86yaye5dFFNC3UtWeWgWJRqkwZziSZ/uImmEZKHLLBZog2olLqeh3n3oxH YHGuYVsuXAwiCpMkht0KZ3NnyVIO+bhIb9xH8ZiYw+d0CjiD8UKmSGgLb9IcpQN8oTqF /hRtekxdnTLqJasRzHZII3ruB1iIFfynV3Vk/l/4Qcptb9Au/1pbdcTp6rW3uDeK9wnw PuZBcrFVlTzKnXVdosWSz0/eEHNflQjA+6jW8Iqghu2YBLtObOUrMV8X1qeVU0HrnET3 qDjDqk258HmhAtQU/0zzCrZF7YZX5jXSGO4I+IwEXHgZjP19EFhyuoiIG/Pr8NJ6HGKR +v4w== X-Gm-Message-State: ANoB5pnvj/b2AQkFFg9vHnxg/b11tXT//9zOO7FNT3b94TP1EKOeuUQ6 MVPSJi0a2UwbzrB2V6VV8LVEhYkEOy7R X-Received: from irogers.svl.corp.google.com ([2620:15c:2d4:203:2107:a1f5:8582:5608]) (user=irogers job=sendgmr) by 2002:a81:25d8:0:b0:373:4467:e0c6 with SMTP id l207-20020a8125d8000000b003734467e0c6mr1500249ywl.340.1669075931876; Mon, 21 Nov 2022 16:12:11 -0800 (PST) Date: Mon, 21 Nov 2022 16:11:25 -0800 In-Reply-To: <20221122001125.765003-1-irogers@google.com> Message-Id: <20221122001125.765003-5-irogers@google.com> Mime-Version: 1.0 References: <20221122001125.765003-1-irogers@google.com> X-Mailer: git-send-email 2.38.1.584.g0f3c55d4c2-goog Subject: [PATCH v2 4/4] objtool: Alter how HOSTCC is forced From: Ian Rogers To: Josh Poimboeuf , Peter Zijlstra , Nathan Chancellor , Nick Desaulniers , Tom Rix , Masahiro Yamada , Nicolas Schier , linux-kernel@vger.kernel.org, llvm@lists.linux.dev Cc: Stephane Eranian , Andrii Nakryiko , Jiri Olsa , Arnaldo Carvalho de Melo , Namhyung Kim , Ian Rogers X-Spam-Status: No, score=-9.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,USER_IN_DEF_DKIM_WL autolearn=ham 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 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= X-GMAIL-THRID: =?utf-8?q?1750154633500836350?= X-GMAIL-MSGID: =?utf-8?q?1750154633500836350?= HOSTCC is always wanted when building objtool. Setting CC to HOSTCC happens after tools/scripts/Makefile.include is included, meaning flags are set assuming say CC is gcc, but then it can be later set to HOSTCC which may be clang. tools/scripts/Makefile.include is needed for host set up and common macros in objtool's Makefile. Rather than override CC to HOSTCC, just pass CC as HOSTCC to Makefile.build, the libsubcmd builds and the linkage step. This means the Makefiles don't see things like CC changing and tool flag determination, and similar, work properly. To avoid mixing CFLAGS from different compilers just the objtool CFLAGS are determined. HOSTCFLAGS is added to these so that command line flags can add to the CFLAGS. Signed-off-by: Ian Rogers --- tools/objtool/Makefile | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile index 61a00b7acae9..e550a98e2dd9 100644 --- a/tools/objtool/Makefile +++ b/tools/objtool/Makefile @@ -2,16 +2,12 @@ include ../scripts/Makefile.include include ../scripts/Makefile.arch -# always use the host compiler -AR = $(HOSTAR) -CC = $(HOSTCC) -LD = $(HOSTLD) - ifeq ($(srctree),) srctree := $(patsubst %/,%,$(dir $(CURDIR))) srctree := $(patsubst %/,%,$(dir $(srctree))) endif +MAKE = make -S LIBSUBCMD_DIR = $(srctree)/tools/lib/subcmd/ ifneq ($(OUTPUT),) LIBSUBCMD_OUTPUT = $(abspath $(OUTPUT))/libsubcmd @@ -36,13 +32,20 @@ INCLUDES := -I$(srctree)/tools/include \ -I$(srctree)/tools/objtool/include \ -I$(srctree)/tools/objtool/arch/$(SRCARCH)/include \ -I$(LIBSUBCMD_OUTPUT)/include -WARNINGS := $(EXTRA_WARNINGS) -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs -CFLAGS := -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS) -LDFLAGS += $(LIBELF_LIBS) $(LIBSUBCMD) $(KBUILD_HOSTLDFLAGS) +WARNINGS := -Wno-switch-default -Wno-switch-enum -Wno-packed -Wno-nested-externs +OBJTOOL_CFLAGS := -Werror $(WARNINGS) -g $(INCLUDES) $(LIBELF_FLAGS) $(HOSTCFLAGS) +OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBSUBCMD) # Allow old libelf to be used: elfshdr := $(shell echo '$(pound)include ' | $(CC) $(CFLAGS) -x c -E - | grep elf_getshdr) -CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED) +OBJTOOL_CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED) + +# Always want host compilation. +HOST_OVERRIDES := CC="$(HOSTCC)" EXTRA_CFLAGS="$(OBJTOOL_CFLAGS)" \ + LD="$(HOSTLD)" AR="$(HOSTAR)" +BUILD_HOST_OVERRIDES := CC="$(HOSTCC)" CFLAGS="$(OBJTOOL_CFLAGS)" \ + LD="$(HOSTLD)" LDFLAGS="$(OBJTOOL_LDFLAGS)" \ + AR="$(HOSTAR)" AWK = awk MKDIR = mkdir @@ -65,10 +68,11 @@ include $(srctree)/tools/build/Makefile.include $(OBJTOOL_IN): fixdep FORCE $(Q)$(CONFIG_SHELL) ./sync-check.sh - $(Q)$(MAKE) $(build)=objtool + $(Q)$(MAKE) $(build)=objtool $(BUILD_HOST_OVERRIDES) + $(OBJTOOL): $(LIBSUBCMD) $(OBJTOOL_IN) - $(QUIET_LINK)$(CC) $(OBJTOOL_IN) $(LDFLAGS) -o $@ + $(QUIET_LINK)$(HOSTCC) $(OBJTOOL_IN) $(KBUILD_HOSTLDFLAGS) $(OBJTOOL_LDFLAGS) -o $@ $(LIBSUBCMD_OUTPUT): @@ -77,6 +81,7 @@ $(LIBSUBCMD_OUTPUT): $(LIBSUBCMD): fixdep FORCE $(LIBSUBCMD_OUTPUT) $(Q)$(MAKE) -C $(LIBSUBCMD_DIR) O=$(LIBSUBCMD_OUTPUT) \ DESTDIR=$(LIBSUBCMD_DESTDIR) prefix= subdir= \ + $(HOST_OVERRIDES) \ $@ install_headers $(LIBSUBCMD)-clean: