Improve warnings about MIPS macros
Richard Sandiford
rsandifo@redhat.com
Wed Jan 21 23:22:00 GMT 2004
Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de> writes:
>> 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.
Thanks. Here's a long and very mechanical follow-on to remove the
unused place and counter arguments from macro_build(). Tested as before
on mips64-linux-gnu. OK to install?
Richard
* config/tc-mips.c (macro_build): Remove place and counter arguments.
(mips_build_lui, macro_build_ldst_constoffset): Likewise.
(mips16_macro_build, macro_build_jalr): Remove counter argument.
(set_at, load_register, load_address, move_register): Likewise.
(load_got_offset, add_got_offset): Likewise.
Update all calls and tidy accordingly.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gas-macro-cleanup.diff.bz2
Type: application/octet-stream
Size: 14819 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20040121/4b8ac845/attachment.obj>
More information about the Binutils
mailing list