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

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
