authorgravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-02-01 14:26:12+01:00
committergravatar for alex@alexrp.comAlex Rønne Petersen <alex@alexrp.com> 2026-04-22 15:31:56+02:00
log022fcc586971fa59f0e5c9f5a38a87735533fc29
tree3c419ba330118fb70664a372073f2fd3c53ef053
parent0c796adb87491359dcf56efc75fde763e43b733e
signaturebadge-check Signed by SSH key SHA256:7B/LJ7bpR1eX8aCXSr4mtd5M45VMPKcx9zY8e95b5QM

std.Target: fuchsia supports arm/thumb now


2 files changed, 10 insertions(+), 1 deletions(-)

lib/std/Target.zig+8-1
...@@ -845,6 +845,12 @@ pub const Abi = enum {...@@ -845,6 +845,12 @@ pub const Abi = enum {
845 => .eabi,845 => .eabi,
846 else => .none,846 else => .none,
847 },847 },
848 .fuchsia => switch (arch) {
849 .arm,
850 .thumb,
851 => .eabihf,
852 else => .none,
853 },
848 .haiku => switch (arch) {854 .haiku => switch (arch) {
849 .arm,855 .arm,
850 .powerpc,856 .powerpc,
...@@ -928,7 +934,6 @@ pub const Abi = enum {...@@ -928,7 +934,6 @@ pub const Abi = enum {
928 .wasi, .emscripten => .musl,934 .wasi, .emscripten => .musl,
929935
930 .contiki,936 .contiki,
931 .fuchsia,
932 .hermit,937 .hermit,
933 .illumos,938 .illumos,
934 .managarm,939 .managarm,
...@@ -2442,8 +2447,10 @@ pub const DynamicLinker = struct {...@@ -2442,8 +2447,10 @@ pub const DynamicLinker = struct {
2442 pub fn standard(cpu: Cpu, os: Os, abi: Abi) DynamicLinker {2447 pub fn standard(cpu: Cpu, os: Os, abi: Abi) DynamicLinker {
2443 return switch (os.tag) {2448 return switch (os.tag) {
2444 .fuchsia => switch (cpu.arch) {2449 .fuchsia => switch (cpu.arch) {
2450 .arm,
2445 .aarch64,2451 .aarch64,
2446 .riscv64,2452 .riscv64,
2453 .thumb,
2447 .x86_64,2454 .x86_64,
2448 => init("ld.so.1"), // Fuchsia is unusual in that `DT_INTERP` is just a basename.2455 => init("ld.so.1"), // Fuchsia is unusual in that `DT_INTERP` is just a basename.
2449 else => none,2456 else => none,
test/llvm_targets.zig+2
...@@ -52,6 +52,7 @@ const targets = [_]std.Target.Query{...@@ -52,6 +52,7 @@ const targets = [_]std.Target.Query{
52 .{ .cpu_arch = .arm, .os_tag = .freebsd, .abi = .eabihf },52 .{ .cpu_arch = .arm, .os_tag = .freebsd, .abi = .eabihf },
53 .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabi },53 .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabi },
54 .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabihf },54 .{ .cpu_arch = .arm, .os_tag = .freestanding, .abi = .eabihf },
55 .{ .cpu_arch = .arm, .os_tag = .fuchsia, .abi = .eabihf },
55 .{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabi },56 .{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabi },
56 .{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabihf },57 .{ .cpu_arch = .arm, .os_tag = .haiku, .abi = .eabihf },
57 .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .androideabi },58 .{ .cpu_arch = .arm, .os_tag = .linux, .abi = .androideabi },
...@@ -255,6 +256,7 @@ const targets = [_]std.Target.Query{...@@ -255,6 +256,7 @@ const targets = [_]std.Target.Query{
255256
256 .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabi },257 .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabi },
257 .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabihf },258 .{ .cpu_arch = .thumb, .os_tag = .freestanding, .abi = .eabihf },
259 .{ .cpu_arch = .thumb, .os_tag = .fuchsia, .abi = .eabihf },
258 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabi },260 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabi },
259 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabihf },261 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .eabihf },
260 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabi },262 .{ .cpu_arch = .thumb, .os_tag = .linux, .abi = .musleabi },