2007-12-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_show_usage): Add -mmnemonic, -msyntax,
	-mindex-reg, -mnaked-reg and -mold-gcc.

2007-12-27  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* config/tc-hppa.h (DWARF2_CIE_DATA_ALIGNMENT): Wrap negative
	number in parens.

2007-12-23  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (set_intel_mnemonic): New.
	(intel_mnemonic): Likewise.
	(old_gcc): Likewise.
	(OPTION_MMNEMONIC): Likewise.
	(OPTION_MSYNTAX): Likewise.
	(OPTION_MINDEX_REG): Likewise.
	(OPTION_MNAKED_REG): Likewise.
	(OPTION_MOLD_GCC): Likewise.
	(md_pseudo_table): Add .intel_mnemonic and .att_mnemonic.
	(match_template): Don't allow AT&T/Intel mnemonic if Intel/AT&T
	mnemonic is specified.  Don't allow old gcc support if old_gcc
	is 0.
	(md_longopts): Add -mmnemonic, -msyntax, -mindex-reg,
	-mmnaked-reg and -mold-gcc.
	(md_parse_option): Handle OPTION_MMNEMONIC, OPTION_MSYNTAX,
	OPTION_MINDEX_REG, OPTION_MNAKED_REG and OPTION_MOLD_GCC.

	* doc/c-i386.texi: Docoument -mmnemonic, -msyntax, --mnaked-reg
	and AT&T mnemonic vs. Intel mnemonic.

2007-12-20  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (xtensa_elf_cons): Set frag flags for
	expressions without suffixes.
	(get_frag_property_flags): Preserve is_no_transform flag for frags
	not marked as either instructions or literals.

2007-12-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (output_insn): Use ARRAY_SIZE.
	(lex_got): Likewise.

2007-12-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (output_insn): Use FRAG_APPEND_1_CHAR
	instead of frag_more/md_number_to_chars.
	(md_short_jump_size): Removed.
	(md_long_jump_size): Likewise.
	(md_create_short_jump): Likewise.
	(md_create_long_jump): Likewise.

2007-12-13  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (xg_symbolic_immeds_fit): Relax for weak
	references but not weak definitions.

2007-12-12  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (xg_symbolic_immeds_fit): Do not relax calls to
	weak symbols if longcalls are disabled.

2007-12-11  Sterling Augustine  <sterling@tensilica.com>
	    Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (frag_format_size): Handle frags that expand to
	wide branches.
	(get_aligned_diff): For RELAX_ALIGN_NEXT_OPCODE, skip to the next
	non-empty frag to find the LOOP instruction.  Change comma typo to
	a semicolon.
	(relax_frag_immed, convert_frag_immed): Rename wide_insn variable to
	from_widen_insn.

2007-12-11  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-m32r.c (md_begin): Mark .sbss as being bss style section.

2007-12-10  Richard Sandiford  <rsandifo@nildram.co.uk>

	* config/tc-mips.h (mips_nop_opcode): Declare.
	(NOP_OPCODE): Define.
	(mips_segment_info): New structure.
	(TC_SEGMENT_INFO_TYPE): Use it instead of insn_label_list.
	* config/tc-mips.c (label_list): Adjust for new TC_SEGMENT_INFO_TYPE.
	(mips_record_mips16_mode): New function.
	(install_insn): Call it.
	(mips_align): Likewise.  Turn the fill argument into an "int *".
	Use frag_align_code for code segments if no fill data is given.
	(s_align): Adjust call accordingly.
	(mips_nop_opcode): New function.
	(mips_handle_align): Use the first variable byte to decide which
	nop sequence is needed.  Use md_number_to_chars and mips16_nop_insn.

2007-12-07  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (O_pcrel): Define.
	(suffix_relocs): Add pcrel suffix.
	(md_pseudo_table): Add 4byte and 2byte directives.
	(xtensa_elf_cons): Pass correct pcrel argument to fix_new_exp.
	(xg_assemble_literal): Likewise.  Check for O_pcrel.
	(expression_maybe_register): Reorganize.  Handle BFD_RELOC_32_PCREL.
	(xg_valid_literal_expression): Allow O_pcrel.
	(md_pcrel_from, md_apply_fix): Handle BFD_RELOC_32_PCREL.
	(tc_gen_reloc): Fix punctuation in error message.

2007-12-06  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (xg_force_frag_space): Delete.
	(xg_finish_frag, xg_assemble_literal_space): Replace calls to it.
	(xtensa_create_property_segments, xtensa_create_xproperty_segments):
	Set output_section for new property sections.  Use subseg_set and
	seg_info instead of retrieve_segment_info.  Adjust arguments to
	add_xt_block_frags and add_xt_prop_frags.  Use standard functions
	to create frags and fix records.
	(retrieve_segment_info): Delete.
	(add_xt_block_frags, add_xt_prop_frags): Replace calls to
	retrieve_segment_info.  Remove unused xt_block_sec arguments.

2007-12-04  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-ppc.c (ppc_tc): Allow a space between toc symbol
	name and bracket.

2007-11-30  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.h (md_allow_eh_opt): Define.

2007-11-29  Mark Shinwell  <shinwell@codesourcery.com>

	* config/tc-mips.c (mips_cpu_info_table): Add loongson2e
	and loongson2f entries.
	* doc/c-mips.texi: Document -march=loongson{2e,2f} options.

2007-11-29  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* config/tc-s390.c (md_begin): If the -mesa option is specified
	add zarch opcodes to the hash table only if there is no variant
	that is available for the esa mode as well.

2007-11-26  Thomas Ogrisegg  <tom-bugs@gas.fnord.at>

	* config/tc-alpha.c (assemble_insn): Don't segv on NULL reloc_operand.

2007-11-19  Bob Wilson  <bob.wilson@acm.org>

	* config/xtensa-istack.h (tinsn_struct): Replace linenum field
	with loc_directive_seen and debug_line.
	* config/tc-xtensa.c: Include xtensa-istack.h after dwarf2dbg.h.
	(xg_build_to_insn): Copy the new fields instead of linenum.
	(xg_build_token_insn): Likewise.  Abort on INSTR_LABEL_DEF and move
	common code out of the switch.
	(md_assemble): Set new tinsn fields from DWARF information.  Call
	dwarf2_consume_line_info.
	(xg_assemble_vliw_tokens): Update the code to select the "best" line
	number to use new information.  Call dwarf2_gen_line_info instead
	of dwarf2_emit_insn.

2007-11-19  Bob Wilson  <bob.wilson@acm.org>

	* dwarf2dbg.h (dwarf2_loc_directive_seen): New.
	* dwarf2dbg.c (loc_directive_seen): Make external and rename to...
	(dwarf2_loc_directive_seen): ...this.
	(dwarf2_emit_insn, dwarf2_consume_line_info)
	(dwarf2_emit_label, dwarf2_directive_loc): Use new name.

2007-11-19  Bob Wilson  <bob.wilson@acm.org>

	* dwarf2dbg.c (dwarf2_emit_label): Use dwarf2_consume_line_info.

2007-11-19  Bob Wilson  <bob.wilson@acm.org>

	* dwarf2dbg.c (dwarf2_consume_line_info): New.
	(dwarf2_emit_insn): Use it here.
	(dwarf2_directive_loc): Fix check for consecutive .loc directives
	when debug_type is DEBUG_DWARF2.
	* dwarf2dbg.h (dwarf2_consume_line_info): New prototype.
	* config/tc-ia64.c (ia64_flush_insns): Call dwarf2_consume_line_info.
	(md_assemble): Likewise.

2007-11-17  Thiemo Seufer  <ths@mips.com>

	* config/tc-mips.c (md_parse_option): Match mips_optimize to the -O
	option supplied, but still keep mips_optimize == 2 as default value.

2007-11-17  Thiemo Seufer  <ths@mips.com>

	* doc/as.texinfo: Document the new attribute value.

2007-11-16  Eric B. Weddington  <eric.weddington@atmel.com>

	* config/tc-avr.c (mcu_types): Add ATmega32HVB device.
	* doc/c-avr.texi: Likewise.

2007-11-16  Eric B. Weddington  <eric.weddington@atmel.com>

	* config/tc-avr.c (mcu_types): Add ATmega1284P device.
	* doc/c-avr.texi: Likewise.

2007-11-14  Tristan Gingold  <gingold@adacore.com>

	* config/tc-ia64.c (AR_RUC): Defined.
	(ar): Add "ar.ruc".
	(specify_resource): Handle AR_RUC like AR_ITC.

2007-11-13  Nick Clifton  <nickc@redhat.com>

	* config/tc-mn10300.c (mn10300_force_relocation): Force a reloc to
	be generated for alignment fixups.
	* config/tc-mn10300.h (TC_FORCE_RELOCATION): Call
	mn10300_force_relocation.

2007-11-12  Nick Clifton  <nickc@redhat.com>

	PR gas/5269
	* config/tc-frv.c (md_show_usage): Rewrite usage description to
	make it easier to translate.
	* gas/po/gas.pot: Regenerate.

2007-11-12  Tristan Gingold  <gingold@adacore.com>

	* config/tc-ppc.c (md_assemble): If -mregnames, when parsing
	PPC_OPERAND_CR always parse as expression to allow register name
	followed by an expression.

2007-11-09  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Re-order suffix check.

2007-11-07  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (relaxable_section): Check for .eh_frame.

2007-11-07  Eric B. Weddington  <eweddington@cso.atmel.com>

	* config/tc-avr.c (mcu_types): Add ATtiny88 device.
	* doc/c-avr.texi: Likewise.

2007-11-07  Anatoly Sokolov <aesok@post.ru>

	* config/tc-avr.c (mcu_types): Add new devices: ATmega48P,
	ATmega88P, ATmega168P, Atmega328P
	* doc/c-avr.texi: Document new devices.

2007-11-07  Tristan Gingold  <gingold@adacore.com>

	* config/tc-ppc.c (md_apply_fix): For PPC_TOC16 on XCOFF, uses
	offset within the TOC instead of the VMA.

2007-11-06  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (do_mull): Allow overlapping Rm for armv6.

2007-11-06  Nick Clifton  <nickc@redhat.com>

	* ehopt.c (check_eh_frame): If md_allow_eh_opt is defined, invoke
	it to see if the optimizations should be applied.
	* config/tc-mn10300.h (md_allow_eh_opt): Define.  Only allow call
	frame optimization if linker relaxation is not enabled.

2007-11-05  Danny Smith  <dannysmith@users.sourceforge.net>

	* read.c (ALIGN_LIMIT): Rename to ...
	(TC_ALIGN_LIMIT): Guard against prior definition.
	* config/tc-i386.h (TC_ALIGN_LIMIT)[TE_PE]: Define.

2007-11-01  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (xtensa_symbol_new_hook): New.
	(xtensa_mark_difference_of_two_symbols): New.
	(xtensa_post_relax_hook): Call xtensa_mark_difference_of_two_symbols.
	* config/tc-xtensa.h (xtensa_symfield_type): Add next_expr_symbol.
	(tc_symbol_new_hook): Define.

2007-11-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_assemble): Replace no_xsuf with
	no_ldsuf.
	(match_template): Likewise.

2007-11-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.h (LONG_DOUBLE_MNEM_SUFFIX): Use a non-ascii
	letter.

2007-11-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (process_suffix): Check addrprefixop0 to
	see if the address size override prefix changes the size of the
	first operand.
	(check_byte_reg): Don't warn if byteokintel is set.
	(check_long_reg): Set i.suffix to QWORD_MNEM_SUFFIX if toqword
	is set.
	(check_qword_reg): Set i.suffix to LONG_MNEM_SUFFIX if todword
	is set.

2007-10-31  Eric B. Weddington  <eweddington@cso.atmel.com>

	* config/tc-avr.c (mcu_types): Remove devices that were never produced:
	attiny10, atmega83, atmega85, atmega603.
	* doc/c-avr.texi: Likewise.

2007-10-30  Nick Clifton  <nickc@redhat.com>

	* config/tc-mn10300.c (tc_gen_reloc): Fix test that decides when
	sym_diff relocs should be generated.
	(md_apply_fix): Skip R_MN10300_ALIGN relocs.
	(mn10300_fix_adjustable): Do not adjust R_MN10300_ALIGN relocs.
	(mn10300_handle_align): New function.  Generate R_MN10300_ALIGN
	relocs to record alignment requests.
	* config/tc-mn10300.h (TC_FORCE_RELOCATION_SUB_SAME): Also force
	R_MN10300_ALIGN relocs.
	(HANDLE_ALIGN): Define.  Call mn10300_handle_align.

2007-10-30  Nick Clifton  <nickc@redhat.com>

	* doc/as.texinfo (Section): Replace "subsegment" with
	"subsection".

2007-10-27  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/5221
	* config/obj-elf.c (obj_elf_section): Handle optional
	parameters for .pushsection.

	* doc/as.texinfo: Document optional parameters for
	.pushsection.

