From nobody Mon May 25 01:14:40 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 44BB92F8EB8 for ; Wed, 20 May 2026 06:47:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259623; cv=none; b=WAjiZ607YRmcFhw1PgNm2ZoWF8c8XPqqtMNW0NaZQom6Jnl2t5cjkPPidgZimcTQ5HamDiaN2/o6z53NwLg+3nBvMSOhgZjk6n1AFxARtacDrXu+0fNn4CR+PujiOcvCXh7Edrg6QpuSFcQMcf46nwb5hea7MS/wjZJF0pZFVhE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259623; c=relaxed/simple; bh=y2q+P5Gtd2nWmdYU3MT+yZqr5GN4aYF15vwh7wuHZvw=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=UKpi7wPvr6UtMJXw74/zlUdQD0PbAcIhyRs3FqGhb8hULl5D/0Ng/GYhI5X/ALJ1iCbaSYitfMuZEr1AITjzyJn1HQ/+fnSpVpDU/HMicT9HNJpqRKx0V5uTVFf8kCcEGgE6iXVaNiisY5fmP2J1tgRO2BJqWqtVbWlj6SPWiDI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=DEi2gadf; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DEi2gadf" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-36a15ed5119so990860a91.3 for ; Tue, 19 May 2026 23:47:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779259622; x=1779864422; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=TU7+XcdePJSecm70VThX1UAzvln9So5XNBiU0U3tbJ8=; b=DEi2gadfDV6jhnz4XR5fqBkDv0Zrs4bV/1J1GWv3+xlNNhjCElfyOvL1xlhZjL5JOm emW9a6wPj77PzzAwYjhn7tBeEhM9Oy2KcScqgNc7zvQG7Y0BJHOFyrEQc8teMqAaPDtf qOoXyedBYBbeHf1zJwcemhfKWun4b7Az3UDhskcYe1RH1rdqevfnaPgjsoJ39RIiMxZV LNrGwVkd79q4CAfoIrwJ65g98y9ew/LdavjfjEBRDqnm66fdWAsM9+ZPlgEV8x5nDpxh zVKFTiooCSNdyGpD4uLGFnfJFloY4v/L/voglfRhTif5JUxUa3hPox8QKJPfr4n5WTze QHxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779259622; x=1779864422; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=TU7+XcdePJSecm70VThX1UAzvln9So5XNBiU0U3tbJ8=; b=qM8aAn2MQfCl7ws96Zt1dlLj6P0OwxLehijLvKHJKIwsmXyV6/N3BBL4X4Uo4SpArb AXJP5emHqzUgWIRks3X5liNrSuz+k9PA7Cubb3IAO7zblV2LvVDlaD/pwxpW+wNl4Nxa k0MKesO4gLkbJhtd4VsRNsUt++7XPHEgPhy8vyfdpbxmh5/CXu4lKFBUa6vVZm6k05cD iCDSN+4zJRFgIk2IC3ENaOFpC9umd3dGy/a4IRtVy7pLlJHAENBWg9BNlFPpZ2gey2yB pGEXtHRC7hV4qDrV7nZiEKGUF7hAqb+AL0IUePBAlc5jSWd+Lg8BucqfyqFLuS59msEo 9ZaA== X-Forwarded-Encrypted: i=1; AFNElJ9jxsj48rGHHqaqLZWz44IhqJzDpGh7Fi34SEcmMs09KMeokT3Woq4q2Tqd8UT/c2OPzw/jYmh9IUF1JBg=@vger.kernel.org X-Gm-Message-State: AOJu0YzK0i3PutubOhxDysu2fB7G8mxj4uJSnJvUGfAom7AgQPJzq1pD 3Z8xy3xtrnmyjkmFQLgxz7KeBRKJONWV4htH4+za641A2t1FnXvS3Fkv X-Gm-Gg: Acq92OGRP2wqirG9lNrt19a5GfQFrClIudBBZYf0wgfqldaehsgn3ncSADXfGpyRTD0 FrZytz4VzEqi7hi9HNuFuqMXxC/4o9mMsOHTzaR+EhvTPInbK+LmoHMck7sQtJalsSSXtsZBFP+ pLLJ3t0BO3eW0+OMPIC5AXacfn1oW8fDb/dxEO2d/ENFYUS9WPwU4BXu3GjRpoJjt73pqmJVz/O Vjqs/datmVhMEMtXBXxnVwV1leS2amqNqQ7hJv4beE1IRdLBclpisd+cNHB74UPVlgMdx15Itbz /bqgMf60xKZofAfQmBMfuZpv2FS+ecIndfrgp/5ozZffAgLlOEGZcDTs0xAgS+VoZgMDBl475Cq NHqVoTG03SKUaYmjRPr5MZ28oCR8X2UbvnKR4daUPBy4qq/T28w9A4pdPsQwyUSBRoYvBBmJVDc y1CAebaORytGuWisMFRazfzTZslbcUumnEulV7+l21a72IhXeiuK3/FkTciBFZGZVmXhg0e0tXU BUSrB8uBYYjPqw= X-Received: by 2002:a17:90b:5904:b0:367:d850:6a5f with SMTP id 98e67ed59e1d1-36951c9f53dmr23341879a91.25.1779259621592; Tue, 19 May 2026 23:47:01 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com.com ([106.51.160.236]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3695a0e93e0sm6069970a91.10.2026.05.19.23.46.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 23:47:01 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, peterz@infradead.org, jpoimboe@kernel.org, jbaron@akamai.com, aliceryhl@google.com, rostedt@goodmis.org, ardb@kernel.org, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, dakr@kernel.org, nathan@kernel.org, nick.desaulniers+lkml@gmail.com, morbo@google.com, justinstitt@google.com, daniel.almeida@collabora.com, acourbot@nvidia.com, fujita.tomonori@gmail.com, gregkh@linuxfoundation.org, prafulrai522@gmail.com, tamird@kernel.org, kees@kernel.org, mkchauras@gmail.com, lyude@redhat.com, airlied@gmail.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev Subject: [PATCH V16 1/7] rust: Fix "multiple candidates for rmeta dependency core" error Date: Wed, 20 May 2026 12:16:23 +0530 Message-ID: <20260520064630.1785283-2-mkchauras@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520064630.1785283-1-mkchauras@gmail.com> References: <20260520064630.1785283-1-mkchauras@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When building Rust code for powerpc64le with LLVM=3D1 and -j1, rustc encounters an error: "multiple candidates for `rmeta` dependency `core` found", with two candidates: 1. The host's standard library from the rustup toolchain 2. The kernel's custom libcore.rmeta in the rust/ directory This occurs because the build system uses `-L$(objtree)/rust` for host library builds (proc_macro2, quote, syn), which causes rustc to search the rust/ directory. During this search, rustc finds both the kernel's custom libcore.rmeta and gains access to the host's standard library, creating a conflict. The solution is to separate host libraries into a dedicated rust/host/ subdirectory and use `-L$(objtree)/rust/host` for host builds instead of `-L$(objtree)/rust`. This ensures that: 1. Host library builds (proc_macro2, quote, syn) only search rust/host/ and never encounter the kernel's libcore.rmeta 2. Proc macro builds use `-L$(objtree)/rust/host` to find their dependencies Special handling is added for rustdoc-pin_init, which is a host build (to access the alloc crate) but depends on proc macros from the main rust/ directory. It uses explicit `--extern` paths to reference the proc macros without adding `-L$(objtree)/rust`, which would reintroduce the conflict. The rust/host/ directory is added to clean-files to ensure it's removed during `make clean`. Link: https://github.com/Rust-for-Linux/linux/issues/105 Link: https://github.com/linuxppc/issues/issues/451 Signed-off-by: Mukesh Kumar Chaurasiya (IBM) --- rust/Makefile | 38 +++++++++++++++++++++----------------- 1 file changed, 21 insertions(+), 17 deletions(-) diff --git a/rust/Makefile b/rust/Makefile index b9e9f512cec3..6d7ed7a1ff18 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -3,6 +3,9 @@ # Where to place rustdoc generated documentation rustdoc_output :=3D $(objtree)/Documentation/output/rust/rustdoc =20 +# Clean generated host directory +clean-files :=3D host/ + obj-$(CONFIG_RUST) +=3D core.o compiler_builtins.o ffi.o always-$(CONFIG_RUST) +=3D exports_core_generated.h =20 @@ -31,7 +34,7 @@ endif =20 obj-$(CONFIG_RUST) +=3D exports.o =20 -always-$(CONFIG_RUST) +=3D libproc_macro2.rlib libquote.rlib libsyn.rlib +always-$(CONFIG_RUST) +=3D host/libproc_macro2.rlib host/libquote.rlib hos= t/libsyn.rlib =20 always-$(CONFIG_RUST_KERNEL_DOCTESTS) +=3D doctests_kernel_generated.rs always-$(CONFIG_RUST_KERNEL_DOCTESTS) +=3D doctests_kernel_generated_kunit= .c @@ -146,7 +149,7 @@ quiet_cmd_rustdoc =3D RUSTDOC $(if $(rustdoc_host),H, )= $< cmd_rustdoc =3D \ OBJTREE=3D$(abspath $(objtree)) \ $(RUSTDOC) $(filter-out $(skip_flags) --remap-path-scope=3D%,$(if $(rustd= oc_host),$(rust_common_flags),$(rust_flags))) \ - $(rustc_target_flags) -L$(objtree)/$(obj) \ + $(rustc_target_flags) -L$(objtree)/$(obj)$(if $(rustdoc_host),/host) \ -Zunstable-options --generate-link-to-definition \ --output $(rustdoc_output) \ --crate-name $(subst rustdoc-,,$@) \ @@ -231,6 +234,7 @@ rustdoc-pin_init_internal: $(src)/pin-init/internal/src= /lib.rs \ =20 rustdoc-pin_init: private rustdoc_host =3D yes rustdoc-pin_init: private rustc_target_flags =3D $(pin_init-flags) \ + --extern pin_init_internal=3D$(objtree)/$(obj)/$(libpin_init_internal_= name) \ --extern alloc --cfg feature=3D\"alloc\" rustdoc-pin_init: $(src)/pin-init/src/lib.rs rustdoc-pin_init_internal \ rustdoc-macros FORCE @@ -522,23 +526,23 @@ quiet_cmd_rustc_procmacrolibrary =3D $(RUSTC_OR_CLIPP= Y_QUIET) PL $@ $(if $(skip_clippy),$(RUSTC),$(RUSTC_OR_CLIPPY)) \ $(filter-out $(skip_flags),$(rust_common_flags) $(rustc_target_flags)) \ --emit=3Ddep-info=3D$(depfile) --emit=3Dlink=3D$@ --crate-type rlib -O \ - --out-dir $(objtree)/$(obj) -L$(objtree)/$(obj) \ + --out-dir $(objtree)/$(obj)/host -L$(objtree)/$(obj)/host \ --crate-name $(patsubst lib%.rlib,%,$(notdir $@)) $< =20 -$(obj)/libproc_macro2.rlib: private skip_clippy =3D 1 -$(obj)/libproc_macro2.rlib: private rustc_target_flags =3D $(proc_macro2-f= lags) -$(obj)/libproc_macro2.rlib: $(src)/proc-macro2/lib.rs FORCE +$(obj)/host/libproc_macro2.rlib: private skip_clippy =3D 1 +$(obj)/host/libproc_macro2.rlib: private rustc_target_flags =3D $(proc_mac= ro2-flags) +$(obj)/host/libproc_macro2.rlib: $(src)/proc-macro2/lib.rs FORCE +$(call if_changed_dep,rustc_procmacrolibrary) =20 -$(obj)/libquote.rlib: private skip_clippy =3D 1 -$(obj)/libquote.rlib: private skip_flags =3D $(quote-skip_flags) -$(obj)/libquote.rlib: private rustc_target_flags =3D $(quote-flags) -$(obj)/libquote.rlib: $(src)/quote/lib.rs $(obj)/libproc_macro2.rlib FORCE +$(obj)/host/libquote.rlib: private skip_clippy =3D 1 +$(obj)/host/libquote.rlib: private skip_flags =3D $(quote-skip_flags) +$(obj)/host/libquote.rlib: private rustc_target_flags =3D $(quote-flags) +$(obj)/host/libquote.rlib: $(src)/quote/lib.rs $(obj)/host/libproc_macro2.= rlib FORCE +$(call if_changed_dep,rustc_procmacrolibrary) =20 -$(obj)/libsyn.rlib: private skip_clippy =3D 1 -$(obj)/libsyn.rlib: private rustc_target_flags =3D $(syn-flags) -$(obj)/libsyn.rlib: $(src)/syn/lib.rs $(obj)/libquote.rlib FORCE +$(obj)/host/libsyn.rlib: private skip_clippy =3D 1 +$(obj)/host/libsyn.rlib: private rustc_target_flags =3D $(syn-flags) +$(obj)/host/libsyn.rlib: $(src)/syn/lib.rs $(obj)/host/libquote.rlib FORCE +$(call if_changed_dep,rustc_procmacrolibrary) =20 quiet_cmd_rustc_procmacro =3D $(RUSTC_OR_CLIPPY_QUIET) P $@ @@ -547,20 +551,20 @@ quiet_cmd_rustc_procmacro =3D $(RUSTC_OR_CLIPPY_QUIET= ) P $@ -Clinker-flavor=3Dgcc -Clinker=3D$(HOSTCC) \ -Clink-args=3D'$(call escsq,$(KBUILD_PROCMACROLDFLAGS))' \ --emit=3Ddep-info=3D$(depfile) --emit=3Dlink=3D$@ --extern proc_macro \ - --crate-type proc-macro -L$(objtree)/$(obj) \ + --crate-type proc-macro -L$(objtree)/$(obj)/host \ --crate-name $(patsubst lib%.$(libmacros_extension),%,$(notdir $@)) \ @$(objtree)/include/generated/rustc_cfg $< =20 # Procedural macros can only be used with the `rustc` that compiled it. $(obj)/$(libmacros_name): private rustc_target_flags =3D \ --extern proc_macro2 --extern quote --extern syn -$(obj)/$(libmacros_name): $(src)/macros/lib.rs $(obj)/libproc_macro2.rlib \ - $(obj)/libquote.rlib $(obj)/libsyn.rlib FORCE +$(obj)/$(libmacros_name): $(src)/macros/lib.rs $(obj)/host/libproc_macro2.= rlib \ + $(obj)/host/libquote.rlib $(obj)/host/libsyn.rlib FORCE +$(call if_changed_dep,rustc_procmacro) =20 $(obj)/$(libpin_init_internal_name): private rustc_target_flags =3D $(pin_= init_internal-flags) $(obj)/$(libpin_init_internal_name): $(src)/pin-init/internal/src/lib.rs \ - $(obj)/libproc_macro2.rlib $(obj)/libquote.rlib $(obj)/libsyn.rlib FOR= CE + $(obj)/host/libproc_macro2.rlib $(obj)/host/libquote.rlib $(obj)/host/= libsyn.rlib FORCE +$(call if_changed_dep,rustc_procmacro) =20 # `rustc` requires `-Zunstable-options` to use custom target specifications --=20 2.54.0 From nobody Mon May 25 01:14:40 2026 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 57BB3364925 for ; Wed, 20 May 2026 06:47:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259635; cv=none; b=q2LCdyvHGsd0AN0FXrGyh9XhXm3ySwltGfp2kMW580ovupTqP2nf2G8ycUbOwW0pxtbn+rOvcLXQz8S+235voUZ3quRyGisqDQdRHbnNcpmjiPXjZqYSmMObOaQJB7I/2dHZbv5GmdRPcNNJNqjc3WprxrJrCzWxDIIMsbSMHBk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259635; c=relaxed/simple; bh=QR4QWT8k+mmoz6qnrdIi5qqyh1l+8z06HXGD6HWzkqo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BrN5kHXqWTglH2PVt2V1r/abvqdHsHmAZJsFBZHSzJV23i2o7EGyiia1tVfpsV6hJWxcWp8q4O7t32Ol+IYqmBglxJKG2DirPXdaJEiwBhEDOI9uK0xoTZ/5UXyFAENdgNr5SqGmGAAOLZ/UcuBFkk2MX7t55boF3vxNoh3ULXA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=aSI1s9+z; arc=none smtp.client-ip=209.85.216.41 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="aSI1s9+z" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-36900945df5so2210119a91.0 for ; Tue, 19 May 2026 23:47:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779259634; x=1779864434; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=gwRmNG2JwhRhCrdTLWtC2EcRcfoo02ZJ1Bao6+rpdQ0=; b=aSI1s9+zXms8ieHFF6aq9I59wHKSa1oQNsvu1Sa2/OgDzM50Xd4CkwG9flgYJF4NOx h90E2uFb847AuM0zxSPSodxytHfXdDUgRyXZ/HN//QMHoVuUUjlXqO1GObx7dya1f+kY KqvhkptZ4lMHvedQefPp8LVxtV3zZgzbUGjEWulgCBMpQHTSqz2yNeAhTl1dJpCszfzz SRNVh0q+rYgz6PLEjaQpg/xO6wCqNRJUO9Dhvh9/eSiHTGSq3MrTfavRa8BoaidGwQF1 qHiaLGJYchTPLrgmKYp6qHtRDFwoKCyZDDFRJbamU6rYOEZKi0rIqKpbt/AEqjMAqCrj 32Gg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779259634; x=1779864434; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=gwRmNG2JwhRhCrdTLWtC2EcRcfoo02ZJ1Bao6+rpdQ0=; b=czhklYe086h1zvpxPReL3EKeN7og+gyXs/CEsYC7HBAJPio2hPik1huUgv4hP/aRIn W9Tm8JkGEI9Hvetd4X2jd95UYjlhoRtu5jBKz38iMZu86nLIxMdv8BEVDI5R0so4I490 np7/baZtR96ORM+GSfrKMBX5A6e0p/endNfqZsL2QtYq89lBM1uDEc9UAY0CZ0aP3LmX RQIk9C9xasfFzbV2uOr4WLJNtbTamDxvb/5QAskOPkdJhKOQQxV2abBk7jfPTlXH5pC4 h3eIlTmEJxFNkXzb1N84qdmAkMZtNCSr7WG2UKVbyRvetDRajQ0pUZf8qJIHgBPXWCpV cvrA== X-Forwarded-Encrypted: i=1; AFNElJ8ye+XJCdVMXeTRl16e1r8Dj595zddE823bvKtWH59Khb2PQ4rCXQEqnM9suB3+2Q2AYTB6iaU2WLGSbI4=@vger.kernel.org X-Gm-Message-State: AOJu0Yy83i7xyo+l9aXNNjTOFMDO2m73vaOswyR2R2h5vqBA9CZOdzBA NoT04B9TNLPi9d4q111QtMtGiaa8qr+Mcv88SkexyZdfqiF8dhiMTuge X-Gm-Gg: Acq92OEc2qYkfYm1PQ4xNTClw2RFCMnU4V3qYt4BgPpsdVtbjX8COMxuSRlChzv1DmM xVgo7PRtnpiTGwfmjJh4x2xkJFJc6JNAvnksedYe2RLJ5qf9qfUqqcE6lRUsh6RbJ1OUd5SjdN0 AsUMNOBxDZgPHiRvEAYmG/7vV36muvIkzQTzDCeSvqG9lOV4hJwYZA4ukrgEbnxzGHnOBAMAUqN AaRaB55Yf3OCc8h0P5C19GEJDite0dLJzPhsuPFdIKfByf4leIPhKni7iz1I92DV3VGe7TuIgRy MpuldL3TejPRuLQQYRkhlyVi4gmuAhLeHC2VlA+KekneZP0Vrr90y5Xmo5KnMCj57RPHTQa/469 DOfcLqlRsdL7V+w1kOReFzuZVm6k+RSLUN6rQ/b8p7Fw99pOLyR0EgDO5wApNvsAwM6skwj0ylh 6pYWL/qw2B7meu84LsuKblmpVlthRvXBpQy673WiAid+e5fiS8gCuvVYn7oWYEnU2AmU+SkEbFa e4C0TQ2YWgwSHU= X-Received: by 2002:a17:90b:4a03:b0:369:7003:4e30 with SMTP id 98e67ed59e1d1-36970035860mr17374050a91.15.1779259633583; Tue, 19 May 2026 23:47:13 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com.com ([106.51.160.236]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3695a0e93e0sm6069970a91.10.2026.05.19.23.47.01 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 23:47:13 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, peterz@infradead.org, jpoimboe@kernel.org, jbaron@akamai.com, aliceryhl@google.com, rostedt@goodmis.org, ardb@kernel.org, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, dakr@kernel.org, nathan@kernel.org, nick.desaulniers+lkml@gmail.com, morbo@google.com, justinstitt@google.com, daniel.almeida@collabora.com, acourbot@nvidia.com, fujita.tomonori@gmail.com, gregkh@linuxfoundation.org, prafulrai522@gmail.com, tamird@kernel.org, kees@kernel.org, mkchauras@gmail.com, lyude@redhat.com, airlied@gmail.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev Cc: =?UTF-8?q?Christian=20K=C3=B6nig?= Subject: [PATCH V16 2/7] dma-resv: Fix undefined symbol when CONFIG_DMA_SHARED_BUFFER is disabled Date: Wed, 20 May 2026 12:16:24 +0530 Message-ID: <20260520064630.1785283-3-mkchauras@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520064630.1785283-1-mkchauras@gmail.com> References: <20260520064630.1785283-1-mkchauras@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable When building with LLVM=3D1 for architectures like powerpc where CONFIG_DMA_SHARED_BUFFER is not enabled, the build fails with: ld.lld: error: undefined symbol: dma_resv_reset_max_fences >>> referenced by helpers.c >>> rust/helpers/helpers.o:(rust_helper_dma_resv_unlock) The issue occurs because: 1. CONFIG_DEBUG_MUTEXES=3Dy is enabled 2. CONFIG_DMA_SHARED_BUFFER is not enabled 3. dma_resv_reset_max_fences() is declared in the header when CONFIG_DEBUG_MUTEXES is set 4. But the function is only compiled in drivers/dma-buf/dma-resv.c, which is only built when CONFIG_DMA_SHARED_BUFFER is enabled 5. Rust helpers call dma_resv_unlock() which calls dma_resv_reset_max_fences(), causing an undefined symbol Fix this by compiling `dma-resv.c` file only when CONFIG_DMA_SHARED_BUFFER is enabled. Fixes: 9b836641d3bf ("rust: helpers: Add bindings/wrappers for dma_resv_loc= k") Reviewed-by: Christian K=C3=B6nig Reviewed-by: Gary Guo Signed-off-by: Mukesh Kumar Chaurasiya (IBM) --- rust/helpers/helpers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/rust/helpers/helpers.c b/rust/helpers/helpers.c index 625921e27dfb..09ee5cac600d 100644 --- a/rust/helpers/helpers.c +++ b/rust/helpers/helpers.c @@ -57,7 +57,9 @@ #include "cred.c" #include "device.c" #include "dma.c" +#ifdef CONFIG_DMA_SHARED_BUFFER #include "dma-resv.c" +#endif #include "drm.c" #include "err.c" #include "irq.c" --=20 2.54.0 From nobody Mon May 25 01:14:40 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 88C1433F5A8 for ; Wed, 20 May 2026 06:47:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259649; cv=none; b=s5mLC4dfEJQ4sh3BRkNiqTYu71toC0D+EyUgZJW37uBg21CIJUbYFtoHO4nirJLf+5C0Ht553tLy0Lqk/ARRvSqwgFjc11mT1APM6MiaBdyMCBWV7xZ5MGeTgR0+3ITEgQnOe0RBS5HtFZUHvA+YtE0kGPhDcnQLUlkHFvR/CvY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259649; c=relaxed/simple; bh=K6MUpZgy5eBIAUkcIRYa1Whzr02Heqs2j5+IBpUoWqc=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gNJb/DeqRo0iGq8/tqo2BLN0xDtYBSgLDn4Nm1KXFt5bJa5a+cNlItPdEF3kDVc2YMvcto3rTU4LrDDCmw8WSFKkMNHUfE3J8EZ2WRfcd5YgR9PP5i3Q72cc9OBfcU/Hh2vrTGEljcMuPIHPAqf38ZtoJGcyVzG67nMvnC5BSJA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=KaNjXXii; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KaNjXXii" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-3660ab73adbso3135492a91.1 for ; Tue, 19 May 2026 23:47:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779259646; x=1779864446; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=1cHgHzHWAoKXE2eMaeg8MSzma23SMwAsMBQx7k/VOAI=; b=KaNjXXii4w1a9rmx9f8/k7giBofh6OXihv18O5SCLo+6uyYsfVlo3hHB0+bF+MgLsd S2eYqwxFQNjOYuPpt0cfpWIdjUHcSY6CGfnG4jpdBPJGv6p8KsXv2soXY5yFndMmP2CY V11BrsjiGQpXDSDd9mDJBQZg5xGD/BT35ZfDlqTaPHxS4QI/X9x+Vb/SV+KWoFZsAX9Y XZnXtS2Q4mgbFsaGzFXnaod6RwOdOCJ0vwiBCMkGgTRFJ3NFtz6ANPTQXrqe6XR0Gqqx 9oSuSdtyBVzLCsrUWKA5WSSgB0A7O+y2ktCzgPixuCNbdbZP/RniDJCHuA4Ivf5DbYAt F7Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779259646; x=1779864446; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=1cHgHzHWAoKXE2eMaeg8MSzma23SMwAsMBQx7k/VOAI=; b=lvCYlsD0weDR/J1ZBk1xl0UOJ0Xr26WYxZ4tYgBqicJW6s/C/bq7yohPLzpaczOSdG WhzYtIHQ/dwdm5ti6/UP8jjddpYMuv6Rb9brRiRlPPla8ednbPtc6VB7hpGVzVXm/a77 hYquLCPhUOw6AH8b3EC8E+ekCkwa2eOCs40GLG9LW08LtuMIsV9aIvgKYFGbVG8iti8d J2i+ITu2loCZzjChLMoDeooT4Q68yPPoiHZ7pdFl3hmtKrM/UIWFQiR6i0neop6Sq2Dq 3wnljBNcSdrTqiN0Fp3XejuHc+kegv5lvrsaUsO1JEtiL+k8RZdRwiBD++ruYjk99Snc EKfg== X-Forwarded-Encrypted: i=1; AFNElJ8seZM0o6s6VhuR9PuWcNwYdEApyNA1CUgb6QPcvS+ABC00ZCmV15AiodklEVQRAqeKXlimV5T0lUJhypg=@vger.kernel.org X-Gm-Message-State: AOJu0YyAYMCJm07MLx4OU0qxWNgc1QF+1pkI4G/Kl2Cp8Aqte5oF/+kR 3jsCjSHoOHJew0wdtO22cYC0dbfpVM9UgM7ZbC6dQOHCcYAW8DmLcHaT X-Gm-Gg: Acq92OGLgvt4FIjZxM0Zi18wK7M47bRTQDymaaBsZGEOABbrpp7HHPMJ4oG8SnshZLT p1XePlpChndk5Z/gF1HLiWunYVhkXaCR03hg2qTKbvvFFxSSIt0HvYRkv7BeQL7CtvaROb3PUxL 124vE5jQ1ZFB6Nl6G40y8ePkeaR7dqjSoGeEQeBF61Umdblkm/orAmkI8qn56qKhaTfRSIsQZRH 9dajoNFRFKLyc2LFNEmr148yPzHk5ht4Um6GyHSfj0kApW7i75cZ0nBDF4UpIfIOUFhtKp8RQlg Htm3wg4xsZjP8nzOsIp1i7vletMTLjmOym8oqzDM9hA5Q6BcoN5rO7sQHGgJdQn7uux8XbKpxRW +LXuTz7H4YrkLEQhMF1c9qba9O25SVROgY9oWXldCecDc7zz7iqgoPPm/oOorGo20m3xLe6ySSS R+PoLrD0S9xkdpjJbq5iEDxV4q9Xheed8l36L9viBquHWcqc5vsvSF86eu3vIBoIMFaUe2p4wKr U6G X-Received: by 2002:a17:90a:f10:b0:369:7944:d723 with SMTP id 98e67ed59e1d1-3697944defbmr7347179a91.4.1779259645871; Tue, 19 May 2026 23:47:25 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com.com ([106.51.160.236]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3695a0e93e0sm6069970a91.10.2026.05.19.23.47.14 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 23:47:25 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, peterz@infradead.org, jpoimboe@kernel.org, jbaron@akamai.com, aliceryhl@google.com, rostedt@goodmis.org, ardb@kernel.org, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, dakr@kernel.org, nathan@kernel.org, nick.desaulniers+lkml@gmail.com, morbo@google.com, justinstitt@google.com, daniel.almeida@collabora.com, acourbot@nvidia.com, fujita.tomonori@gmail.com, gregkh@linuxfoundation.org, prafulrai522@gmail.com, tamird@kernel.org, kees@kernel.org, mkchauras@gmail.com, lyude@redhat.com, airlied@gmail.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev Subject: [PATCH V16 3/7] powerpc/jump_label: adjust inline asm to be consistent Date: Wed, 20 May 2026 12:16:25 +0530 Message-ID: <20260520064630.1785283-4-mkchauras@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520064630.1785283-1-mkchauras@gmail.com> References: <20260520064630.1785283-1-mkchauras@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Added support for a new macro ARCH_STATIC_BRANCH_ASM in powerpc to avoid duplication of inline asm between C and Rust. This is inline with 'commit aecaf181651c ("jump_label: adjust inline asm to be cons= istent")' Co-developed-by: Madhavan Srinivasan Signed-off-by: Madhavan Srinivasan Reviewed-by: Alice Ryhl Reviewed-by: Christophe Leroy (CS GROUP) Reviewed-by: Gary Guo Link: https://github.com/Rust-for-Linux/linux/issues/105 Link: https://github.com/linuxppc/issues/issues/451 Signed-off-by: Mukesh Kumar Chaurasiya (IBM) --- arch/powerpc/include/asm/jump_label.h | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/arch/powerpc/include/asm/jump_label.h b/arch/powerpc/include/a= sm/jump_label.h index d4eaba459a0e..3016e9c8d6bc 100644 --- a/arch/powerpc/include/asm/jump_label.h +++ b/arch/powerpc/include/asm/jump_label.h @@ -15,14 +15,20 @@ #define JUMP_ENTRY_TYPE stringify_in_c(FTR_ENTRY_LONG) #define JUMP_LABEL_NOP_SIZE 4 =20 +#define JUMP_TABLE_ENTRY(key, label) \ + ".pushsection __jump_table, \"aw\" \n\t" \ + ".long 1b - ., " label " - . \n\t" \ + JUMP_ENTRY_TYPE key " - . \n\t" \ + ".popsection \n\t" + +#define ARCH_STATIC_BRANCH_ASM(key, label) \ + "1: nop \n\t" \ + JUMP_TABLE_ENTRY(key, label) + static __always_inline bool arch_static_branch(struct static_key *key, boo= l branch) { - asm goto("1:\n\t" - "nop # arch_static_branch\n\t" - ".pushsection __jump_table, \"aw\"\n\t" - ".long 1b - ., %l[l_yes] - .\n\t" - JUMP_ENTRY_TYPE "%c0 - .\n\t" - ".popsection \n\t" + asm goto( + ARCH_STATIC_BRANCH_ASM("%c0", "%l[l_yes]") : : "i" (&((char *)key)[branch]) : : l_yes); =20 return false; @@ -34,10 +40,7 @@ static __always_inline bool arch_static_branch_jump(stru= ct static_key *key, bool { asm goto("1:\n\t" "b %l[l_yes] # arch_static_branch_jump\n\t" - ".pushsection __jump_table, \"aw\"\n\t" - ".long 1b - ., %l[l_yes] - .\n\t" - JUMP_ENTRY_TYPE "%c0 - .\n\t" - ".popsection \n\t" + JUMP_TABLE_ENTRY("%c0", "%l[l_yes]") : : "i" (&((char *)key)[branch]) : : l_yes); =20 return false; --=20 2.54.0 From nobody Mon May 25 01:14:40 2026 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DFB12364925 for ; Wed, 20 May 2026 06:47:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259660; cv=none; b=G9RVjGxdrtfAXS7q+VeQX2ozFmTP+OlYU7flG8xVSbh6DlUB2K+96tPzhMXFCMSG/3CFTm4hMF5MkDWJP5uXSr9ygJVu/X6k0BGJQLnX86dE9Iu0sKwJbXfTMQL+ImA9SqwxetBtko+z+gR8MQIBXXXKJ+hfdiS/4iRQGhCpM1Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259660; c=relaxed/simple; bh=IE7Rc7fvs9GPBV/ek1LPWWvDTbBnI90elNYNDzaduxA=; h=From:To:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=YlbVEB/wgFnl52G0kQlpnhax8HDZKy035/6KTH6Eun3mCVLgyq06AFafw3cy7WPqVR0piPHGJ8I1lsASIy+pnGe+6gaa0fNzQFg5TefNaAoI4nRSy823/ehPLvZtGKQuww3f9TvI81xNF0i8O8rPNJPPCASlj3GKyqA9QbxPSgU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=BoF3alV/; arc=none smtp.client-ip=209.85.216.52 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BoF3alV/" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-366375c4076so1640614a91.3 for ; Tue, 19 May 2026 23:47:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779259658; x=1779864458; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:from:to:cc:subject:date:message-id :reply-to; bh=yAXxYbsc5I9eqWTeSv6j9oBSm3zo+5SB8Z+tNOyX718=; b=BoF3alV/OQLT1GXcx3R1TiNauBdZs3Brl5PGSkbsrJx6chQGCB48JOPN+CPhMW0tx4 uTwLh3mErm6GB5OaFwmA2kAyAmGJWrnnX/tp/FCx58SaYNmz41c4Hto6Iy2D6qR9t+v9 LkHNhJ3q3UpNsQ1cT3PPMc1H5/wesFR4MKN+544KfPaO8YmCg7QRjui5+j8/ahKSlSiS GF+GBJ4B4B+wfXLmkAVz0CNP9FIGEzhql1PiFwp83N55SwTCD/YcHhVQ95YOw3EwcYjB mOPb7noas585F14zxjxb7po2htG7ae0AqSXFawHqW0VTDnHTBASjUuzHr34dCb6kp8zH ppTQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779259658; x=1779864458; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:to:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=yAXxYbsc5I9eqWTeSv6j9oBSm3zo+5SB8Z+tNOyX718=; b=Ctk0k8XQJJ8ow3/qS/TxCpXCJMK+PcHXXvu3Ta1o/YlJpexxy+oko2LMWau69XRPnj ueXwEuO1nBQi1r512HUuHxmeEdqU2sI2m8iULdbELBJSLKTwG1h6oI5+q3ZmUkIVm3Tp KBE+fUVw94VEbQUJXp1P5qqmnjq6JegCywB0qLTljv49OHaV+MVJ+NdGaxv43i3odXc2 jbuYVzqKRscq6mJ8hRuCbBwQ0Z2lSDvlce/EDTmdZFpYUdxpBZFH6sn4zFOkwgNjEJMz lLQIecnlvUjroASYuoL3LGlJ8AbOHwgtW5AbIDowQIkAV6YLcvg10F5/ans5jI7ABItD UBFg== X-Forwarded-Encrypted: i=1; AFNElJ8YTU63TI59ne+bc2ERXr0txU5yEQ/oLFDSyNLUVr7JXTxMsw4nXSTinud5BagePOifbrhThCJ1IA3/yi4=@vger.kernel.org X-Gm-Message-State: AOJu0YwhI5Ld28V007MrWhdGWRVCskM9Vvlz+M7adCqbmbJivuBAcMDX t01pmTTFwSp1UJtw/o5vEonD2EoH/q0pWxZCBEjSvMEMh6bxyrvLA2Xr X-Gm-Gg: Acq92OHAfjffgJPmI77J4MwmEWbtUG6xA31j4FjqN8+iJRFUT1CTo/Un8yiVa/EPbdi cEo0cZjkE8EL3jFcwR8Jq8lKiIpNWga70J5pCluosjG/vLO9xx628HXDa1w066Ytj6w2ehL4rmm 3UcopidHJvo4n+963IFatLL7bZ+TOp2/CjuCFoSTrF7w8heXX2s+Zbv+QrNoLLQLhbdJaHX3Azc oKOtMWZtDWoyda/bCIBeLiI2O9kU2+KRXHAAjYdBgYtQKeCX35ku8BMYfSM+lHWVgOWuQakxV+I /NdbnDanLwUVOQ1L/HOHJsJ40X0lF4kr8ZcJfYjGlnJiwSFws61FIpFbxCgeu+K0JYlFMGzTZqO ZUpwTgtOpoimvWhHsC4Ah1lHWrHcAWnOc14bgn8rRRsp3uRcOr2CnS6JrrdUWJzZVFLORTvdr/O bNSGO1MZS4T9WjGcGgGhS/1/j51Qf4GeUMjG4SxAC63MWiZA3lJVjqHRg55luGqtZ8CP1IUeRBo h6mTEm8mdWs4MQ= X-Received: by 2002:a17:90b:5688:b0:369:a9e8:dbf5 with SMTP id 98e67ed59e1d1-369a9e8dc51mr13102353a91.3.1779259658100; Tue, 19 May 2026 23:47:38 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com.com ([106.51.160.236]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3695a0e93e0sm6069970a91.10.2026.05.19.23.47.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 23:47:37 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, peterz@infradead.org, jpoimboe@kernel.org, jbaron@akamai.com, aliceryhl@google.com, rostedt@goodmis.org, ardb@kernel.org, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, dakr@kernel.org, nathan@kernel.org, nick.desaulniers+lkml@gmail.com, morbo@google.com, justinstitt@google.com, daniel.almeida@collabora.com, acourbot@nvidia.com, fujita.tomonori@gmail.com, gregkh@linuxfoundation.org, prafulrai522@gmail.com, tamird@kernel.org, kees@kernel.org, mkchauras@gmail.com, lyude@redhat.com, airlied@gmail.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev Subject: [PATCH V16 4/7] rust/powerpc: Set min rustc version for powerpc Date: Wed, 20 May 2026 12:16:26 +0530 Message-ID: <20260520064630.1785283-5-mkchauras@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520064630.1785283-1-mkchauras@gmail.com> References: <20260520064630.1785283-1-mkchauras@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Minimum `rustc` version required for powerpc is 1.95 as some critical features required for compiling rust code for kernel are not there. For example Stable inline asm support which got merged in 1.95. Link: https://github.com/rust-lang/rust/pull/147996 Signed-off-by: Mukesh Kumar Chaurasiya (IBM) --- scripts/min-tool-version.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/min-tool-version.sh b/scripts/min-tool-version.sh index b96ec2d379b6..406895621511 100755 --- a/scripts/min-tool-version.sh +++ b/scripts/min-tool-version.sh @@ -31,7 +31,11 @@ llvm) fi ;; rustc) - echo 1.85.0 + if [ "$ARCH" =3D powerpc ]; then + echo 1.95.0 + else + echo 1.85.0 + fi ;; bindgen) echo 0.71.1 --=20 2.54.0 From nobody Mon May 25 01:14:40 2026 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 461AD340298 for ; Wed, 20 May 2026 06:47:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259672; cv=none; b=Rg1FMwm/vBQUxgdkGcTiHU7msoVb1jdXmM1E3G5TVhweDSzSyrjlpUbGTwSOPbNsNFNA0CJdn7T+KCYJLc9k3pUSc0qOnzizO/RfcscOGZ3kv4ajqBMWAQT0gs6lK2Vr+XnxCCyQNB+oJ0Bkzv4MRNPhTTX53ZoSt8qCUHSbXfM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259672; c=relaxed/simple; bh=Dg93UDfgNMmf3frCyrzgybqXjzCFSicmCtGflkVWgoc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=QMP5egbUWVNTWSEyCBpzvrr3lUOT/lzblcUp4VkLqFyT5mGS/yzs41EE7ORaqu4vjPs5be1vKOqlIgyxjPwh3AV0b7Dq34s8Ml2g0EEmvqrG1pCiOKeYnQRwyA5+11nUsXFddNqHDGDVSp4GU2Iujr9/gT1+YZjO7lMI1ZQjn/c= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=i7gblgcf; arc=none smtp.client-ip=209.85.216.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="i7gblgcf" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-3698e34a567so3851519a91.2 for ; Tue, 19 May 2026 23:47:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779259671; x=1779864471; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=DwFpdmrQysTo8snbwtDD0b/CRHKgzW4YRIXP8JLk4/Y=; b=i7gblgcfoIi1xx+xF9A6RdmgqMOfa6HAnYa8iE8Mo5sWRf7SPrgE81eNx1Y4iD1s4r hl1+9trNBHRc7ZLWnQJRvWpMTYG81QoubXxxxZ3nMif03RbnX6YJkKdh19/PwDJeyc96 3QdxWw7L5o35n+ONzEgZ8zbeUaOiu4TDycqa8tdzQ0wEUpa1q8znG74FY1CMZHRmNuxw eIVQfaomuUL93+p0C5hDBuWr3P9PfNpJpBvhC9KAEZfmkp/oNHanqbqomem59g1oB/Is x2KUw0pE8vYt2UhWN0z7dQFLYhemOXp1H2++LMiM40Y+6PPWN3Xfr/cVaKh7ZY6EsPb2 qkEQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779259671; x=1779864471; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=DwFpdmrQysTo8snbwtDD0b/CRHKgzW4YRIXP8JLk4/Y=; b=Qnolh/NDqdLUyL49KSHCODKHi0cbyUTefdeMZU3vWTcZ23XA2KqfLYJ7Eh1N5Txopb ulCdEUEzHBozDitRoa/RPE5iYJRHjpJE5CV+ooECszctqqYq1Wy+PAGQhZr7OdU+5uqr aDybKw7+LPA0JSoePnpnCf+a5F9SbzHgH6JIbiFrD9JWVXraNFFpgJhDjynXk1Z9zvoa gUlx8QaKzv0IUk35cLfkbm9ociWfIL6X6xVlp4/lGSEMoHUQDnsOPXnY6R1QuNjGCGQ1 6S/R5y2X0iU3CedORcHGkkztNndIu1AO5K0Z+Aw6PRRUqsHANTrQNCBJsylMN+FKqS2p JSCA== X-Forwarded-Encrypted: i=1; AFNElJ/bv1/N3PB+7C6gmUqXrF30hVZP7OnpKXfN5R5F6xuFJzr2VW/Hf6hRITxeXeRTFHNQlPGtZ5cvQYgeEzQ=@vger.kernel.org X-Gm-Message-State: AOJu0YwyNXwVr7vweErwx68GDpFNl+4UmQW2kVDZ4cZg86O2CQ9l+xW/ +5OdgNmPBhSujQwz7MXTGRWDXIu6V0/HnF2DoprFJP4HEiDaOojqW4qh X-Gm-Gg: Acq92OEwpXhghmUk9rgvQ9VODfMsMGmSCEanp4G8TGf4NFnnwDlrYZRvR1frRbPUOcA mt1+QCBWf0pWShc1esiQR50odEnV4DoOnBmHAG0trQDMs0TLB5FWL4Yo89lmVKoUaZNns66h474 Vl8GSEG20iXDBbDCCe1Ex0/E/eeeAhvjYKws5C5IkhaVSUH2tBlo7w0u3wK4HksnfIzZ7DZ2nKA hn8GTuyf7gvEOUC3owJkTlV0fFyPWQQ1DssfD9cy7dgJfSa9IFI1GtIGC255FJoD9U9Z0h9rWRM 4Q6d8eage7GXiblXULCcoQPc9Aode/MKQGs/Ir12UFBINCHUGKbNznpJebw+G5eLf6ABliEwSp+ 3NtTQxLDLvxQEVUiVkt/983lRl02YvvXr0Sr7bwp+GHayzTULqsHZsAciXRbJJXu9RHWrReK2hs DnWP3XR2Nh84k9X1fgiW84LtTq2EV2Gdl22IB6De4jS1J3ZB9b8FuQ6XyigXYkcP4b59zPbePWH zyb X-Received: by 2002:a17:90b:5290:b0:368:a297:bd38 with SMTP id 98e67ed59e1d1-36951a044b5mr22090513a91.7.1779259670620; Tue, 19 May 2026 23:47:50 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com.com ([106.51.160.236]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3695a0e93e0sm6069970a91.10.2026.05.19.23.47.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 23:47:50 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, peterz@infradead.org, jpoimboe@kernel.org, jbaron@akamai.com, aliceryhl@google.com, rostedt@goodmis.org, ardb@kernel.org, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, dakr@kernel.org, nathan@kernel.org, nick.desaulniers+lkml@gmail.com, morbo@google.com, justinstitt@google.com, daniel.almeida@collabora.com, acourbot@nvidia.com, fujita.tomonori@gmail.com, gregkh@linuxfoundation.org, prafulrai522@gmail.com, tamird@kernel.org, kees@kernel.org, mkchauras@gmail.com, lyude@redhat.com, airlied@gmail.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev Cc: Link Mauve Subject: [PATCH V16 5/7] rust: Make __udivdi3() and __umoddi3() panic Date: Wed, 20 May 2026 12:16:27 +0530 Message-ID: <20260520064630.1785283-6-mkchauras@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520064630.1785283-1-mkchauras@gmail.com> References: <20260520064630.1785283-1-mkchauras@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Link Mauve The core crate currently depends on these two functions for i64/u64/ i128/u128/core::time::Duration formatting, but we shouldn=E2=80=99t use tha= t in the kernel so let=E2=80=99s panic if they are ever called. This doesn=E2=80=99t yet fix drm_panic_qr.rs, which also uses __udivdi3 when CONFIG_CC_OPTIMIZE_FOR_SIZE=3Dy, but at least makes the rest of the kernel build on PPC32. Signed-off-by: Link Mauve Signed-off-by: Mukesh Kumar Chaurasiya (IBM) --- rust/Makefile | 4 ++++ rust/compiler_builtins.rs | 6 ++++++ 2 files changed, 10 insertions(+) diff --git a/rust/Makefile b/rust/Makefile index 6d7ed7a1ff18..8ce4fa0e5e57 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -618,6 +618,10 @@ ifneq ($(or $(CONFIG_ARM64),$(and $(CONFIG_RISCV),$(CO= NFIG_64BIT))),) __ashrti3 \ __ashlti3 __lshrti3 endif +ifdef CONFIG_PPC32 + redirect-intrinsics +=3D \ + __udivdi3 __umoddi3 +endif =20 ifdef CONFIG_MODVERSIONS cmd_gendwarfksyms =3D $(if $(skip_gendwarfksyms),, \ diff --git a/rust/compiler_builtins.rs b/rust/compiler_builtins.rs index dd16c1dc899c..fc6b54636dd5 100644 --- a/rust/compiler_builtins.rs +++ b/rust/compiler_builtins.rs @@ -97,5 +97,11 @@ pub extern "C" fn $ident() { __aeabi_uldivmod, }); =20 +#[cfg(target_arch =3D "powerpc")] +define_panicking_intrinsics!("`u64` division/modulo should not be used", { + __udivdi3, + __umoddi3, +}); + // NOTE: if you are adding a new intrinsic here, you should also add it to // `redirect-intrinsics` in `rust/Makefile`. --=20 2.54.0 From nobody Mon May 25 01:14:40 2026 Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C7681340298 for ; Wed, 20 May 2026 06:48:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259685; cv=none; b=AO5XI48K5U4BMUyLGdtdC+Lamg+fKKBNJq65AsW+8UWum8/1OOzQ39sb9tbC7wZNC7hkSrMPI8stlsDHyG6dSt7icnjU73WcrVkogjsLU5EAYCCVrbImHnkAkriyWOJAxzbxtm5zOooXzb+vBBpgPt+aJHcEjLRbw/XeuEBfpY0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259685; c=relaxed/simple; bh=GmJislKektMtg5hUGQI5gihvItELSBBZIOBmfbt3LXo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=NxYSVhByLmeG7hpYmMizJOvQ5bd5JqInb98LOgKKpg8Qv8HW4YQacxdfTMDxMYAIezwtSgDvchADHXqgoDt0fW+4DtygDRKqxzCkPeNqOFPg//RF+VVIHcynHBfWArLs/1o218wIRGBuQrZSP0hQZyLi7HbAf1sm5Y5Lt73VzoY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=WIvCYeeP; arc=none smtp.client-ip=209.85.216.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="WIvCYeeP" Received: by mail-pj1-f54.google.com with SMTP id 98e67ed59e1d1-368f25ff4c4so2247356a91.2 for ; Tue, 19 May 2026 23:48:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779259683; x=1779864483; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=lh45/E2QV0l24qGJ1aJPt1vt91dvBjOv4kmA2J8HuiM=; b=WIvCYeePPPYDo5unUBMQpPmDySzDmdAodlWkRF9w1cXaSssOiXfXiptmTZL8s0+EIN VaRjD7P+3anUxjTR4jfQ7pjoe4p+9g6BA0TaAz5rwY6Uxu2b7ZlSYpZBpTvqCiKphZ0+ +WhLPlUHnqW/DCJpVUxCo4qXIF0UxvZn7czYFuHcWQdaQOaVYHkwLZCY4aqXwcAXT1EI Dh1E3/re2pyeLTFj/ykCQlly1koHokZASxvu3UXcd+yt8zK7BYnLR4oEg30DhAbsEcal 7SMgfncMZLsFpgRTthWyLoSwfa9gsvsmUVcd/g3G/h99Yn6tdqhaARBy8kBvXX1JsR4V si2w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779259683; x=1779864483; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=lh45/E2QV0l24qGJ1aJPt1vt91dvBjOv4kmA2J8HuiM=; b=GpdS4GOdgLGqfSxp+TflyEu8oUD3LHtLvuCo4IADsJ1/jevoNaFzV3AuKxUedf/LuB voGTaazojeVD3iTA1dA9phswSrWGIuVO0jjGaoc17hO4iksBckjYj0NlUpcqTRd6R3l3 Nw23qavFkA7+gvzi1OJp+QATj3DfoBS+Ho2pxI50CUEb/RSuy7rowgvheWamZGwQgdz1 3ICEV+kgE0aL6YvWAhbSd8tfauTSv1hOI9ON1QHZZlhkNuRU4U/V1XFc21xeIPujo4ME /B1Wkk6XX/JuISXy12NGdzX9tkroVdZeLIiATlga6wi18UenIfhtpb/Tfo2PFVJIdgQ7 u8Vg== X-Forwarded-Encrypted: i=1; AFNElJ/BH7mVbKcOZjVy/k2AQLMVsLReYuv4dhh3yQjj5VUyfqrB8kQKjM9zDlemcKnswj3w07yAiAnTDIapC9E=@vger.kernel.org X-Gm-Message-State: AOJu0YxiOlp2xY0E2XEb+cMUJEEnfd5WddJwtk1DLhHQjatpKiyS6S/S lP8X1S7PCrbklFOaKL0oKVEGnAuQSfkq3QNZNIyH8iszAffryN1iFkN4 X-Gm-Gg: Acq92OGPEtQG3Hjj4PI4B2WJd43MKv/ro/f9EbaAG8lXAPTxDBAxMIJnChA7aO/jTcq GxZKhHJF/YxTFadxJsqZHnIAo9lvnRl2aK+6o51xPb4dGCdjl4Aq2v1+s20qwIFKDbshOZg9/l/ n7q+GRFIsPH8PQX93r3g9/Wk7gBvmzERX9d3jCOJEJl6XRWSXC/wflFeNz8OFYnz7rIO26tH0rr Pry+7mcGIq+uJCDX1tWsjXnIU0OJu0uPvuRg8Fakj2hCQzLE+ETs5kVbvrRAELUkNPOHKeMWgHJ PQuIYMzG39R9IIV+MatgHn3c8T/8VEpZuOP9b+2zQ5LFmRlrtjvlq0N/OlZ/8ywUUPhQ4KYm9oq mdjW3IhWPAeIJPxpJr+L8A2lUnTuckvzUDpStXx4ZsjC0MT5BRyo8btykA+uXjRK5SCq5hQq9HD wbgN0D1I8Xi9u5Fs52yklYT7ykpwz9YjH2ryQYAfN3UKgPLbcfkDNiNPifZL9jKq6H8kPZOmZ7w HY2 X-Received: by 2002:a17:90a:d44b:b0:35d:a3b4:2f0d with SMTP id 98e67ed59e1d1-369518b00d8mr22980948a91.6.1779259683204; Tue, 19 May 2026 23:48:03 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com.com ([106.51.160.236]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3695a0e93e0sm6069970a91.10.2026.05.19.23.47.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 23:48:02 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, peterz@infradead.org, jpoimboe@kernel.org, jbaron@akamai.com, aliceryhl@google.com, rostedt@goodmis.org, ardb@kernel.org, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, dakr@kernel.org, nathan@kernel.org, nick.desaulniers+lkml@gmail.com, morbo@google.com, justinstitt@google.com, daniel.almeida@collabora.com, acourbot@nvidia.com, fujita.tomonori@gmail.com, gregkh@linuxfoundation.org, prafulrai522@gmail.com, tamird@kernel.org, kees@kernel.org, mkchauras@gmail.com, lyude@redhat.com, airlied@gmail.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev Cc: Link Mauve Subject: [PATCH V16 6/7] rust: Add PowerPC support Date: Wed, 20 May 2026 12:16:28 +0530 Message-ID: <20260520064630.1785283-7-mkchauras@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520064630.1785283-1-mkchauras@gmail.com> References: <20260520064630.1785283-1-mkchauras@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable From: Link Mauve For now only Big Endian 32-bit PowerPC is supported, as that is the only hardware I have. This has been tested on the Nintendo Wii so far, but I plan on also using it on the GameCube, Wii U and Apple G4. These changes aren=E2=80=99t the only ones required to get the kernel to co= mpile and link on PowerPC, libcore will also have to be changed to not use integer division to format u64, u128 and core::time::Duration, otherwise __udivdi3() and __umoddi3() will have to be added. I have tested this change by replacing the three implementations with unimplemented!() and it linked just fine. Signed-off-by: Link Mauve Link: https://github.com/Rust-for-Linux/linux/issues/105 Link: https://github.com/linuxppc/issues/issues/451 Acked-by: Gary Guo Link: https://github.com/rust-lang/compiler-team/issues/986 Signed-off-by: Mukesh Kumar Chaurasiya (IBM) --- arch/powerpc/Kconfig | 1 + arch/powerpc/Makefile | 2 ++ rust/Makefile | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index e93df95b79e7..4ac897b650d4 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -285,6 +285,7 @@ config PPC select HAVE_REGS_AND_STACK_ACCESS_API select HAVE_RELIABLE_STACKTRACE select HAVE_RSEQ + select HAVE_RUST if PPC32 select HAVE_SAMPLE_FTRACE_DIRECT if HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS select HAVE_SAMPLE_FTRACE_DIRECT_MULTI if HAVE_DYNAMIC_FTRACE_WITH_DIRECT= _CALLS select HAVE_SETUP_PER_CPU_AREA if PPC64 diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index a58b1029592c..589613eaa5dc 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -61,6 +61,8 @@ else KBUILD_LDFLAGS_MODULE +=3D $(objtree)/arch/powerpc/lib/crtsavres.o endif =20 +KBUILD_RUSTFLAGS +=3D --target=3Dpowerpc-unknown-linux-gnu + ifdef CONFIG_CPU_LITTLE_ENDIAN KBUILD_CPPFLAGS +=3D -mlittle-endian KBUILD_LDFLAGS +=3D -EL diff --git a/rust/Makefile b/rust/Makefile index 8ce4fa0e5e57..d9485f5e95e6 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -400,7 +400,8 @@ bindgen_skip_c_flags :=3D -mno-fp-ret-in-387 -mpreferre= d-stack-boundary=3D% \ -fstrict-flex-arrays=3D% -fmin-function-alignment=3D% \ -fzero-init-padding-bits=3D% -mno-fdpic \ -fdiagnostics-show-context -fdiagnostics-show-context=3D% \ - --param=3D% --param asan-% -fno-isolate-erroneous-paths-dereference + --param=3D% --param asan-% -fno-isolate-erroneous-paths-dereference \ + -ffixed-r2 -mmultiple -mno-readonly-in-sdata =20 # Derived from `scripts/Makefile.clang`. BINDGEN_TARGET_x86 :=3D x86_64-linux-gnu @@ -409,6 +410,7 @@ BINDGEN_TARGET_arm :=3D arm-linux-gnueabi BINDGEN_TARGET_loongarch :=3D loongarch64-linux-gnusf # This is only for i386 UM builds, which need the 32-bit target not -m32 BINDGEN_TARGET_i386 :=3D i386-linux-gnu +BINDGEN_TARGET_powerpc :=3D powerpc-linux-gnu BINDGEN_TARGET_um :=3D $(BINDGEN_TARGET_$(SUBARCH)) BINDGEN_TARGET :=3D $(BINDGEN_TARGET_$(SRCARCH)) =20 --=20 2.54.0 From nobody Mon May 25 01:14:40 2026 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BFBFA34D4EA for ; Wed, 20 May 2026 06:48:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259698; cv=none; b=RQ1/idgZjRFIyvIVar5oDsoCE2ILepDvJK+o7ZacWV25ZFfjFx/OS1rqID8pik4M5ZyW/xHIsOoVWhXgl5mezEJfZTCM/xW3kiEw3KWF0EN9TgbOmP17TK8fDB2VDdAhBZt2QDQCYJBnxq03Ku3UBWHpdZatlNolTimHVNiTP24= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779259698; c=relaxed/simple; bh=HAf6ECKezOA+3NvXPCmYjsiWt1d847r48DEbKrtCXPU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=d1HqCZ/EwFSJBd20DLG8wNtG7DmDxkhbO5VJIjTaNxudPtIAJD8i9p5mRnQo98VSYJuISdSvNDGPu26fw8sF5Dl5Cn5dRSw6cX8qBDaWXPUUtFIx2Y6vQ+j7kMn5KvAtS4ukE6FfXJoiSHYhwE9q/jqUKiXtKkPShb8Yj4xyGtE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=HNLvw4VG; arc=none smtp.client-ip=209.85.216.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="HNLvw4VG" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-369576666d5so2023051a91.0 for ; Tue, 19 May 2026 23:48:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779259696; x=1779864496; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=hlYuip95dmigZkw4KVozqME9yuDvS7t6KmHEYjYBjUM=; b=HNLvw4VGT8HeHW7teoLWM9aRiqLThXPvZ9wx9UdoOifyqIkvcBANTBBc4lQbbEa45s jghiQac3m9B9mRJuoh6vk7PtS1LkYS63nqqAkFtliedDiZBbQIvE2qLx/c+u9iKLc5M6 hxMIVFf5UhbIg8/NhEhueMsPlCEwt994zfp1gDbZoyCQyvNsyl0nGhgUGJNpZM+qe4o3 DIRwEqVpgiCFhdi8kR6CjVJvVIx8VZbtTALmYrB3ZkNe8VwJrEBKC5r3ddlWXmdWjLpo aRPvp1DWt3EwL6Waba/tiWiKag1Enshn4q/WyyC4RK7HLPvC3CVDVxA6CNMChL2yul8G tpQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779259696; x=1779864496; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=hlYuip95dmigZkw4KVozqME9yuDvS7t6KmHEYjYBjUM=; b=M793KVvwTiEdewk+Bcagid4dBaYTdEA3c6e7ayBTTzDoacIIKeKmN5KT1ygSILHyJC Y37VZQM0BjlYmVD5Pm7ceFke+YAovXm9YYsuvXzo5H+HU/1XUMgAitlJPp2zdmvGOHCF 3KCD4ro6ICjwJV59K2QeD6mNL7yYu97wxpyOJefV/pDkilBT/JXHJhmiGQropuwyYoUl cCCGNDWSYAwC5lqxg9NZfFCpnz8b7edYCf84ONX9gD7q9Yon1MRP8SjNVQeRNDUXaSA0 7ntWav19ZhPaJwH7m9l9U6MzbvDZG2uCEe95lSRJ3MOSyALrKMyjhmndsYnliGxPv/NF INvA== X-Forwarded-Encrypted: i=1; AFNElJ8wahaf4l77Y3YcccI3HdgWDo1ZyfqiWvMnT38XaP/qyuSB15sCxqBGOWossuqpBqYrK7viedPrJcHZwrA=@vger.kernel.org X-Gm-Message-State: AOJu0Yx3wfNWWM5gLHRXNO/LJ2jIDG5ZklT6kPXJZz/qKWZ1A/1P3wRv pj//gkp49yAr7LqEbiDg/f2yW1vem7E/V9AM0XPrLiP88XThUxSKwwlm X-Gm-Gg: Acq92OFMIC1x4dhQHE5BzzDl+xY0MeQ3/xPXYm8YdEQPjWDv+uJdKATotZn/pMIGoQx ThgdnTK5fq6x4yedGHsPp/ucX2wBWGp5s4Kom+Wp6cvmyb62YEQY1vG+okicLQXXYTVG1YgcH3n dMbWp/Z93izwlcB/DpZfDnM/EdsyuJzpiajFAb5K/FDl/R29EmK038hsR73Yxmxp647WuXRwYig SPINfMFfnRn+F5LZyjfImnSvT/Y43zajW8bN1P/S3Bu55b6d55A1A3HS4IOb/TiXhFUHN9khgSD iTOzTkcey0ray2gj7bAn1piYNYYYO0Vpx3D+wNFDpRNr8NwwFE8lsQZ3pUQ0yeOGeKw2oDL8i+D WWwjO6pahP//EWS9nLG3kOe25HSfzSXRfpwXx5Msj4Hi/QwdscyN6wMO4p0pCmK4ntCbaBxD0pN onNPO1ck+d3i2i3JgOr9KDE5gDmN5+UKAjImNTGz6ccKqFLQR5qlN2p16/ts5qACKJTfUcPwkxe m45 X-Received: by 2002:a17:90b:5863:b0:368:3854:3a2e with SMTP id 98e67ed59e1d1-36951dc4062mr21724088a91.26.1779259696091; Tue, 19 May 2026 23:48:16 -0700 (PDT) Received: from li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com.com ([106.51.160.236]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3695a0e93e0sm6069970a91.10.2026.05.19.23.48.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 19 May 2026 23:48:15 -0700 (PDT) From: "Mukesh Kumar Chaurasiya (IBM)" To: maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com, chleroy@kernel.org, peterz@infradead.org, jpoimboe@kernel.org, jbaron@akamai.com, aliceryhl@google.com, rostedt@goodmis.org, ardb@kernel.org, ojeda@kernel.org, boqun@kernel.org, gary@garyguo.net, bjorn3_gh@protonmail.com, lossin@kernel.org, a.hindborg@kernel.org, tmgross@umich.edu, dakr@kernel.org, nathan@kernel.org, nick.desaulniers+lkml@gmail.com, morbo@google.com, justinstitt@google.com, daniel.almeida@collabora.com, acourbot@nvidia.com, fujita.tomonori@gmail.com, gregkh@linuxfoundation.org, prafulrai522@gmail.com, tamird@kernel.org, kees@kernel.org, mkchauras@gmail.com, lyude@redhat.com, airlied@gmail.com, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, llvm@lists.linux.dev Cc: Link Mauve , Venkat Rao Bagalkote Subject: [PATCH V16 7/7] powerpc: Enable Rust for ppc64le Date: Wed, 20 May 2026 12:16:29 +0530 Message-ID: <20260520064630.1785283-8-mkchauras@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260520064630.1785283-1-mkchauras@gmail.com> References: <20260520064630.1785283-1-mkchauras@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Enabling rust support for ppc64le. Tested on pseries Power11: =E2=95=B0=E2=94=80=E2=9D=AF dmesg | grep rust [ 0.225728] Initialise system trusted keyrings [ 0.270961] rust_minimal: Rust minimal sample (init) [ 0.270968] rust_minimal: Am I built-in? true [ 0.270974] rust_minimal: test_parameter: 1 [ 0.270983] rust_misc_device: Initialising Rust Misc Device Sample [ 0.271012] rust_print: Rust printing macros sample (init) [ 0.271019] rust_print: Emergency message (level 0) without args [ 0.271023] rust_print: Alert message (level 1) without args [ 0.271026] rust_print: Critical message (level 2) without args [ 0.271030] rust_print: Error message (level 3) without args [ 0.271033] rust_print: Warning message (level 4) without args [ 0.271037] rust_print: Notice message (level 5) without args [ 0.271040] rust_print: Info message (level 6) without args [ 0.271043] rust_print: A line that is continued without args [ 0.271054] rust_print: Emergency message (level 0) with args [ 0.271064] rust_print: Alert message (level 1) with args [ 0.271072] rust_print: Critical message (level 2) with args [ 0.271077] rust_print: Error message (level 3) with args [ 0.271083] rust_print: Warning message (level 4) with args [ 0.271091] rust_print: Notice message (level 5) with args [ 0.271097] rust_print: Info message (level 6) with args [ 0.271102] rust_print: A line that is continued with args [ 0.271110] rust_print: 1 [ 0.271113] rust_print: "hello, world" [ 0.271121] rust_print: [samples/rust/rust_print_main.rs:35:5] c =3D "he= llo, world" [ 0.271129] rust_print: Arc says 42 [ 0.271130] rust_print: Arc says hello, world [ 0.271136] rust_print: "hello, world" [ 0.271198] usbcore: registered new interface driver rust_driver_usb [ 0.271207] rust_faux_driver: Initialising Rust Faux Device Sample [ 0.271227] faux_driver rust-faux-sample-device: Hello from faux device! [ 0.271297] rust_configfs: Rust configfs sample (init) Reviewed-by: Link Mauve Tested-by: Link Mauve Reviewed-by: Christophe Leroy (CS GROUP) Tested-by: Venkat Rao Bagalkote Link: https://github.com/Rust-for-Linux/linux/issues/105 Link: https://github.com/linuxppc/issues/issues/451 Acked-by: Gary Guo Link: https://github.com/rust-lang/compiler-team/issues/987 Link: https://github.com/rust-lang/compiler-team/issues/988 Signed-off-by: Mukesh Kumar Chaurasiya (IBM) --- arch/powerpc/Kconfig | 1 + arch/powerpc/Makefile | 7 ++++++- rust/Makefile | 6 ++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index 4ac897b650d4..2e3065bce9cd 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -286,6 +286,7 @@ config PPC select HAVE_RELIABLE_STACKTRACE select HAVE_RSEQ select HAVE_RUST if PPC32 + select HAVE_RUST if PPC64 && CPU_LITTLE_ENDIAN select HAVE_SAMPLE_FTRACE_DIRECT if HAVE_DYNAMIC_FTRACE_WITH_DIRECT_CALLS select HAVE_SAMPLE_FTRACE_DIRECT_MULTI if HAVE_DYNAMIC_FTRACE_WITH_DIRECT= _CALLS select HAVE_SETUP_PER_CPU_AREA if PPC64 diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 589613eaa5dc..9385db478c59 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -61,7 +61,12 @@ else KBUILD_LDFLAGS_MODULE +=3D $(objtree)/arch/powerpc/lib/crtsavres.o endif =20 -KBUILD_RUSTFLAGS +=3D --target=3Dpowerpc-unknown-linux-gnu +ifdef CONFIG_PPC64 +KBUILD_RUSTFLAGS +=3D --target=3Dpowerpc64le-unknown-linux-gnu +KBUILD_RUSTFLAGS +=3D -Ctarget-feature=3D-mma,-vsx,-hard-float,-altivec +else +KBUILD_RUSTFLAGS +=3D --target=3Dpowerpc-unknown-linux-gnu +endif =20 ifdef CONFIG_CPU_LITTLE_ENDIAN KBUILD_CPPFLAGS +=3D -mlittle-endian diff --git a/rust/Makefile b/rust/Makefile index d9485f5e95e6..91c6d5fac15f 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -410,7 +410,13 @@ BINDGEN_TARGET_arm :=3D arm-linux-gnueabi BINDGEN_TARGET_loongarch :=3D loongarch64-linux-gnusf # This is only for i386 UM builds, which need the 32-bit target not -m32 BINDGEN_TARGET_i386 :=3D i386-linux-gnu + +ifdef CONFIG_PPC64 +BINDGEN_TARGET_powerpc :=3D powerpc64le-linux-gnu +else BINDGEN_TARGET_powerpc :=3D powerpc-linux-gnu +endif + BINDGEN_TARGET_um :=3D $(BINDGEN_TARGET_$(SUBARCH)) BINDGEN_TARGET :=3D $(BINDGEN_TARGET_$(SRCARCH)) =20 --=20 2.54.0