* Re: Failure to build with LLVM for the Wii
[not found] <aXs8sgAcci9FKKpx@luna>
@ 2026-01-29 22:31 ` Nathan Chancellor
2026-02-24 23:30 ` Aelin
0 siblings, 1 reply; 3+ messages in thread
From: Nathan Chancellor @ 2026-01-29 22:31 UTC (permalink / raw)
To: Link Mauve; +Cc: linuxppc-dev, llvm
Hi Link,
On Thu, Jan 29, 2026 at 11:55:46AM +0100, Link Mauve wrote:
> I’m trying to build the kernel for the Nintendo Wii, using LLVM instead
> of gcc, in order to bring Rust support to this architecture (and also
> because my distribution doesn’t ship a cross-compiling gcc), but I get
> this build issue near the end:
> ```
> % make O=wii LLVM=1 ARCH=powerpc -j1
> make[1]: Entering directory '/home/linkmauve/dev/linux/wii'
> GEN Makefile
> CALL ../scripts/checksyscalls.sh
> DESCEND objtool
> INSTALL libsubcmd_headers
> WRAP arch/powerpc/boot/dtbImage.wii
> objcopy: Unable to recognise the format of the input file `vmlinux'
> make[3]: *** [../arch/powerpc/boot/Makefile:394: arch/powerpc/boot/dtbImage.wii] Error 1
> make[2]: *** [../arch/powerpc/Makefile:236: zImage] 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
> ```
>
> I believe it should use $(OBJCOPY) instead of objcopy, which is set to
> llvm-objcopy, but couldn’t figure out where it is misconfigured.
>
> Thanks for your help!
It is the arch/powerpc/boot/wrapper script:
https://github.com/ClangBuiltLinux/linux/issues/1601
I have a WIP series from long ago that may be a good starting point for
getting something working but there were some errors I never got around
to solving before having to shelve it for other issues:
https://git.kernel.org/pub/scm/linux/kernel/git/nathan/linux.git/log/?h=wip/llvm-1-powerpc-boot-wrapper
Maybe something I (or someone else) can get back to soon.
Cheers,
Nathan
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Failure to build with LLVM for the Wii
2026-01-29 22:31 ` Failure to build with LLVM for the Wii Nathan Chancellor
@ 2026-02-24 23:30 ` Aelin
2026-02-25 21:35 ` Nathan Chancellor
0 siblings, 1 reply; 3+ messages in thread
From: Aelin @ 2026-02-24 23:30 UTC (permalink / raw)
To: Nathan Chancellor, Link Mauve; +Cc: linuxppc-dev, llvm
On 1/29/26 11:31 PM, Nathan Chancellor wrote:
> Hi Link,
>
> On Thu, Jan 29, 2026 at 11:55:46AM +0100, Link Mauve wrote:
>> I’m trying to build the kernel for the Nintendo Wii, using LLVM instead
>> of gcc, in order to bring Rust support to this architecture (and also
>> because my distribution doesn’t ship a cross-compiling gcc), but I get
>> this build issue near the end:
>> ```
>> % make O=wii LLVM=1 ARCH=powerpc -j1
>> make[1]: Entering directory '/home/linkmauve/dev/linux/wii'
>> GEN Makefile
>> CALL ../scripts/checksyscalls.sh
>> DESCEND objtool
>> INSTALL libsubcmd_headers
>> WRAP arch/powerpc/boot/dtbImage.wii
>> objcopy: Unable to recognise the format of the input file `vmlinux'
>> make[3]: *** [../arch/powerpc/boot/Makefile:394: arch/powerpc/boot/dtbImage.wii] Error 1
>> make[2]: *** [../arch/powerpc/Makefile:236: zImage] 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
>> ```
>>
>> I believe it should use $(OBJCOPY) instead of objcopy, which is set to
>> llvm-objcopy, but couldn’t figure out where it is misconfigured.
>>
>> Thanks for your help!
>
> It is the arch/powerpc/boot/wrapper script:
>
> https://github.com/ClangBuiltLinux/linux/issues/1601
>
> I have a WIP series from long ago that may be a good starting point for
> getting something working but there were some errors I never got around
> to solving before having to shelve it for other issues:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/nathan/linux.git/log/?h=wip/llvm-1-powerpc-boot-wrapper
>
> Maybe something I (or someone else) can get back to soon.
>
> Cheers,
> Nathan
>
Hi Nathan,
your last 3 patches on this branch do indeed fix the wrapper script for
the cross-compilation with LLVM=1 ARCH=powerpc without CROSS_COMPILE set
or GNU binutils in PATH. They look good to me! Would you be willing to
submit them now without touching the VDSO? That part does not seem to be
necessary to fix the wrapper script for this usecase, so it should
strictly be an improvement. I'd also be happy to pick up your patches,
send them and follow-up on feedback if you don't want to do it yourself.
Best regards,
Aelin
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Failure to build with LLVM for the Wii
2026-02-24 23:30 ` Aelin
@ 2026-02-25 21:35 ` Nathan Chancellor
0 siblings, 0 replies; 3+ messages in thread
From: Nathan Chancellor @ 2026-02-25 21:35 UTC (permalink / raw)
To: Aelin; +Cc: Link Mauve, linuxppc-dev, llvm
Hi Aelin,
On Wed, Feb 25, 2026 at 12:30:30AM +0100, Aelin wrote:
> On 1/29/26 11:31 PM, Nathan Chancellor wrote:
> > Hi Link,
> >
> > On Thu, Jan 29, 2026 at 11:55:46AM +0100, Link Mauve wrote:
> > > I’m trying to build the kernel for the Nintendo Wii, using LLVM instead
> > > of gcc, in order to bring Rust support to this architecture (and also
> > > because my distribution doesn’t ship a cross-compiling gcc), but I get
> > > this build issue near the end:
> > > ```
> > > % make O=wii LLVM=1 ARCH=powerpc -j1
> > > make[1]: Entering directory '/home/linkmauve/dev/linux/wii'
> > > GEN Makefile
> > > CALL ../scripts/checksyscalls.sh
> > > DESCEND objtool
> > > INSTALL libsubcmd_headers
> > > WRAP arch/powerpc/boot/dtbImage.wii
> > > objcopy: Unable to recognise the format of the input file `vmlinux'
> > > make[3]: *** [../arch/powerpc/boot/Makefile:394: arch/powerpc/boot/dtbImage.wii] Error 1
> > > make[2]: *** [../arch/powerpc/Makefile:236: zImage] 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
> > > ```
> > >
> > > I believe it should use $(OBJCOPY) instead of objcopy, which is set to
> > > llvm-objcopy, but couldn’t figure out where it is misconfigured.
> > >
> > > Thanks for your help!
> >
> > It is the arch/powerpc/boot/wrapper script:
> >
> > https://github.com/ClangBuiltLinux/linux/issues/1601
> >
> > I have a WIP series from long ago that may be a good starting point for
> > getting something working but there were some errors I never got around
> > to solving before having to shelve it for other issues:
> >
> > https://git.kernel.org/pub/scm/linux/kernel/git/nathan/linux.git/log/?h=wip/llvm-1-powerpc-boot-wrapper
> >
> > Maybe something I (or someone else) can get back to soon.
> >
> > Cheers,
> > Nathan
> >
>
> Hi Nathan,
>
> your last 3 patches on this branch do indeed fix the wrapper script for the
> cross-compilation with LLVM=1 ARCH=powerpc without CROSS_COMPILE set or GNU
> binutils in PATH. They look good to me! Would you be willing to submit them
> now without touching the VDSO? That part does not seem to be necessary to
> fix the wrapper script for this usecase, so it should strictly be an
> improvement. I'd also be happy to pick up your patches, send them and
> follow-up on feedback if you don't want to do it yourself.
Thanks a lot for testing. For the record, I submitted the vDSO parts
separately and it landed as
4406b12214f6 ("powerpc/vdso: Link with ld.lld when requested")
so it can safely be ignored altogether.
I am a little busy with things at the moment so I am not sure how soon I
will be able to pick this up. I am more than happy to let you take over
from here if you have the time and energy to get it tested and
submitted now. You can either take full authorship or stick a
Co-developed-by on it, does not matter to me.
Cheers,
Nathan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-02-25 21:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <aXs8sgAcci9FKKpx@luna>
2026-01-29 22:31 ` Failure to build with LLVM for the Wii Nathan Chancellor
2026-02-24 23:30 ` Aelin
2026-02-25 21:35 ` Nathan Chancellor
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox