[PATCH][mips] Introduce '.set noase' to the mips assembler.

Egeyar Bagcioglu egeyar.bagcioglu@oracle.com
Mon Oct 7 12:57:00 GMT 2019



On 10/3/19 4:28 PM, Maciej W. Rozycki wrote:
> On Thu, 3 Oct 2019, Egeyar Bagcioglu wrote:
>
>> I have corrected the gas/ChangeLog below.
>> Adding mips maintainers Maciej W. Rozycki and Chenghua Xu.
>   This has been discussed before (no mailing list archive pointer offhand,
> but I suppose you can try chasing it now that you know it is there) and I
> reckon the consensus was that we ought to suppress the warning when the
> ISA is demoted to one that does not support an ASE until an instruction
> that is a part of the said ASE is actually seen in input under the new ISA
> setting.  I'd recommend implementing this as it sounds like the best of
> both worlds: it keeps backwards compatibility while silencing the useless
> warning and it does trigger the warning where actually relevant.  You may
> have to reword the warning though.
>
>   You may also check what older GAS versions did before the warning was
> introduced, i.e. whether they actually choked on such an ASE instruction
> under a demoted ISA or silently accepted it.  That would determine how far
> backwards compatibility needs to go, i.e. if it was a working feature back
> then, then we probably want to keep it, but if the bug was only introduced
> with the warning message, then we don't and we just need to bail out on
> the offending instruction rather than warn.
>
>   HTH,
>
>    Maciej

Thanks Maciej for the clear explanation.

I was not able to find the discussion you mentioned, unless you meant 
the following two:
https://sourceware.org/bugzilla/show_bug.cgi?id=16288
https://sourceware.org/ml/binutils/2014-05/msg00179.html

The .module directive is only allowed before generating code. The usage 
that I would like the assembler to allow --without warnings-- is .set 
push/pop pairs to be used to encapsulate inline assembly functions in 
order to prevent the usage of higher level assembly instructions within 
the source code of a project, *while also allowing* the generated .s 
files to use the ASEs permitted outside of such pairs.

Whether this is what you meant by the previous discussion or not, I'll 
take your reply above as reference and start implementing the 
functionality you described as soon as I can.

Regards,
Egeyar




More information about the Binutils mailing list