Improve warnings about MIPS macros
Thiemo Seufer
ica2_ts@csv.ica.uni-stuttgart.de
Wed Jan 21 23:12:00 GMT 2004
Richard Sandiford wrote:
[snip]
> Tested on mips64-linux-gnu. OK to install?
>
> Richard
>
>
> gas/
> * config/tc-mips.c (RELAX_ENCODE): Remove WARN argument.
> (RELAX_FIRST, RELAX_SECOND): Turn into 8-bit quantities.
> (RELAX_USE_SECOND): Bump to 0x10000.
> (RELAX_SECOND_LONGER, RELAX_NOMACRO, RELAX_DELAY_SLOT): New flags.
> (mips_macro_warning): New variable.
> (md_assemble): Wrap macro expansion in macro_start() and macro_end().
> (s_cpload, s_cpsetup, s_cprestore, s_cpreturn): Likewise.
> (relax_close_frag): Set mips_macro_warning.first_frag. Adjust use
> of RELAX_ENCODE.
> (append_insn): Update mips_macro_warning.sizes.
> (macro_start, macro_warning, macro_end): New functions.
> (macro_build): Don't emit warnings here.
> (macro_build_lui, md_estimate_size_before_relax): ...or here.
> (md_convert_frag): Check for cases where one macro alternative
> needs a warning and the other doesn't. Emit a warning if the
> longer sequence was chosen.
>
> gas/testsuite/
> * gas/mips/macro-warn-[1234].[sdl]: New tests.
> * gas/mips/macro-warn-[12]-n32.[dl]: New tests.
> * gas/mips/mips.exp: Run them.
Ok.
Thiemo
More information about the Binutils
mailing list