From patchwork Wed Feb 1 16:26:35 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: tip-bot2 for Thomas Gleixner X-Patchwork-Id: 51464 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp376602wrn; Wed, 1 Feb 2023 08:30:39 -0800 (PST) X-Google-Smtp-Source: AK7set/2Y7AlmQZU3LlhWMSy23enCrdRCgFZQTVIhdVEi7vO4MOLQK1S+2mOz5qtNAJTdsxjIYCB X-Received: by 2002:a17:90a:e7c6:b0:22c:7471:eca7 with SMTP id kb6-20020a17090ae7c600b0022c7471eca7mr2991238pjb.34.1675269039053; Wed, 01 Feb 2023 08:30:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675269039; cv=none; d=google.com; s=arc-20160816; b=QSUBI73jmehHIoB2j8xDvR866BgD4lJ8GsOlWCIDk7T4JuJXhhB1LvQMPBi/OrMmVz /iVPCiwwwrBDhg894lLGefH86+Y/GD21aDEls51L0NcdkrN8Xq9uphHiATPtKXNaX1Xg LEfNgI7yCWfdIlIC/kbozz3+AEKj3g+N05T/HdYb6Vvy0v4lfO9Ws/iSS1TXaEKvAPL4 2O46J/zqGN0wVmi9io6ZvETgFhbdvVxiaaQocFQRiohSfhzvSRSaCp2fNhzw6bWIGBqw RX48aF3xXLf8i+POCDZfk8VaEFksno1fiOxvlKKTMP44u8iTAfQvkBqU+C0Uv+sgsxhs ws2A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:robot-unsubscribe :robot-id:message-id:mime-version:references:in-reply-to:cc:subject :to:reply-to:sender:from:dkim-signature:dkim-signature:date; bh=XHFinA8Yk95OT2Vkh/i55kHeel/o2mD6lAGZmOLs5/s=; b=Lr6OhcKsu2dyVUObS96zkknR5KtEOpUl5MeV1F2ubBTmHysO7BuJZCqRhMPhH6u6hg l+8of7aea6opunrtw/LHIoqVOw9ns+TtAUL3uGS3sQzsCme1DhccYq7iGdzDDyJt/uss GA++MBKLVdxO8ddNRLZcxrhU+V4EEAMCe3S7JgJLUlJld3CUFjLpYVYix6wSoZvmHSpx lwemC+nHokSCkJgMLLD6d0J5xmICpJwswbFd4Q/FU3n83uHf+dA7zV+nCAJCUhZvckbK UG2f1dhJDQ0ucFnqz9ETrYlL1APW35hs9n9R0+fGFNOV3Fh3T4FnO+VQFpx02mfzQsWE hJ6g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=Y3xW1N3z; dkim=neutral (no key) header.i=@linutronix.de; 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=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q9-20020a17090aa00900b00229c1a4a338si1976101pjp.106.2023.02.01.08.30.27; Wed, 01 Feb 2023 08:30: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=@linutronix.de header.s=2020 header.b=Y3xW1N3z; dkim=neutral (no key) header.i=@linutronix.de; 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=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231953AbjBAQ06 (ORCPT + 99 others); Wed, 1 Feb 2023 11:26:58 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59548 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231697AbjBAQ0j (ORCPT ); Wed, 1 Feb 2023 11:26:39 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B77767921B; Wed, 1 Feb 2023 08:26:37 -0800 (PST) Date: Wed, 01 Feb 2023 16:26:35 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1675268796; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XHFinA8Yk95OT2Vkh/i55kHeel/o2mD6lAGZmOLs5/s=; b=Y3xW1N3zWQCniurZWF7dOe7GamUsdz4SRzdEXCaeI07VeS9dAEdlwAWMXSfm9RwEt5m6cF cOUmgcBv7/QFOPkn+RdKXu0I5pv9/nVGKL3Va8SOCWvqDusoC6pBOthJCu3ZIJkQsIUR2H 0YGKhP+Kd16mno5V61VgBcr/CEkvW3sTbseh/SYlx0rjwT0aH2zX3miRiu1hfiubsvvqbf +kv+q0PfVC32epCCchH7dRtPWFm1zI0Fqb8BQ1BSK4VdHV6tQwG/u+gMDxVvicypymRAXQ FNnS+3qzf2pGvN0bWEpEBcFNll4wzLJTuQG+oyGKzUFkPgdAaXSjo8zc/RalYA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1675268796; h=from:from:sender:sender:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=XHFinA8Yk95OT2Vkh/i55kHeel/o2mD6lAGZmOLs5/s=; b=H0/SGuL/e+fY8r+GOD+p4pPQ1yUTtidz9Vt2dh+3637jnTikQDu/2NOAy7lxclBob91QMy hZlSUID+uLwLB0Cg== From: "tip-bot2 for Ian Rogers" Sender: tip-bot2@linutronix.de Reply-to: linux-kernel@vger.kernel.org To: linux-tip-commits@vger.kernel.org Subject: [tip: objtool/core] objtool: Install libsubcmd in build Cc: Ian Rogers , Josh Poimboeuf , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20230126190606.40739-2-irogers@google.com> References: <20230126190606.40739-2-irogers@google.com> MIME-Version: 1.0 Message-ID: <167526879563.4906.4436070858180798177.tip-bot2@tip-bot2> Robot-ID: Robot-Unsubscribe: Contact to get blacklisted from these emails X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE, SPF_PASS 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?1756113260709240245?= X-GMAIL-MSGID: =?utf-8?q?1756646907809021348?= The following commit has been merged into the objtool/core branch of tip: Commit-ID: bdb8bf7d56afd1d22c12c61455d732d3baff2bde Gitweb: https://git.kernel.org/tip/bdb8bf7d56afd1d22c12c61455d732d3baff2bde Author: Ian Rogers AuthorDate: Thu, 26 Jan 2023 11:06:04 -08:00 Committer: Josh Poimboeuf CommitterDate: Mon, 30 Jan 2023 16:27:46 -08:00 objtool: Install libsubcmd in build 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 Link: https://lore.kernel.org/r/20230126190606.40739-2-irogers@google.com Signed-off-by: Josh Poimboeuf --- tools/objtool/.gitignore | 1 + tools/objtool/Build | 2 -- tools/objtool/Makefile | 31 +++++++++++++++++++++++-------- 3 files changed, 24 insertions(+), 10 deletions(-) diff --git a/tools/objtool/.gitignore b/tools/objtool/.gitignore index 14236db..4faa4dd 100644 --- a/tools/objtool/.gitignore +++ b/tools/objtool/.gitignore @@ -2,3 +2,4 @@ arch/x86/lib/inat-tables.c /objtool fixdep +libsubcmd/ diff --git a/tools/objtool/Build b/tools/objtool/Build index 33f2ee5..a3cdf8a 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 a3a9cc2..3505ae4 100644 --- a/tools/objtool/Makefile +++ b/tools/objtool/Makefile @@ -12,9 +12,13 @@ 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 = $(LIBSUBCMD_OUTPUT)/libsubcmd.a OBJTOOL := $(OUTPUT)objtool OBJTOOL_IN := $(OBJTOOL)-in.o @@ -28,7 +32,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 +43,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 +63,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 $(LIBSUBCMD_OUTPUT) FORCE + @$(MAKE) -C $(LIBSUBCMD_DIR) O=$(LIBSUBCMD_OUTPUT) \ + DESTDIR=$(LIBSUBCMD_OUTPUT) 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: