authorgravatar for thatlemon@gmail.comLemonBoy <thatlemon@gmail.com> 2021-03-08 09:48:19+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-03-09 18:20:34-05:00
log1a5d0cea15963437af68bbb7a50354a378cf4efd
treed321e4715a321049e8719df20f62fd80447d181f
parenta033735c8d2faf4ecd42b9d736d8ea61d22d3fcb

stage2: Use correct ELF emulation for mips64

The n32 ABI requires a different emulation string than n64.

1 files changed, 14 insertions(+), 2 deletions(-)

src/link/Elf.zig+14-2
...@@ -3230,8 +3230,20 @@ fn getLDMOption(target: std.Target) ?[]const u8 {...@@ -3230,8 +3230,20 @@ fn getLDMOption(target: std.Target) ?[]const u8 {
3230 .sparcv9 => return "elf64_sparc",3230 .sparcv9 => return "elf64_sparc",
3231 .mips => return "elf32btsmip",3231 .mips => return "elf32btsmip",
3232 .mipsel => return "elf32ltsmip",3232 .mipsel => return "elf32ltsmip",
3233 .mips64 => return "elf64btsmip",3233 .mips64 => {
3234 .mips64el => return "elf64ltsmip",3234 if (target.abi == .gnuabin32) {
3235 return "elf32btsmipn32";
3236 } else {
3237 return "elf64btsmip";
3238 }
3239 },
3240 .mips64el => {
3241 if (target.abi == .gnuabin32) {
3242 return "elf32ltsmipn32";
3243 } else {
3244 return "elf64ltsmip";
3245 }
3246 },
3235 .s390x => return "elf64_s390",3247 .s390x => return "elf64_s390",
3236 .x86_64 => {3248 .x86_64 => {
3237 if (target.abi == .gnux32) {3249 if (target.abi == .gnux32) {