std.Target: fuchsia supports arm/thumb now

This commit is contained in:
Alex Rønne Petersen
2026-02-01 14:26:12 +01:00
parent 8a1ec6a54d
commit 48d5b66677
2 changed files with 10 additions and 1 deletions
+8 -1
View File
@@ -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,
+2
View File
@@ -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 },