Re: [PATCH] mips n64 support, part 1

Andrew Cagney
2002-08-01T19:02:19Z

> @@ -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:

/* GCC creates a pseudo-section whose name describes the ABI. */
if (mips_abi == MIPS_ABI_UNKNOWN && info.abfd != NULL)
bfd_map_over_sections (info.abfd, mips_find_abi_section, &mips_abi);

should catch most modern cases.

Andrew