[PATCH] mips n64 support, part 1

Andrew Cagney ac131313@ges.redhat.com
Thu Aug 1 12:02:00 GMT 2002


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




More information about the Gdb-patches mailing list