From 48d5b66677098638f75547f0763a994d28bb0ce8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alex=20R=C3=B8nne=20Petersen?= Date: Sun, 1 Feb 2026 14:26:12 +0100 Subject: [PATCH] std.Target: fuchsia supports arm/thumb now --- lib/std/Target.zig | 9 ++++++++- test/llvm_targets.zig | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/std/Target.zig b/lib/std/Target.zig index 704d934f75..4a175afe9a 100644 --- a/lib/std/Target.zig +++ b/lib/std/Target.zig @@ -845,6 +845,12 @@ pub const Abi = enum { => .eabi, else => .none, }, + .fuchsia => switch (arch) { + .arm, + .thumb, + => .eabihf, + else => .none, + }, .haiku => switch (arch) { .arm, .powerpc, @@ -928,7 +934,6 @@ pub const Abi = enum { .wasi, .emscripten => .musl, .contiki, - .fuchsia, .hermit, .illumos, .managarm, @@ -2443,8 +2448,10 @@ pub const DynamicLinker = struct { pub fn standard(cpu: Cpu, os: Os, abi: Abi) DynamicLinker { return switch (os.tag) { .fuchsia => switch (cpu.arch) { + .arm, .aarch64, .riscv64, + .thumb, .x86_64, => init("ld.so.1"), // Fuchsia is unusual in that `DT_INTERP` is just a basename. else => none, diff --git a/test/llvm_targets.zig b/test/llvm_targets.zig index 140f4ab185..6b768a277c 100644 --- a/test/llvm_targets.zig +++ b/test/llvm_targets.zig @@ -52,6 +52,7 @@ const targets = [_]std.Target.Query{ .{ .cpu_arch = .arm, .os_tag = .freebsd, .abi = .eabihf }, .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabi }, .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabihf }, + .{ .cpu_arch = .arm, .os_tag = .fuchsia, .abi = .eabihf }, .{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabi }, .{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabihf }, .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .androideabi }, @@ -255,6 +256,7 @@ const targets = [_]std.Target.Query{ .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabi }, .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabihf }, + .{ .cpu_arch = .thumb, .os_tag = .fuchsia, .abi = .eabihf }, .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabi }, .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabihf }, .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabi },