authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-26 18:56:43-05:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-02-28 14:51:54-05:00
log7927764cc21592e19591095105c397736f060edf
tree13fc545f1dc4ccf341bb14a511489017955c3264
parent34d2700af42d8f45caaa168b34c34b33bb14cf8d
signaturelock-open Commit is signed but in an unrecognized format.

mips: implement Target.getStandardDynamicLinkerPath


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

lib/std/target.zig+10-1
...@@ -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 },
11551164
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"),