[PATCH] Better checking of ISA/ASE/ABI options for MIPS gas
Eric Christopher
echristo@apple.com
Tue May 23 04:06:00 GMT 2006
>
> I'm somewhat uncertain about the ABI incompatibility warning for
> wrong FP register widths, does it make sense to force a different
> FP register width in the assembler in some cases?
>
No. No more reading the minds of programmers. :)
btw, the indention on the code in the diff is wacky. I assume it's
correct in your files?
> @@ -1031,7 +1052,13 @@ static int validate_mips_insn (const str
> struct mips_cpu_info
> {
> const char *name; /* CPU or ISA name. */
> - int is_isa; /* Is this an ISA? (If 0, a CPU.) */
> + int flags;
> +#define MIPS_CPU_IS_ISA 0x0001 /* Is this an ISA? (If 0, a CPU.) */
> +#define MIPS_CPU_ASE_SMARTMIPS 0x0002 /* CPU implements SmartMIPS
> ASE */
> +#define MIPS_CPU_ASE_DSP 0x0004 /* CPU implements DSP ASE */
> +#define MIPS_CPU_ASE_MT 0x0008 /* CPU implements MT ASE */
> +#define MIPS_CPU_ASE_MIPS3D 0x0010 /* CPU implements MIPS-3D ASE */
> +#define MIPS_CPU_ASE_MDMX 0x0020 /* CPU implements MDMX ASE */
> int isa; /* ISA level. */
> int cpu; /* CPU number (default CPU if ISA). */
> };
Ugh. Can you haul these defines out somewhere else? And why change
the table to include default extensions for the cpu?
>
> /* End of GCC-shared inference code. */
You need to make sure that this shared code is the same logic in both
places - preferably before committing this.
> +
> +#if 0 /* XXX FIXME */
> + /* 32 bit code with 64 bit FP registers. */
> + if (!file_mips_fp32 && ABI_NEEDS_32BIT_REGS (mips_abi))
> + elf_elfheader (stdoutput)->e_flags |= ???;
> +#endif
> }
>
???
-eric
More information about the Binutils
mailing list