public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: Thiemo Seufer <ths@networkno.de>
To: Eric Christopher <echristo@apple.com>
Cc: binutils@sourceware.org
Subject: Re: [PATCH] Better checking of ISA/ASE/ABI options for MIPS gas
Date: Tue, 23 May 2006 04:40:00 -0000	[thread overview]
Message-ID: <20060522234641.GA9061@networkno.de> (raw)
In-Reply-To: <9C4668ED-B9FB-4A18-BCF4-CA7F5DFFE0E1@apple.com>

Eric Christopher wrote:
> >
> >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. :)

Well, for GP registers we do even as_bad().

> btw, the indention on the code in the diff is wacky. I assume it's  
> correct in your files?

I think so.

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

Sure.

> And why change the table to include default extensions for the cpu?

To handle them the same way as the ISA. This is for ASEs which are
always implemented in that particular 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.

Yes. Do you think the logic is ok (modulo the FP ABI warning)?

> >+#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
> > }
> >
> 
> ???

Same like for MIPS3D, we should tell the linker this object is (possibly)
incompatible to other O32 objects with 32bit FP regs.


Thiemo

  reply	other threads:[~2006-05-22 23:47 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-23  0:08 Thiemo Seufer
2006-05-23  4:06 ` Eric Christopher
2006-05-23  4:40   ` Thiemo Seufer [this message]
2006-05-23  5:01     ` Eric Christopher
2006-05-23  5:27       ` Thiemo Seufer
2006-05-23  5:51         ` Eric Christopher
2006-05-23 12:10 ` Richard Sandiford
2006-05-23 13:34   ` Thiemo Seufer
2006-05-23 14:14     ` Richard Sandiford
2006-05-23 15:39       ` Thiemo Seufer
2006-05-23 17:47 ` Thiemo Seufer
2006-05-23 21:01   ` Richard Sandiford
2006-05-23 23:37     ` Thiemo Seufer
2006-05-24  1:46       ` Richard Sandiford

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20060522234641.GA9061@networkno.de \
    --to=ths@networkno.de \
    --cc=binutils@sourceware.org \
    --cc=echristo@apple.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).