public inbox for llvm@lists.linux.dev
 help / color / mirror / Atom feed
From: "Gary Guo" <gary@garyguo.net>
To: "Link Mauve" <linkmauve@linkmauve.fr>,
	"Mukesh Kumar Chaurasiya" <mkchauras@gmail.com>
Cc: <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>,
	<linuxppc-dev@lists.ozlabs.org>, <linux-kernel@vger.kernel.org>,
	<rust-for-linux@vger.kernel.org>, <llvm@lists.linux.dev>
Subject: Re: [PATCH V10 0/4] Rust support for powerpc [RESEND]
Date: Wed, 08 Apr 2026 15:00:23 +0100	[thread overview]
Message-ID: <DHNTT7LIVLDL.5FC5I1FES8IO@garyguo.net> (raw)
In-Reply-To: <adZV_VISz8DNraug@luna>

On Wed Apr 8, 2026 at 2:19 PM BST, Link Mauve wrote:
> On Wed, Apr 08, 2026 at 05:23:39PM +0530, Mukesh Kumar Chaurasiya wrote:
>> On Wed, Apr 08, 2026 at 11:51:40AM +0200, Link Mauve wrote:
>> > Hi,
>> > 
>> > (This email is a resent, my IP address got flagged by spamhaus again
>> > because I’m on a residential range, hopefully this incident is
>> > resolved…)
>> > 
>> > On Tue, Apr 07, 2026 at 01:31:45AM +0530, Mukesh Kumar Chaurasiya (IBM) wrote:
>> > > Enable experimental rust support for ppc64le and ppc32be. The patch for
>> > > ppc32 has been provided by Link Mauve[1] and ppc64le support[2] has been
>> > > merged over it. ppc32 needs some toolchain fixes mentioned in the patch
>> > > `rust: Add PowerPC support` and the discussion for that is done here[1].
>> > > 
>> > > This has been tested on
>> > > - powernv9 hardware
>> > > - pseries P11 hardware
>> > > - pseries(9, 10) qemu
>> > > - powernv(9, 10) qemu
>> > > - rustdoc on x86 and powerpc64le
>> > > - rusttest on x86 and powerpc64le
>> > 
>> > I just tested your series for the Wii, so targeting powerpc (32, be),
>> > and got this error:
>> > ```
>> > error[E0463]: can't find crate for `pin_init_internal`
>> >    --> ../rust/pin-init/src/lib.rs:365:11
>> >     |
>> > 365 | pub use ::pin_init_internal::pin_data;
>> >     |           ^^^^^^^^^^^^^^^^^ can't find crate
>> > 
>> > error: aborting due to 1 previous error
>> > 
>> > For more information about this error, try `rustc --explain E0463`.
>> > ```
>> > 
>> > I didn’t get this error in a previous version of your series, would you
>> > want me to bisect them?
>> > 
>> > Thanks for your continuous work on it anyway!
>> > 
>> 
>> Hey Link,
>> 
>> Thanks for testing this.
>> 
>> Can you give me the command generated via make with V=1
>> e.g. `make LLVM=1 V=1`
>
> Here it is:
> ```
> % make ARCH=powerpc CROSS_COMPILE=powerpc-linux-musl- O=wii W=1 V=1 -j1
> make  -C /home/linkmauve/dev/linux/wii \
> -f /home/linkmauve/dev/linux/Makefile
> make[1]: Entering directory '/home/linkmauve/dev/linux/wii'
> make --no-print-directory -C /home/linkmauve/dev/linux/wii \
> -f /home/linkmauve/dev/linux/Makefile
> ln -fsn .. source
> # GEN     Makefile
>   { echo "# Automatically generated by /home/linkmauve/dev/linux/Makefile: don't edit"; echo "export KBUILD_OUTPUT = /home/linkmauve/dev/linux/wii"; echo "include /home/linkmauve/dev/linux/Makefile"; } > Makefile
> test -e .gitignore || \
> { echo "# this is build directory, ignore it"; echo "*"; } > .gitignore
> make -f ../scripts/Makefile.build obj=arch/powerpc/kernel/syscalls all
> make -f ../scripts/Makefile.build obj=scripts/basic
> make -f ../scripts/Makefile.build obj=scripts/dtc
> make -f ../scripts/Makefile.build obj=scripts
> make -f ../scripts/Makefile.build obj=scripts/gcc-plugins \
> need-builtin= \
> need-modorder= \
>
> set -e; mkdir -p include/config/; trap "rm -f include/config/.tmp_kernel.release" EXIT; { ../scripts/setlocalversion ..; } > include/config/.tmp_kernel.release; if [ ! -r include/config/kernel.release ] || ! cmp -s include/config/kernel.release include/config/.tmp_kernel.release; then : '  UPD     include/config/kernel.release'; mv -f include/config/.tmp_kernel.release include/config/kernel.release; fi
> make -f ../scripts/Makefile.asm-headers obj=arch/powerpc/include/generated/uapi/asm \
> generic=include/uapi/asm-generic
> make -f ../scripts/Makefile.asm-headers obj=arch/powerpc/include/generated/asm \
> generic=include/asm-generic
> set -e; mkdir -p include/generated/uapi/linux/; trap "rm -f include/generated/uapi/linux/.tmp_version.h" EXIT; { 	if [ 0 -gt 255 ]; then echo \#define LINUX_VERSION_CODE 459007; else echo \#define LINUX_VERSION_CODE 458752; fi; echo '#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + ((c) > 255 ? 255 : (c)))'; echo \#define LINUX_VERSION_MAJOR 7; echo \#define LINUX_VERSION_PATCHLEVEL 0; echo \#define LINUX_VERSION_SUBLEVEL 0; } > include/generated/uapi/linux/.tmp_version.h; if [ ! -r include/generated/uapi/linux/version.h ] || ! cmp -s include/generated/uapi/linux/version.h include/generated/uapi/linux/.tmp_version.h; then : '  UPD     include/generated/uapi/linux/version.h'; mv -f include/generated/uapi/linux/.tmp_version.h include/generated/uapi/linux/version.h; fi
> set -e; mkdir -p include/generated/; trap "rm -f include/generated/.tmp_utsrelease.h" EXIT; { 	if [ `echo -n "7.0.0-rc7-wii+" | wc -c ` -gt 64 ]; then echo '"7.0.0-rc7-wii+" exceeds 64 characters' >&2; exit 1; fi; echo \#define UTS_RELEASE \"7.0.0-rc7-wii+\"; } > include/generated/.tmp_utsrelease.h; if [ ! -r include/generated/utsrelease.h ] || ! cmp -s include/generated/utsrelease.h include/generated/.tmp_utsrelease.h; then : '  UPD     include/generated/utsrelease.h'; mv -f include/generated/.tmp_utsrelease.h include/generated/utsrelease.h; fi
> set -e; mkdir -p include/generated/; trap "rm -f include/generated/.tmp_compile.h" EXIT; { ../scripts/mkcompile_h "ppc" "powerpc-linux-musl-gcc (GCC) 14.2.1 20250405" "powerpc-linux-musl-ld"; } > include/generated/.tmp_compile.h; if [ ! -r include/generated/compile.h ] || ! cmp -s include/generated/compile.h include/generated/.tmp_compile.h; then : '  UPD     include/generated/compile.h'; mv -f include/generated/.tmp_compile.h include/generated/compile.h; fi
> ../scripts/remove-stale-files
> make -f ../scripts/Makefile.build obj=scripts/mod
> set -e; mkdir -p scripts/mod/; trap "rm -f scripts/mod/.tmp_devicetable-offsets.h" EXIT; { 	 echo "#ifndef __DEVICETABLE_OFFSETS_H__"; echo "#define __DEVICETABLE_OFFSETS_H__"; echo "/*"; echo " * DO NOT MODIFY."; echo " *"; echo " * This file was generated by Kbuild"; echo " */"; echo ""; sed -ne 	's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; /^->/{s:->#\(.*\):/* \1 */:; s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}' < scripts/mod/devicetable-offsets.s; echo ""; echo "#endif"; } > scripts/mod/.tmp_devicetable-offsets.h; if [ ! -r scripts/mod/devicetable-offsets.h ] || ! cmp -s scripts/mod/devicetable-offsets.h scripts/mod/.tmp_devicetable-offsets.h; then : '  UPD     scripts/mod/devicetable-offsets.h'; mv -f scripts/mod/.tmp_devicetable-offsets.h scripts/mod/devicetable-offsets.h; fi
> make -f ../scripts/Makefile.build obj=. prepare
> set -e; mkdir -p include/generated/; trap "rm -f include/generated/.tmp_timeconst.h" EXIT; { echo 1000 | bc -q ../kernel/time/timeconst.bc; } > include/generated/.tmp_timeconst.h; if [ ! -r include/generated/timeconst.h ] || ! cmp -s include/generated/timeconst.h include/generated/.tmp_timeconst.h; then : '  UPD     include/generated/timeconst.h'; mv -f include/generated/.tmp_timeconst.h include/generated/timeconst.h; fi
> set -e; mkdir -p include/generated/; trap "rm -f include/generated/.tmp_bounds.h" EXIT; { 	 echo "#ifndef __LINUX_BOUNDS_H__"; echo "#define __LINUX_BOUNDS_H__"; echo "/*"; echo " * DO NOT MODIFY."; echo " *"; echo " * This file was generated by Kbuild"; echo " */"; echo ""; sed -ne 	's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; /^->/{s:->#\(.*\):/* \1 */:; s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}' < kernel/bounds.s; echo ""; echo "#endif"; } > include/generated/.tmp_bounds.h; if [ ! -r include/generated/bounds.h ] || ! cmp -s include/generated/bounds.h include/generated/.tmp_bounds.h; then : '  UPD     include/generated/bounds.h'; mv -f include/generated/.tmp_bounds.h include/generated/bounds.h; fi
> set -e; mkdir -p include/generated/; trap "rm -f include/generated/.tmp_asm-offsets.h" EXIT; { 	 echo "#ifndef __ASM_OFFSETS_H__"; echo "#define __ASM_OFFSETS_H__"; echo "/*"; echo " * DO NOT MODIFY."; echo " *"; echo " * This file was generated by Kbuild"; echo " */"; echo ""; sed -ne 	's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; /^->/{s:->#\(.*\):/* \1 */:; s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}' < arch/powerpc/kernel/asm-offsets.s; echo ""; echo "#endif"; } > include/generated/.tmp_asm-offsets.h; if [ ! -r include/generated/asm-offsets.h ] || ! cmp -s include/generated/asm-offsets.h include/generated/.tmp_asm-offsets.h; then : '  UPD     include/generated/asm-offsets.h'; mv -f include/generated/.tmp_asm-offsets.h include/generated/asm-offsets.h; fi
> set -e; mkdir -p include/generated/; trap "rm -f include/generated/.tmp_rq-offsets.h" EXIT; { 	 echo "#ifndef __RQ_OFFSETS_H__"; echo "#define __RQ_OFFSETS_H__"; echo "/*"; echo " * DO NOT MODIFY."; echo " *"; echo " * This file was generated by Kbuild"; echo " */"; echo ""; sed -ne 	's:^[[:space:]]*\.ascii[[:space:]]*"\(.*\)".*:\1:; /^->/{s:->#\(.*\):/* \1 */:; s:^->\([^ ]*\) [\$#]*\([^ ]*\) \(.*\):#define \1 \2 /* \3 */:; s:->::; p;}' < kernel/sched/rq-offsets.s; echo ""; echo "#endif"; } > include/generated/.tmp_rq-offsets.h; if [ ! -r include/generated/rq-offsets.h ] || ! cmp -s include/generated/rq-offsets.h include/generated/.tmp_rq-offsets.h; then : '  UPD     include/generated/rq-offsets.h'; mv -f include/generated/.tmp_rq-offsets.h include/generated/rq-offsets.h; fi
> # CALL    ../scripts/checksyscalls.sh
>   sh ../scripts/checksyscalls.sh powerpc-linux-musl-gcc -Wp,-MMD,./.missing-syscalls.d -nostdinc -I../arch/powerpc/include -I./arch/powerpc/include/generated -I../include -I./include -I../arch/powerpc/include/uapi -I./arch/powerpc/include/generated/uapi -I../include/uapi -I./include/generated/uapi -include ../include/linux/compiler-version.h -include ../include/linux/kconfig.h -include ../include/linux/compiler_types.h -D__KERNEL__ -mbig-endian -m32 -I ../arch/powerpc -fmacro-prefix-map=../= -Wundef -DKBUILD_EXTRA_WARN1 -std=gnu11 -fshort-wchar -funsigned-char -fno-common -fno-PIE -fno-strict-aliasing -msoft-float -ffixed-r2 -mmultiple -mno-readonly-in-sdata -mcpu=powerpc -mno-prefixed -mno-pcrel -mno-altivec -mno-vsx -mno-mma -fno-asynchronous-unwind-tables -mno-string -mbig-endian -fno-delete-null-pointer-checks -Os -fno-allow-store-data-races -fno-stack-protector -fomit-frame-pointer -ftrivial-auto-var-init=zero -fno-stack-clash-protection -fmin-function-alignment=4 -fstrict-flex-arrays=3 -fms-extensions -fno-strict-overflow -fno-stack-check -fconserve-stack -fno-builtin-wcslen -Wall -Wextra -Wundef -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Werror=strict-prototypes -Wno-format-security -Wno-trigraphs -Wno-frame-address -Wno-address-of-packed-member -Wmissing-declarations -Wmissing-prototypes -Wframe-larger-than=1280 -Wno-main -Wno-type-limits -Wno-dangling-pointer -Wvla-larger-than=1 -Wno-pointer-sign -Wcast-function-type -Wno-array-bounds -Wno-stringop-overflow -Wno-alloc-size-larger-than -Wimplicit-fallthrough=5 -Werror=date-time -Werror=incompatible-pointer-types -Werror=designated-init -Wenum-conversion -Wunused -Wmissing-format-attribute -Wmissing-include-dirs -Wunused-const-variable -Wno-missing-field-initializers -Wno-shift-negative-value -Wno-maybe-uninitialized -Wno-sign-compare -Wno-unused-parameter -DGCC_PLUGINS -I../. -I.    -DKBUILD_MODFILE='"./missing-syscalls"' -DKBUILD_BASENAME='"missing_syscalls"' -DKBUILD_MODNAME='"missing_syscalls"' -D__KBUILD_MODNAME=missing_syscalls
> make -f ../scripts/Makefile.build obj=arch/powerpc/kernel/vdso include/generated/vdso32-offsets.h
> mkdir -p ./tools
> make O=/home/linkmauve/dev/linux/wii subdir=tools -C ../tools/ objtool
> mkdir -p /home/linkmauve/dev/linux/wii/tools/objtool && make O=/home/linkmauve/dev/linux/wii subdir=tools/objtool --no-print-directory -C objtool
> make -C /home/linkmauve/dev/linux/tools/build CFLAGS= LDFLAGS= /home/linkmauve/dev/linux/wii/tools/objtool/fixdep
> if [ ! -f /home/linkmauve/dev/linux/wii/tools/objtool/fixdep ]; then						\
> 	make -f /home/linkmauve/dev/linux/tools/build/Makefile.build dir=. obj=fixdep HOSTCFLAGS="-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11   -I ../scripts/include";	\
> 	rm -f /home/linkmauve/dev/linux/wii/tools/objtool/fixdep.o;						\
> fi
> make -f /home/linkmauve/dev/linux/tools/build/Makefile.build dir=. obj=fixdep HOSTCFLAGS="-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11   -I ../scripts/include"
> make -C /home/linkmauve/dev/linux/tools/lib/subcmd/ O=/home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd \
> 	DESTDIR=/home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd prefix= subdir= \
> 	CC="gcc" LD="ld" AR="ar" EXTRA_CFLAGS="-std=gnu11 -fomit-frame-pointer -O2 -g -Werror -Wall -Wextra -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -Wno-implicit-fallthrough -Wno-sign-compare -Wno-unused-parameter -I/home/linkmauve/dev/linux/tools/include -I/home/linkmauve/dev/linux/tools/include/uapi -I/home/linkmauve/dev/linux/tools/arch/x86/include/uapi -I/home/linkmauve/dev/linux/tools/arch/powerpc/include -I/home/linkmauve/dev/linux/tools/objtool/include -I/home/linkmauve/dev/linux/tools/objtool/arch/powerpc/include -I/home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd/include   " \
> 	/home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd/libsubcmd.a install_headers
> make -C /home/linkmauve/dev/linux/tools/build CFLAGS= LDFLAGS= /home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd/fixdep
> if [ ! -f /home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd/fixdep ]; then						\
> 	make -f /home/linkmauve/dev/linux/tools/build/Makefile.build dir=. obj=fixdep HOSTCFLAGS="-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11   -I ../scripts/include";	\
> 	rm -f /home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd/fixdep.o;						\
> fi
> make -f /home/linkmauve/dev/linux/tools/build/Makefile.build dir=. obj=fixdep HOSTCFLAGS="-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu11   -I ../scripts/include"
> make[5]: 'install_headers' is up to date.
> sh ./sync-check.sh
> make -f /home/linkmauve/dev/linux/tools/build/Makefile.build dir=. obj=objtool CC="gcc" LD="ld" AR="ar" CFLAGS="-std=gnu11 -fomit-frame-pointer -O2 -g -Werror -Wall -Wextra -Wmissing-prototypes -Wmissing-declarations -Wwrite-strings -Wno-implicit-fallthrough -Wno-sign-compare -Wno-unused-parameter -I/home/linkmauve/dev/linux/tools/include -I/home/linkmauve/dev/linux/tools/include/uapi -I/home/linkmauve/dev/linux/tools/arch/x86/include/uapi -I/home/linkmauve/dev/linux/tools/arch/powerpc/include -I/home/linkmauve/dev/linux/tools/objtool/include -I/home/linkmauve/dev/linux/tools/objtool/arch/powerpc/include -I/home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd/include   " \
> 	LDFLAGS="/home/linkmauve/dev/linux/wii/tools/objtool/libsubcmd/libsubcmd.a -lelf  "
> make -f /home/linkmauve/dev/linux/tools/build/Makefile.build dir=./arch/powerpc obj=objtool
> sh ../scripts/rust_is_available.sh
> make -f ../scripts/Makefile.build obj=rust
> # RUSTC L rust/pin_init.o
>   OBJTREE=/home/linkmauve/dev/linux/wii rustc --edition=2021 -Zbinary_dep_depinfo=y -Astable_features -Aunused_features -Dnon_ascii_idents -Dunsafe_op_in_unsafe_fn -Wmissing_docs -Wrust_2018_idioms -Wunreachable_pub -Wclippy::all -Wclippy::as_ptr_cast_mut -Wclippy::as_underscore -Wclippy::cast_lossless -Wclippy::ignored_unit_patterns -Wclippy::mut_mut -Wclippy::needless_bitwise_bool -Aclippy::needless_lifetimes -Wclippy::no_mangle_with_rust_abi -Wclippy::ptr_as_ptr -Wclippy::ptr_cast_constness -Wclippy::ref_as_ptr -Wclippy::undocumented_unsafe_blocks -Wclippy::unnecessary_safety_comment -Wclippy::unnecessary_safety_doc -Wrustdoc::missing_crate_level_docs -Wrustdoc::unescaped_backticks -Cpanic=abort -Cembed-bitcode=n -Clto=n -Cforce-unwind-tables=n -Ccodegen-units=1 -Csymbol-mangling-version=v0 -Crelocation-model=static -Zfunction-sections=n -Wclippy::float_arithmetic --target=powerpc-unknown-linux-gnu -Copt-level=s -Cdebug-assertions=n -Coverflow-checks=y @./include/generated/rustc_cfg --extern pin_init_internal --extern macros --cfg='kernel' --emit=dep-info=rust/.pin_init.o.d --emit=obj=rust/pin_init.o --emit=metadata=rust/libpin_init.rmeta --crate-type rlib -L./rust --crate-name pin_init ../rust/pin-init/src/lib.rs --sysroot=/dev/null -Zunstable-options   ; ./tools/objtool/objtool --static-call   rust/pin_init.o

Looks like the command line here is missing -L./rust/host.

Mukesh, perhaps when you test locally you didn't clean out the already-built
files inside rust directory?

Best,
Gary

> error[E0463]: can't find crate for `pin_init_internal`
>    --> ../rust/pin-init/src/lib.rs:365:11
>     |
> 365 | pub use ::pin_init_internal::pin_data;
>     |           ^^^^^^^^^^^^^^^^^ can't find crate
>
> error: aborting due to 1 previous error
>
> For more information about this error, try `rustc --explain E0463`.
> make[3]: *** [../rust/Makefile:681: rust/pin_init.o] Error 1
> make[2]: *** [/home/linkmauve/dev/linux/Makefile:1343: prepare] Error 2
> make[1]: *** [/home/linkmauve/dev/linux/Makefile:248: __sub-make] Error 2
> make[1]: Leaving directory '/home/linkmauve/dev/linux/wii'
> make: *** [Makefile:248: __sub-make] Error 2
> make ARCH=powerpc CROSS_COMPILE=powerpc-linux-musl- O=wii W=1 V=1 -j1  1.15s user 0.56s system 100% cpu 1.695 total
> ```
>
>> 
>> Regards,
>> Mukesh
>> 
>> > > 
>> > > We are actively working with our LLVM team to get the target for ppc,
>> > > ppc64 and ppc64le in the rust compiler.
>> > > 
>> > > 
>> > > [1] https://lore.kernel.org/all/20260204030507.8203-1-linkmauve@linkmauve.fr
>> > > [2] https://lore.kernel.org/all/20260204042417.83903-1-mkchauras@gmail.com
>> > > 
>> > > Changelog:
>> > > V9 -> V10:
>> > > - rust/Makefile updated with review comments from Miguel
>> > > - Patch 1/4 updated with commit message and subject
>> > > V9: https://lore.kernel.org/all/20260404121610.1956528-1-mkchauras@gmail.com/
>> > > 
>> > > V8 -> V9:
>> > > - rust/Makefile updated with a directory instead of abspath
>> > > V8: https://lore.kernel.org/all/20260403145308.1042622-1-mkchauras@gmail.com/
>> > > 
>> > > V7 -> V8:
>> > > - rust/Makefile updated to separate host libraries from target
>> > > V7: https://lore.kernel.org/all/20260329160254.2592207-1-mkchauras@gmail.com/
>> > > 
>> > > Changelog:
>> > > V6 -> V7:
>> > > - Documentation removed as powerpc is still under development
>> > > - Added a fix for race condition in rust/Makefile
>> > > V6: https://lore.kernel.org/all/20260210090023.2587534-1-mkchauras@gmail.com
>> > > 
>> > > V5 -> V6:
>> > > - Added a missing Tested by from Venkat which got missed since V3
>> > > - Support is marked as Maintained instead of experimental
>> > > V5: https://lore.kernel.org/all/20260210053756.2088302-1-mkchauras@gmail.com
>> > > 
>> > > V4 -> V5:
>> > > - Removed a nested ifdef from PPC64 for Little endian toolchain
>> > > V4: https://lore.kernel.org/all/20260209105456.1551677-1-mkchauras@gmail.com
>> > > 
>> > > V3 -> V4:
>> > > - Co-developed-by header added in patch 1
>> > > V3: https://lore.kernel.org/all/20260205180429.3280657-1-mkchauras@gmail.com
>> > > 
>> > > V2 -> V3:
>> > > - Splited HAVE_RUST in 2 lines
>> > > - BINDGEN_TARGET_powerpc initialized before assigning the same to
>> > >   BINDGEN_TARGET
>> > > V2: https://lore.kernel.org/all/20260204210125.613350-1-mkchauras@gmail.com
>> > > 
>> > > V1 -> V2:
>> > > - jump label fix for rust has been moved to a separate patch
>> > > - PPC32 support has been taken
>> > > - rust support has been marked experimental
>> > > - target.json dependency has been removed
>> > > - HAVE_RUST now depends on CPU_LITTLE_ENDIAN for PPC64
>> > > 
>> > > Link Mauve (1):
>> > >   rust: Add PowerPC support
>> > > 
>> > > Mukesh Kumar Chaurasiya (IBM) (3):
>> > >   rust: Fix "multiple candidates for rmeta dependency core" error
>> > >   powerpc/jump_label: adjust inline asm to be consistent
>> > >   powerpc: Enable Rust for ppc64le
>> > > 
>> > >  arch/powerpc/Kconfig                  |  2 +
>> > >  arch/powerpc/Makefile                 |  7 +++
>> > >  arch/powerpc/include/asm/jump_label.h | 23 ++++++----
>> > >  rust/Makefile                         | 66 ++++++++++++++++-----------
>> > >  4 files changed, 61 insertions(+), 37 deletions(-)
>> > > 
>> > > -- 
>> > > 2.53.0
>> > > 
>> > > 
>> > 
>> > -- 
>> > Link Mauve
>> > 


  reply	other threads:[~2026-04-08 14:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-06 20:01 [PATCH V10 0/4] Rust support for powerpc Mukesh Kumar Chaurasiya (IBM)
2026-04-06 20:01 ` [PATCH V10 1/4] rust: Separate host libraries to fix rmeta dependency conflict Mukesh Kumar Chaurasiya (IBM)
2026-04-06 20:01 ` [PATCH V10 2/4] powerpc/jump_label: adjust inline asm to be consistent Mukesh Kumar Chaurasiya (IBM)
2026-04-06 20:01 ` [PATCH V10 3/4] rust: Add PowerPC support Mukesh Kumar Chaurasiya (IBM)
2026-04-06 20:01 ` [PATCH V10 4/4] powerpc: Enable Rust for ppc64le Mukesh Kumar Chaurasiya (IBM)
     [not found] ` <adYlLLfRgSyxus3n@luna>
2026-04-08 11:53   ` [PATCH V10 0/4] Rust support for powerpc [RESEND] Mukesh Kumar Chaurasiya
2026-04-08 13:19     ` Link Mauve
2026-04-08 14:00       ` Gary Guo [this message]
2026-04-08 14:15         ` Mukesh Kumar Chaurasiya

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DHNTT7LIVLDL.5FC5I1FES8IO@garyguo.net \
    --to=gary@garyguo.net \
    --cc=a.hindborg@kernel.org \
    --cc=aliceryhl@google.com \
    --cc=ardb@kernel.org \
    --cc=bjorn3_gh@protonmail.com \
    --cc=boqun@kernel.org \
    --cc=chleroy@kernel.org \
    --cc=dakr@kernel.org \
    --cc=jbaron@akamai.com \
    --cc=jpoimboe@kernel.org \
    --cc=justinstitt@google.com \
    --cc=linkmauve@linkmauve.fr \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=llvm@lists.linux.dev \
    --cc=lossin@kernel.org \
    --cc=maddy@linux.ibm.com \
    --cc=mkchauras@gmail.com \
    --cc=morbo@google.com \
    --cc=mpe@ellerman.id.au \
    --cc=nathan@kernel.org \
    --cc=nick.desaulniers+lkml@gmail.com \
    --cc=npiggin@gmail.com \
    --cc=ojeda@kernel.org \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=tmgross@umich.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox