This is the mail archive of the binutils@sources.redhat.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add .set arch=FOO support to MIPS gas.


At Sun, 29 Jun 2003 13:05:47 +0200, Thiemo Seufer wrote:
> cgd@broadcom.com wrote:
> [snip]
> > personally, i think i'd actually stuff the 'mipsN' and 'arch=' into
> > the same outer 'if' check  (i.e., look for arch= and mips*, then do
> > the right thing for each inside).
> 
> But they are semantically different. arch= changes the ISA, but
> mipsX does not change the architecture.

right, what i meant was something like:

        if (mipsN or arch=) {
          if (mips0)
                set ISA
          else if (mips1)
                ...
          else if (arch=)
                handle mipsN, i.e. set arch and ISA
          else
                bugs mipsN values.
          switch on ISA to set gp32/gp64 as is there now.
        }

hmm, here's a question (meant to ask this before)...

should ".set mips0" reset the *arch* to the default, too?

(i don't see any *harm* in it, and then both .set mips0 and .set
arch=default would restore arch/isa sanity?)


> If there's a 64bit capable CPU which does not support MIPS III but say
> lacks some of the MIPS II insns we need to base this on arch.

do we really expect there to be any new chips like this?  I think
other than what you describe below, it's not an issue...


> There _are_ 64bit CPUs without ll/sc, from a vendor which shall remain
> unnamed. ATM, we just ignore the problem and assemble those insns
> happily for them.

and many kernels will emulate them.  8-)


> and the 4010 specific opcodes seem not to be for 64bit, so I guess
> it is really an obsolete 32bit chip. But bfd disagrees in cpu-mips.c:
> 
>   N (64, 64, bfd_mach_mips4010, "mips:4010",      FALSE, NN(I_mips4010)),

hmm, looks like that's been that way since rev 1.1 of the file.

hopefully some of the RH guys can comment... it looks like all public
documentation about this chip has long vanished from the web...


cgd


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]