2004-01-23 Richard Sandiford * config/tc-mips.c (load_address, macro): Update comments about NewABI GP relaxation. 2004-01-23 Richard Sandiford * 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. 2004-01-23 Richard Sandiford * 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. 2004-01-23 Richard Sandiford * config/tc-mips.h (tc_frag_data_type, TC_FRAG_TYPE): Remove. * config/tc-mips.c (RELAX_ENCODE): Take three arguments: the size of the first sequence, the size of the second sequence, and a flag that says whether we should warn. (RELAX_OLD, RELAX_NEW, RELAX_RELOC[123]): Delete. (RELAX_FIRST, RELAX_SECOND): New. (mips_relax): New variable. (relax_close_frag, relax_start, relax_switch, relax_end): New fns. (append_insn): Remove "place" argument. Use mips_relax.sequence rather than "place" to check whether we're expanding the second alternative of a relaxable macro. Remove redundant check for branch relaxation. If generating a normal insn, and there is not enough room in the current frag, call relax_close_frag() to close it. Update mips_relax.sizes[]. Emit fixups for the second version of a relaxable macro. Record the first relaxable fixup in mips_relax. Remove tc_gen_reloc workaround. (macro_build): Remove all uses of "place". Use mips_relax.sequence in the same way as in append_insn. (mips16_macro_build): Remove "place" argument. (macro_build_lui): As for macro_build. Don't drop the add_symbol when generating the second version of a relaxable macro. (load_got_offset, add_got_offset): New functions. (load_address, macro): Use new relaxation machinery. Remove tc_gen_reloc workarounds. (md_estimate_size_before_relax): Set RELAX_USE_SECOND if the second version of a relaxable macro is needed. Return -RELAX_SECOND if the first version is needed. (tc_gen_reloc): Remove relaxation handling. (md_convert_frag): Go through the fixups for a relaxable macro and mark those that belong to the unneeded alternative as done. If the second alternative is needed, adjust the fixup addresses to account for the deleted first alternative. 2004-01-23 Richard Sandiford * frags.h (frag_room): Declare. * frags.c (frag_room): New function. * doc/internals.texi: Document it. 2004-01-22 Thiemo Seufer * config/tc-mips.c (append_insn): Don't do r3900 interlock optimization for -mtune=r3900, as this will break on other CPUs. 2004-01-11 Tom Rix * config/tc-m68hc11.c (build_indexed_byte): movb and movw cannot be relaxed, use fixup. (md_apply_fix3): Use 5 bit reloc from movb and movw fixup. 2004-01-19 Jakub Jelinek * config/tc-sparc.c (sparc_ip): Disallow %f32-%f63 for single precision operands. 2004-01-14 Maciej W. Rozycki * config/tc-mips.c (append_insn): Properly detect variant frags that preclude swapping of relaxed branches. Correctly swap instructions between frags when dealing with relaxed branches. 2004-01-14 Maciej W. Rozycki * acinclude.m4: Quote names of macros to be defined by AC_DEFUN throughout. * aclocal.m4: Regenerate. * configure: Regenerate. 2004-01-12 Anil Paranjpe * config/tc-h8300.c (build_bytes): Apply relaxation to bit manipulation insns. 2004-01-12 Richard Sandiford * config/tc-mips.c (macro_build_jalr): When adding an R_MIPS_JALR reloc, reserve space for the delay slot as well as the jalr itself. 2004-01-09 Paul Brook * config/tc-arm.c (do_vfp_reg2_from_sp2): Rename from do_vfp_sp_reg2. (do_vfp_sp2_from_reg2): New function. (insns): Use them. (do_vfp_dp_from_reg2): Check return values properly. 2004-01-08 Ian Lance Taylor * config/tc-mips.c (warn_nops): Remove static variable. (macro): Remove test of warn_nops. (md_shortops): Remove 'n'. (md_parse_option): Remove 'n' case. (md_show_usage): Remove -n. * doc/as.texinfo (Overview): Remove MIPS -n option. * doc/c-mips.texi (MIPS Opts): Remove mention -n. * NEWS: Mention removal of MIPS -n option. * config/tc-mips.c (ISA_HAS_COPROC_DELAYS): Remove. (cop_interlocks): Check ISA level. (cop_mem_interlocks): Define. (reg_needs_delay): Check cop_interlocks rather than ISA_HAS_COPROC_DELAYS. (append_insn): Likewise. Use cop_mem_interlocks rather than directly checking mips_opts.isa. (mips_emit_delays): Likewise. 2004-01-07 H.J. Lu * config/tc-ia64.c (unwind): Move next_slot_number and next_slot_frag to ... (unw_rec_list): Here. (free_list_records): Removed. (output_unw_records): Likewise. (generate_unwind_image): Make it void. (alloc_record): Initialize next_slot_number and next_slot_frag. (slot_index): Take .org, .space and .align into account. (fixup_unw_records): Don't set slot_number to 0. Use list->next_slot_number and list->next_slot_frag instead of unwind.next_slot_number and unwind.next_slot_frag. (ia64_convert_frag): New. (generate_unwind_image): Generate a rs_machine_dependent frag for unwind record. (emit_one_bundle): Use list->next_slot_number and list->next_slot_frag instead of unwind.next_slot_number and unwind.next_slot_frag. * config/tc-ia64.h (md_convert_frag): Defined as ia64_convert_frag. (md_estimate_size_before_relax): Defined as (f)->fr_var. 2004-01-06 Alexandre Oliva 2003-12-19 Alexandre Oliva * config/tc-frv.h (md_apply_fix3): Don't define. * config/tc-frv.c (md_apply_fix3): New. Shift/truncate %hi/%lo operands. * config/tc-frv.h (TC_FORCE_RELOCATION_SUB_LOCAL): Define. 2003-10-07 Alexandre Oliva * config/tc-frv.c (line_separator_chars): Add `!'. 2003-09-19 Alexandre Oliva * config/tc-frv.c (md_assemble): Clear insn upfront. 2003-09-18 Alexandre Oliva * config/tc-frv.c (OPTION_FDPIC): New macro. (md_longopts): Add mfdpic. (md_parse_option): Handle it. 2003-08-04 Alexandre Oliva * config/tc-frv.c (md_cgen_lookup_reloc) : Use reloc type encoded in fix-up. (frv_pic_ptr): Parse funcdesc. 2004-01-05 Maciej W. Rozycki * doc/as.texinfo: Let texi2pod parse asconfig.texi and gasver.texi. Remove duplicate symbol definitions for texi2pod. 2004-01-05 Maciej W. Rozycki * Makefile.am (Makefile): Move the dependency on $(BFDDIR)/configure.in to... (CONFIG_STATUS_DEPENDENCIES): ... here. (AUTOMAKE_OPTIONS): Require automake 1.8. * Makefile.in: Regenerate. * doc/Makefile.am (BASEDIR, BFDDIR): Define. (CONFIG_STATUS_DEPENDENCIES): Add a dependency on $(BFDDIR)/configure.in here as well. * doc/Makefile.in: Regenerate. 2004-01-05 Maciej W. Rozycki * Makefile.am (install, install-info, RECURSIVE_TARGETS): Remove. * Makefile.in: Regenerate. * aclocal.m4: Regenerate. * doc/Makefile.am (install, install-info): Remove. (install-data-local): A new hook for install-info. (AUTOMAKE_OPTIONS): Require automake 1.8. * doc/Makefile.in: Regenerate. 2004-01-02 Nutan Singh * doc/c-sh.texi: Update description about floating point behavior of SH family. 2004-01-02 Bernardo Innocenti * configure.in: Add m68k-uClinux target. * configure: Regenerate. For older changes see ChangeLog-0203 Local Variables: mode: change-log left-margin: 8 fill-column: 74 version-control: never End: