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] MIPS gas/ld test suite portability fixes


Eric Christopher wrote:
> 
> > > As long as the arch is passed along as 'from-abi' I'm ok with changing
> > > it.
> > 
> > from-abi is always mips3 for NewABI.
> > 
> 
> Right, I meant as long as they do this:
> 
> gas -march=from-abi -mabi=64
> 
> just as they would with a gcc that wasn't configured for the right
> abi/isa.

Gcc does not behave that way for mips{,64}-linux, see MIPS_ISA_DEFAULT
and MIPS_CPU_STRING_DEFAULT. If neither is defined, the arch will be
figured out from the ABI. It would IMHO make no sense to fail on
"mips-linux-gcc -mabi=64" just because there's no arch specified.

mipsisa32*-linux fails because it defines MIPS_ISA_DEFAULT instead
of MIPS_CPU_STRING_DEFAULT.

Most of the mips*-elf targets define MIPS_ISA_DEFAULT, some define
additionally MIPS_CPU_STRING_DEFAULT.

Those gcc configurations should probably be changed to define
MIPS_CPU_STRING_DEFAULT only, with the ISA-generic default cpu value
for an ISA-specific config.

[snip]
> > > Having it error and make people be specific is the best bet I think, or
> > > "from-abi" - at least that way they know that they're getting what we
> > > choose :)
> > 
> > They already specified it with -mabi, as mips3 is the minimum required
> > for NewABI.
> 
> I think we're running into a difference between explicit command line
> options and implicit. You think they implicitly implied mips3, I think
> it was an error that they weren't explicit about what they wanted. :) 

No, I think they implied to get the minimum requirements for that ABI.

> As an example what if someone requested -32 on a toolchain that
> defaulted to 64-bit?

Without an arch specified, it defaults to the minimum needed: mips1.
Unless the toolchain config defines a default ISA, which disables
the ISA selection magic.

> or, even better with a mips64-elf toolchain
> specified -mips2? It defaults to o64, but yet mips2 isn't valid for the
> abi.

The -mipsX options are specialcased for historical reasons. Their
behaviour won't change by the proposed patch.

> I think if we allow -march=from-abi that'll solve the portable makefile
> problem as well - as long as people specify the abi they want and let
> from-abi say "gimme the abi, pick the minimum architecture required".

But we already have the information to fix the failure mode, and we
don't need to make any assumptions beyond this.


Thiemo


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