authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-06 00:03:07+02:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-05-06 15:50:45+02:00
log3e0dfe83ce520cd1344f2b4567e952d79eb0e0c4
treeea1aedc3d5c760b297c9b8c603b894833eb87504
parenta2ab3132df50753f8cc403f072c2a8b5b950f20e

drop support for powerpc-linux-gnueabi(hf)

These are the last PowerPC cross targets that still use the IBM 128-bit long double format. I'm not convinced anyone cares enough about them to justify keeping them around, so this drops support. powerpc-linux-musleabi(hf), which use the IEEE format, are still fully supported for people who want to use old 32-bit PowerPC hardware.

4 files changed, 1 insertions(+), 26 deletions(-)

lib/std/zig/target.zig+1-3
...@@ -76,8 +76,6 @@ pub const available_libcs = [_]ArchOsAbi{...@@ -76,8 +76,6 @@ pub const available_libcs = [_]ArchOsAbi{
76 .{ .arch = .mips64el, .os = .linux, .abi = .muslabi64, .os_ver = .{ .major = 2, .minor = 3, .patch = 48 } },76 .{ .arch = .mips64el, .os = .linux, .abi = .muslabi64, .os_ver = .{ .major = 2, .minor = 3, .patch = 48 } },
77 .{ .arch = .mips64el, .os = .linux, .abi = .muslabin32, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } },77 .{ .arch = .mips64el, .os = .linux, .abi = .muslabin32, .os_ver = .{ .major = 2, .minor = 6, .patch = 0 } },
78 .{ .arch = .mips64el, .os = .openbsd, .abi = .none, .os_ver = .{ .major = 4, .minor = 7, .patch = 0 } },78 .{ .arch = .mips64el, .os = .openbsd, .abi = .none, .os_ver = .{ .major = 4, .minor = 7, .patch = 0 } },
79 .{ .arch = .powerpc, .os = .linux, .abi = .gnueabi, .os_ver = .{ .major = 1, .minor = 3, .patch = 45 }, .glibc_triple = "powerpc-linux-gnu-soft" },
80 .{ .arch = .powerpc, .os = .linux, .abi = .gnueabihf, .os_ver = .{ .major = 1, .minor = 3, .patch = 45 }, .glibc_triple = "powerpc-linux-gnu" },
81 .{ .arch = .powerpc, .os = .linux, .abi = .musleabi, .os_ver = .{ .major = 1, .minor = 3, .patch = 45 } },79 .{ .arch = .powerpc, .os = .linux, .abi = .musleabi, .os_ver = .{ .major = 1, .minor = 3, .patch = 45 } },
82 .{ .arch = .powerpc, .os = .linux, .abi = .musleabihf, .os_ver = .{ .major = 1, .minor = 3, .patch = 45 } },80 .{ .arch = .powerpc, .os = .linux, .abi = .musleabihf, .os_ver = .{ .major = 1, .minor = 3, .patch = 45 } },
83 .{ .arch = .powerpc, .os = .netbsd, .abi = .eabi, .os_ver = .{ .major = 6, .minor = 0, .patch = 0 } },81 .{ .arch = .powerpc, .os = .netbsd, .abi = .eabi, .os_ver = .{ .major = 6, .minor = 0, .patch = 0 } },
...@@ -244,7 +242,7 @@ pub fn glibcArchNameHeaders(arch: std.Target.Cpu.Arch) [:0]const u8 {...@@ -244,7 +242,7 @@ pub fn glibcArchNameHeaders(arch: std.Target.Cpu.Arch) [:0]const u8 {
244 .arm, .armeb => "arm",242 .arm, .armeb => "arm",
245 .loongarch64 => "loongarch",243 .loongarch64 => "loongarch",
246 .mips, .mipsel, .mips64, .mips64el => "mips",244 .mips, .mipsel, .mips64, .mips64el => "mips",
247 .powerpc, .powerpc64le => "powerpc",245 .powerpc64le => "powerpc",
248 .riscv32, .riscv64 => "riscv",246 .riscv32, .riscv64 => "riscv",
249 .sparc, .sparc64 => "sparc",247 .sparc, .sparc64 => "sparc",
250 .x86, .x86_64 => "x86",248 .x86, .x86_64 => "x86",
test/llvm_targets.zig-2
...@@ -190,8 +190,6 @@ const targets = [_]std.Target.Query{...@@ -190,8 +190,6 @@ const targets = [_]std.Target.Query{
190 .{ .cpu_arch = .powerpc, .os_tag = .haiku, .abi = .eabihf },190 .{ .cpu_arch = .powerpc, .os_tag = .haiku, .abi = .eabihf },
191 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .eabi },191 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .eabi },
192 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .eabihf },192 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .eabihf },
193 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .gnueabi },
194 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .gnueabihf },
195 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .musleabi },193 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .musleabi },
196 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .musleabihf },194 .{ .cpu_arch = .powerpc, .os_tag = .linux, .abi = .musleabihf },
197 .{ .cpu_arch = .powerpc, .os_tag = .netbsd, .abi = .eabi },195 .{ .cpu_arch = .powerpc, .os_tag = .netbsd, .abi = .eabi },
test/tests.zig-19
...@@ -792,25 +792,6 @@ const module_test_targets = blk: {...@@ -792,25 +792,6 @@ const module_test_targets = blk: {
792 .skip_modules = &.{"std"},792 .skip_modules = &.{"std"},
793 .extra_target = true,793 .extra_target = true,
794 },794 },
795 .{
796 .target = .{
797 .cpu_arch = .powerpc,
798 .os_tag = .linux,
799 .abi = .gnueabi,
800 },
801 .link_libc = true,
802 .extra_target = true,
803 },
804 .{
805 .target = .{
806 .cpu_arch = .powerpc,
807 .os_tag = .linux,
808 .abi = .gnueabihf,
809 },
810 .link_libc = true,
811 // https://github.com/ziglang/zig/issues/2256
812 .skip_modules = &.{"std"},
813 },
814795
815 .{796 .{
816 .target = .{797 .target = .{
tools/process_headers.zig-2
...@@ -47,8 +47,6 @@ const glibc_targets = [_]LibCTarget{...@@ -47,8 +47,6 @@ const glibc_targets = [_]LibCTarget{
47 .{ .arch = .mips64, .abi = .gnuabin32, .dest = "mips-linux-gnu" },47 .{ .arch = .mips64, .abi = .gnuabin32, .dest = "mips-linux-gnu" },
48 .{ .arch = .mips64el, .abi = .gnuabi64, .dest = "mips-linux-gnu" },48 .{ .arch = .mips64el, .abi = .gnuabi64, .dest = "mips-linux-gnu" },
49 .{ .arch = .mips64el, .abi = .gnuabin32, .dest = "mips-linux-gnu" },49 .{ .arch = .mips64el, .abi = .gnuabin32, .dest = "mips-linux-gnu" },
50 .{ .arch = .powerpc, .abi = .gnueabi, .dest = "powerpc-linux-gnu" },
51 .{ .arch = .powerpc, .abi = .gnueabihf, .dest = "powerpc-linux-gnu" },
52 .{ .arch = .powerpc64le, .abi = .gnu, .dest = "powerpc-linux-gnu" },50 .{ .arch = .powerpc64le, .abi = .gnu, .dest = "powerpc-linux-gnu" },
53 .{ .arch = .riscv32, .abi = .gnu, .dest = "riscv-linux-gnu" },51 .{ .arch = .riscv32, .abi = .gnu, .dest = "riscv-linux-gnu" },
54 .{ .arch = .riscv64, .abi = .gnu, .dest = "riscv-linux-gnu" },52 .{ .arch = .riscv64, .abi = .gnu, .dest = "riscv-linux-gnu" },