2007-10-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Move AM_PROG_LIBTOOL after AC_GNU_SOURCE.
	* configure: Regenerated.

2007-10-24  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am (INCLUDES, DEP_INCLUDES): Remove -D_GNU_SOURCE.
	Run "make dep-am".
	* configure.in: Invoke AC_GNU_SOURCE.
	* Makefile.in: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.

2007-10-19  Nick Clifton  <nickc@redhat.com>

	* expr.c (expr): Test md_allow_local_subtract (if defined) before
	allowing the evaluation of an expression involving two symbols
	defined in the same section.
	* doc/internals.texi (md_allow_local_subtract): Document the new
	macro.
	* config/tc-mn10300.h (md_allow_local_subtract): Define.
	(RELAX_EXPANSION_POSSIBLE): Define.
	(MAX_RELOC_EXPANSION): Define.
	(TC_FRAG_TYPE): Define.
	* config/tc-mn10300.c (md_assemble): Mark fragments as containing code.
	(tc_gen_reloc): Return an array of relocs.  If necessary generate
	two relocs to handle an expressions involving the difference of
	two symbols.
	(mn10300_fix_adjustable): Do not test TC_FORCE_RELOCATION_LOCAL
	when then fixup is not pc-relative.
	(mn10300_allow_local_subtract): New function.  Determine when it
	is safe to compute the difference between two symbols at assemble
	time.

2007-10-19  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-ppc.c (ppc_parse_name): Skip leading '%'.
	(md_assemble): When parsing PPC_OPERAND_CR, add '%' to set of
	chars that can start a name.

2007-10-18  Carlos O'Donell  <carlos@systemhalted.org>

	* config/tc-hppa.c (pa_ip): Fix comment typo.
	(pa_comm): Likewise.

2007-10-18  Nick Clifton  <nickc@redhat.com>

	PR gas/5172
	* config/tc-arc.c (md_estimate_size_before_relax): Change error
	message.
	(md_convert_frag): Just call abort.
	* config/tc-i860.c (md_estimate_size_before_relax): Change error
	message.
	* config/tc-i860.h (md_convert_frag): Just call abort.
	* config/tc-ip2k.c (md_estimate_size_before_relax): Change error
	message.
	(md_convert_frag): Just call abort.
	* config/tc-m68k.c (m68k_ip): Do not attempt translation of
	architecture names.
	PR gas/5174
	* config/tc-arm.c: Fix formatting and spelling errors.
	PR gas/5175
	* config/tc-xc16x.c: Fix formatting and internationalization.
	* po/gas.pot: Regenerate.

2007-10-17  Nick Clifton  <nickc@redhat.com>

	PR gas/5173
	* as.h (ieee_md_atof, vax_md_atof): New prototypes.
	* read.c (s_float_space): Allow a zero length return from md_atof
	if the error message has been set.
	(float_cons): Likewise.
	* config/atof-ieee.c (ieee_md_atof): New function.  Performs the
	md_atof() function in a generic way for IEEE using targets.
	* config/atof-vax.c (md_atof): Rename to vax_md_atof.  Use the
	same error message as ieee_md_atof.
	* tc-alpha.c (md_atof): Use ieee_md_atof.  Remove #define of vax_md_atof.
	* tc-arc.c (md_atof): Use ieee_md_atof.
	* tc-arm.c (md_atof): Use sizeof (LITTLENUM_TYPE) instead of the
	constant 2.  Use a precision of 5 for the 'x' and 'p' types.
	* tc-avr.c (md_atof): Use ieee_md_atof.
	* tc-bfin.c (md_atof): Use ieee_md_atof.
	* tc-cr16.c (md_atof): Use ieee_md_atof.
	* tc-crx.c (md_atof): Use ieee_md_atof.
	* tc-d10v.c (md_atof): Use ieee_md_atof.
	* tc-d30v.c (md_atof): Use ieee_md_atof.
	* tc-dlx.c (md_atof): Use ieee_md_atof.
	* tc-fr30.c (md_atof): Use ieee_md_atof.
	* tc-frv.c (md_atof): Use ieee_md_atof.
	* tc-h8300.c (md_atof): Use ieee_md_atof.
	* tc-hppa.c (md_atof): Use ieee_md_atof.
	* tc-i370.c (md_atof): Use ieee_md_atof.
	(i370_dc): Convert the 'E' type to 'f' before calling md_atof.
	* tc-i386.c (md_atof): Use ieee_md_atof.
	* tc-i860.c (md_atof): Use ieee_md_atof.
	* tc-i960.c (md_atof): Use ieee_md_atof.
	* tc-ia64.c (md_atof): Use the same error message as ieee_md_atof.
	* tc-ip2k.c (md_atof): Use ieee_md_atof.
	* tc-iq2000.c (md_atof): Use ieee_md_atof.
	* tc-m32c.c (md_atof): Use ieee_md_atof.
	* tc-m32r.c (md_atof): Use ieee_md_atof.
	* tc-m68hc11.c (md_atof): Use ieee_md_atof.
	* tc-m68k.c (md_atof): Use ieee_md_atof.
	* tc-maxq.c (md_atof): Use ieee_md_atof.
	* tc-mcore.c (md_atof): Use ieee_md_atof.
	* tc-mep.c (md_atof): Use ieee_md_atof.
	* tc-mips.c (md_atof): Use ieee_md_atof.
	* tc-mmix.c (md_atof): Use ieee_md_atof.
	* tc-mn10200.c (md_atof): Use ieee_md_atof.
	* tc-mn10300.c (md_atof): Use ieee_md_atof.
	* tc-msp430.c (md_atof): Use ieee_md_atof.
	* tc-mt.c (md_atof): Use ieee_md_atof.
	* tc-ns32k.c (md_atof): Use ieee_md_atof.
	* tc-openrisc.c (md_atof): Use ieee_md_atof.
	* tc-or32.c (md_atof): Use ieee_md_atof.
	* tc-pdp11.c (md_atof): New function.  Call vax_md_atof.
	* tc-pj.c (md_atof): Use ieee_md_atof.
	* tc-ppc.c (md_atof): Use ieee_md_atof.
	* tc-s390.c (md_atof): Use ieee_md_atof.
	* tc-score.c (md_atof): Use ieee_md_atof.
	* tc-sh.c (md_atof): Use ieee_md_atof.
	* tc-sparc.c (md_atof): Use ieee_md_atof.
	* tc-spu.c (md_atof): Use ieee_md_atof.
	* tc-tic30.c (md_atof): Use the same error message as ieee_md_atof.
	* tc-tic4x.c (md_atof): Use the same error message as ieee_md_atof.
	* tc-tic54.c (md_atof): Use ieee_md_atof.
	* tc-v850.c (md_atof): Use ieee_md_atof.
	* tc-vax.c (md_atof): New function.  Call vax_md_atof.
	* tc-xc16x.c (md_atof): Use ieee_md_atof.
	* tc-xstormy16.c (md_atof): Use ieee_md_atof.
	* tc-xtensa.c (md_atof): Use ieee_md_atof.
	* tc-z8k.c (md_atof): Use ieee_md_atof.
	* doc/internals.texi: Update description of md_atof function.
	* po/gas.pot: Regenerate.

2007-10-16  Bob Wilson  <bob.wilson@acm.org>

	* doc/as.texinfo (Overview): Add Xtensa --rename-section option.

2007-10-16  Nick Clifton  <nickc@redhat.com>

	* config/obj-elf.c (obj_elf_type): Accept "common" as a valid
	symbol type.
	* doc/as.texinfo (.type): Document the types accepted by the
	type pseudo op, including "common".

2007-10-15  Peter Bergner  <bergner@vnet.ibm.com>

	* config/tc-ppc.c (ppc_setup_opcodes): Verify instructions are sorted
	according to major opcode number.

2007-10-15  Alan Modra  <amodra@bigpond.net.au>

	* read.c (do_s_func): Check asprintf return status.
	* stabs.c (stabs_generate_asm_func): Likewise.
	(stabs_generate_asm_endfunc): Likewise.

2007-10-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (process_operands): Simplify implicit xmm0
	handling.

2007-10-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (process_operands): Check the firstxmm0
	field in opcode_modifier for instruction with a implicit
	xmm0 as the first operand.

2007-10-12  Eric B. Weddington  <eweddington@cso.atmel.com>

	* config/tc-avr.c (mcu_types): Add new devices: AT90PWM2B,
	AT90PWM3B.
	* doc/c-avr.texi: Document new devices.

2007-10-12  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	* config/tc-cr16.c: Update the md_relax_table for 1 word b<cc>
	instruction range information.

2007-10-12  Daniel Jacobowitz  <dan@codesourcery.com>

	* doc/as.texinfo (Object Attributes): New chapter.
	(Pseudo Ops): Document .gnu_attribute.
	(LNS directives): Correct .loc_mark_labels documentation.

2007-10-11  Nick Clifton  <nickc@redhat.com>

	* config/obj-elf.c (obj_elf_section): When pushing a section, if
	there is a comma then the following argument must be a subsection
	number.

2007-10-11  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/c-i386.texi: Update which instruction's operands are
	swapped.

2007-10-11  Nick Clifton  <nickc@redhat.com>

	PR gas/5161
	* config/tc-ia64.c: Allow for translations of error and warning
	messages.
	* po/gas.pot: Regenerate.

	PR gas/5158
	* config/tc-h8300.c (tc_gen_reloc): Allow for translation of error
	message.
	* po/gas.pot: Regenerate.

	PR gas/5155
	* config/tc-msp430.c: Fix spelling typos.

2007-10-11  Nick Clifton  <nickc@redhat.com>

	* doc/as.texinfo (Type): Fix typo: STT_FUNC not STT_FUNCTION.

2007-10-08  Maciej W. Rozycki  <macro@linux-mips.org>

	* config/tc-mips.c (AT): Rename to...
	(ATREG): ... this.
	(AT): New definition.
	(mips_set_options): Rename "noat" to "at"; change the type.
	(mips_opts): Update accordingly.
	(append_insn): Likewise.
	(macro_build_ldst_constoffset): Likewise.
	(load_address): Likewise.
	(macro, macro2): Likewise.
	(s_mipsset): Handle ".set at=REG".  Update handling of ".set at"
	and ".set noat".

2007-10-08  Nick Clifton  <nickc@redhat.com>

	* doc/as.texinfo (Previous): Clarify explanation of the behaviour
	of this pseudo-op and add a couple of examples.

2007-10-08  Nick Clifton  <nickc@redhat.com>

	PR gas/5121 gas/5122 gas/5123
	* Makefile.am (CFILES): Add cgen.c
	(TARGET_CPU_CFILES): Add tc-iq2000.c, tc-maxq.c, tc-mt.c,
	tc-tic4x.c and xtensa-relax.c.
	(TARGET_CPU_HFILES): Add tc-iq2000.h, tc-maxq.h, tc-mt.h,
	tc-tic4x.h and xtensa-relax.h.
	(TARG_ENV_HFILES): Remove te-aux.h, te-delta.h, te-delt88.h,
	te-ic960.h, te-linux.h.  Add te-aix5.h, te-armeabi.h,
	te-freebsd.h, te-gnu.h, te-interix.h, te-vxworks.h.
	(CONFIG_ATOF_CFILES): New variable.
	(POTFILES): Add CONFIG_ATOF_CFILES to dependencies.  Fix typo with
	dependency upon TARG_ENV_HFILES.
	(DEPTC): Do not put "#include opcodes/<foo>-desc.h" into
	cgen-desc.h when foo-desc.h does not exit.
	Run make dep-am.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* po/POTFILES.in: Regenerate.
	PR gas/5124 gas/5125
	* po/es.po: Regenerate.
	* po/fr.po: Regenerate.
	* po/gas.pot: Regenerate.
	* po/rw.po: Regenerate.
	* po/tr.po: Regenerate.
	* config/obj-elf.c (obj_elf_vtable_inherit): Allow for translation
	of error messages.
	PR gas/5126
	* config/obj-som.c: Likewise.
	PR gas/5129
	* config/tc-arc.c: Likewise.
	PR gas/5131 gas/5132
	* config/tc-arm.c: Likewise.
	PR gas/5137
	* config/tc-bfin.c: Likewise.
	PR gas/5143
	* config/tc-frv.c: Likewise.
	PR gas/5142
	* config/tc-dlx.c: Likewise.

2007-10-08  Eric B. Weddington  <eweddington@cso.atmel.com>

	* config/tc-avr.c (mcu_types): Add new devices: ATtiny43U,
	ATtiny48, AT90PWM216, AT90PWM316.
	* doc/c-avr.texi: Document new devices.

