| ... | ... | @@ -453,7 +453,20 @@ fn start_asm_path(comp: *Compilation, arena: *Allocator, basename: []const u8) ! |
| 453 | 453 | } else if (arch.isARM()) { |
| 454 | 454 | try result.appendSlice("arm"); |
| 455 | 455 | } else if (arch.isMIPS()) { |
| 456 | | try result.appendSlice("mips"); |
| 456 | if (!mem.eql(u8, basename, "crti.S") and !mem.eql(u8, basename, "crtn.S")) { |
| 457 | try result.appendSlice("mips"); |
| 458 | } else { |
| 459 | if (is_64) { |
| 460 | const abi_dir = if (comp.getTarget().abi == .gnuabin32) |
| 461 | "n32" |
| 462 | else |
| 463 | "n64"; |
| 464 | try result.appendSlice("mips" ++ s ++ "mips64" ++ s); |
| 465 | try result.appendSlice(abi_dir); |
| 466 | } else { |
| 467 | try result.appendSlice("mips" ++ s ++ "mips32"); |
| 468 | } |
| 469 | } |
| 457 | 470 | } else if (arch == .x86_64) { |
| 458 | 471 | try result.appendSlice("x86_64"); |
| 459 | 472 | } else if (arch == .i386) { |