| ... | @@ -453,7 +453,20 @@ fn start_asm_path(comp: *Compilation, arena: *Allocator, basename: []const u8) ! | ... | @@ -453,7 +453,20 @@ fn start_asm_path(comp: *Compilation, arena: *Allocator, basename: []const u8) ! |
| 453 | } else if (arch.isARM()) { | 453 | } else if (arch.isARM()) { |
| 454 | try result.appendSlice("arm"); | 454 | try result.appendSlice("arm"); |
| 455 | } else if (arch.isMIPS()) { | 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 | } else if (arch == .x86_64) { | 470 | } else if (arch == .x86_64) { |
| 458 | try result.appendSlice("x86_64"); | 471 | try result.appendSlice("x86_64"); |
| 459 | } else if (arch == .i386) { | 472 | } else if (arch == .i386) { |