2007-10-08  Nick Clifton  <nickc@redhat.com>

	PR gas/5133
	* config/tc-arm.c (md_apply_fix): Correct error message.
	PR gas/5134
	* config/tc-arm.c (md_apply_fix): Likewise.
	PR gas/5136
	* config/tc-bfin.c (md_apply_fix): Fix error message.
	PR gas/5135
	(Expr_Node_Gen_Reloc_R): Fix spelling typos in error messages.

2007-10-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): Check the first 2 8bit
	immediate operands directly for instructions with 4 operands.

2007-10-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/5109
	* config/tc-i386.c (process_suffix): Clear QWORD suffix if it
	is ignored in Intel mode.

2007-10-04  Helge Deller  <deller@gmx.de>

	* read.c (potable): Add string8, string16, string32 and string64.
	Add bit size for stringer function.
	(stringer_append_char): New.
	(stringer): Use stringer_append_char().
	* config/obj-coff.c (obj_coff_ident): Add bit size for stringer function.
	* config/obj-elf.c (obj_elf_ident): Likewise.
	* config/tc-alpha.c (s_alpha_stringer): Likewise.
	* config/tc-dlx.c (dlx_pseudo_table): Likewise.
	* config/tc-hppa.c (pa_stringer): Likewise.
	* config/tc-ia64.c (md_pseudo_table, pseudo_opcode): Likewise.
	* config/tc-m68hc11.c (md_pseudo_table): Likewise.
	* config/tc-mcore.c (md_pseudo_table): Likewise.
	* config/tc-mips.c (mips_pseudo_table): Likewise.
	* config/tc-spu.c (md_pseudo_table): Likewise.
	* config/tc-s390.c (md_pseudo_table): Likewise. Replace '2' by '1'.
	* doc/as.texinfo (ABORT): Fix identing.
	(String): Document new string8, string16, string32, string64
	functions.
	* NEWS: Mention the new feature.

2007-10-03  Nick Clifton  <nickc@redhat.com>

	PR gas/5078
	* config/tc-avr.c (avr_get_constant): Extend error message to
	mention that the constant must be positive.

2007-10-03  Nick Clifton  <nickc@redhat.com>

	* config/tc-avr.c (avr_get_constant):
	PR gas/5089
	* config/tc-arm.c (s_arm_unwind_handlerdata): Fix spelling typo.
	PR gas/5090
	(md_assemble): Fix spelling typo.

2007-10-03  Alan Modra  <amodra@bigpond.net.au>

	PR 4303
	* stabs.c (aout_process_stab): Set BSF_DEBUGGING.

2007-10-01  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	* config/tc-cr16.c: Replaced 'tabs' with white spaces and
	added R_CR16_DISP8 as default reloc type for b<cc> instructions.

2007-09-30  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/5080
	* config/tc-i386.c (check_long_reg): Also handle cvttss2si.
	(check_qword_reg): Also handle cvttsd2si.

2007-09-27  Kazu Hirata  <kazu@codesourcery.com>

	* config/m68k-parse.h (m68k_register): Use MBO instead of MBB.
	(last_movec_reg): Change to MBO.
	* config/tc-m68k.c (fido_ctrl): Use MBO instead of MBB.
	(m68k_ip): Use MBO instead of MBO.
	(init_table): Use MBO instead of MBO.  Add an entry for mbo.

2007-09-26  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (build_modrm_byte): Also check for RegEip
	when considering IP-relative addressing.

2007-09-26  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.h (md_register_arithmetic): Define.
	* config/tc-ia64.h (md_register_arithmetic): Likewise.
	* doc/internals.texi: Document md_register_arithmetic.
	* expr.c (make_expr_symbol): Force O_register expressions into
	reg_section.
	(expr): Provide default for md_register_arithmetic. Don't resolve
	adding/subtracting constants to/from registers if
	md_register_arithmetic is zero.

2007-09-26  Jan Beulich  <jbeulich@novell.com>

	* dw2gencfi.c: Conditionalize whole body upon TARGET_USE_CFIPOP.
	(cfi_finish): Add second empty instance.

2007-09-26  Jan Beulich  <jbeulich@novell.com>

	* config/tc-ia64.c (dot_pred_rel): Replace specialized handling
	with simple call to parse_operand.

2007-09-26  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (NUM_FLAG_CODE): Remove.

2007-09-26  Jan Beulich  <jbeulich@novell.com>

	* as.c (itbl_parse): Remove #define.
	(struct itbl_file_list): Move down and ...
	(itbl_files): .. conditionalize upon HAVE_ITBL_CPU.
	(show_usage): Conditionalize printing of --itbl option upon
	HAVE_ITBL_CPU.
	(parse_args): Conditionalize handling of -t/--itbl options upon
	HAVE_ITBL_CPU. Remove OPTION_INSTTBL and replace its use with
	't'.

2007-09-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (output_insn): Use i.tm.opcode_length to
	check opcode length.

2007-09-25  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (LONG_BRANCH_VIA_COND): New.
	(BRANCHBWPL, FRAG_VAR_SIZE): New.
	(md_relax_table): Add BRANCHBWPL entries.
	(m68k_ip): Choose BRANCHBWPL relaxation if necessary.
	(md_assemble): Use FRAG_VAR_SIZE.
	(md_convert_frag_1): Add BRANCHBWPL cases.
	(md_estimate_size_before_relaz): Likewise.

2007-09-24  Carlos O'Donell  <carlos@codesourcery.com>

	* config/tc-mips.c (s_align): Set max_alignment to 28.

2007-09-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR 658
	* config/tc-i386.c (SCALE1_WHEN_NO_INDEX): Removed.
	(set_allow_index_reg): New.
	(allow_index_reg): Likewise.
	(md_pseudo_table): Add "allow_index_reg" and
	"disallow_index_reg".
	(build_modrm_byte): Set i.sib.index to NO_INDEX_REGISTER for
	fake index registers.
	(i386_scale): Updated.
	(i386_index_check): Support fake index registers.
	(parse_real_register): Return NULL on eiz/riz if fake index
	registers aren't allowed.

2007-09-19  Nick Clifton  <nickc@redhat.com>

	* config/tc-h8300.c (md_apply_fix): Do not abort or handle 8 byte
	fixups.

2007-09-19  Bob Wilson  <bob.wilson@acm.org>

	* doc/c-xtensa.texi (Xtensa Immediate Relaxation): Fix "addi" typo.

2007-09-18  Bernd Schmidt  <bernd.schmidt@analog.com>

	* config/bfin-parse.y (asm_1): Slightly improve error messages
	for "reg += const;".

2007-09-18  Alan Modra  <amodra@bigpond.net.au>

	PR gas/5026
	* read.c (emit_expr): Only use long long if required and available.

2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (baseindex): Removed.
	(build_modrm_byte): Check reg_num for RIP register instead of
	reg_type.
	(i386_index_check): Likewise.

2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/5035
	* config/obj-coff.c (obj_coff_endef): Remove checking size of
	def_symbol_in_progress.

2007-09-17  Evandro Menezes  <evandro@yahoo.com>

	PR gas/5026
	* read.c (emit_expr): Use unsigned long long values in warning
	message about truncated expressions.

2007-09-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (intel_e04): Revert the last change.

2007-09-17  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2007-09-15  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/5034
	* config/tc-i386.c (intel_e04): Return 1 if cur_token.code is
	T_NIL.

2007-09-14  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): Adjust comment line
	wrap.

2007-09-14  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): Use (A || B) instead
	of (A || B) != 0.

2007-09-14  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): Adjust indentation.

