| ... | @@ -1151,7 +1151,16 @@ pub const Target = struct { | ... | @@ -1151,7 +1151,16 @@ pub const Target = struct { |
| 1151 | .mipsel, | 1151 | .mipsel, |
| 1152 | .mips64, | 1152 | .mips64, |
| 1153 | .mips64el, | 1153 | .mips64el, |
| 1154 | => return error.UnknownDynamicLinkerPath, | 1154 | => { |
| | 1155 | const lib_suffix = switch (self.abi) { |
| | 1156 | .gnuabin32, .gnux32 => "32", |
| | 1157 | .gnuabi64 => "64", |
| | 1158 | else => "", |
| | 1159 | }; |
| | 1160 | const is_nan_2008 = mips.featureSetHas(self.cpu.features, .nan2008); |
| | 1161 | const loader = if (is_nan_2008) "ld-linux-mipsn8.so.1" else "ld.so.1"; |
| | 1162 | return std.fmt.allocPrint0(a, "/lib{}/{}", .{ lib_suffix, loader }); |
| | 1163 | }, |
| 1155 | | 1164 | |
| 1156 | .powerpc => return mem.dupeZ(a, u8, "/lib/ld.so.1"), | 1165 | .powerpc => return mem.dupeZ(a, u8, "/lib/ld.so.1"), |
| 1157 | .powerpc64, .powerpc64le => return mem.dupeZ(a, u8, "/lib64/ld64.so.2"), | 1166 | .powerpc64, .powerpc64le => return mem.dupeZ(a, u8, "/lib64/ld64.so.2"), |