glibc: Change riscv32-linux-gnuilp32 target triple to riscv32-linux-gnu.

This target triple was weird on multiple levels:

* The `ilp32` ABI is the soft float ABI. This is not the main ABI we want to
  support on RISC-V; rather, we want `ilp32d`.
* `gnuilp32` is a bespoke tag that was introduced in Zig. The rest of the world
  just uses `gnu` for RISC-V target triples.
* `gnu_ilp32` is already the name of an ILP32 ABI used on AArch64. `gnuilp32` is
  too easy to confuse with this.
* We don't use this convention for `riscv64-linux-gnu`.
* Supporting all RISC-V ABIs with this convention will result in combinatorial
  explosion; see #20690.
This commit is contained in:
Alex Rønne Petersen 2024-08-02 08:13:00 +02:00
parent 3c2733de6e
commit 635a3d87de
No known key found for this signature in database
31 changed files with 2 additions and 3 deletions

View file

@ -56,7 +56,7 @@ pub const available_libcs = [_]ArchOsAbi{
.{ .arch = .powerpc, .os = .linux, .abi = .gnueabi }, .{ .arch = .powerpc, .os = .linux, .abi = .gnueabi },
.{ .arch = .powerpc, .os = .linux, .abi = .gnueabihf }, .{ .arch = .powerpc, .os = .linux, .abi = .gnueabihf },
.{ .arch = .powerpc, .os = .linux, .abi = .musl }, .{ .arch = .powerpc, .os = .linux, .abi = .musl },
.{ .arch = .riscv32, .os = .linux, .abi = .gnuilp32, .glibc_min = .{ .major = 2, .minor = 33, .patch = 0 } }, .{ .arch = .riscv32, .os = .linux, .abi = .gnu, .glibc_min = .{ .major = 2, .minor = 33, .patch = 0 } },
.{ .arch = .riscv32, .os = .linux, .abi = .musl }, .{ .arch = .riscv32, .os = .linux, .abi = .musl },
.{ .arch = .riscv64, .os = .linux, .abi = .gnu, .glibc_min = .{ .major = 2, .minor = 27, .patch = 0 } }, .{ .arch = .riscv64, .os = .linux, .abi = .gnu, .glibc_min = .{ .major = 2, .minor = 27, .patch = 0 } },
.{ .arch = .riscv64, .os = .linux, .abi = .musl }, .{ .arch = .riscv64, .os = .linux, .abi = .musl },

View file

@ -369,7 +369,6 @@ pub fn addrSpaceCastIsValid(
pub fn llvmMachineAbi(target: std.Target) ?[:0]const u8 { pub fn llvmMachineAbi(target: std.Target) ?[:0]const u8 {
const have_float = switch (target.abi) { const have_float = switch (target.abi) {
.gnuilp32 => return "ilp32",
.gnueabihf, .musleabihf, .eabihf => true, .gnueabihf, .musleabihf, .eabihf => true,
else => false, else => false,
}; };

View file

@ -162,7 +162,7 @@ const glibc_targets = [_]LibCTarget{
LibCTarget{ LibCTarget{
.name = "riscv32-linux-gnu-rv32imac-ilp32", .name = "riscv32-linux-gnu-rv32imac-ilp32",
.arch = MultiArch{ .specific = Arch.riscv32 }, .arch = MultiArch{ .specific = Arch.riscv32 },
.abi = MultiAbi{ .specific = Abi.gnuilp32 }, .abi = MultiAbi{ .specific = Abi.gnu },
}, },
LibCTarget{ LibCTarget{
.name = "riscv64-linux-gnu-rv64imac-lp64", .name = "riscv64-linux-gnu-rv64imac-lp64",