2007-09-14  Michael Meissner  <michael.meissner@amd.com>
	    Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>
	    Tony Linthicum  <tony.linthicum@amd.com>

	* NEWS: Add SSE5 support to NEWS file.

	* config/tc-i386.h (drex_byte): Add fields to allow process_drex
	and build_modrm_byte to communicate.
	(DREX_OC0): New SSE5 macro.
	(DREX_OC0_MASK): Ditto.
	(DREX_OC1): Ditto.
	(DREX_OC1_MASK): Ditto.
	(DREX_XMEM_X1_X2_X2): Ditto.
	(DREX_X1_XMEM_X2_X2): Ditto.
	(DREX_X1_XMEM_X2_X1: Ditto.
	(DREX_X1_X2_XMEM_X1: Ditto.
	(DREX_XMEM_X1_X2): Ditto.
	(DREX_X1_XMEM_X2): Ditto.
	(drex_byte): New structure to describe the DREX byte.

	* config/tc-i386.c (process_drex): New function to handle SSE5
	DREX bits.
	(build_modrm_byte): Use the information cached away in
	process_drex in the case of DREX instructions.
	(i386_insn): Add drex field.
	(pi): Add debugging of drex field.
	(md_assemble): Treat SSE5 like SSE3 in instructions with an
	immediate byte.  Move REX field to DREX if this is a DREX
	instruction.
	(process_operands): Add SSE5 support.
	(build_modrm_byte): Ditto.
	(output_insn): Ditto.
	(cpu_arch): Ditto.
	(i386_align_code): Ditto.

2007-09-12  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (md_assemble): Move handling of extrq/insertq
	after generic operand swapping, and swap only the immediate operands.

2007-09-11  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (m68k_ip): Add mcfisa_c case.
	(m68k_elf_final_processing): Add EF_M68K_CF_ISA_C_NODIV.

2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>

	* tc-i386.c (output_insn): Only check SSE4.2 and ABM for 3
	byte opcode.

2007-09-08  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_flags_check_x64): Renamed to ...
	(cpu_flags_check_cpu64): This. Inline.
	(uints_all_zero): New.
	(uints_set): Likewise
	(uints_equal): Likewise
	(UINTS_ALL_ZERO): Likewise
	(UINTS_SET): Likewise
	(UINTS_CLEAR): Likewise
	(UINTS_EQUAL): Likewise
	(cpu_flags_and): Likewise.
	(cpu_flags_or): Likewise.
	(operand_type_and): Likewise.
	(operand_type_or): Likewise.
	(operand_type_xor): Likewise.
	(cpu_flags_not): Inline and use switch instead of loop.
	(cpu_flags_match): Updated.
	(operand_type_match): Likewise.
	(smallest_imm_type): Likewise.
	(set_cpu_arch): Likewise.
	(pt): Likewise.
	(md_assemble): Likewise.
	(parse_insn): Likewise.
	(optimize_imm): Likewise.
	(match_template): Likewise.
	(process_suffix): Likewise.
	(update_imm): Likewise.
	(finalize_imm): Likewise.
	(process_operands): Likewise.
	(build_modrm_byte): Likewise.
	(i386_immediate): Likewise.
	(i386_displacement): Likewise.
	(i386_index_check): Likewise.
	(i386_operand): Likewise.
	(i386_target_format): Likewise.
	(intel_e11): Likewise.
	(operand_type): Remove implicitregister.
	(operand_type_check): Updated. Inline.
	(cpu_flags_all_zero): Removed.
	(operand_type_all_zero): Likewise.
	(i386_array_biop): Likewise.
	(cpu_flags_biop): Likewise.
	(operand_type_biop): Likewise.

2007-09-08  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2007-09-08  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in (AC_CHECK_HEADERS): Add limits.h.
	* configure: Regenerated.
	* config.in: Likewise.

	* config/tc-i386.c: Include "opcodes/i386-init.h".
	(_i386_insn): Use i386_operand_type for types.
	(cpu_arch_flags): Updated to new types with bitfield.
	(cpu_arch_tune_flags): Likewise.
	(cpu_arch_isa_flags): Likewise.
	(cpu_arch): Likewise.
	(i386_align_code): Likewise.
	(set_code_flag): Likewise.
	(set_16bit_gcc_code_flag): Likewise.
	(set_cpu_arch): Likewise.
	(md_assemble): Likewise.
	(parse_insn): Likewise.
	(process_operands): Likewise.
	(output_branch): Likewise.
	(output_jump): Likewise.
	(parse_real_register): Likewise.
	(mode_from_disp_size): Likewise.
	(smallest_imm_type): Likewise.
	(pi): Likewise.
	(type_names): Likewise.
	(pt): Likewise.
	(pte): Likewise.
	(swap_2_operands): Likewise.
	(optimize_imm): Likewise.
	(optimize_disp): Likewise.
	(match_template): Likewise.
	(check_string): Likewise.
	(process_suffix): Likewise.
	(check_byte_reg): Likewise.
	(check_long_reg): Likewise.
	(check_qword_reg): Likewise.
	(check_word_reg): Likewise.
	(finalize_imm): Likewise.
	(build_modrm_byte): Likewise.
	(output_insn): Likewise.
	(disp_size): Likewise.
	(imm_size): Likewise.
	(output_disp): Likewise.
	(output_imm): Likewise.
	(gotrel): Likewise.
	(i386_immediate): Likewise.
	(i386_displacement): Likewise.
	(i386_index_check): Likewise.
	(i386_operand): Likewise.
	(parse_real_register): Likewise.
	(i386_intel_operand): Likewise.
	(intel_e09): Likewise.
	(intel_bracket_expr): Likewise.
	(intel_e11): Likewise.
	(cpu_arch_flags_not): New.
	(cpu_flags_check_x64): Likewise.
	(cpu_flags_all_zero): Likewise.
	(cpu_flags_not): Likewise.
	(i386_cpu_flags_biop): Likewise.
	(cpu_flags_biop): Likewise.
	(cpu_flags_match); Likewise.
	(acc32): New.
	(acc64): Likewise.
	(control): Likewise.
	(reg16_inoutportreg): Likewise.
	(disp16): Likewise.
	(disp32): Likewise.
	(disp32s): Likewise.
	(disp16_32): Likewise.
	(anydisp): Likewise.
	(baseindex): Likewise.
	(regxmm): Likewise.
	(imm8): Likewise.
	(imm8s): Likewise.
	(imm16): Likewise.
	(imm32): Likewise.
	(imm32s): Likewise.
	(imm64): Likewise.
	(imm16_32): Likewise.
	(imm16_32s): Likewise.
	(imm16_32_32s): Likewise.
	(operand_type): Likewise.
	(operand_type_check): Likewise.
	(operand_type_match): Likewise.
	(operand_type_register_match): Likewise.
	(update_imm): Likewise.
	(set_code_flag): Also update cpu_arch_flags_not.
	(set_16bit_gcc_code_flag): Likewise.
	(md_begin): Likewise.
	(parse_insn): Use cpu_flags_check_x64 to check 64bit support.
	Use cpu_flags_match to match instructions.
	(i386_target_format): Update cpu_arch_isa_flags and
	cpu_arch_tune_flags to i386_cpu_flags type with bitfield.
	(smallest_imm_type): Check cpu_arch_tune to tune for i486.
	(match_template): Don't initialize overlap0, overlap1,
	overlap2, overlap3 and operand_types.
	(process_suffix): Handle crc32 with 64bit register.
	(MATCH): Removed.
	(CONSISTENT_REGISTER_MATCH): Likewise.

	* config/tc-i386.h (arch_entry): Updated to i386_cpu_flags
	type.

2007-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Handle invlpga, vmload,
	vmrun and vmsave in SVME.
	(process_suffix): Likewise.

2007-09-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (i386_index_check): Don't use RegRex
	on the reg_type field.
	(parse_real_register): Use `||' instead of `|'.

2007-09-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (process_operands): Remove segment override
	check on SVME instructions.
	(i386_index_check): Remove memory operand check on SVME
	instructions.

2007-09-04  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-spu.c (struct spu_insn): Delete "flag".  Add "reloc".
	(md_assemble): Update init of insn.  Use insn.reloc instead of
	calculating from flag.
	(get_imm): Set reloc rather than flag.
	(calcop): Formatting.

2007-08-29  Daniel Jacobowitz  <dan@codesourcery.com>

	* dwarf2dbg.c (dwarf2_directive_loc): Emit duplicate .loc directives.

2007-08-28  Daniel Jacobowitz  <dan@codesourcery.com>

	* doc/c-arc.texi: Fix typo.

2007-08-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (process_suffix): Handle cmpxchg8b in
	Intel mode.

2007-08-28  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (mcf52235_ctrl): Add cache registers.
	(mcf5253_ctrl): Add RAMBAR, MBAR, MBAR2.
	(mcf5407_ctrl): New.
	(m68k_cpus): Adjust 5407 entry.

2007-08-28  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* config/tc-m68k.c (mcf51qe_ctrl): Define 51QE control registers.
	(m68k_cpus): Define 51QE cpu.

2007-08-28  Mark Shinwell  <shinwell@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* as.c (main): Flush stderr before printing listings to ensure
	consistent output order across platforms.

2007-08-28  Robert Sebastian Gerus  <arachnist@gmail.com>

	* configure.tgt: Add support for i[3-7]86-*-dragonfly*.

2007-08-24  Joseph Myers  <joseph@codesourcery.com>
	    Paul Brook  <paul@codesourcery.com>

	* remap.c: New.
	* as.h (remap_debug_filename, add_debug_prefix_map): Declare.
	* as.c (show_usage): Document --debug-prefix-map option.
	(parse_args): Handle --debug-prefix-map.
	* dwarf2dbg.c (out_file_list, out_debug_info): Remap debug paths.
	* stabs.c (stabs_generate_asm_file): Remap debug paths.
	* Makefile.am (GAS_CFILES): Add remap.c
	(GENERIC_OBJS): Add remap.o.
	Regenerate dependencies.
	* Makefile.in: Regenerate.
	* doc/as.texinfo (--debug-prefix-map): Document.

2007-08-24  Aurelien Jarno  <aurel32@debian.org>

	* config/tc-arm.c (md_apply_fix): Cast bfd_vma values to long
	before printing them.

2007-08-24  Anders Waldenborg  <anders@0x63.nu>
	    Alan Modra  <amodra@bigpond.net.au>

	* config/tc-i386.c (lex_got): Don't scan past a comma.

2007-08-23  Ben Elliston  <bje@au.ibm.com>

	* config/tc-ppc.c (parse_cpu): Handle "750cl".
	(pre_defined_registers): Add "gqr0" to "gqr7", "gqr.0" to "gqr.7".
	(md_show_usage): Document -m750cl.
	(md_assemble): Handle two delimiters in succession (eg. `),').
	* doc/c-ppc.texi (PowerPC-Opts): Document -m750cl.

2007-08-23  Ben Elliston  <bje@au.ibm.com>

	* doc/c-arm.texi (ARM Directives): Move brackets out of @vars.

2007-08-17  Alan Modra  <amodra@bigpond.net.au>

	PR gas/4079
	* config/tc-i386.c (x86_cons): Complain about invalid @got etc.
	expressions.
	(i386_immediate): Detect and complain about more cases of
	invalid immediate expressions.  Return failure rather than
	converting them to zero.
	(i386_displacement): Likewise.

2007-08-17  Alan Modra  <amodra@bigpond.net.au>

	* po/Make-in: Add --msgid-bugs-address to xgettext invocation.

2007-08-14  Andreas Schwab  <schwab@suse.de>

	* config/tc-ia64.c (tc_gen_reloc): Return NULL if relocation is
	unrepresentable.

2007-08-12  Matthias Klose  <doko@ubuntu.com>

	* doc/Makefile.am (AM_MAKEINFOFLAGS, TEXI2DVI): Include
	$(top_srcdir)/../../bfd/doc.
	* doc/Makefile.in: Regenerate.

2007-08-10  Nick Clifton  <nickc@redhat.com>

	* NEWS: Add a marker for the 2.18 features.

2007-08-09  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (relaxed_symbol_addr): Compensate for alignment.

2007-08-09  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (check_byte_reg): Support pextrb and pinsrb.

2007-07-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (check_long_reg): Allow cvtss2si to convert
	DWORD memory to Reg64 in Intel synax.
	(check_qword_reg): Allow cvtsd2si to convert QWORD memory to
	Reg32 in Intel syntax.

2007-07-25  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (xtensa_extui_opcode): New.
	(xg_expand_assembly_insn): Check for invalid extui operands.
	(md_begin): Initialize xtensa_extui_opcode.

2007-07-24  Nick Clifton  <nickc@redhat.com>

	* config/tc-mep.h (skip_whitespace): Remove definition.

2007-07-23  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Change i386 to PROCESSOR_I386.
	(f32_15): Removed.
	(jump_31): New.
	(f32_patt): Remove f32_15.
	(f16_patt): Likewise.
	(i386_align_code): Updated to alt_long_patt for 64bit by
	default.

	* config/tc-i386.h (processor_type): Add PROCESSOR_I386.

2007-07-23  Evandro Menezes  <evandro.menezes@amd.com>

	* config/tc-i386.c (i386_align_code): Enable alignment up to
	MAX_MEM_FOR_RS_ALIGN_CODE bytes.  Remove special treatment
	for K8.

	* config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Changed to 31.

2007-07-20  Nick Clifton  <nickc@redhat.com>

	* app.c (do_scrub_chars): Provide a one character buffer to hold a
	pushed back newline at the end of an unterminated quoted string.

2007-07-14  Nick Clifton  <nickc@redhat.com>

	* config/tc-arm.c (create_register_alias): Return a boolean rather
	than an integer.
	Check the return value of insert_reg_alias and do not continue to
	create aliases once an insertion has failed.
	(s_unreq): Delete the all-upper-case and all-lower-case
	alternatives as well.

2007-07-12  Kai Tietz   <kai.tietz@onevision.com>

	* symbols.c: Print bfd_hostptr_t to file via fprintf_vma.
	* write.c: Likewise.

2007-07-11  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/tc-mips.c (mips_dwarf2_format, mips_dwarf2_addr_size): Use
	HAVE_64BIT_SYMBOLS.

2007-07-04  Richard Sandiford  <richard@codesourcery.com>

	* config/tc-mips.c (mips_cpu_info_table): Add new entries for
	{24k,24ke,34k,74k}f{2_1,1_1,x}.  Also add an entry for 74kf3_2.
	Deprecate *x and *fx.
	* doc/c-mips.texi: Document the new CPU arguments.  Deprecate
	*x and *fx.

2007-07-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config/obj-coff.h (x86_64_target_format): Renamed to ...
	(i386_target_format): This
	(TARGET_FORMAT): Use i386_target_format.

	* config/tc-i386.c (x86_64_target_format): Removed.
	(i386_target_format): Handle PE formats.

2007-07-04  Nick Clifton  <nickc@redhat.com>

	* symbols.c (symbol_relc_make_value): Use bfd_sprintf_vma in order
	to get the right length of printed value.

2007-07-03  Nick Clifton  <nickc@redhat.com>

	* COPYING: Replace with GPLv3 text.
	* app.c: Update copyright notice to refer to GPLv3.
	* as.c, as.h, asintl.h, atof_generic.c, bignum.h, bit_fix.h,
	cgen.c, cond.c, debug.c, depend.c, dw2gencfi.c, dw2gencfi.h,
	dwarf2dbg.c, dwarf2dbg.h, ecoff.c, ecoff.h, ehopt.c, emul.h,
	emul_target.h, expr.c, expr.h, flonum-copy.c, flonum.h,
	flonum-konst.c, frags.c, frags.h, hash.c, hash.h, input-file.c,
	input-file.h, input-scrub.c, ibtl-lex.h, itbl-lex.l, itbl-ops.c,
	itbl-ops.h, itbl-parse.y, listing.c, listing.h, literal.c,
	macro.c, messages.c, obj.h, output-file.c, output-file.h, read.c,
	read.h, sb.c, sb,h, stabs.c, struc-symbol.h, subsegs.c, subsegs.h,
	symbols.c, symbols.h, tc.h, write.c, write.h, config/aout_gnu.h,
	config/config/atof-ieee.c, config/atof-vax.c, config/bfin-aux.h,
	config/bfin-defs.h, config/bfin-lex.l, config/bfin-parse.y,
	config/itbl-mips.h, config/m68k-parse.h, config/m68k-parse.y,
	config/obj-aout.c, config/obj-aout.h, config/obj-coff.c,
	config/obj-coff.h, config/obj-ecoff.c, config/obj-ecoff.h,
	config/obj-elf.c, config/obj-elf.h, config/obj-evax.c,
	config/obj-evax.h, config/obj-multi.h, config/obj-som.c,
	config/obj-som.h, config/tc-alpha.c, config/tc-alpha.h,
	config/tc-arc.c, config/tc-arc.h, config/tc-arm.c,
	config/tc-arm.h, config/tc-avr.c, config/tc-avr.h,
	config/tc-bfin.c, config/tc-bfin.h, config/tc-cr16.c,
	config/tc-cr16.h, config/tc-cris.c, config/tc-cris.h,
	config/tc-crx.c, config/tc-crx.h, config/tc-d10v.c,
	config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h,
	config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.c,
	config/tc-fr30.h, config/tc-frv.c, config/tc-frv.h,
	config/tc-generic.c, config/tc-generic.h, config/tc-h8300.c,
	config/tc-h8300.h, config/tc-hppa.c, config/tc-hppa.h,
	config/tc-i370.c, config/tc-i370.h, config/tc-i386.c,
	config/tc-i386.h, config/tc-i860.c, config/tc-i860.h,
	config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c,
	config/tc-ia64.h, config/tc-ip2k.c, config/tc-ip2k.h,
	config/tc-iq2000.c, config/tc-iq2000.h, config/tc-m32c.c,
	config/tc-m32c.h, config/tc-m32r.c, config/tc-m32r.h,
	config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c,
	config/tc-m68k.h, config/tc-maxq.c, config/tc-maxq.h,
	config/tc-mcore.c, config/tc-mcore.h, config/tc-mep.c,
	config/tc-mep.h, config/tc-mips.c, config/tc-mips.h,
	config/tc-mmix.c, config/tc-mmix.h, config/tc-mn10200.c,
	config/tc-mn10200.h, config/tc-mn10300.c, config/tc-mn10300.h,
	config/tc-msp430.c, config/tc-msp430.h, config/tc-mt.c,
	config/tc-mt.h, config/tc-ns32k.c, config/tc-ms32k.h,
	config/tc-openrisc.c, config/tc-openrisc.h, config/tc-or32.c,
	config/tc-or32.h, config/tc-pdp11.c, config/tc-pdp11.h,
	config/tc-pj.c, config/tc-pj.h, config/tc-ppc.c, config/tc-ppc.h,
	config/tc-s390.c, config/tc-s390.h, config/tc-score.c,
	config/tc-score.h, config/tc-sh64.c, config/tc-sh64.h,
	config/tc-sh.c, config/tc-sh.h, config/tc-sparc.c,
	config/tc-sparc.h, config/tc-spu.c, config/tc-spu.h,
	config/tc-tic30.c, config/tc-tic30.h, config/tc-tic4x.c,
	config/tc-tic4x.h, config/tc-tic54x.c, config/tc-tic54x.h,
	config/tc-v850.c, config/tc-v850.h, config/tc-vax.c,
	config/tc-vax.h, config/tc-xc16x.c, config/tc-x16x.h,
	config/tc-xstormy16.c, config/tc-xstormy16.h, config/tc-xtensa.c,
	config/tc-xtensa.h, config/tc-z80.c, config/tc-z80.h,
	config/tc-z8k.c, config/tc-z8k.h, config/te-386bsd.h,
	config/te-freebsd.h, config/te-hppa.h, config/te-irix.h,
	config/te-netware.h, config/te-sparcaout.h,  config/te-tmips.h,
	config/te-vxworks.h, config/vax-inst.h, config/xtensa-istack.h,
	config/xtensa-relax.c, config/xtensa-relax.h: Likewise.

	* flonum-mult.c: Likewise, and also correct typo referring to
	non-existant GNU Assembler General Public License.
	* config/tc-m68851.h: Likewise.
	* NEWS: Mention the new license.  Also note where the 2.17 release
	happened.
	* config/e-crisaout.c: Add copyright header.
	* config/e-criself.c, config/e-i386aout.c, config/e-i386coff.c,
	config/e-i386elf.c, config/e-mipscoff.c, config/e-mipself.c,
	config/obj-multi.c, config/te-aix5.h, config/te-armeabi.h,
	config/te-armlinuxeabi.h, config/te-dynix.h, config/te-epoc-pe.h,
	config/te-generic.h, config/te-gnu.h, config/te-go32.h,
	config/te-hppa64.h, config/te-hppalinux64.h, config/te-hpux.h,
	config/te-i386aix.h, config/te-ia64aix.h, config/te-interix.h,
	config/te-linux.h, config/te-lnews.h, config/te-lynx.h,
	config/te-mach.h, config/te-macos.h, config/te-nbsd532.h,
	config/te-nbsd.h, config/te-pc532mach.h, config/te-pe.h,
	config/te-pep.h, config/te-psos.h, config/te-riscix.h,
	config/te-sun3.h, config/te-svr4.h, config/te-symbian.h,
	config/te-wince-pe.h: Likewise.

2007-07-03  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (m68k_ip): Add j & K operand types.
	(install_operand): Add E encoding.
	(md_begin): Check and skip initial '.' arg character.
	(get_num): Add 0..511 case.

2007-07-03  Alan Modra  <amodra@bigpond.net.au>

	PR 4713
	* config/obj-elf.c (elf_ecoff_set_ext): Make static when OBJ_MAYBE_ELF.
	* config/obj-elf.h (obj_ecoff_set_ext): Comment.

2007-07-03  Mikkel Lauritsen  <renard@nospam.dk>

	PR 4722
	* app.c (do_scrub_chars <state 5>): Check for output buffer full
	after memcpy.

2007-07-02  Joseph Myers  <joseph@codesourcery.com>

	* config/tc-mips.c (s_dtprelword, s_dtpreldword,
	s_dtprel_internal): New.
	(mips_pseudo_table): Add .dtprelword and .dtpreldword.
	(md_apply_fix): Handle BFD_RELOC_MIPS_TLS_DTPREL32 and
	BFD_RELOC_MIPS_TLS_DTPREL64.

2007-07-02  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* po/POTFILES.in: Regenerate.
	* po/gas.pot: Regenerate.

2007-07-02  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-ppc.c (ppc_pe_section): Comment out code assigning
	coff section flag values to bfd section flag.

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* doc/Makefile.in: Likewise.
	* Makefile.in: Likewise.

2007-06-29  Joseph Myers  <joseph@codesourcery.com>

	* as.c (main): Only call create_obj_attrs_section if IS_ELF.

2007-06-29  Joseph Myers  <joseph@codesourcery.com>

	* as.c (create_obj_attrs_section): New.
	(main): Call create_obj_attrs_section for ELF.
	* read.c (s_gnu_attribute, skip_whitespace, skip_past_char,
	skip_past_comma, s_vendor_attribute): New.
	(potable): Add gnu_attribute for ELF.
	* read.h (s_vendor_attribute): Declare.
	* config/tc-arm.c (s_arm_eabi_attribute): Replace by wrapper
	round s_vendor_attribute.
	(aeabi_set_public_attributes): Update for new attributes
	interfaces.
	(arm_md_end): Remove attributes contents setting now done
	generically.

2007-06-29  M R Swami Reddy  <MR.Swami.Redd@nsc.com>

	* Makefile.am: Add CR16 related entry.
	* Makefile.in: Regenerate.
	* config/tc-cr16.h: New file
	* config/tc-cr16.c: New file
	* doc/c-cr16.texi: New file for cr16
	* doc/all.texi: Entry for cr16
	* doc/Makefile.am: Added c-cr16.texi
	* doc/Makefile.in: Regenerate
	* doc/as.texinfo: Entry for CR16 target
	* NEWS: Announce the support for the new target.

2007-06-26  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (parse_operands): Accept generic coprocessor regs
	for OP_RVC.
	(reg_names): Add fpinst, pfinst2, mvfr0 and mvfr1.

2007-06-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (process_operands): Replace regKludge
	with RegKludge.

2007-06-25  Richard Sandiford  <richard@codesourcery.com>

	* config/tc-mips.h (TC_SYMFIELD_TYPE): New.
	* config/tc-mips.c (append_insn): Record which symbols have
	R_MIPS16_26 relocations against them.
	(mips_fix_adjustable): Don't reduce relocations against such symbols.

2007-06-22  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (xg_assembly_relax): Comment termination rules.
	(frag_format_size): Handle RELAX_IMMED_STEP3.
	(xtensa_relax_frag, md_convert_frag): Likewise.
	* config/tc-xtensa.h (xtensa_relax_statesE): Add RELAX_IMMED_STEP3.
	(RELAX_IMMED_MAXSTEPS): Adjust.
	* config/xtensa-relax.c (widen_spec_list): Add transitions from
	wide branches to branch-over-jumps.
	(build_transition): Handle wide branches in transition patterns.

2007-06-22  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (disp_size): New.
	(imm_size): Likewise.
	(output_disp): Use disp_size and imm_size.
	(output_imm): Use imm_size.

2007-06-19  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.h (struct xtensa_frag_type): Update comment about
	use of literal_frag field.
	* config/tc-xtensa.c (xtensa_mark_literal_pool_location): Record frag
	in the literal_frag field.
	(xtensa_move_literals): Use it here instead of searching.  Update
	literal_frag field with new value.

2007-06-14  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (do_t_mov_cmp): Handle shift by register and
	narrow shift by immediate.

2007-06-14  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.

	* acinclude.m4: Don't include m4 files.
	(BFD_BINARY_FOPEN): Removed.
	Remove libtool kludge.

	* Makefile.in: Regenerated.
	* doc/Makefile.in: Likewise.
	* aclocal.m4: Likewise.
	* configure: Likewise.

2007-06-11  Sterling Augustine  <sterling@tensilica.com>
	    Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (XTENSA_PROP_INSN_NO_TRANSFORM): Renamed to...
	(XTENSA_PROP_NO_TRANSFORM): ...this.
	(frag_flags_struct): Move is_no_transform out of the insn sub-struct.
	(xtensa_mark_frags_for_org): New.
	(xtensa_handle_align): Set RELAX_ORG frag subtype for rs_org.
	(xtensa_post_relax_hook): Call xtensa_mark_frags_for_org.
	(get_frag_property_flags): Adjust reference to is_no_transform flag.
	(xtensa_frag_flags_combinable): Likewise.
	(frag_flags_to_number): Likewise.  Use XTENSA_PROP_NO_TRANSFORM.
	* config/tc-xtensa.h (xtensa_relax_statesE): Add RELAX_ORG.

2007-06-06  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (s_align): Pad code sections appropriately.

2007-06-05  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (insns): Correct Thumb-2 ldrd/strd opcodes.

2007-06-05  Nick Clifton  <nickc@redhat.com>

	PR gas/4587
	* config/tc-sparc.c (sparc_ip): Terminate tls_ops array.

2007-06-05  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-spu.c (spu_cons): Use deferred_expression.  Handle
	number@ppu.
	(tc_gen_reloc): Abort if neither addsy or subsy is set.
	(md_apply_fix): Don't attempt to resolve SPU_PPU relocs.
	* config/tc-spu.h (md_operand): Handle @ppu without sym.

2007-05-31  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (insns): Allow strex on M profile cores.

2007-05-29  David S. Miller  <davem@davemloft.net>
	    Jakub Jelinek  <jakub@redhat.com>

	PR gas/4558
	* config/tc-sparc.c (md_apply_fix): Fix relocation overflow checks
	for BFD_RELOC_SPARC_WDISP16 and BFD_RELOC_SPARC_WDISP19.

2007-05-29  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-spu.h: Wrap in #ifndef/#endif.  Delete coff macros.

2007-05-29  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-ppc.c: Convert to ISO C.
	* config/tc-ppc.c: Likewise.

2007-05-29  Alan Modra  <amodra@bigpond.net.au>

	* write.h (EXEC_MACHINE_TYPE): Delete.
	(string_byte_count, section_alignment): Delete.

2007-05-28  Nathan Sidwell  <nathan@codesourcery.com>

	* app.c (do_scrub_chars): Cope with \ at end of buffer.

2007-05-26  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-ppc.c (ppc_insert_operand): Truncate sign bits in
	top 32 bits of 64 bit value if so doing results in passing
	range check.  Rewrite sign extension fudges similarly.  Enable
	fudges for powerpc64 too.  Report user value if range check
	fails rather than fudged value.  Negate PPC_OPERAND_NEGATIVE
	range rather than value, also to report user value on failure.

2007-03-25  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (T2_SUBS_PC_LR): Define.
	(do_t_add_sub): Correctly encode subs pc, lr, #const.
	(do_t_mov_cmp): Correctly encode movs pc, lr.

2007-05-24  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.in: Regnerate.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.
	* doc/Makefile.in: Regenerate.

2007-05-22  Bob Wilson  <bob.wilson@acm.org>

	* doc/c-xtensa.texi (Xtensa Automatic Alignment): Remove statements
	and index entries about automatic alignment of ENTRY instructions.

2007-05-22  Nick Clifton  <nickc@redhat.com>

	* doc/as.texinfo: Use @copying around the copyright notice.

2007-05-18  Joseph Myers  <joseph@codesourcery.com>

	* config/tc-mips.c (s_mipsset): Use generic s_set for directives
	containing a comma.

2007-05-17  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/4517
	2003-06-05  Michal Ludvig  <mludvig@suse.cz>
	* doc/as.texinfo: Document new directives: .cfi_restore,
	.cfi_undefined, .cfi_same_value, .cfi_return_column,
	.cfi_remember_state and .cfi_restore_state.

2007-05-17  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (md_apply_fix): Show value of out of range
	fixups in error message.
	(md_conver_frag_1): Propagate the fix source location and use
	as_bad_where rather than fatal, for better error messages.

2007-05-16  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (v7m_psrs): Add uppercase PSR names and xpsr.

2007-05-15  Mark Shinwell  <shinwell@codesourcery.com>

	* app.c (do_scrub_chars): Don't damage \@ pseudo-variables.

2007-05-15  Vincent Riviere  <vincent.riviere@freesbee.fr>

	PR gas/3041
	* config/tc-m68k.c (relaxable_symbol): Make sure that the correct
	addend is stored for relocs against weak symbols.
	(md_apply_fix): So not loose track of addend for relocs against
	weak symbols.

2007-05-14  Thiemo Seufer  <ths@mips.com>

	* config/tc-mips.c (md_parse_option): Fix parsing of -O option.

2007-05-14  Mei Ligang  <ligang@sunnorth.com.cn>

	* config/tc-score.c (data_op2, validate_immediate): Fix bug for
	addri, addri.c, subi, and subi.c when immediate number is hex.
	(score_insns): Remove subis and subis.c.
	(do_sub_rdi16): Delete.

2007-05-11  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-spu.c (md_pseudo_table): Add int, long, quad.  Call
	spu_cons for word.
	(md_assemble): Tidy use of insn.flag.
	(get_imm): Likewise.  Handle uppercase input too.
	(spu_cons): New function.
	* config/tc-spu.h (tc_fix_adjustable): Don't adjust SPU_PPU relocs.
	(TC_FORCE_RELOCATION): Don't resolve them either.

2007-05-05  Mark Shinwell  <shinwell@codesourcery.com>

	* config/tc-arm.c (md_apply_fix): Generate more accurate
	diagnostic when 8-bit immediate range is exceeded for
	BFD_RELOC_ARM_OFFSET_IMM8.

2007-05-04  Alan Modra  <amodra@bigpond.net.au>

	PR gas/4460
	* config/tc-i386.c (lex_got): Don't replace the reloc token with
	a space if we already have a space.

2007-05-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Don't explicitly check
	suffix for crc32 in Intel mode.
	(process_suffix): Issue an error for crc32 if the operand size
	is ambiguous.

2007-05-03  Vincent Riviere  <vincent.riviere@freesbee.fr>
	    Nick Clifton  <nickc@redhat.com>

	PR gas/3041
	* config/tc-m68k.c (relaxable_symbol): Do not relax weak symbols.
	(tc_gen_reloc): Adjust the addend of relocs against weak symbols.
	(md_apply_fix): Put zero values into the frags referencing weak
	symbols.

2007-05-02  Alan Modra  <amodra@bigpond.net.au>

	PR 4448
	* config/tc-ppc.c (ppc_insert_operand): Don't increase min for
	PPC_OPERAND_PLUS1.

2007-05-01  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Check suffix for crc32 in
	Intel mdoe.
	(process_suffix): Default the suffix of 8bit crc32 to
	BYTE_MNEM_SUFFIX.
	(check_byte_reg): Skip check for 8bit crc32.

2007-04-30  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_assemble): Use register_prefix in
	error/warning message.
	(check_byte_reg): Likewise.
	(check_long_reg): Likewise.
	(check_qword_reg): Likewise.
	(check_word_reg): Likewise.
	(process_operands): Likewise.

2007-04-30  Alan Modra  <amodra@bigpond.net.au>

	PR 4436
	* config/tc-ppc.c (ppc_insert_operand): Disable range check if
	min > max.

2007-04-28  Thiemo Seufer  <ths@networkno.de>

	* config/tc-mips.c: Fix comment.

2007-04-26  Anatoly Sokolov <aesok@post.ru>

	* config/tc-avr.c (mcu_types): Add support for atmega8hva and
	atmega16hva devices. Move at90usb82 device to 'avr5' architecture.
	* doc/c-avr.texi: Document new devices.

2007-04-24  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2007-04-23  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (mcf54455_ctrl): New.
	(HAVE_LONG_DISP, HAVE_LONG_CALL, HAVE_LONG_COND): New.
	(m68k_archs): Add isac.
	(m68k_cpus): Add 54455 family.
	(m68k_ip): Split Bg into Bb, Bs, Bg.
	(m68k_elf_final_processing): Add ISA_C.
	* doc/c-m68k.texi (M680x0 Options): Add isac.

2007-04-22  Alan Modra  <amodra@bigpond.net.au>

	* read.c (read_a_source_file): Skip multiple spaces to
	cover hack in mmix md_start_line_hook which overwrites a
	colon with a space.  Delete sermon and needless assertion.

2007-04-21  Alan Modra  <amodra@bigpond.net.au>

	* config/atof-vax.c (atof_vax_sizeof): Change return type to unsigned.
	(md_atof): Make number_of_chars unsigned.  Revert last change.
	* config/tc-or32.c (md_apply_fix): Delete bogus assertions.
	* config/tc-sh.c (sh_optimize_expr): Only define for OBJ_ELF.
	* config/tc-sh.h (md_optimize_expr): Likewise.
	* config/tc-sh64.c (shmedia_md_pcrel_from_section): Delete bogus
	assertion.
	* config/tc-xtensa.c (convert_frag_immed_finish_loop): Likewise.

2007-04-21  Nick Clifton  <nickc@redhat.com>

	* config/atof-vax.c (md_atof): Fix comparison inside know().

	* config/tc-ia64.c (emit_one_bundle): Fix typo.

2007-04-21  Alan Modra  <amodra@bigpond.net.au>

	* expr.c (expr): Assert on rankarg, not rank which can be unsigned.
	* read.c (read_a_source_file): Remove buffer_limit[-1] assertion.
	Don't skip over NUL char.
	(pseudo_set): Set X_op for registers to O_register.
	* symbols.c (symbol_clone): Remove assertion that sym is defined.
	(resolve_symbol_value): Resolve O_register symbols.
	* config/tc-i386.c (parse_real_register): Don't use i386_float_regtab.
	Instead find st(0) by hash lookup.
	* config/tc-ppc.c (ppc_macro): Warning fix.

	* as.h (ENABLE_CHECKING): Default define to 0.
	(know): Assert if ENABLE_CHECKING.
	(struct relax_type): Remove superfluous declaration.
	* configure.in (--enable-checking): New.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/tc-ppc.c (ppc_setup_opcodes): Do checks when ENABLE_CHECKING.
	Check for duplicate powerpc_operands entries.

2007-04-20  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (mcf5253_ctrl): New.
	(mcf52223_ctrl): New.
	(m68k_cpus): Add 5253, 52221, 52223.

	* config/m68k-parse.h (RAMBAR_ALT): New.
	* config/tc-m68k.c (mcf5206_ctrl, mcf5307_ctrl): New.
	(mcf_ctrl, mcf5208_ctrl, mcf5210a_ctrl, mcf5213_ctrl, mcf52235_ctrl,
	mcf5225_ctrl, mcf5235_ctrl, mcf5271_ctrl, mcf5275_ctrl,
	mcf5282_ctrl, mcf5329_ctrl, mcf5373_ctrl, mcfv4e_ctrl,
	mcf5475_ctrl, mcf5485_ctrl): Add RAMBAR synonym for
	RAMBAR1.
	(mcf5272_ctrl): Add RAMBAR0, replace add RAMBAR with RAMBAR_ALT.
	(m68k_cpus): Adjust 5206, 5206e & 5307 entries.
	(m68k_ip) <Case J>: Detect when RAMBAR_ALT should be used.  Add it
	to control register mapping.

2007-04-20  Alan Modra  <amodra@bigpond.net.au>

	* messages.c (as_internal_value_out_of_range): Fix typo in
	error message.  Return after printing domain error.
	* config/tc-ppc.c (ppc_insert_operand): Preserve low zero bits
	in max when shifting right.

2007-04-20  Alan Modra  <amodra@bigpond.net.au>

	* messages.c (as_internal_value_out_of_range): Extend to report
	errors for values with invalid low bits set.
	* config/tc-ppc.c (ppc_setup_opcodes): Check powerpc_operands bitm
	fields.  Check that operands and opcode fields are disjoint.
	(ppc_insert_operand): Check operands using mask rather than bit
	count.   Check low bits too.  Handle PPC_OPERAND_PLUS1.  Adjust
	insertion code.
	(md_apply_fix): Adjust for struct powerpc_operand change.

2007-04-19  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (md_assemble): Only allow 16-bit instructions on
	Thumb-1.  Add sanity check for bogus relaxations.

2007-04-19  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (insns): Allow rsb and rsbs on Thumb-1.

2007-04-19  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2007-04-19  Nathan Froyd <froydnj@codesourcery.com>

	* doc/c-ppc.texi (PowerPC-Opts): Document -me500, -me500x2, -mspe.

2007-04-18  H.J. Lu <hongjiu.lu@intel.com>

	* doc/c-i386.texi; Document .ssse3, .sse4.1, .sse4.2 and .sse4.

2007-04-18  H.J. Lu <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Add .sse4.2 and .sse4.
	(match_template): Handle operand size for crc32 in SSE4.2.
	(process_suffix): Handle operand type for crc32 in SSE4.2.
	(output_insn): Support SSE4.2.

2007-04-18  H.J. Lu <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Add .sse4.1.
	(process_operands): Adjust implicit operand for blendvpd,
	blendvps and pblendvb in SSE4.1.
	(output_insn): Support SSE4.1.

2007-04-18  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (do_t_rsb): Use 16-bit encoding when possible.

2007-04-16  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* config/tc-sh.c (sh_handle_align):  Call as_bad_where instead
	of as_warn_where for misaligned data.

2007-04-15  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* config/tc-sh.c (align_test_frag_offset_fixed_p): Handle
	rs_fill frags.

2007-04-14  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.am: Add ACLOCAL_AMFLAGS.
	* Makefile.in: Regenerate.

2007-04-14  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* config/tc-sh.c (align_test_frag_offset_fixed_p): New.
	(sh_optimize_expr): Likewise.
	* config/tc-sh.h (md_optimize_expr): Define.
	(sh_optimize_expr): Prototype.

2007-04-06  Matt Thomas  <matt@netbsd.org>

	* config/tc-vax.c (vax_cons): Added to support %pcrel{8,16,32}(exp)
	to emit pcrel relocations by DWARF2 in non-code sections.  Borrowed
	heavily from tc-sparc.c.  (vax_cons_fix_new): Likewise.

2007-04-04  Kazu Hirata  <kazu@codesourcery.com>

	* config/tc-m68k.c (HAVE_LONG_BRANCH): Add fido_a.

2007-04-04  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (do_neon_ext): Enforce immediate range.
	(insns): Use I15 for vext.

2007-04-04  Paul Brook  <paul@codesourcery.com>

	* configure.tgt: Loosen checks for arm uclinux eabi targets.

2007-04-02  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (xtensa_flush_pending_output): Check
	outputting_stabs_line_debug.

2007-03-26  Anatoly Sokolov <aesok@post.ru>

	* config/tc-avr.c (mcu_types): Add support for at90pwm1, at90usb82,
	at90usb162, atmega325p, atmega329p, atmega3250p and atmega3290p
	devices.
	* doc/c-avr.texi: Document new devices.

2007-04-02  Richard Sandiford  <richard@codesourcery.com>

	* doc/as.texinfo: Add -mvxworks-pic to the list of MIPS options.
	* doc/c-mips.texi (-KPIC, -mvxworks-pic): Document.
	* config/tc-mips.c (md_show_usage): Mention -mvxworks-pic.

2007-03-30  Sterling Augustine  <sterling@tensilica.com>
	    Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (xtensa_move_labels): Remove loops_ok argument.
	Do not check is_loop_target flag.
	(xtensa_frob_label): Adjust calls to xtensa_move_labels.
	(xg_assemble_vliw_tokens): Likewise.  Also avoid calling
	xtensa_move_labels for alignment of loop opcodes.

2007-03-30  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (process_suffix): Reindent a bit.

2007-03-30  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (encode_thumb2_ldmstm): New function.
	(do_t_ldmstm): Generate 16-bit push/pop.  Use encode_thumb2_ldmstm.
	(do_t_push_pop):  Use encode_thumb2_ldmstm.

2007-03-29  DJ Delorie  <dj@redhat.com>

	* config/tc-m32c.c (rl_for, relaxable): Protect argument.
	(md_relax_table): Add entries for ADJNZ macros.
	(M32C_Macros): Add ADJNZ macros.
	(subtype_mappings): Add entries for ADJNZ macros.
	(insn_to_subtype): Check for adjnz and sbjnz insns.
	(md_estimate_size_before_relax): Pass insn to insn_to_subtype.
	(md_convert_frag): Convert adjnz and sbjnz.

2007-03-29  Nick Clifton  <nickc@redhat.com>

	* itbl-ops.c (itbl_entry): Remove unnecessary and excessively long
	initialization.
	* itbl-ops.h (enum e_processor): Initialise the e_nprocs field
	using ITBL_NUMBER_OF_PROCESSORS.
	* itbl-parse.y (yyerror): Remove use of redundant macro PARAMS.

2007-03-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): For instructions with 2
	register operands, encode destination in i.rm.regmem if its
	RegMem bit is set.

2007-03-28  Richard Sandiford  <richard@codesourcery.com>
	    Phil Edwards  <phil@codesourcery.com>

	* doc/as.texinfo: Put the contents after the title page rather
	than at the end of the document.

2007-03-27  Alan Modra  <amodra@bigpond.net.au>

	* NEWS: Mention ".reloc".

2007-03-26  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (xg_translate_idioms): Allow assembly idioms
	in FLIX instructions.

2007-03-26  Julian Brown  <julian@codesourcery.com>

	* config/tc-arm.c (arm_it): Add immisfloat field.
	(parse_qfloat_immediate): Disallow integer syntax for floating-point
	immediates. Fix hex immediates, handle 0.0 and -0.0 specially.
	(parse_neon_mov): Set immisfloat bit for operand if it parsed as a
	float.
	(neon_cmode_for_move_imm): Reject non-float immediates for float
	operands.
	(neon_move_immediate): Pass immisfloat bit to neon_cmode_for_move_imm.

2007-03-26  Julian Brown  <julian@codesourcery.com>

	* doc/c-arm.texi: Add documentation for .dn/.qn directives.

2007-03-26  Alan Modra  <amodra@bigpond.net.au>

	* doc/as.texinfo (Reloc): Document.
	* read.c (potable): Add "reloc".
	(s_reloc): New function.
	* write.c (reloc_list): New global var.
	(resolve_reloc_expr_symbols): New function.
	(write_object_file): Call it.
	(write_relocs): Process reloc_list.
	* write.h (struct reloc_list): New.
	(reloc_list): Declare.

2007-03-24  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (do_t_ldmstm): Error on Thumb-2 addressing modes.

2007-03-24  Paul Brook  <paul@codesourcery.com>
	Mark Shinwell  <shinwell@codesourcery.com>

	* config/tc-arm.c (operand_parse_code): Add OP_oRRw.
	(parse_operands): Don't expect comma if first operand missing.
	Handle OP_oRRw.
	(do_srs): Encode register number, checking it is r13.  Update comment.
	(insns): Update SRS entries to take a register.

2007-03-23  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_begin): Allow '.' in mnemonic.

2007-03-23  Mark Shinwell  <shinwell@codesourcery.com>

	* config/tc-arm.c (md_apply_fix): Turn CBZ instructions that
	attempt to jump to the next instruction into NOPs.

2007-03-23  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-spu.c: Don't include opcode/spu.h.
	(md_assemble): Set tc_fix_data.insn_tag and arg_format.
	(md_apply_fix): Adjust.
	* config/tc-spu.h: Include opcode/spu.h.
	(struct tc_fix_info): New.
	(TC_FIX_TYPE, TC_INIT_FIX_DATA): Adjust.
	(TC_FORCE_RELOCATION): Define.

2007-03-22  Joseph Myers  <joseph@codesourcery.com>

	* doc/as.texinfo: Include VERSION_PACKAGE when reporting version.

2007-03-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (process_suffix): Check 0x90 instead of
	xchg for xchg %rax,%rax.

2007-03-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c: Replace REX_MODE64, REX_EXTX, REX_EXTY
	and REX_EXTZ with REX_W, REX_R, REX_X and REX_B respectively.

2007-03-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR binutils/4218
	* config/tc-i386.c (match_template): Properly handle 64bit mode
	"xchg %eax, %eax".

2007-03-21  Anton Ertl  <anton@mips.complang.tuw>

	PR gas/4124
	* config/tc-alpha.c (emit_ustX): Fix ustq code generation.

2007-03-21  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run dep-am.
	* Makefile.in: Regenerated.

	* config/tc-i386.c: Don't include "opcodes/i386-opc.h".

	* config/tc-i386.h: Include "opcodes/i386-opc.h".
	(NOP_OPCODE): Removed.
	(template): Likewise.

2007-03-21  Andreas Schwab  <schwab@suse.de>

	* config/tc-i386.h (NOP_OPCODE): Restore.

2007-03-18  Mark Shinwell  <shinwell@codesourcery.com>

	* config/tc-arm.c (do_mul): Don't warn about overlapping
	Rd and Rm operands when assembling for v6 or above.
	Correctly capitalize register names in the messages.
	(do_mlas): Likewise.  Delete spurious blank line.

2007-03-16  Kazu Hirata  <kazu@codesourcery.com>

	* config/tc-m68k.c (m68k_cpus): Add an entry for fidoa.

2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_begin): Use i386_regtab_size to scan
	i386_regtab.
	(parse_register): Use i386_regtab_size instead of ARRAY_SIZE
	on i386_regtab.

2007-03-15  Alexandre Oliva  <aoliva@redhat.com>

	PR gas/4184
	* app.c (do_scrub_chars): PUT after setting states.

2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.

	* config/tc-i386.c: Include "opcodes/i386-opc.h" instead of
	"opcode/i386.h".
	(md_begin): Check reg_name != NULL for the last entry in
	i386_regtab.

	* config/tc-i386.h: Move many entries to opcode/i386.h and
	opcodes/i386-opc.h.

	* configure.in (need_opcodes): Set true for i386.
	* configure: Regenerated.

2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (REPORT_BUGS_TO): Removed.
	(INCLUDES): Remove -DREPORT_BUGS_TO.
	* Makefile.in: Regenerated.

	* configure.in (--with-bugurl): Removed.
	* configure: Regenerated.

	* doc/Makefile.am (as_TEXINFOS): Remove gasver.texi.
	(AM_MAKEINFOFLAGS): Add -I ../../bfd/doc.
	(TEXI2DVI): Likewise.
	(gasver.texi): Removed.
	(MOSTLYCLEANFILES): Remove gasver.texi.
	(as.1): Don't depend on gasver.texi.
	* doc/Makefile.in: Regenerated.

	* doc/as.texi: Include bfdver.texi instead of gasver.texi.

2007-03-14  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/tc-arm.c (arm_copy_symbol_attributes): New.
	* config/tc-arm.h (arm_copy_symbol_attributes): Declare.
	(TC_COPY_SYMBOL_ATTRIBUTES): Define.
	* gas/symbols.c (copy_symbol_attributes): Use
	TC_COPY_SYMBOL_ATTRIBUTES.

2007-03-14  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (T16_32_TAB): Fix dec_sp encoding.

2007-03-14  Alan Modra  <amodra@bigpond.net.au>

	PR 4029
	* write.c (relax_segment): Insert extra alignment padding
	to break infinite relax loop when given impossible
	gcc_except_table assembly.

2007-03-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_assemble): Use Opcode_XXX instead of XXX
	on i.tm.base_opcode.
	(match_template): Likewise.
	(process_operands): Use ~0x3 mask to match MOV_AX_DISP32.

	* config/tc-i386.h (Opcode_D): New.
	(Opcode_FloatR): Likewise.
	(Opcode_FloatD): Likewise.
	(D): Redefined.
	(W): Likewise.
	(FloatMF): Likewise.
	(FloatR): Likewise.
	(FloatD): Likewise.

2007-03-09  Alexandre Oliva  <aoliva@redhat.com>

	* app.c (do_scrub_chars): Recognize comments after # line "file".
	* read.c (get_linefile_number): New.
	(s_app_line): Accept ill-formed .linefile lines as comments.

2007-03-09  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-i386.h (WORKING_DOT_WORD): Define.

2007-03-09  Alexandre Oliva  <aoliva@redhat.com>

	* app.c (do_scrub_chars): Turn #<line>"file"flags into .linefile.
	* as.h (new_logical_line_flags): New.
	* input-scrub.c (new_logical_line): Turned into wrapper for...
	(new_logical_line_flags): this.  Handle flags.
	* read.c (potable): Add linefile.  Adjust appline argument.
	(s_app_file): Fake .appfiles no more.
	(s_app_line): For .linefile, accept file name and flags.

2007-03-08  Alan Modra  <amodra@bigpond.net.au>

	* symbols.c (symbol_relc_make_sym): Comment typo fixes.

2007-03-08  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* po/POTFILES.in: Regenerate.

2007-03-07  Joseph Myers  <joseph@codesourcery.com>

	* configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of
	bug-reporting URL.
	* doc/Makefile.am (gasver.texi): Define BUGURL.
	* doc/as.texinfo: Use BUGURL.
	* Makefile.in, configure, doc/Makefile.in: Regenerate.

2007-03-06  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/tc-s390.c (md_parse_option): z9-ec option added.

2007-03-02  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (relax_immediate): Always return positive values.
	(relaxed_symbol_addr): New function.
	(relax_adr, relax_branch): Use it.
	(arm_relax_frag): Pass strect argument.  Adjust infinite loop check.

2007-03-01  Joseph Myers  <joseph@codesourcery.com>

	* as.c (parse_args): Update copyright date.

2007-02-28  Nathan Sidwell  <nathan@codesourcery.com>

	* configure.tgt (sh-*-uclinux, sh[12]-*-uclinux): Specify as elf.

2007-02-28  Nick Clifton  <nickc@redhat.com>

	PR gas/3797
	* config/tc-d10v.c (do_assemble): Do not generate error messages,
	just return -1 whenever a problem is encountered.
	(md_assemble): If do_assemble returns -1 generate a non-fatal
	error message and return.

	PR gas/2623
	* config/tc-msp430.c (line_separator_char): Change to '{'.

2007-02-27  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-m68hc11.c (fixup24): Correct fixup size.
	(build_jump_insn): Likewise.
	(build_insn): Likewise.
	(s_m68hc11_relax): Likewise.

2007-02-27  Alan Modra  <amodra@bigpond.net.au>

	* config/obj-elf.c (elf_frob_file): frag_wane any new frags.

2007-02-25  Mark Shinwell  <shinwell@codesourcery.com>

	* config/tc-arm.c (do_vfp_nsyn_pop): Use fldmias/fldmiad.

2007-02-23  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-mn10300.c (md_convert_frag): Correct fixup size.
	(md_assemble): Likewise.

2007-02-22  Alan Modra  <amodra@bigpond.net.au>

	* write.c (size_seg): Always clear SEC_RELOC here.
	(install_reloc): New function, extracted from..
	(write_relocs): ..here.  Combine RELOC_EXPANSION_POSSIBLE code
	with !RELOC_EXPANSION_POSSIBLE code.  Don't add fr_offset when
	testing frag size.  Set SEC_RELOC here.

2007-02-21  Alan Modra  <amodra@bigpond.net.au>

	PR 4082
	* config/tc-avr.h (TC_FX_SIZE_SLACK): Define.

2007-02-20  Thiemo Seufer  <ths@mips.com>

	* doc/c-mips.texi: Document 74kc, 74kf, 74kx.

2007-02-20  Thiemo Seufer  <ths@mips.com>

	* config/tc-mips.c (mips_cpu_info_table): Add 74K configurations.

2007-02-20  Thiemo Seufer  <ths@mips.com>
            Chao-Ying Fu  <fu@mips.com>

	* config/tc-mips.c (mips_set_options, mips_opts, file_ase_dspr2,
	ISA_SUPPORTS_DSPR2_ASE, MIPS_CPU_ASE_DSPR2): Add DSP R2 ASE support.
	(macro_build): Add case '2'.
	(macro): Expand M_BALIGN to nop, packrl.ph or balign.
	(validate_mips_insn): Add support for balign instruction.
	(mips_ip): Handle DSP R2 instructions. Support balign instruction.
	(OPTION_DSPR2, OPTION_NO_DSPR2, OPTION_COMPAT_ARCH_BASE,
	md_parse_option, mips_after_parse_args): Add -mdspr2 and -mno-dspr2
	command line options.
	(s_mipsset): Add support for .set dspr2 and .set nodspr2 directives.
	(md_show_usage): Add -mdspr2 and -mno-dspr2 help output.
	* doc/c-mips.texi, doc/as.texinfo: Document -mdspr2, -mno-dspr2,
	.set dspr2, .set nodspr2.

2007-02-20  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (mcf5210a_ctrl, mcf52235_ctrl, mcf5225_ctrl): New.
	(m68k_cpus): Add 5210a..5211a, 52230..52235 5224..5225.

2007-02-18  Alan Modra  <amodra@bigpond.net.au>

	* write.c (TC_FX_SIZE_SLACK): Define.
	(write_relocs): Reinstate check for fixup within frag.
	* config/tc-bfin.h (TC_FX_SIZE_SLACK): Define.
	* config/tc-h8300.h (TC_FX_SIZE_SLACK): Define.
	* config/tc-mmix.h (TC_FX_SIZE_SLACK): Define.
	* config/tc-sh.h (TC_FX_SIZE_SLACK): Define.
	* config/tc-xstormy16.h (TC_FX_SIZE_SLACK): Define.

2007-02-17  Mark Mitchell  <mark@codesourcery.com>
            Nathan Sidwell  <nathan@codesourcery.com>
            Vladimir Prus  <vladimir@codesourcery.com
            Joseph Myers  <joseph@codesourcery.com>

	* configure.in (--with-bugurl): New option.
	* configure: Regenerate.
	* dep-in.sed: Remove bin-bugs.h.
	* Makefile.am (REPORT_BUGS_TO): Define.
	(INCLUDES): Define REPORT_BUGS_TO.
	(DEP_INCLUDES): Likewise.
	($(OBJS)): No longer depend on bin-bugs.h.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* as.c (show_usage): Don't print empty REPORT_BUGS_TO.
	* as.h: Remove include of bin-bugs.h.

2007-02-17  Alan Modra  <amodra@bigpond.net.au>

	* write.c: White space fixes.
	(fixup_segment): Move symbol_mri_common_p adjustments..
	(write_relocs): ..and symbol_equated_reloc_p adjustments..
	(adjust_reloc_syms): ..to here.

2007-02-16  Alan Modra  <amodra@bigpond.net.au>

	* subsegs.c (subseg_change, subseg_get): Use xcalloc rather than
	xmalloc, memset.  Don't bother assigning NULL to known zero mem.
	(subseg_set_rest): Remove unnecessary cast.
	* write.c: Include libbfd.h.  Replace PTR with void * throughout.
	Remove unnecessary forward declarations and casts.
	(set_symtab): Delete extern bfd_alloc.
	(fixup_segment): Move.

2007-02-15  Nathan Sidwell  <nathan@codesourcery.com>

	* config/m68k-parse.h (m68k_register): Add ROMBAR0, ASID.
	* config/tc-m68k.c (mcfv4e_ctrl): Add ColdFire specific names.
	(mcf5475_ctrl, mcf5485_ctrl): New.
	(m68k_cpus): Use mcf5485_ctrl and mcf5485_ctrl for those families.
	(m68k_ip): Add ASID, MMUBAR, ROMBAR0 handling.
	(init_table): Add asid, mmubar, adjust rombar0.

2007-02-14  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-i386.h (Seg2ShortForm, Seg3ShortForm): Delete.
	* config/tc-i386.c: Wrap overly long lines, whitespace fixes.
	(process_operands): Move old Seg2ShortForm and Seg3ShortForm
	code, and test for these insns using a combination of
	opcode_modifier and operand_types.

2007-02-07  Paul Brook  <paul@codesourcery.com>

	* configure.tgt: Add arm*-*-uclinux-*eabi.

2007-02-05  Dave Brolley  <brolley@redhat.com>
	    Richard Sandiford  <rsandifo@redhat.com>
	    DJ Delorie  <dj@redhat.com>
	    Stan Cox  <scox@redhat.com>
	    Jim Blandy  <jimb@redhat.com>
	    Nick Clifton  <nickc@redhat.com>
	    Jim Wilson  <wilson@redhat.com>
	    Frank Ch. Eigler  <fche@redhat.com>
	    Graydon Hoare  <graydon@redhat.com>
	    Ben Elliston  <bje@redhat.com>
	    John Healy  <jhealy@redhat.com>
	    Richard Henderson  <rth@redhat.com>

	* Makefile.am (CPU_TYPES): Add mep.
	(TARGET_CPU_CFILES): Add tc-mep.c.
	(TARGET_CPU_HFILES): Add tc-mep.h.
	(DEPTC_mep_elf): New variable.
	(DEPTC_mep_coff): Likewise.
	(DEPOBJ_mep_coff, DEPOBJ_mep_elf, DEP_mep_coff, DEP_mep_elf): Likewise.
	* configure.in: Support mep.
	* configure.tgt: Likewise.
	* config/tc-mep.c: New file.
	* config/obj-elf.c: New file.
	* config/tc-mep.c: New file.
	* config/tc-mep.h: New file.
	* Makefile.in: Regenerate.
	* configure: Regenerate.

2007-02-05  Dave Brolley  <brolley@redhat.com>

	* cgen.c (gas_cgen_install_complex_reloc): Removed.
	(complex_reloc_installation_howto): Removed.

2007-02-05  Dave Brolley  <brolley@redhat.com>
	    Graydon Hoare  <graydon@redhat.com>
	    DJ Delorie  <dj@redhat.com>
	    Catherine Moore  <clm@redhat.com>
	    Michael Chastain  <chastain@redhat.com>
	    Frank Ch. Eigler  <fche@redhat.com>

	* symbols.c (use_complex_relocs_for): New, to decide
	when to use complex relocs. Add signed RELC support.
	(resolve_symbol_value): Call use_complex_relocs_for. Unconditionally
	encode expression symbols as mangled complex relocation symbols (when
	compiled with -DOBJ_COMPLEX_RELOC).
	(symbol_relc_make_sym,value,expr): New traversal/conversion routines.
	* cgen.c (gas_cgen_md_apply_fix3):  Only set signed_p if RELC. Call
	encode_addend with new args. Modify to get start, length from
	ifield whenever it is set. Also change condition on which
	self-describing relocs are encoded. Add hook into
	gas_cgen_encode_addend.
	(queue_fixup_recursively): Add signed RELC support. Change from masked
	expr to trunc flag. Restore assignment of sub-field value to
	temporary in fixups array. Reflect changed meaning of last arg to
	queue_fixup_recursively.
	(fixup): Add cgen_maybe_multi_ifield member.
	(make_right_shifted_expr): New function.
	(queue_fixup): Change to recursive function that fragments
	fixups if operand has a multi-ifield.
	(gas_cgen_parse_operand): Add RELC code to wrap expressions in
	symbols, call weak_operand_overflow_check, and fragment call
	queue_fixup with operand fields.
	(gas_cgen_finish_insn) Modify to manage ifield pointer.
	(weak_operand_overflow_check): New function to try to select
	insns correctly.
	(gas_cgen_encode_addend): New function for relc.
	(gas_cgen_install_complex_reloc): Likewise.
	(gas_cgen_tc_gen_reloc): Add hook into gas_cgen_install_complex_reloc.
	* write.h (struct fix): Add msb_field_p to fx_cgen sub-struct. Add
	cgen_maybe_multi_ifield field to fx_cgen substructure.
	* cgen.h (GAS_CGEN_MAX_FIXUPS): Bump from 3 up to 32.
	* symbols.h (symbol_relc_make_sym,value,expr): New prototypes.

2007-02-03  DJ Delorie  <dj@delorie.com>

	* config/tc-m32c.c (m32c_cons_fix_new): New.  Added to support 3
	byte relocs.
	* config/tc-m32c.h (TC_CONS_FIX_NEW): Define.
	(m32c_cons_fix_new): Prototype.

2007-02-02  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (xg_build_to_insn): Use tinsn_init.
	(xg_expand_assembly_insn, istack_push_space, istack_pop): Likewise.

2007-02-02  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (SUFFIX_MAP, suffix_relocs): New.
	(xtensa_elf_suffix): Use suffix_relocs instead of local mapping table.
	(map_suffix_reloc_to_operator): New.
	(map_operator_to_reloc): New.
	(expression_maybe_register): Fix incorrect test of return value from
	xtensa_elf_suffix.  Rearrange to use map_suffix_reloc_to_operator.
	(xg_assemble_literal, convert_frag_immed): Use map_operator_to_reloc.

2007-02-02  Bob Wilson  <bob.wilson@acm.org>

	* config/xtensa-istack.h (struct tinsn_struct): Delete fixup field.
	(tinsn_get_tok): Delete prototype.
	* config/tc-xtensa.c (tinsn_get_tok): Delete.

2007-02-02  Bob Wilson  <bob.wilson@acm.org>

	* config/xtensa-relax.h (struct build_instr): Delete id field.
	* config/xtensa-relax.c (widen_spec_list): Remove zeros from LITERAL
	and LABEL tokens.
	(append_literal_op, append_label_op): Remove litnum/labnum arguments;
	set op_data fields to zero.
	(parse_id_constant): Delete.
	(build_transition): Remove code to handle numbered literals and labels.

2007-02-02  Bob Wilson  <bob.wilson@acm.org>

	* config/xtensa-relax.c (build_transition): Remove code after as_fatal.
	(build_transition_table): Likewise.

2007-02-01  Bob Wilson  <bob.wilson@acm.org>

	* config/tc-xtensa.c (xg_add_opcode_fix, md_apply_fix): Delete use of
	fx_tcbit.
	* config/tc-xtensa.h (TC_FORCE_RELOCATION_LOCAL): Remove.

2007-02-02  Alan Modra  <amodra@bigpond.net.au>

	* write.h (struct fix <fx_pcrel_adjust, fx_size>): Move.
	(struct fix <fx_plt>): Rename to tcbit2.
	* write.c (fix_new_internal): Adjust.
	(TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt.
	* config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
	* config/tc-cris.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
	* config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
	* config/tc-i960.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
	* config/tc-sh.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
	* config/tc-sh64.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
	* config/tc-sparc.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
	* config/tc-msp430.c (msp430_force_relocation_local): Likewise.
	* config/tc-ia64.c (emit_one_bundle): Don't set fx_plt.
	* config/tc-ia64.h (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt.
	Instead, compare fx_r_type.
	* config/tc-xtensa.c (xg_add_opcode_fix, md_apply_fix): Use
	fx_tcbit in place of fx_plt.
	* config/tc-xtensa.h (TC_FORCE_RELOCATION_LOCAL): Define.
	* doc/internals.texi (TC_FORCE_RELOCATION_LOCAL): Remove reference
	to fx_plt.

2007-01-30  Nick Clifton  <nickc@redhat.com>

	* as.c (main): Mark symbols created via the --defsym command line
	option as volatile so that they can be overridden later on by a
	.set directive.  This maintains compatibility with the behaviour
	of earlier versions of the assembler.
	* doc/as.texinfo (--defsym): Document that the defined symbol's
	value can be overridden via a .set directive.

2007-01-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (swap_imm_operands): Renamed to ...
	(swap_2_operands): This.  Take 2 ints.
	(md_assemble): Updated.
	(swap_operands): Call swap_2_operands to swap 2 operands.

2007-01-24  DJ Delorie  <dj@redhat.com>

	* config/tc-m32c.c (md_pseudo_table): Add .3byte.

2007-01-22  Nick Clifton  <nickc@redhat.com>

	PR gas/3871
	* tc-score.c: Remove unnecessary uses of _().
	Make the err_msg[] a file level local array in order to save
	storage space.
	Remove unnecessary sprintf()s.

2007-01-18  Mei Ligang  <ligang@sunnorth.com.cn>

	PR gas/3871
	* config/tc-score.c : Using _() for const string.
	Do not assign inst.error with a local string pointer.
	(md_section_align): Pad section.

2007-01-13  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): Check number of operands
	when procssing memory/register operand.

2007-01-12  Nick Clifton  <nickc@redhat.com>

	PR gas/3856
	* macro.c (expand_irp): Do not ignore spaces inside quoted
	strings.

2007-01-12  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-spu.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
	* config/tc-m32r.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
	* config/tc-mn10300.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
	(TC_FORCE_RELOCATION): Define.
	(TC_FORCE_RELOCATION_LOCAL): Define.
	* config/tc-mn10300.c (mn10300_fix_adjustable): Adjust.

2007-01-12  Alan Modra  <amodra@bigpond.net.au>

	* input-file.c (input_file_open): Check fgets return.

2007-01-11  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (do_t_add_sub): Use Rd and Rs.

2007-01-11  Nick Clifton  <nickc@redhat.com>

	PR gas/3707
	* config/tc-arm.c (md_begin): Cope with an NULL mcpu_fpu_opt
	variable.

	* config/tc-mcore.c (md_number_to_chars): Use
	number_to_chars_{big|little}endian.

2007-01-08  Kazu Hirata  <kazu@codesourcery.com>

	* config/tc-m68k.c (m68k_archs, m68k_cpus): Treat Fido as an
	architecture by itself.
	(m68k_ip): Don't issue a warning for tbl instructions on fido.
	(m68k_elf_final_processing): Treat Fido as an architecture by
	itself.

2007-01-08  Kai Tietz	<kai.tietz@onevision.com>

	* configure.tgt: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*

2007-01-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (set_intel_syntax): Update set_intel_syntax
	depending on allow_naked_reg.

2007-01-04  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (do_cpsi): Set mmod bit for 2 argument form.

2007-01-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/3830
	* config/tc-i386.c (register_prefix): New.
	(set_intel_syntax): Set set_intel_syntax to "" if register
	prefix isn't needed.
	(check_byte_reg): Use register_prefix for error message.
	(check_long_reg): Likewise.
	(check_qword_reg): Likewise.
	(check_word_reg): Likewise.

2007-01-04  Julian Brown  <julian@codesourcery.com>

	* config/tc-arm.c (do_neon_shl_imm): Swap rN, rM.
	(do_neon_qshl_imm): Likewise.
	(do_neon_rshl): New function. Handle rounding variants of
	v{q}shl-by-register.
	(insns): Use do_neon_rshl for vrshl, vqrshl.

2007-01-04  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (NEON_ENC_TAB): Fix encoding of vclt, vcle, vaclt
	and vacle.

2007-01-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (swap_operands): Remove branches.

2007-01-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c: Update copyright year.
	* config/tc-i386.h: Likewise.

2007-01-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (smallest_imm_type): Return unsigned int
	instead of int.

2007-01-03  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c: Convert to ISO C90 formatting
	* config/tc-i386.h: Likewise.

2007-01-03  David Daney  <ddaney@avtrex.com>

	* config/tc-mips.c (md_show_usage):  Clean up -mno-shared
	documentation.

For older changes see ChangeLog-2006

Copyright (C) 2006 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
