This is the mail archive of the binutils@sourceware.org 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] Introduce '.set noase' to the mips assembler.




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



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