From f2b96782ecdc9e2f8740eb7d294203b2a585ea52 Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Mon, 8 Mar 2021 09:49:16 +0100 Subject: stage2: Fix glibc lookup path for MIPS crt files Add some more rules to let the compiler find the correct startup files for the selected target and ABI. --- src/glibc.zig | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/glibc.zig b/src/glibc.zig index b154bd530d..1acf57e267 100644 --- a/src/glibc.zig +++ b/src/glibc.zig @@ -453,7 +453,20 @@ fn start_asm_path(comp: *Compilation, arena: *Allocator, basename: []const u8) ! } else if (arch.isARM()) { try result.appendSlice("arm"); } else if (arch.isMIPS()) { - try result.appendSlice("mips"); + if (!mem.eql(u8, basename, "crti.S") and !mem.eql(u8, basename, "crtn.S")) { + try result.appendSlice("mips"); + } else { + if (is_64) { + const abi_dir = if (comp.getTarget().abi == .gnuabin32) + "n32" + else + "n64"; + try result.appendSlice("mips" ++ s ++ "mips64" ++ s); + try result.appendSlice(abi_dir); + } else { + try result.appendSlice("mips" ++ s ++ "mips32"); + } + } } else if (arch == .x86_64) { try result.appendSlice("x86_64"); } else if (arch == .i386) { -- cgit v1.2.3