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: a couple of gas MIPS ABI issues.


ica2_ts@csv.ica.uni-stuttgart.de ("Thiemo Seufer") writes:
> cgd@broadcom.com wrote:
> [snip]
> > So, inside your .set mips64, you're going to have mips_abi == NO_ABI.
> > 
> > So, HAVE_32BIT_ADDRESSES, which used to evaluate to
> > 0 (== (0 || ((0 || 0) && 1))) will now evaluate to
> > 1 (== (0 || ((0 || 1) && 1))).
> 
> That's right, it should be only NO_ABI if the file ABI would
> restrict the newly selected ISA.

Uh, unless i'm blind, though, that's not what the code does _at all_,
though.


> > The point here is, the ABI does _not_ govern just the ISA level used.
> > 
> > It governs stuff like the size of GOT elements, etc.
> > 
> > When you want to just change the ISA level, you _do not_ want to
> > change the use of rest of the ABI-related features in the binary.
> > Really.  You _only_ want to change the ISA level.
> 
> If the ABI is o32, I definitely want to remove ABI restrictions.

To my mind it's not so much restrictions as it is general properties.

Sure, you want to allow any ISA to be used.

But if you want to load an address... and the address is being stored
in the binary in an "o32-ish" way... then you want to load the address
in that o32-ish way, no?!



cgd


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