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]

Re: RedHat 7.1/mips update


On Thu, Oct 25, 2001 at 08:48:36PM -0400, Jim Paris wrote:
> > It is intentional. Do what the message says. I only have to check my
> > arch/mips/Makefile from -mcpu=xxx to -mtune=xxx.
> 
> The line relevant to my architecture in arch/mips/Makefile used:
> 
>     -mcpu=4100 -mips2 -Wa,--trap 
> 
> The new binutils doesn't allow this; the -mcpu is ignored, so I get:
> 
> {standard input}:91: Error: opcode not supported on this processor: R6000 (MIPS2) `standby'
> {standard input}:178: Error: opcode not supported on this processor: R6000 (MIPS2) `hibernate'
> 
> So, I try changing it to
> 
>     -mtune=4100 -mips2 -Wa,--trap
> 
> as you suggest here; binutils stops complaining about incompatible
> parameters, but I get the same build error.  What I'm currently using
> is:
> 
>     -march=r4100 -Wa,-m4100,--trap
> 
> which elimiates the errors, but has the side effect that everything is
> now MIPS3.  I don't really know much about the different ISA levels;
> is it preferable to compile the kernel as MIPS2 for some reason, and
> if so, how do I do that while still getting the R4100 instructions?

I agree. It seems no way to set the ELF e_flags field to indicate
an object file containing this MIPS ISA plus instructions from that
MIPS cpu. The problem is we are setting both EF_MIPS_ARCH and
EF_MIPS_MACH in bfd. I believe they should be set by the assembler
instead. I'd like to add bfd_mips_elf[32|64]_set_isa () and to set the
EF_MIPS_ARCH field and let bfd set the EF_MIPS_MACH field only. Then
we should allow

-march=r4100 -mips2

which means to use instructions from mips2 plus those from r4100.


H.J.


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