On Mon, Jan 05, 2026 at 09:19:16AM +0100, Thomas Weißschuh wrote:
> On 2026-01-05 08:44:50+0100, Willy Tarreau wrote:
> > Hi Thomas,
> >
> > On Sun, Jan 04, 2026 at 11:14:13PM +0100, Thomas Weißschuh wrote:
> > > Since LLVM commit 39e30508a7f6 ("[Driver][Sparc] Default to -mcpu=v9 for
> > > 32-bit Linux/sparc64 (#109278)"), clang defaults to -mcpu=v9 for 32-bit
> > > SPARC builds. -mcpu=v9 generates instructions which are not recognized
> > > by qemu-sparc and qemu-system-sparc. Instead qemu-sparc32plus and
> > > qemu-system-sparc64 with a 64-bit kernel and CONFIG_COMPAT are needed.
> > >
> > > Rework the test setup so that -mcpu=v9 also works correctly.
> >
> > Hmmm doesn't this mean that we're now unable to emit proper sparc32
> > instructions with this compiler ?
>
> That depends on the definition of "proper" sparc32 :-)
For sure!
> Jokes aside, that compiler still supports -mcpu=v8 just fine,
> only the default has changed.
>
> > I don't know which CPUs the kernel
> > still supports, but if it still supports these old SS-5, maybe we
> > should instead pass the correct -mcpu to clang so that it emits the
> > expected instructions, otherwise we're just hiding the regressing by
> > upgrading the test machine beyond what the kernel supports ?
>
> The 32-bit kernel also runs just fine on QEMU SS-5.
OK!
> My reasoning was more that we now test both the v8 and v9 code paths in
> nolibc. But in the end it doesn't really matter, as it is the same
> kernel interface for v8 and v9. We can also just specify -mcpu=v8.
> I'll do that for v2.
OK thank you for checking and explaining!
Willy