Received: by 2002:a05:7412:da14:b0:e2:908c:2ebd with SMTP id fe20csp627920rdb; Fri, 6 Oct 2023 13:39:49 -0700 (PDT) X-Google-Smtp-Source: AGHT+IG7gKiuLUAPS9t1UEZlijrQNsMdoKdL+g8FUk9gSOgMoC1x3lBeI3Slh9pVzptekIQQrvqj X-Received: by 2002:a17:90b:3911:b0:268:5431:f2a7 with SMTP id ob17-20020a17090b391100b002685431f2a7mr9643919pjb.28.1696624789393; Fri, 06 Oct 2023 13:39:49 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1696624789; cv=none; d=google.com; s=arc-20160816; b=GVDAPphd/ADEPtcz0/ohEGcHlIS1HzUrnNwhPMWuKpSg9YwrQ3IjHItG81baPUvRK2 WNvsk4naLAXfN9bbUSq73HO93Mo/PjrUd91W4L977DjU22OzmzMEZ0FVADXJTmTbVsvZ u3f7ZSoQ2LAKO5gPKw/q1V4Nhtf/8wc9wgw/GXOeBZod6WTYvqY+pS6i66eD+trmSwa4 XD88LAefC3ywQRb+3UwEcTDEoK8Yq3sWmVRuWthvUuz0J2purA5ZdKdt9ud/NttKoxCD kSdrzPJ7/y4HcMLv5OcIE46cgeVKk5IasSjl0wG/sDtF4RCZMskB17FUbG/aYH/OYsfv bu2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=vBnY223+UcCK7rzFoc5ulYVlozys8xUWOd34LCUCsy4=; fh=drw2JuRgJ3IHtU7A4GBDv7wlwrlQso0ATZ8ZHfwD19E=; b=zjF5egQMOmQnDDcZ1UEQxn4v/7ye2SElmW7Z88NjlYNe0SoIGZUsIesRaYkU9d2JC0 4E3EpTAoDsi+oDHq5iGJ6m4rwfj/5vV+EQDIBvftfIvtlraHSFJBncHrxFwiywbPqDio uZUjE+YpyeWDkrSG2oWV4GbHashzBktNSnECfu7yVr8jxJIdUfWYchwVMOpI0JL/rNG5 0mB4AFTt38ousxuyXEZ4esGjn3CM4PXtbdeGlKVQw5psjNqzfF6sNo+jBg0Uim4acdMz Y1NhgbwbksCvDJXfUo6qznZHLguIAxEiJ0ZRaDhk2+00THn945LZxT6vnYFA2nj7JKKf rKGA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=dc2v+PVJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 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 fry.vger.email (fry.vger.email. [23.128.96.38]) by mx.google.com with ESMTPS id mu9-20020a17090b388900b00279435d74d8si7336450pjb.135.2023.10.06.13.39.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Oct 2023 13:39:49 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 as permitted sender) client-ip=23.128.96.38; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=dc2v+PVJ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.38 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 (depot.vger.email [IPv6:2620:137:e000::3:0]) by fry.vger.email (Postfix) with ESMTP id BFA3B80A0DC2; Fri, 6 Oct 2023 13:39:46 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at fry.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233133AbjJFUja (ORCPT + 99 others); Fri, 6 Oct 2023 16:39:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33794 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233452AbjJFUj3 (ORCPT ); Fri, 6 Oct 2023 16:39:29 -0400 Received: from mail-wr1-x434.google.com (mail-wr1-x434.google.com [IPv6:2a00:1450:4864:20::434]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A3EC8BE for ; Fri, 6 Oct 2023 13:39:27 -0700 (PDT) Received: by mail-wr1-x434.google.com with SMTP id ffacd0b85a97d-3226b8de467so2429476f8f.3 for ; Fri, 06 Oct 2023 13:39:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1696624766; x=1697229566; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=vBnY223+UcCK7rzFoc5ulYVlozys8xUWOd34LCUCsy4=; b=dc2v+PVJvVr0uoQ1UKJpUoQvg0hKyxhQJnGZOMO31fdSqSocFG5hozuNR+OPpAouoZ EslfSr5iHQagc1GQ/3slV9tHwSD4px1Ppk9fOInBW1Yg1uD0Oqoxn4SbEngrmMrupRfq 8ARNyZh65P7T06uk7eFwWmPmhUq0EBtZq4PmHBDiMGcQm10jqFfHwJSl7H+fZcwPMqgo ST5jJO9mRJi8Pl/2L4iLOiPiRp9LihXWTtAD/kLam685elHMJoRbjoQHwxppRwAbwXdU NbTYOlzNwhgfpO4hIgNNKqmPZPYAZlxgXpqu/HfGWUJdV0DsWwXTY5SSfjZk6KNwGA0t bx+A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1696624766; x=1697229566; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=vBnY223+UcCK7rzFoc5ulYVlozys8xUWOd34LCUCsy4=; b=o5vGEnXkoH6NVwTZ2w/cQ+OziJL7S8JlxujSEFfRJ+VTxu2rve/RZDm2cDx00jXQOS O7CsjRfv9q6t0YhWg/2WnWdYPVz8k+HqKSjvZiJnvUlXF1VsfUhnfAv4yU7GgcDU5Fz6 jXJsNN3s8vsR1herV1hAYyNYGq8JXGG9KR5Jlt4lMXpL5UTeCVklpUKG1omMqJrr0ZAF PDIPNpRANZxTuLrbFmNCSQTHV3hACEoj+atiTTLOa6VDyceGnG6Ke8XLuzDrjCDBd7J0 1ZmDwARphTW6f70eINnhyGIBbsfQwagoITzwQbZ2XczAAVPFPd7FcAOqVCXaPjg3apDb +WIg== X-Gm-Message-State: AOJu0YxiMc9TmSiHJuHzNI9YBZ8wOlaaPUeKbtqoNcoPYyDkG3TIOnjU o+sivLu5xgzaVBZeJHQ4S7yDj4E+cGl3WKF9KIMnHQ== X-Received: by 2002:a5d:58f2:0:b0:31f:f326:766b with SMTP id f18-20020a5d58f2000000b0031ff326766bmr7910442wrd.6.1696624765796; Fri, 06 Oct 2023 13:39:25 -0700 (PDT) MIME-Version: 1.0 References: <20231005214057.759089-1-mmaurer@google.com> In-Reply-To: <20231005214057.759089-1-mmaurer@google.com> From: Nick Desaulniers Date: Fri, 6 Oct 2023 13:39:11 -0700 Message-ID: Subject: Re: [PATCH v4] rust: Respect HOSTCC when linking for host To: Matthew Maurer Cc: Miguel Ojeda , Alex Gaynor , Wedson Almeida Filho , Masahiro Yamada , Nathan Chancellor , Boqun Feng , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Nicolas Schier , Tom Rix , rust-for-linux@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, llvm@lists.linux.dev Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-4.8 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_SBL_CSS,SPF_HELO_NONE,SPF_PASS, 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 fry.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (fry.vger.email [0.0.0.0]); Fri, 06 Oct 2023 13:39:46 -0700 (PDT) On Thu, Oct 5, 2023 at 2:41=E2=80=AFPM Matthew Maurer = wrote: > > Currently, rustc defaults to invoking `cc`, even if `HOSTCC` is defined, > resulting in build failures in hermetic environments where `cc` does not > exist. This includes both hostprogs and proc-macros. > > Since we are setting the linker to `HOSTCC`, we set the linker flavor to > `gcc` explicitly. The linker-flavor selects both which linker to search > for if the linker is unset, and which kind of linker flags to pass. > Without this flag, `rustc` would attempt to determine which flags to > pass based on the name of the binary passed as `HOSTCC`. `gcc` is the > name of the linker-flavor used by `rustc` for all C compilers, including > both `gcc` and `clang`. > > Signed-off-by: Matthew Maurer > --- > > Edited to use escsq in both Makefiles, as per Masahiro Yamada's > suggestion. That looks better; thanks Matthew! Reviewed-by: Nick Desaulniers > > rust/Makefile | 2 ++ > scripts/Makefile.host | 2 ++ > 2 files changed, 4 insertions(+) > > diff --git a/rust/Makefile b/rust/Makefile > index 87958e864be0..2ddd821d9435 100644 > --- a/rust/Makefile > +++ b/rust/Makefile > @@ -383,6 +383,8 @@ $(obj)/exports_kernel_generated.h: $(obj)/kernel.o FO= RCE > quiet_cmd_rustc_procmacro =3D $(RUSTC_OR_CLIPPY_QUIET) P $@ > cmd_rustc_procmacro =3D \ > $(RUSTC_OR_CLIPPY) $(rust_common_flags) \ > + -Clinker-flavor=3Dgcc -Clinker=3D$(HOSTCC) \ > + -Clink-args=3D'$(call escsq,$(KBUILD_HOSTLDFLAGS))' \ > --emit=3Ddep-info=3D$(depfile) --emit=3Dlink=3D$@ --exter= n proc_macro \ > --crate-type proc-macro \ > --crate-name $(patsubst lib%.so,%,$(notdir $@)) $< > diff --git a/scripts/Makefile.host b/scripts/Makefile.host > index 8f7f842b54f9..08d83d9db31a 100644 > --- a/scripts/Makefile.host > +++ b/scripts/Makefile.host > @@ -91,6 +91,8 @@ hostcxx_flags =3D -Wp,-MMD,$(depfile) \ > # current working directory, which may be not accessible in the out-of-t= ree > # modules case. > hostrust_flags =3D --out-dir $(dir $@) --emit=3Ddep-info=3D$(depfile) \ > + -Clinker-flavor=3Dgcc -Clinker=3D$(HOSTCC) \ > + -Clink-args=3D'$(call escsq,$(KBUILD_HOSTLDFLAGS))' \ > $(KBUILD_HOSTRUSTFLAGS) $(HOST_EXTRARUSTFLAGS) \ > $(HOSTRUSTFLAGS_$(target-stem)) > > -- > 2.42.0.609.gbb76f46606-goog > --=20 Thanks, ~Nick Desaulniers