@@ -4352,7 +4354,11 @@ mips_gdbarch_init (struct gdbarch_info i
break;
case bfd_mach_mips8000:
case bfd_mach_mips10000:
- mips_abi = MIPS_ABI_N32;
+ if (bfd_get_flavour (info.abfd) == bfd_target_elf_flavour
+ && elf_elfheader (info.abfd)->e_ident[EI_CLASS] == ELFCLASS64)
+ mips_abi = MIPS_ABI_N64;
+ else
+ mips_abi = MIPS_ABI_N32;
break;
}
}
This bit should at least have a comment explaining the assumptions
behind it -- have you actually seen this code being triggered? I don't
think the code is ever reached (unless the executable is very old) as
the earlier: