From patchwork Sat Feb 4 10:17:12 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: 52761 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:adf:eb09:0:0:0:0:0 with SMTP id s9csp1295753wrn; Sat, 4 Feb 2023 02:37:35 -0800 (PST) X-Google-Smtp-Source: AK7set/YLlqgemF9BJ2iHcR0av0PVkbbsQYM5etttr2oh/eR5f1tI/TA6GvJ+JNG+90Y8WnRS0TV X-Received: by 2002:a50:ee92:0:b0:499:376e:6b2b with SMTP id f18-20020a50ee92000000b00499376e6b2bmr13247474edr.0.1675507054925; Sat, 04 Feb 2023 02:37:34 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1675507054; cv=none; d=google.com; s=arc-20160816; b=M4P5Ay5dwu9+5gFkLu1nlLD0+MUKy/y+1J/v4BBCWhbCe5FQv1gKGpt802e1Pxxffd f6Bss47kvp7Y1fKwYTwepIPqtLbKs5c1X3b6M3ktuiUjHc6wM8VSPU8iMMQNp9GIvhw9 1jzG1mdqCUCyJxr5ct8pzjm6LIYe4QX4dqSAx3uvW5D1AA+cJOL+jd97xoowPbSHyl1r bHEHRMTn86COpabABpmUVC9o+WKgT8UNHJPCwHgX6C5W/wm9fMoNfSrNyUxTR4aGLSDQ x3BCtuCjvYyHAmNP1fHE3opuLFP06fSTnpl9ufqBzXwEUjLTuME5c9VgO5hm0Y//+jw4 KUlA== 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=k+ErJ1ZCIB+Rxig0Iv3wV0IJ2MH7kvriSO+behyK/Rc=; b=UMkAzVb+5FIWuLNZ2SVb/curox2YlEE8wyz3rsezzfzSmuF48bsttOjnyUUTmfW+rG 4X09AnUeVQBejfppJPXZzhRJRF3or32Szo91Xpi5O8rBX6OI+KIwbK63JFqu580jaS4z 7gi5XiSiCSj7LfxC/JaM1aifvBS9TtJKg2f8XdLDOEtJOaUEvE0gXW1hpBVJOr6WRdMN u9XIfiuhx75Dhzje5Y36eRDlEziUs5NqRlxQmSao0N9/lL2kckgcCX2HCn3wR3I9qeUd RlGSSoMhji/YpQCCnnwAMT0a30aHWh0LAe+llT20gsidXn7CJRfAVwSUJBvzx2ap3trA xWSQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=YlJDdRmK; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=Gm281Gt1; 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 b18-20020aa7c912000000b004a219af6b10si1227939edt.297.2023.02.04.02.37.07; Sat, 04 Feb 2023 02:37:34 -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=YlJDdRmK; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=Gm281Gt1; 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 S233703AbjBDKSP (ORCPT + 99 others); Sat, 4 Feb 2023 05:18:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49258 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232824AbjBDKRn (ORCPT ); Sat, 4 Feb 2023 05:17:43 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA322301B4; Sat, 4 Feb 2023 02:17:22 -0800 (PST) Date: Sat, 04 Feb 2023 10:17:12 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1675505832; 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=k+ErJ1ZCIB+Rxig0Iv3wV0IJ2MH7kvriSO+behyK/Rc=; b=YlJDdRmKBRvD0Drv4stjgVarILGT4Qkd+/XXAxvWKxkIEaXOdhsnm7dv7at42K/FSeeWuQ lnTaLvfdCB/Ue1wc7Ui97mTdNtznsEu77ypSy+x2b1VVbUCPOWYtUBF3VV1IHZqOxE59yz JfkFx2ZHLZtTmOQPy2/4MAQi8MNfAGPTukqcxiHuR4msTyjCj79KgYnzpTSuIJVLrtCSl+ +oCRno4YvFW+robdTiXFg7WTyTfXn0ClPDi+xrdy/qY1/LIgUU3w+pACtuP37lo4/gfKAG GedLXfndmtucpIGSu2hwTyMAU1vKTXBN1knbP4QqJdnvsfkEJ2P4D5FZYBkZkw== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1675505832; 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=k+ErJ1ZCIB+Rxig0Iv3wV0IJ2MH7kvriSO+behyK/Rc=; b=Gm281Gt1vWg0CIkRKbpwbNWsGORTZNXm+7s5e0+X4DJpraXzcZ2T5qx/sbCN7S3JFoyV00 SZZs7/6GEUSwY9CA== 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: Fix HOSTCC flag usage Cc: Ian Rogers , Josh Poimboeuf , x86@kernel.org, linux-kernel@vger.kernel.org In-Reply-To: <20230126190606.40739-4-irogers@google.com> References: <20230126190606.40739-4-irogers@google.com> MIME-Version: 1.0 Message-ID: <167550583232.4906.8771609199163881104.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?1756646954627527600?= X-GMAIL-MSGID: =?utf-8?q?1756896485598257808?= The following commit has been merged into the objtool/core branch of tip: Commit-ID: cd955bdd6aa5ec54cdef622a142f8899a64b5446 Gitweb: https://git.kernel.org/tip/cd955bdd6aa5ec54cdef622a142f8899a64b5446 Author: Ian Rogers AuthorDate: Thu, 26 Jan 2023 11:06:06 -08:00 Committer: Josh Poimboeuf CommitterDate: Wed, 01 Feb 2023 09:15:18 -08:00 objtool: Fix HOSTCC flag usage HOSTCC is always wanted when building objtool. Setting CC to HOSTCC happens after tools/scripts/Makefile.include is included, meaning flags (like CFLAGS) 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 the CC variable to HOSTCC, just pass CC as HOSTCC to the sub-makes of Makefile.build, the libsubcmd builds and also to the linkage step. Signed-off-by: Ian Rogers Link: https://lore.kernel.org/r/20230126190606.40739-4-irogers@google.com Signed-off-by: Josh Poimboeuf --- tools/objtool/Makefile | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/tools/objtool/Makefile b/tools/objtool/Makefile index d54b669..83b100c 100644 --- a/tools/objtool/Makefile +++ b/tools/objtool/Makefile @@ -2,11 +2,6 @@ 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))) @@ -34,13 +29,18 @@ INCLUDES := -I$(srctree)/tools/include \ -I$(srctree)/tools/objtool/include \ -I$(srctree)/tools/objtool/arch/$(SRCARCH)/include \ -I$(LIBSUBCMD_OUTPUT)/include +# Note, EXTRA_WARNINGS here was determined for CC and not HOSTCC, it +# is passed here to match a legacy behavior. 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) +OBJTOOL_CFLAGS := -Werror $(WARNINGS) $(KBUILD_HOSTCFLAGS) -g $(INCLUDES) $(LIBELF_FLAGS) +OBJTOOL_LDFLAGS := $(LIBELF_LIBS) $(LIBSUBCMD) $(KBUILD_HOSTLDFLAGS) # 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) +elfshdr := $(shell echo '$(pound)include ' | $(HOSTCC) $(OBJTOOL_CFLAGS) -x c -E - | grep elf_getshdr) +OBJTOOL_CFLAGS += $(if $(elfshdr),,-DLIBELF_USE_DEPRECATED) + +# Always want host compilation. +HOST_OVERRIDES := CC="$(HOSTCC)" LD="$(HOSTLD)" AR="$(HOSTAR)" AWK = awk MKDIR = mkdir @@ -61,12 +61,14 @@ export BUILD_ORC export srctree OUTPUT CFLAGS SRCARCH AWK include $(srctree)/tools/build/Makefile.include -$(OBJTOOL_IN): fixdep FORCE +$(OBJTOOL_IN): fixdep $(LIBSUBCMD) FORCE $(Q)$(CONFIG_SHELL) ./sync-check.sh - $(Q)$(MAKE) $(build)=objtool + $(Q)$(MAKE) $(build)=objtool $(HOST_OVERRIDES) CFLAGS="$(OBJTOOL_CFLAGS)" \ + LDFLAGS="$(OBJTOOL_LDFLAGS)" + $(OBJTOOL): $(LIBSUBCMD) $(OBJTOOL_IN) - $(QUIET_LINK)$(CC) $(OBJTOOL_IN) $(LDFLAGS) -o $@ + $(QUIET_LINK)$(HOSTCC) $(OBJTOOL_IN) $(OBJTOOL_LDFLAGS) -o $@ $(LIBSUBCMD_OUTPUT): @@ -75,6 +77,7 @@ $(LIBSUBCMD_OUTPUT): $(LIBSUBCMD): fixdep $(LIBSUBCMD_OUTPUT) FORCE $(Q)$(MAKE) -C $(LIBSUBCMD_DIR) O=$(LIBSUBCMD_OUTPUT) \ DESTDIR=$(LIBSUBCMD_OUTPUT) prefix= subdir= \ + $(HOST_OVERRIDES) EXTRA_CFLAGS="$(OBJTOOL_CFLAGS)" \ $@ install_headers $(LIBSUBCMD)-clean: