std.Target: Use v9 as the baseline CPU for sparc32.

It is impossible to even build projects like glibc when targeting a generic
SPARC v8 CPU; LEON3 is effectively considered the baseline for `sparc-linux-gnu`
now, particularly due to it supporting a CASA instruction similar to the one in
SPARC v9. However, it's slightly incompatible with SPARC v9 due to having a
different ASI tag, so resulting binaries would not be portable to regular SPARC
CPUs. So, as the least bad option, make v9 the baseline for sparc32.
This commit is contained in:
Alex Rønne Petersen 2024-08-04 11:04:23 +02:00
parent 4ba9a6f44c
commit 27775f1a9e
No known key found for this signature in database

View File

@ -1502,7 +1502,7 @@ pub const Cpu = struct {
.x86 => &x86.cpu.pentium4,
.nvptx, .nvptx64 => &nvptx.cpu.sm_20,
.s390x => &s390x.cpu.arch8,
.sparc => &sparc.cpu.v8,
.sparc => &sparc.cpu.v9, // glibc does not work with 'plain' v8.
.loongarch64 => &loongarch.cpu.loongarch64,
else => generic(arch),