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.
	* testsuite/gas/ppc/ppc.exp: Run ppc70ps dump tests.
	* testsuite/gas/ppc/ppc750ps.s: New file.
	* testsuite/gas/ppc/ppc750ps.d: Likewise.

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.
	* testsuite/gas/mep: New testsuite with content.
	* 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:
