diff --git a/lib/std/Target.zig b/lib/std/Target.zig index 163ca548097642ddbd3fe38f84349c2da01e5afa..00b99fb38a3347589dbc34f073130dbd51b9dff9 100644 --- a/lib/std/Target.zig +++ b/lib/std/Target.zig @@ -2450,6 +2450,7 @@ pub const DynamicLinker = struct { pub fn kind(os: Os.Tag) Kind { return switch (os) { .fuchsia, + .managarm, .haiku, .illumos, @@ -2468,14 +2469,14 @@ pub const DynamicLinker = struct { .visionos, .watchos, => .arch_os, + .hurd, .linux, => .arch_os_abi, + .freestanding, .other, - .managarm, // Needs to be double-checked. - .plan9, .rtems, @@ -2536,6 +2537,13 @@ pub const DynamicLinker = struct { else => none, }, + .managarm => switch (cpu.arch) { + .aarch64 => init("/lib/aarch64-managarm-mlibc-ld.so"), + .riscv64 => init("/lib/riscv64-managarm-mlibc-ld.so"), + .x86_64 => init("/lib/x86_64-managarm-mlibc-ld.so"), + else => none, + }, + .haiku => switch (cpu.arch) { .arm, .aarch64, @@ -2939,8 +2947,6 @@ pub const DynamicLinker = struct { // TODO go over each item in this list and either move it to the above list, or // implement the standard dynamic linker path code for it. - .managarm, - .ps3, .ps4, .ps5,