2010-12-31  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR gas/11395
	* config/tc-hppa.c (pa_ip): Revert last change.  Add variable need_cond
	to determine whether a 64-bit condition is needed for 'A' and 'S'
	conditions.  Default to 32-bit never condition for logical and unit
	instructions.  Add error message for missing branch on bit condition.

2010-12-31  Robert Millan  <rmh@gnu.org>

	* config/tc-mips.c (ELF_TARGET): New macro.  Generates target
	names accordingly to whether TE_FreeBSD and whether TE_TMIPS
	are defined.
	(mips_target_format): Refactor code using ELF_TARGET().
	(support_64bit_objects): Likewise.

	* configure.in: Recognize mips-freebsd and mips-kfreebsd-gnu.
	* configure.tgt: Likewise.
	* configure: Regenerate.

2010-12-30  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (x86_elf_abi): New.
	(i386_mach): Return bfd_mach_x64_32 for ILP32.
	(OPTION_N32): Likewise.
	(md_longopts): Add "n32" for ELF.
	(md_parse_option): Handle OPTION_N32.
	(md_show_usage): Add --n32.
	(i386_target_format): Update and check x86_elf_abi.

	* config/tc-i386.h (ELF_TARGET_FORMAT32): New.

	* doc/as.texinfo: Document --n32.
	* doc/c-i386.texi: Likewise.

2010-12-26  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	PR gas/11395
	* config/tc-hppa.c (pa_ip): Set doubleword carry/borrow bit when a
	doubleword completer or doubleword condition is found in an add/sub
	instruction.  Reject match for 'A'/'S' only if there is no condition
	and d bit is not set.

2010-12-18  Mingjie Xing  <mingjie.xing@gmail.com>

	* config/tc-mips.c (insn_uses_reg): Handle the new flags
	INSN2_READ_FPR_Z, INSN2_READ_GPR_D and INSN2_READ_GPR_Z.
	(append_insn): Handle delay-slot filling for the new flags.
	(validate_mips_insn): Handle the new arguments +a|b|c|z|Z.
	(mips_ip): Handle the new arguments +a|b|c|z|Z.

2010-12-18  DJ Delorie  <dj@redhat.com>

	* config/rx-parse.y (SUB): Correct subtraction of immediate
	pattern.

2010-12-16  DJ Delorie  <dj@redhat.com>

	* config/tc-rx.c (rx_validate_fix_sub): Permit subtraction in more
	cases.
	(tc_gen_reloc): Fix handling of subtraction (esp wrt endianness).

2010-12-16  Maciej W. Rozycki  <macro@codesourcery.com>

	* symbols.c (symbol_clone_if_forward_ref): Call tc_new_dot_label
	for new fake labels created off the dot special symbol.
	* config/tc-mips.h (tc_new_dot_label): New macro.
	(mips_record_label): New prototype.
	* config/tc-mips.c (my_getExpression): Remove MIPS16 fake label
	annotation.
	(s_cons, s_float_cons, s_gpword, s_gpdword): Only clear labels
	recorded once data expressions have been evaluated.
	(mips_define_label): Move code to record labels over to...
	(mips_record_label): ... this new function.
	* doc/internals.texi: Document tc_new_dot_label.

2010-12-10  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.h (TC_ADDRESS_BYTES): New macro.
	(mips_address_bytes): New prototype.
	* config/tc-mips.c (mips_address_bytes): New function.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (mips_ip): Remove dead format specifier code.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (file_ase_mips16): Adjust comment.
	(append_insn): Update file_ase_mips16.
	(mips_after_parse_args): Don't set file_ase_mips16 here.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro)
	<M_MSGSND, M_MSGLD, M_MSGLD_T, M_MSGWAIT, M_MSGWAIT_T>: Remove
	dedicated return points.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro) <M_DEXT, M_DINS>: Correct types used
	for pos and size.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro) <ld_st>: Don't load a zero into an
	auxiliary register when using a signed 16-bit constant offset.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (mips_ip): Remove lastregno's
	preinitialization.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (mips_ip) <'('>: Don't let '4', '5' or '-'
	as a base register specifier.
 
2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro) <M_S_DOB>: Fix the placement of code.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (mips_ip) <'u'>: Report the value of the LUI
	argument complained about; reword the message.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro)
	<M_BGTUL_I, M_BGTU_I, M_BLEUL_I, M_BLEU_I>: Fix the constant
	used to compare against for the always-false/true case.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro): Remove a trailing 0 from NOP
	requests.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro): Use EXTRACT_OPERAND to get register
	numbers.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro): Replace 0 with ZERO in macro_build
	and move_register calls referring to $0.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro, mips_ip): Correct message
	capitalization.

2010-12-09  Arnold Metselaar  <arnold.metselaar@planet.nl>

	* config/tc-z80.c (md_apply_fix): Rename var to fix shadow warning.

2010-12-09  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro_build, macro, mips_ip, md_apply_fix):
	Fix formatting.

2010-12-09  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: New file.

2010-12-05  Arnold Metselaar  <arnold.metselaar@planet.nl>

	PR gas/12269
	* config/tc-z80.c (emit_mx, emit_ldxhl): Do not use
	symbol_get_value_expression on a symbol that may not yet have
	a value.
	* testsuite/gas/z80/atend.s: New file, test case for bug 12269,
	provided by Chris Smith.
	* testsuite/gas/z80/atend.d: New file, expected results for atend.s.
	* testsuite/gas/z80/z80.exp: Run new test case.

2010-12-04  Maciej W. Rozycki  <macro@codesourcery.com>

	PR gas/12282
	* expr.c (expr_build_dot): Make a clone of the symbol to return if
	needed.

2010-12-02  Richard Sandiford  <richard.sandiford@linaro.org>

	* symbols.c (S_FORCE_RELOC): Return true for indirect functions
	even if !strict.
	* expr.c (operand): Don't convert absolute symbols to constants
	if S_FORCE_RELOC is true.
	(expr): Only reduce subtractions between different symbols if
	S_FORCE_RELOC is false for both of them.
	* write.c (fixup_segment): Don't remove symbols if S_FORCE_RELOC
	is true for them, regardless of their segment.

2010-12-01  Maciej W. Rozycki  <macro@codesourcery.com>

	* symbols.h (dot_symbol): New declaration.
	(dot_symbol_init): New prototype.
	* symbols.c (dot_symbol): New variable.
	(symbol_clone): Assert it's not dot_symbol being cloned.
	(dot_symbol_init): New function.
	(symbol_clone_if_forward_ref): Create a new temporary symbol
	when trying to clone dot_symbol.
	* expr.c (current_location): Refer to dot_symbol instead of
	making a new temporary symbol.
	* read.c (read_a_source_file): Update dot_symbol as we go.
	* as.c (main): Call dot_symbol_init.

2010-12-01  Maciej W. Rozycki  <macro@codesourcery.com>

	* symbols.c (symbol_clone_if_forward_ref): Don't limit cloning
	to expr_section symbols; clone all equated symbols.  Clear
	sy_resolving of the cloned copy.
	* expr.c (operand): Only clone equated symbols on a final
	(i.e. non-equated) reference.

2010-12-01  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tc-mips.c (md_convert_frag): Remove a call to
	S_GET_VALUE and use the result of resolve_symbol_value as the
	value of the symbol processed in MIPS16 relaxation.

2010-11-30  Joel Sherrill  <joel.sherrill@oarcorp.com>

	* configure.tgt: Add sparc64-rtems.

2010-11-25  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/tc-s390.c (current_cpu): Initialize with latest CPU.
	(init_default_arch): Default to z/Architecture mode if CPU provides it.
	Remove the check setting the CPU default.

2010-11-25  Alan Modra  <amodra@gmail.com>

	* po/es.po: Update.

2010-11-25  Alan Modra  <amodra@gmail.com>

	PR gas/12264
	* compress-debug.c: Include config.h first.

2010-11-24  Mike Frysinger  <vapier@gentoo.org>

	* doc/as.texinfo: Refer to and include c-bfin.texi for Blackfin
	options.
	* doc/c-bfin.texi: Add markup for use in manpage generation.

2010-11-23  Sterling Augustine  <sterling@tensilica.com>

	* doc/as.texinfo: Refer to and include c-xtensa.texi for Xtensa
	options.  Move Xtensa options to proper alphabetical location.

	* doc/c-xtensa.texi: Add markup for use in manpage generation.

2010-11-23  Mingming Sun  <mingm.sun@gmail.com>

	* config/tc-mips.c (mips_cpu_info_table): Move loongson3a after sb1.

2010-11-23  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/as.texinfo: Refer to and include c-i386.texi for i386
	options.

	* doc/c-i386.texi: Add markup for use in manpage generation.

2010-11-22  Joseph Myers  <joseph@codesourcery.com>

	* doc/as.texinfo: Refer to or include c-alpha.texi for Alpha
	options.  Refer to or include c-tic6x.texi for C6X options instead
	of duplicating documentation here.
	* doc/c-alpha.texi, doc/c-tic6x.texi: Add markup for use in
	manpage generation.

2010-11-19  Alan Modra  <amodra@gmail.com>

	PR 2606
	* configure.in: Disable emulations for PE targets.
	* configure: Regenerate.

2010-11-18  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	PR gas/12181
	* config/obj-elf.c (elf_adjust_symtab) [TE_SOLARIS]: Make sy
	weak hidden.

2010-11-17  Nick Clifton  <nickc@redhat.com>

	* input-file.c (input_file_open): Check for empty input files.
	(input_file_get): Check for end of file before reading any more
	data.
	(input_file_give_next_buffer): Likewise.

2010-11-15  H.J. Lu  <hongjiu.lu@intel.com>

	* config/obj-elf.c (elf_process_stab): Mark parameters as
	ATTRIBUTE_UNUSED.

2010-11-15  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/obj-elf.c (elf_generate_asm_lineno): New function.
	(elf_process_stab): New function.
	(elf_format_ops): Always use them as generate_asm_lineno,
	process_stab members.

2010-11-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	PR gas/12198
	* config/tc-arm.c (arm_arch_v6m_only): New variable.
	(aeabi_set_public_attributes): Ensure we only set the Operating System
	Extension when we are on an M-profile core.

2010-11-13  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tc-mips.c (macro_build): Remove gas_assert from 'o' case.
	Use a restricted gas_assert for 'i' and 'j'.

2010-11-11  Mingming Sun  <mingm.sun@gmail.com>

	* config/tc-mips.c (mips_cpu_info_table): Add loongson3a in MIPS 64.
	* doc/c-mips.texi (MIPS cpu): Add loongson3a.

2010-11-10  Richard Sandiford  <richard.sandiford@linaro.org>

	* config/tc-arm.c (do_t_branch): Treat (PLT) branches as wide.

2010-11-05  Nick Clifton  <nickc@redhat.com>

	* config/tc-cr16.c (getprocreg_image): Fix typo MAX_PREG ->
	MAX_REG.
	(getprocregp_image): Likewise.

2010-11-05  Tristan Gingold  <gingold@adacore.com>

	* po/gas.pot: Regenerate
	* po/POTFILES.in: Regenerate

2010-11-05  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.21.

2010-11-05  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR gas/12166
	* config/obj-coff.c (weak_altname2name): Don't infer from the presence
	of a period that the symbol has been already uniquify-d.
	(weak_uniquify): Don't worry that the symbol might have been already
	uniquify-d.

2010-11-04  Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c (nop_limit): New var.
	(OPTION_NOPS): Define.
	(md_longopts): Add --nops.
	(md_parse_option): Handle it.
	(md_show_usage): Publish.
	(ppc_handle_align): Pad with a branch followed by nops if more
	than nop_limit nops.

2010-11-03  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/12186
	* config/tc-i386-intel.c (i386_intel_fold): Properly fold
	_GLOBAL_OFFSET_TABLE_.

2010-11-02  Joseph Myers  <joseph@codesourcery.com>

	* config/tc-tic6x.c (OPTION_MPID, OPTION_MPIC, OPTION_MNO_PIC):
	New enum values.
	(md_longopts): Add options mpid, mpic and mno-pic.
	(tic6x_pid_type, tic6x_pid, tic6x_pic, tic6x_pid_type_table,
	tic6x_pid_types, tic6x_use_pid): New.
	(md_parse_option): Handle new options.
	(md_show_usage): Output help text for new options.
	(tic6x_set_attributes): Set PID and PIC attributes.
	* doc/as.texinfo: Document -mpid=, -mpic and -mno-pic.
	* doc/c-tic6x.texi (TIC6X Options): Likewise.

2010-11-01  Maciej W. Rozycki  <macro@linux-mips.org>

	* config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Use the offset
	reloc supplied.
	(mips_ip)['o']: Initialise offset_reloc.

2010-10-29  Joseph Myers  <joseph@codesourcery.com>

	* doc/c-tic6x.texi (TIC6X Directives): Mention
	Tag_ABI_compatibility.

2010-10-29  H.J. Lu  <hongjiu.lu@intel.com>

	* write.c (compress_debug): Optimize section flags check.

2010-10-29  Bernd Schmidt  <bernds@codesourcery.com>
            Joseph Myers  <joseph@codesourcery.com>

	* config/tc-tic6x.c (OPTION_MDSBT, OPTION_MNO_DSBT): New enum
	values.
	(md_longopts): Add mdsbt and mno-dsbt.
	(tic6x_dsbt): New static variable.
	(md_parse_option): Handle OPTION_MDSBT and OPTION_MNO_DSBT.
	(md_show_usage): Output help text for -mdsbt and -mno-dsbt.
	(TAG): Add comma at the end.
	(tic6x_set_attributes): Set Tag_ABI_DSBT.
	* doc/as.texinfo: Document -mdsbt and -mno-dsbt.
	* doc/c-tic6x.texi (TIC6X Options): Likewise.
	(TIC6X Directives): Mention Tag_ABI_DSBT.

2010-10-28  Matthias Klose  <doko@ubuntu.com>

	* doc/as.texinfo: Add directory section for info document.

2010-10-28  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/tc-s390.c (md_begin): Only add to hash table if cpu and
	mode mask fit.

2010-10-28  Alan Modra  <amodra@gmail.com>

	* config/tc-d30v.c (d30v_cons_align): Don't align .eh_frame.

2010-10-26  Alan Modra  <amodra@gmail.com>

	* config/obj-coff.c (coff_format_ops): Fix typo.

2010-10-25  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tc-mips.c (macro2): Delete.

2010-10-25  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-tic6x.c: Add attribution.

2010-10-25  Mark Mitchell  <mark@codesourcery.com>

	* obj.h (struct format_ops): Add adjust_symtab.
	* config/obj-multi.h (obj_adjust_symtab): Define.
	* config/obj-aout.c (aout_format_ops): Init new field.
	* config/obj-coff.c (coff_format_ops): Likewise.
	* config/obj-ecoff.c (ecoff_format_ops): Likewise.
	* config/obj-elf.c (elf_format_ops): Likewise.

2010-10-25  Alan Modra  <amodra@gmail.com>

	PR gas/12049
	* write.c (relax_frag): Don't allow forward branches to temporarily
	becomde backward branches.

2010-10-23  Mark Mitchell  <mark@codesourcery.com>

	* config/obj-elf.c (elf_adjust_symtab): New.  Move group section
	processing here from elf_frob_file.  Ensure that group signature
	symbols have the name of the group.
	(elf_frob_file): Move group section processing to
	elf_adjust_symtab.
	* config/obj-elf.h (elf_adjust_symtab): Declare.
	(obj_adjust_symtab): Define.
	* config/tc-arm.c (arm_adjust_symtab): Call elf_adjust_symtab.

2010-10-22  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/tc-sparc.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define as
	elf32-sparc-sol2.
	(ELF64_TARGET_FORMAT): Define as elf64-sparc-sol2.

2010-10-21  Joseph Myers  <joseph@codesourcery.com>

	* config/tc-tic6x.c (tic6x_arch_attribute, tic6x_arches,
	md_assemble, tic6x_set_attributes): Update for attribute renaming.
	* doc/c-tic6x.texi: Update for attribute renaming.

2010-10-19  Alan Modra  <amodra@gmail.com>

	* write.c (relax_segment): Correct address on frag added to stop
	leb128/align frags bouncing.

2010-10-19  Alan Modra  <amodra@gmail.com>

	PR gas/12049
	* frags.h (struct frag): Add "region" field.
	* write.c (relax_frag): Don't add "stretch" to forward reference
	target if there is an intervening org or align.
	(relax_segment): Set region.

2010-10-18  Maciej W. Rozycki  <macro@linux-mips.org>

	* config/tc-mips.c (macro)[ldd_std]: Fix the relaxation variant
	for absolute addressing.

2010-10-18  Maciej W. Rozycki  <macro@linux-mips.org>

	* config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Handle 64-bit ABIs.

2010-10-18  Maciej W. Rozycki  <macro@linux-mips.org>

	* config/tc-mips.c (mips_pseudo_table): Add "sbss".
	(s_change_sec): Handle it.

2010-10-15  Mike Frysinger  <vapier@gentoo.org>

	* config/bfin-parse.y (BYTEOP2M): Call BYTEOP2M().

2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Check checkregsize
	instead of w for register size check.

2010-10-14  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (_i386_insn): Add disp32_encoding.
	(md_assemble): Don't call optimize_disp if disp32_encoding is
	set.
	(parse_insn): Support .d32 to force 32bit displacement.
	(output_branch): Use BIG if disp32_encoding is set.

	* doc/c-i386.texi: Document .d32 encoding suffix.

2010-10-11  Steve Kilbane  <steve.kilbane@analog.com>

	* config/bfin-lex.l (FLAGS): New state.
	(X, Z, S, M, T): Require FLAGS state.
	("(", ")"): Start/stop FLAGS state.

2010-10-11  David Gibson  <david.gibson@analog.com>

	* config/bfin-aux.h (bfin_loop_attempt_create_label): New prototype.
	* config/bfin-parse.y (LOOP_BEGIN, LOOP_END): Handle numeric labels.
	* config/tc-bfin.c (bfin_loop_attempt_create_label): New funtion.

2010-10-11  David Gibson  <david.gibson@analog.com>

	* config/tc-bfin.c (bfin_gen_loop): Check symbol before removing.

2010-10-08  Pierre Muller  <muller@ics.u-strasbg.fr>

	Fix build with -DDEBUG=7
	* config/obj-coff.c (s_get_name, symbol_dump): Add prototypes.

2010-10-07  Bernd Schmidt  <bernds@codesourcery.com>

	* config/tc-tic6x.c (tic6x_try_encode): Correct encoding of fstg field
	in SPKERNEL instructions.

2010-10-06  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-arm.c (encode_branch): Remove superfluous braces.
	(do_t_branch): Move reloc setting to end of routine.

2010-10-04  David Daney  <ddaney@caviumnetworks.com>

	* config/tc-mips.c (mips_fix_cn63xxp1): New variable.
	(mips_ip):  Add errata work around when mips_fix_cn63xxp1 set.
	(OPTION_FIX_CN63XXP1, OPTION_NO_FIX_CN63XXP1): New enum options
	enumerations.
	(md_longopts): Add options for -mfix-cn63xxp1 and -mno-fix-cn63xxp1.
	(md_parse_option): Handle OPTION_FIX_CN63XXP1 and
	OPTION_NO_FIX_CN63XXP1.
	(md_show_usage): Add documentation for -mfix-cn63xxp1.
	* doc/c-mips.texi (-mfix-cn63xxp1, -mno-fix-cn63xxp1): Document
	the new options.

2010-09-29  Bernd Schmidt  <bernds@codesourcery.com>

	* gas/tic6x/insns-bad-1.s: Remove test for readonly tscl.
	* gas/tic6x/insns-bad-1.l: Likewise.
	* gas/tic6x/insns-c674x.d: Add test for writeable tscl.
	* gas/tic6x/insns-c674x.s: Likewise.

2010-09-29  Alan Modra  <amodra@gmail.com>

	* expr.c (expr): Correct returned segment value.

2010-09-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2010-09-27  Bernd Schmidt  <bernds@codesourcery.com>

	* config/tc-tic6x.c (tic6x_fix_adjustable): New function.
	* config/tc-tic6x.h (tic6x_fix_adjustable): Declare.
	(tc_fix_adjustable): New macro.

2010-09-27  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/tc-s390.c: (md_parse_option): New option -march=z196.
	* doc/c-s390.texi: Document new option.

2010-09-27  Tejas Belagod  <tejas.belagod@arm.com>

	* config/tc-arm.c (do_neon_ldr_str): Deprecate ARM-mode PC-relative
	VSTR, issue an error in THUMB mode.

2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_ext_virt): New variable.
	(arm_reg_type): Add REG_TYPE_RNB for banked registers.
	(reg_entry): Allow registers to be larger than a byte.
	(reg_alias): Fix type warning.
	(parse_operands): Parse banked registers when appropriate.
	(do_mrs): Add support for Virtualization Extensions.
	(do_hvc): New function.
	(do_t_mrs): Add support for Virtualization Extensions.
	(do_t_msr): Likewise.
	(do_t_hvc): New function.
	(SPLRBANK): New define.
	(reg_names): Add banked registers.
	(insns): Add support for Virtualization Extensions.
	(md_apply_fixup): Likewise.
	(arm_cpus): -mcpu=cortex-a15 implies the Virtualization Extensions.
	(arm_extensions): Add 'virt' extension.
	(aeabi_set_public_attributes): Add support for Virtualization
	Extensions.
	* doc/c-arm.texi: Document 'virt' extension.

2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_ext_adiv): New variable.
	(do_div): New function.
	(insns): Accept UDIV and SDIV in ARM state.
	(arm_cpus): The cortex-a15 option has all current v7-A extensions.
	(arm_extensions): Add 'idiv' extension.
	(aeabi_set_public_attributes): Update Tag_DIV_use values for the
	Integer Divide extension.
	* doc/c-arm.texi: Document the idiv extension.

2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_ext_v6m): New variable.
	(arm_ext_m): Add support for OS extension.
	(arm_ext_os): New variable.
	(do_t_swi): In v6-M ensure we have the OS extension.
	(arm_cpus): The cortex-m1 and cortex-m0 options have the OS
	extension by default.
	(arm_archs): Add armv6s-m.
	(arm_extensions): Add 'os' extension.
	(cpu_arch_ver): Add support for v6S-M.
	* doc/c-arm.texi: Document the OS Extension, and v6-m and v6s-m
	architecture options.

2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_ext_v6z): Remove.
	(arm_ext_sec): New variable.
	(do_t_smc): In Thumb state SMC requires v7-A.
	(insns): Make SMC depend on Security Extensions.
	(arm_cpus): All -mcpu=cortex-a* options have the Security Extensions.
	(arm_extensions): Add 'sec' extension.
	(cpu_arch_ver): Reorder.
	(aeabi_set_public_attributes): Emit Tag_Virtualization_use as
	appropriate.
	* doc/c-arm.texi: Document Security Extensions.

2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_ext_mp): Add.
	(do_pld): Update comment.
	(insns): Add support for pldw.
	(arm_cpus): Update cortex-a5, cortex-a9, and cortex-a15 to support
	MP extension.
	(arm_extensions): Add 'mp' extension.
	(aeabi_set_public_attributes): Emit correct build attribute when
	MP extension is enabled.
	* doc/c-arm.texi: Update for MP extensions.

2010-09-23  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (md_pseduo_table): Add .arch_extension directive.
	(arm_option_extension_value_table): Add.
	(arm_extensions): Change type.
	(arm_option_cpu_table): Rename...
	(arm_option_fpu_table): ...to this.
	(arm_fpus): Change type.
	(arm_parse_extension): Enforce alphabetical order.  Allow
	extensions to be removed.
	(arm_parse_arch): Allow extensions to be specified with -march.
	(s_arm_arch_extension): Add.
	(s_arm_fpu): Update for type changes.
	* doc/c-arm.texi: Document changes to infrastructure.

2010-09-23  Alan Modra  <amodra@gmail.com>

	* config/tc-mn10300.c (tc_gen_reloc): Replace absolute symbols
	with the absolute section symbol.

2010-09-22  Mike Frysinger  <vapier@gentoo.org>

	* config/bfin-parse.y: Fix typo in BYTEOP16P comment.

2010-09-22  Robin Getz  <robin.getz@analog.com>

	* config/bfin-parse.y (is_store): New function.
	(gen_multi_instr_1): Check parallel slots for store insns.

2010-09-22  Robin Getz  <robin.getz@analog.com>

	* config/bfin-defs.h (IS_EMUDAT): New define.
	* config/bfin-parse.y: Accept EMUDAT for any register move.

2010-09-22  Robin Getz  <robin.getz@analog.com>

	* config/bfin-parse.y: Improve error messages.

2010-09-22  Robin Getz  <robin.getz@analog.com>

	* config/bfin-parse.y (DBG): Fix regno encoding.
	(DBGCMPLX): Likewise.

2010-09-22  Robin Getz  <robin.getz@analog.com>

	* config/bfin-lex.l: Accept multibyte chars in symbol names.

2010-09-22  Robin Getz  <robin.getz@analog.com>

	* config/bfin-defs.h (statusflags): Add AC0_COPY, V_COPY, and RND_MOD.
	* config/bfin-lex.l: Tokenize AC0_COPY, V_COPY, and RND_MOD.

2010-09-22  Mike Frysinger  <vapier@gentoo.org>

	* config/bfin-aux.h (bfin_gen_pseudochr): New prototype.
	* config/tc-bfin.c (bfin_gen_pseudochr): New function.
	* config/bfin-parse.y: Call bfin_gen_pseudochr for OUTC tokens.

2010-09-22  Mike Frysinger  <vapier@gentoo.org>

	* config/bfin-lex.l (abort): Accept case-insensitive abort insn.
	* config/bfin-parse.y (ABORT): Handle the ABORT token.

2010-09-22  Mike Frysinger  <vapier@gentoo.org>

	* config/tc-bfin.c (bfin_cpus[]): Add 0.2 for bf512/bf514/bf516/bf518.

2010-09-22  Mike Frysinger  <vapier@gentoo.org>

	* doc/c-bfin.texi (-mcpu): Add bf592.
	* config/tc-bfin.c (bfin_cpu_type): Add BFIN_CPU_BF592.
	(bfin_cpus[]): Add 0.0/0.1 for bf592.

2010-09-22  Mike Frysinger  <vapier@gentoo.org>

	* config/tc-bfin.c (comment_chars): Add #.

2010-09-20  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_cpus): Correct canonical names for Cortex CPUs.

2010-09-20  Richard Henderson  <rth@redhat.com>

	* config/tc-alpha.c (tc_gen_reloc): Remove hack around
	bfd_perform_reloc for OBJ_ELF.

2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>

	* config/tc-arm.c (do_t_ldmstm): Add logic to handle single-register
	list for ldm/stm.

2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>

	* config/tc-arm.c (parse_psr): Add condition for matching "APSR" on
	non-M-arch cpus.
	(psrs): Add entry for PSR flags, g, nzcvq, nzcvqg.

2010-09-17  Tejas Belagod  <tejas.belagod@arm.com>

	* config/tc-arm.c (insns): Change MRC entry to accept APSR_RR instead
	of just RR.

2010-09-17  Andrew Burgess  <aburgess@broadcom.com>

	PR gas/12011
	* config/obj-elf.c (obj_elf_parse_section_letters): Correct test
	for error return from md_elf_section_letter.
	* config/tc-alpha.c (alpha_elf_section_letter): Correct error message.
	* config/tc-i386.c (x86_64_section_letter): Likewise.
	* config/tc-ia64.c (ia64_elf_section_letter): Likewise.
	* config/tc-mep.c (mep_elf_section_letter): Likewise.

2010-09-15  Kai Tietz  <kai.tietz@onevision.com>

	* config/obj-coff-seh.c (seh_validate_seg): New funtion.
	(obj_coff_seh_endproc): Add check for segment.
	(obj_coff_seh_endprologue): Likewise.
	(obj_coff_seh_pushreg): Likewise.
	(obj_coff_seh_pushframe): Likewise.
	(obj_coff_seh_save): Likewise.
	(obj_coff_seh_setframe): Likewise.

	* config/obj-coff-seh.h (seh_context): New member code_seg.
	* config/obj-coff-seh.c: Implementing xdata/pdata section cloning
	for link-once code-segment.

2010-09-14  Jie Zhang  <jie@codesourcery.com>

	* doc/c-arm.texi: Document -mcpu=cortex-m4.

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

	* config/tc-i386.c (build_vex_prefix): Check VEXW1 for 2-byte
	VEX prefix.

2010-09-09  Joseph Myers  <joseph@codesourcery.com>

	* doc/c-tic6x.texi (.c6xabi_attribute): Document directive.

2010-09-09  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_cpus): Add cortex-a15 entry.
	* doc/c-arm.texi: Document -mcpu=cortex-a15.

2010-09-09  Gunther Nikl  <gnikl@users.sourceforge.net>

	* gas/config/tc-m68k.c (tc_gen_reloc): Handle references to defined
	weak symbols first if generating an a.out object.

2010-09-09 Tejas Belagod  <tejas.belagod@arm.com>

	* config/tc-arm.c (md_apply_fix): Check if widened add, sub are
	flag-setting and handle accordingly.

2010-09-09  Nick Clifton  <nickc@redhat.com>

	PR gas/11972
	* config/tc-arm.c (parse_big_immediate): Allow for bignums being
	extended to the size of a .octa.

2010-09-08  Julian Brown  <julian@codesourcery.com>

	* config/tc-arm.c (create_neon_reg_alias): Deal with case
	sensitivity.

2010-09-08  Nick Clifton  <nickc@redhat.com>

	PR gas/11973
	* config/tc-mn10300.c (md_convert_frag): Zero out top two bytes of
	long call instruction's displacement.

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

	PR gas/11974
	* config/tc-i386.c (i386_finalize_immediate): Check flag_code
	instead of use_rela_relocations for 64bit.

2010-09-02  Richard Henderson  <rth@redhat.com>

	* dw2gencfi.c (TC_DWARF2_EMIT_OFFSET): Provide default.
	(output_fde): Use it.  Make sure to fully init exp before using it.

2010-08-31  Kai Tietz  <kai.tietz@onevision.com>

	* config/obj-coff-seh.c (obj_coff_seh_save): Correct comparison.
	(obj_coff_seh_stackalloc): Likewise.

2010-08-31  Alan Modra  <amodra@gmail.com>

	* config/obj-elf.c (obj_elf_init_stab_section): Fix assertion.

2010-08-30  Richard Henderson   <rth@redhat.com>

	* config/obj-coff-seh.c: Rewrite the entire file.
	(symtab, symptr, reltab, relcount, relsize): Remove.
	(seh_ctx_root, seh_ctx): Remove.
	(xdata_seg, xdata_subseg, pdata_seg): New.
	(switch_xdata, switch_pdata): New.
	(verify_context, verify_context_and_target, skip_whitespace_and_comma):
	New parsing functions.  Rewrite all parsing functions to use them.
	(obj_coff_seh_32): Fix != arm thinko.
	(obj_coff_seh_handler): For x64, don't accept handler pointer here,
	only flags.
	(obj_coff_seh_handlerdata): New.
	(do_seh_endproc): Split out of ...
	(obj_coff_seh_endproc): ... here.
	(obj_coff_seh_proc): Use it, if needed.
	(seh_x64_make_prologue_element): Use XRESIZEVEC, symbol_temp_new_now.
	(seh_x64_read_reg): Remove mm_regs alternative.  Tidy integer reg
	alternatives.  Don't slurp commas.
	(seh_read_offset): Remove.
	(obj_coff_seh_pushframe): Split out from obj_coff_seh_push.
	(obj_coff_seh_scope): Remove.
	(obj_coff_seh_save): Decide UWOP_SAVE_* vs _FAR immediately.
	(obj_coff_seh_stackalloc): Decide _SMALL vs _LARGE immediately.
	(out_one, out_two, out_four): New.
	(seh_x64_write_prologue_data, seh_x64_size_prologue_data,
	seh_x64_write_function_xdata, write_function_xdata): Rewrite
	from seh_x64_write_xdata, seh_needed_unwind_info, seh_store_elm_data,
	seh_getelm_data_size, seh_getsize_of_unwind_entry,
	seh_make_unwind_entry, seh_getsize_unwind_data, and
	seh_create_unwind_data.
	(seh_arm_write_function_pdata): Rewrite from seh_arm_create_pdata.
	(write_function_pdata): Rewrite from make_function_entry_pdata.
	(seh_write_text_eh_data, make_function_entry_pdata,
	seh_arm_create_pdata, seh_arm_write_pdata, seh_reloc, save_relocs,
	seh_symbol_init, seh_symbol, quick_section, seh_emit_rva,
	seh_emit_long, seh_make_globl, seh_make_section2, seh_make_section,
	seh_make_xlbl_name, make_seh_text_label, seh_fill_pcsyms,
	seh_needed_unwind_info, seh_store_elm_data, seh_getelm_data_size,
	seh_getsize_of_unwind_entry, seh_make_unwind_entry,
	seh_getsize_unwind_data, seh_create_unwind_data,
	seh_make_function_entry_xdata, seh_x64_makescope_elem): Remove.
	* config/obj-coff-seh.h (SEH_CMDS): Remove seh_savemm, seh_scope.
	Add seh_handlerdata.  Adjust function/what arguments for
	seh_savereg, seh_pushframe, seh_stackalloc.
	(struct seh_prologue_element): Adjust members to closer match
	the elements of the UNWIND_CODE structure.
	(struct seh_scope_elem): Remove.
	(struct seh_context): Replace char* members with symbolS or
	expressionS as appropriate.  Sort members by ARM/x64 applicability.
	Remove obsolete stuff wrt direct symbol and reloc manipulation.

2010-08-25  Alan Modra  <amodra@gmail.com>

	* NEWS: Mention ampersand in macro change.

2010-08-25  Gunther Nikl  <gnikl@users.sourceforge.net>

	* configure.tgt (m68k-*-aout): Change to bfd_gas=yes.

2010-08-25  Alan Modra  <amodra@gmail.com>

	* config/tc-d10v.c (do_assemble): Correctly detect overflow of
	"name" buffer.
	* config/tc-m68hc11.c (md_assemble): Likewise.
	* config/tc-microblaze.c (md_assemble): Likewise.  Correct cast
	of is_end_of_line index.

2010-08-25  Jie Zhang  <jie@codesourcery.com>

	* config/tc-arm.c (encode_arm_addr_mode_2): Fix comment.

2010-08-25  Jie Zhang  <jie@codesourcery.com>

	* config/tc-arm.c (encode_arm_addr_mode_2): Fix
	BAD_PC_ADDRESSING condition.

2010-08-20  Maciej W. Rozycki  <macro@codesourcery.com>

	* doc/c-arm.texi (ARM Options): Document -mfpu=fp4-sp-d16.

2010-08-19  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (VEX_check_operands): Fix a typo in comments.

2010-08-18  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_modrm_byte): Check i.imm_operands
	instead of VEXXDS.

2010-08-18  Alan Modra  <amodra@gmail.com>

	* macro.c (sub_actual): Add back ampersand suffix when no
	substitution.
	(macro_expand_body): Correct comment.

2010-08-17  Roland McGrath  <roland@redhat.com>

	* config/obj-elf.c (obj_elf_parse_section_letters): Take new
	boolean result parameter CLONE; set it if '?' flag letter seen.
	(obj_elf_section): Update caller.  Handle that flag by copying
	the LINKONCE and GROUP_NAME state from NOW_SEG.
	* doc/as.texinfo (Section): Document the ? flag.

2010-08-09  Cary Coutant  <ccoutant@google.com>

	* as.c (show_usage): Don't list --compress-debug-sections if zlib not
	installed.
	(main): Warn if --compress-debug-sections requested and zlib not
	installed.
	* doc/as.texinfo: Add --compress-debug-sections,
	--nocompress-debug-sections.

2010-08-06  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (set_cpu_arch): Re-indent.
	(md_parse_option): Likewise.

2010-08-06  Quentin Neill <quentin.neill@amd.com>

	* config/tc-i386.c (arch_entry): Add negated bit to
	  disambiguate flag names starting with "no".
	  (cpu_arch): Add negated bit definitions.  Add
	  ".nop" CPU extension.
	  (i386_align_code): Use new .cpunop bit to decide
	  when to generate alignment using nops.
	  (set_cpu_arch): Use negated bit instead to decide
	  when to use cpu_flags or vs. cpu_flags_and_not.
	  (md_parse_option): Likewise.

2010-08-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Move the first i.error
	out of the loop.

2010-08-04  Alan Modra  <amodra@gmail.com>

	* configure.tgt (m32c): Set endian=little.
	* config/tc-m32c.h (TARGET_BYTES_BIG_ENDIAN): Define as 0.
	* config/tc-m32c.c (md_number_to_chars): Revert last change.

2010-08-03  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (OBJS): Add Add compress-debug.c.

2010-08-03  Alan Modra  <amodra@gmail.com>

	* config/tc-d10v.h (TARGET_BYTES_BIG_ENDIAN): Define as 1.
	* config/tc-m32c.c (md_number_to_chars): Call bigendian
	form of number_to_chars, not littleendian.

2010-08-02  Alan Modra  <amodra@gmail.com>

	* config/tc-d30v.c (d30v_cons_align): Don't align constants
	in debug sections.

2010-08-02  Alan Modra  <amodra@gmail.com>

	PR gas/11867
	* expr.c (operand <'-' and '~'>): Widen bignums.
	(operand <'!'>): Correct bignum result and convert to O_constant.
	* read.c (emit_expr): Don't assert on .byte bignum.  Don't display
	bignum truncated warning for sign extended bignums.

2010-08-02  Alan Modra  <amodra@gmail.com>

	* config/tc-v850.c (md_assemble): Always pass format string to
	as_warn.
	(md_apply_fix): Similarly for as_warn_where.

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

	* config/tc-i386-intel.c: Reformat.

2010-07-29  Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c (ppc_fix_adjustable): Add got reloc types used
	in large toc code.

2010-07-28  Alan Modra  <amodra@gmail.com>

	PR gas/11841
	* symbols.c (symbol_clone): Correct typo in previous patch.

2010-07-28  Alan Modra  <amodra@gmail.com>

	PR gas/11841
	* symbols.c (symbol_clone): Clear BSF_SECTION_SYM flag.

2010-07-28  Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c (md_assemble): Don't attempt to print NUL in
	syntax error message.

2010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (mips16_macro_build): Pass "args" by
	reference rather than value.
	(macro_build): Update accordingly.

2010-07-27  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (mips_ip): Use symbol_temp_new_now to create
	a fake label.

2010-07-24  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (macro)[M_JAL_1, M_JAL_2]: Handle the JALR
	delay slot in the noreorder mode with the o32 ABI.

2010-07-23  Naveen.H.S  <naveen.S@kpitcummins.com>
	    Ina Pandit  <ina.pandit@kpitcummins.com>

	* config/tc-v850.c: Update processor_mask.
	(reg_name): Update the structure to use processors field.
	(md_relax_table): Define SUBYPTE_COND_9_22, SUBYPTE_SA_9_22,
	SUBYPTE_UNCOND_9_22, SUBYPTE_COND_9_22_32, SUBYPTE_SA_9_22_32,
	SUBYPTE_UNCOND_9_22_32, SUBYPTE_COND_9_17_22,
	SUBYPTE_SA_9_17_22, SUBYPTE_COND_9_17_22_32 and
	SUBYPTE_SA_9_17_22_32.
	(set_machine): Add support for V850E2 and V850E2V3.
	(md_pseudo_table): Likewise.
	(pre_defined_registers): Update pre defined registers suitable
	for each family of registers.
	(system_registers): Likewise.
	(cc_names): Update the condition code.
	(float_cc_names): Update the condition code for float.
	(reg_name_search): Update based on current modifications.
	(register_name): Likewise.
	(system_register_name): Update to support new system registers
	and supported families.
	(cc_name): Update to support new condition codes.
	(float_cc_name): New function to support float condition codes.
	(parse_register_list): Update to support newly added registers.
	(md_show_usage): Define support for V850E2 and V850E2V3 targets.
	Also support added for disp-size-default-22, disp-size-default-32,
	mextension, mno-bcond17 and mno-stld23.
	(md_parse_option): Implement the support for above options defined
	in md_show-usage.
	(md_convert_frag): Implement support for subtypes defined in
	md_relax_table to support branch operations.
	(md_begin): Add support for V850E2 and V850E2V3.
	(handle_hi016, handle_hi16): new relocation handling functions
	(handle_lo16, handle_ctoff, handle_sdaoff, handle_zdaoff,
	handle_tdaoff): Updated relocation handling functions for newly
	added relocations.
	(v850_reloc_prefix): Update the relocation handling functions.
	(v850_insert_operand): Updated the functions with error message
	parameter and modified the function to use it.
	(md_assemble): Update according to the latest modifications.
	(md_apply_fix): Updated the functions with error message parameter
	and modified the function to use it.
	(v850_force_relocation): Update with newly added relocations.
	* configure.tgt: Match all v850 targets.
	* doc/c-v850.texi: Document the newly added targets.
	* NEWS: Likewise.

2010-07-23  Alan Modra  <amodra@gmail.com>

	PR gas/11834
	* macro.c (macro_expand): Recover gracefully from named args that
	don't match params.

2010-07-22  Thomas Schwinge  <thomas@codesourcery.com>

	Switch MIPS to 32-bit DWARF format.
	* config/tc-mips.h (DWARF2_FORMAT): Only define for [TE_IRIX].
	* config/tc-mips.c (mips_dwarf2_format): Likewise.

2010-07-20  Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c (ppc_setup_opcodes): Add all macros for -many.

2010-07-16  Alan Modra  <amodra@gmail.com>

	* config/tc-rx.c (md_estimate_size_before_relax): Fix format
	specifier warnings for 32-bit host when --enable-64-bit-bfd.
	(rx_relax_frag, md_convert_frag): Likewise.

2010-07-15  Cary Coutant  <ccoutant@google.com>

	* gas/NEWS: Add note about --compress-debug-sections.
	* gas/as.c (show_usage): Add --compress-debug-sections and
	--nocompress-debug-sections.

2010-07-15  Rhonda Wittels  <rhonda@codesourcery.com>

	* config/obj-elf.c (get_sym_from_input_line_and_check): New
	function to catch missing pseudo-op arguments.
	(obj_elf_local): Call new function.
	(obj_elf_weak): Likewise.
	(obj_elf_visibility): Likewise.
	(obj_elf_vtable_entry): Likewise.
	(obj_elf_type): Likewise.

2010-07-15  Kai Tietz  <kai.tietz@onevision.com>

	* config/obj-coff-seh.c
	(seh_getelm_data_size): New.
	(seh_read_offset): Handle negative values.
	(obj_coff_seh_push): Handle offset for save-register store.
	(obj_coff_seh_setframe): Add unwind-information for frame.
	(seh_store_elm_data): New.
	(seh_getelm_data_size): Return additionally unaligned element count.
	(seh_make_unwind_entry): Correct tweak about element count.

2010-07-12  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/11806
	* config/tc-i386-intel.c (i386_intel_simplify): Restore fall
	through patch for O_multiply.

2010-07-11  Kai Tietz  <kai.tietz@onevision.com>

	PR ld/11612
	* config/obj-coff.c (obj_common_parse): Quote symbol-name.

2010-07-08 Tejas Belagod <tejas.belagod@arm.com>

	* tc-arm.c (OP_oBARRIER): Remove.
	(OP_oBARRIER_I15): Add.
	(po_barrier_or_imm): Add macro.
	(parse_operands): Improve OP_oBARRIER_I15 operand parsing.
	(do_barrier): Check correct immediate range.
	(do_t_barrier): Likewise.
	(barrier_opt_names): Add entries for more symbolic operands.
	(insns): Replace OP_oBARRIER with OP_oBARRIER_I15 for barriers.

2010-07-08  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.c (tc_gen_reloc): Add BFD_RELOC_ARM_T32_OFFSET_IMM
	error message.

2010-07-06  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (mips_frob_file): Use symbol_same_p to match
	symbols.

2010-07-06  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (nops_for_insn_or_target): Replace
	MIPS16_INSN_BRANCH with MIPS16_INSN_UNCOND_BRANCH and
	MIPS16_INSN_COND_BRANCH.

2010-07-05  Jim Wilson  <wilson@codesourcery.com>

	PR gas/10531
	PR gas/11789
	* dwarf2dbg.c (dwarf2_finish): Don't generate .debug_line section
	if it isn't empty.

2010-07-05  Alan Modra  <amodra@gmail.com>

	* config/tc-moxie.c (md_apply_fix): Delete set but otherwise
	unused var.

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

	* Makefile.am (CONFIG_OBJS): Removed.
	(GENERIC_OBJS): Likewise.
	(OBJS): Likewise.
	* Makefile.in: Regenerated.

2010-07-03  Jan Beulich  <jbeulich@novell.com>

	PR gas/11732
	* config/tc-i386.c (i386_finalize_displacement): Don't call
	section_symbol() with expr_section.

2010-07-03  Cary Coutant  <ccoutant@google.com>

	* Makefile.am: Add compress-debug.c and compress-debug.h.
	* Makefile.in: Regenerate.
	* config.in: Add HAVE_ZLIB_H.
	* configure.in: Check for zlib.h.
	* configure: Regenerate.

	* as.c (parse_args): Add --compress-debug-sections and
	--nocompress-debug-sections.
	* as.h (flag_compress_debug): New variable.
	* compress-debug.c: New file.
	* compress-debug.h: New file.
	* write.c: Include compress-debug.h.
	(compress_frag): New function.
	(compress_debug): New function.
	(write_object_file): Compress debug sections if requested.

2010-07-03  Andreas Schwab  <schwab@linux-m68k.org>

	* config/tc-ppc.c (ppc_set_cpu): Cast PPC_OPCODE_xxx to ppc_cpu_t
	before inverting.

2010-07-03  Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c (ppc_set_cpu): Remove old opcode flags.
	(ppc_setup_opcodes): Likewise.  Simplify opcode selection.

2010-07-02  DJ Delorie  <dj@redhat.com>

	* config/tc-rx.h (md_do_align): New.
	(MAX_MEM_FOR_RS_ALIGN_CODE): New.
	* config/tc-rx.c (nops): New.
	(rx_handle_align): Use various sized nops to align code.

	* config/tc-rx.c (rx_bytesT): Add grown/shrank counters for
	relaxation.
	(rx_relax_frag): Prevent infinite loops of grow/shrink/grow/etc.

2010-07-01  H.J. Lu  <hongjiu.lu@intel.com>

	AVX Programming Reference (June, 2010)
	* config/tc-i386.c (cpu_arch): Add .xsaveopt, .fsgsbase, .rdrnd
	and .f16c.

	* doc/c-i386.texi: Document xsaveopt, fsgsbase, rdrnd and f16c.

2010-07-01  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (do_t_mov_cmp): Fix reporting of unpredictable and
	deprecated mov register instructions.

2010-07-01  Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c (toc_reloc_types): New variable.
	(md_assemble): Set it.
	(ppc_frob_file_before_adjust): Don't warn about toc section size
	if we have large toc relocs and no small toc relocs.

2010-06-29  Alan Modra  <amodra@gmail.com>

	* config/tc-maxq.h: Delete file.
	* config/tc-maxq.c: Delete file.
	* Makefile.am: Remove references to maxq.
	* configure.tgt: Likewise.
	* config/obj-coff.h: Likewise.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* po/POTFILES.in: Regenerate.

2010-06-28  Alan Modra  <amodra@gmail.com>

	* config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define.
	* config/tc-crx.c (gettrap): Constify arg.
	(handle_LoadStor, get_cinv_parameters): Likewise.
	(getreg_image): Fix enum warning
	(md_assemble): Restore input line char.
	* config/tc-hppa.c (tc_gen_reloc): Fix enum warning.
	* config/tc-i960.c (mem_fmt): Rename var to fix shadow warning.
	* config/tc-sh.c (sh_fdpic): Only define when OBJ_ELF.
	(build_Mytes): Fix build failure for non-elf targets.
	* config/tc-tic4x.c (tic4x_eval): Restore terminator char.
	* config/tc-xtensa.c (xtensa_end_directive): Fix switch enum warning.

	* cgen.c (gas_cgen_md_apply_fix): Avoid set but unused warning.
	* ecoff.c (add_ecoff_symbol): Likewise.
	* itbl-ops.c (append_insns_as_macros): Likewise.
	* listing.c (debugging_pseudo): Likewise.
	* read.c (s_mri_common, stringer): Likewise.
	* config/obj-coff.c (coff_frob_section): Likewise.
	* config/tc-alpha.c (emit_ldgp, s_alpha_proc): Likewise.
	* config/tc-arm.c (my_get_expression): Likewise.
	* config/tc-hppa.c (process_exit, pa_type_args): Likewise.
	* config/tc-m32c.c (md_assemble): Likewise.
	* config/tc-microblaze.c (md_convert_frag): Likewise.
	* config/tc-mips.c (s_change_section): Likewise.
	* config/tc-mt.c (mt_fix_adjustable): Likewise.
	* config/tc-xtensa.c (xtensa_literal_pseudo): Likewise.

	* config/obj-aout.c (obj_aout_frob_symbol): Delete set but otherwise
	unused vars.
	* config/tc-alpha.c (load_expression): Likewise.
	(s_alpha_rdata, s_alpha_section, s_alpha_prologue): Likewise.
	* config/tc-arm.c (parse_neon_el_struct_list): Likewise.
	* config/tc-avr.c (extract_word): Likewise.
	* config/tc-cris.c (cris_get_expression): Likewise.
	* config/tc-d30v.c (build_insn, find_format): Likewise.
	* config/tc-dlx.c (machine_ip): Likewise.
	* config/tc-hppa.c (pa_get_absolute_expression): Likewise.
	* config/tc-i370.c (md_assemble): Likewise.
	* config/tc-i960.c (brtab_emit): Likewise.
	* config/tc-iq2000.c (s_iq2000_ent): Likewise.
	* config/tc-m32c.c (md_convert_frag): Likewise.
	* config/tc-m68hc11.c (fixup24, build_jump_insn): Likewise.
	(md_estimate_size_before_relax, md_apply_fix): Likewise.
	* config/tc-m68k.c (md_show_usage): Likewise.
	* config/tc-microblaze.c (microblaze_s_lcomm): Likewise.
	* config/tc-mips.c (s_mips_end): Likewise.
	* config/tc-mmix.c (mmix_byte, mmix_cons): Likewise.
	* config/tc-mn10300.c (md_assemble): Likewise.
	* config/tc-msp430.c (extract_word): Likewise.
	* config/tc-mt.c (md_assemble): Likewise.
	* config/tc-or32.c (machine_ip): Likewise.
	* config/tc-pj.c (md_apply_fix): Likewise.
	* config/tc-s390.c (md_gather_operands): Likewise.
	* config/tc-sh.c (sh_cons_align): Likewise.
	* config/tc-sparc.c (sparc_cons_align): Likewise.
	* config/tc-tic4x.c (tic4x_sect): Likewise.
	* config/tc-tic54x.c (tic54x_stringer): Likewise.
	* config/tc-vax.c (vip_op): Likewise.
	* config/tc-xstormy16.c (xstormy16_cons_fix_new): Likewise.
	* config/tc-xtensa.c (md_assemble): Likewise.
	(xtensa_fix_short_loop_frags, convert_frag_immed): Likewise.
	(xtensa_move_literals): Likewise.

2010-06-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (parse_neon_alignment): New function.
	(parse_address_main): Fix Neon load/store alignment parsing.

2010-06-22  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386-intel.c (i386_intel_parse_name): Handle pseudo
	symbols named "$".
	(i386_intel_operand): Remove bogus handling of pseudo symbols
	named "$".
	* expr.c (current_location): Remove 'static' and local
	declaration.
	* expr.h (current_location): Declare.

2010-06-21  Sterling Augustine  <sterling@tensilica.com>

	PR gas/11728
	* as.c: Globalize keep_it.
	(main): Remove keep_it. Move conditional from here...
	(close_output_file): ...to here.

2010-06-21  Andreas Schwab  <schwab@redhat.com>

	* doc/as.texinfo (Overview): Use @itemx for grouped @table
	items.
	* doc/c-alpha.texi (Alpha Options): Likewise.
	* doc/c-arm.texi (ARM Directives): Likewise.
	* doc/c-bfin.texi (Blackfin Options): Likewise.
	* doc/c-d10v.texi (D10V-Opts): Likewise.
	* doc/c-i386.texi (i386-Options): Likewise.
	* doc/c-ia64.texi (IA-64 Options): Likewise.
	* doc/c-m68k.texi (M68K-Opts): Likewise.
	* doc/c-tic54x.texi (TIC54X-Directives): Likewise.
	* doc/internals.texi (Symbols): Likewise.

2010-06-21  Alan Modra  <amodra@gmail.com>

	PR gas/11733
	* config/tc-sh.c (find_cooked_opcode): Correct array bounds check.

2010-06-18  Joseph Myers  <joseph@codesourcery.com>

	* config/tc-tic6x.h (tic6x_segment_info_type): Add field
	func_units_used.
	* config/tc-tic6x.c (tic6x_cons_align: Clear func_units_used.
	(md_assemble): Clear func_units_used for new execute packet.
	Check for duplicate functional units and update func_units_used
	for instructions using a functional unit.

2010-06-15  Joseph Myers  <joseph@codesourcery.com>

	* config/tc-tic6x.c: Include elf/tic6x.h.
	(tic6x_arch_attribute, tic6x_seen_insns): New.
	(tic6x_arch_table, tic6x_arches): Add attribute values.
	(tic6x_use_arch): Handle attribute settings.
	(tic6x_attributes_set_explicitly, s_tic6x_c6xabi_attribute,
	tic6x_attribute_table, tic6x_attributes,
	tic6x_convert_symbolic_attribute): New.
	(md_pseudo_table): Add c6xabi_attribute.
	(md_assemble): Set tic6x_seen_insns and tic6x_arch_attribute.
	(tic6x_set_attribute_int, tic6x_set_attributes): New.
	(tic6x_end): Call tic6x_set_attributes.
	* config/tc-tic6x.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define.
	(tic6x_convert_symbolic_attribute): Declare.

2010-06-14  Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c (md_assemble): Emit APUinfo section for
	PPC_OPCODE_E500.

2010-06-11  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (md_parse_option): Ignore impossible processor
	types.
	(show_arch): New parameter 'check'.
	(md_show_usage): Adjust calls to show_arch().

2010-06-10  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (update_code_flag): New.
	(set_code_flag): Use it.
	(i386_target_format): Replace set_code_flag with update_code_flag.

2010-06-10  Tristan Gingold  <gingold@adacore.com>

	* config/obj-som.h: Includes som/reloc.h

2010-06-10  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (cpu_arch): Add comment.
	(i386_target_format): Set cpu_arch_isa_flags and cpu_arch_tune_flags
	from the generic entries of cpu_arch[].

2010-06-08  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (operand_parse_code): Add OP_RRnpctw enum
	value.
	(parse_operands): Add support for OP_RRnpctw.
	(insns): Update floating-point load/store multiples so the
	first register is of type OP_RRnpctw.

2010-06-08  Quentin Neill  <quentin.neill@amd.com>

	* config/tc-i386.c (pi): Rename local loop counter
	variable i that shadows global static i386_insn i
	when DEBUG386 is defined.
	(pte) Ditto.

2010-06-08  Nick Clifton  <nickc@redhat.com>

	* doc/as.texinfo: Replace abbreviated 20th century year numbers
	with full versions.

2010-06-02  Quentin Neill  <quentin.neill@amd.com>

	* config/tc-i386.c (OPTION_MAVXSCALAR): Fix define.

2010-06-02  Tristan Gingold  <gingold@adacore.com>

	* as.h: Remove conditionnal definition of HAVE_STDARG_H,
	USE_STDARG, va_alist, va_dcl, va_list, va_start, va_end.
	Remove conditionnal inclusion of stdarg.h and varargs.h.
	Assume ISO C.
	* config.in: Regenerate.
	* configure: Regenerate.
	* configure.in: Remove stdarg.h and varargs.h from
	AC_CHECK_HEADERS list.
	* messages.c (as_tsktsk): Remove non ISO C version.
	(as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.

2010-05-31  Tristan Gingold  <gingold@adacore.com>

	* config/tc-alpha.c: Add comments for evax.
	* config/obj-evax.c: Ditto.

2010-05-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (do_t_mov_cmp): In unified syntax encode movs as
	lsls and not adds.

2010-05-27  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (encode_thumb2_ldmstm): Make warning about
	writeback when base register is in register list an error, and
	correct check.
	(do_t_ldmstm): Change warnings.

2010-05-26  Catherine Moore  <clm@codesourcery.com>

	* config/tc-mips.c (is_opcode_valid): Remove expansionp.
	(macro_build): Change invocation of is_opcode_valid.
	(mips_ip): Likewise.

2010-05-25  Nick Clifton  <nickc@redhat.com>

	* Makefile.am (MOSTLYCLEANFILES): Fix typo.
	* Makefile.in: Regenerate.

2010-05-25  Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Andrew Stubbs  <ams@codesourcery.com>

	* config/tc-sh.c (sh_fdpic): New.
	(sh_check_fixup): Handle relocations on movi20.
	(parse_exp): Do not reject PIC operators here.
	(build_Mytes): Check for unhandled PIC operators here.  Use
	sh_check_fixup for movi20.
	(enum options): Add OPTION_FDPIC.
	(md_longopts, md_parse_option, md_show_usage): Add --fdpic.
	(sh_fix_adjustable, md_apply_fix): Handle FDPIC and movi20 relocations.
	(sh_elf_final_processing): Handle --fdpic.
	(sh_uclinux_target_format): New.
	(sh_parse_name): Handle FDPIC relocation operators.
	* config/tc-sh.h (TARGET_FORMAT): Define specially for TE_UCLINUX.
	(sh_uclinux_target_format): Declare for TE_UCLINUX.
	* configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): Set
	em=uclinux.
	* doc/c-sh.texi (SH Options): Document --fdpic.

2010-05-25  Jay Krell  <jay.krell@cornell.edu>

	PR ld/11621
	* Makefile.am: Replace all occurences of .o with .@OBJEXT@
	* Makefile.in: Regenerate.

2010-05-25  Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c (ppc_section_flags): Add ATTRIBUTE_UNUSED to "attr".

2010-05-19  Nick Clifton  <nickc@redhat.com>

	* config/tc-h8300.c (h8300_elf_section): Add .zdebug to the list
	of known section prefixes.

2010-05-18  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/11600
	* obj-elf.c (obj_elf_change_section): Handle SHF_EXCLUDE.
	(obj_elf_parse_section_letters): Likewise.
	(obj_elf_section_word): Likewise.

	* config/tc-ppc.c (ppc_section_letter): Removed.
	(ppc_section_word): Likewise.
	* config/tc-ppc.h (ppc_section_letter): Likewise.
	(ppc_section_word): Likewise.
	(md_elf_section_letter): Likewise.
	(md_elf_section_word): Likewise.

	* doc/as.texinfo: Document `e' and `#exclude'.

2010-05-13  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-arm.c (md_assemble): Clarify current mode in error
	messages about unsupported instructions.
	(UT): Delete #define.
	(insns): Adjust cbnz, cbz appropriately.

2010-05-11  Andrew Stubbs  <ams@codesourcery.com>

	* config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use.

2010-05-11  Jie Zhang  <jie@codesourcery.com>

	* config/tc-arm.c (aeabi_set_public_attributes): Set
	Tag_ABI_HardFP_use to 1 if a single precision FPU is selected.

2010-05-07  Tristan Gingold  <gingold@adacore.com>

	* Makefile.in: Regenerate with automake 1.11.1.
	* aclocal.m4: Ditto.
	* doc/Makefile.in: Ditto.

2010-05-05  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2010-05-05  Julian Brown  <julian@codesourcery.com>

	* read.c (cons_worker): Detect and reject unexpected string argument.

2010-05-04  Nick Clifton  <nickc@redhat.com>

	* write.c (fixup_segment): Revert previous delta.
	* config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Also force the
	generation of relocations for fixups against weak symbols.

2010-04-29  Nathan Sidwell  <nathan@codesourcery.com>

	* write.c (fixup_segment): Do not assume we know the section a
	defined weak symbol is in.
	* config/tc-arm.c (relax_adr, relax_branch, md_apply_fix): Treat
	weak symbols as not known to be in the same section, even if they
	are defined.

2010-04-27  Joseph Myers  <joseph@codesourcery.com>

	* config/tc-tic6x.h (tic6x_label_list): New.
	(tic6x_segment_info_type): Keep a list of labels and a current
	frag instead of a boolean for whether labels seen and a count of
	instructions.
	(tic6x_frag_info, TC_FRAG_TYPE, TC_FRAG_INIT, tic6x_frag_init,
	md_do_align, tic6x_do_align, md_end, tic6x_end): New.
	* config/tc-tic6x.c (tic6x_frob_label): Put label on list.
	(tic6x_cleanup): Correct comment.
	(tic6x_free_label_list): New.
	(tic6x_cons_align): Free label list and update for
	tic6x_segment_info_type changes.
	(tic6x_do_align): New.
	(md_assemble): Handle list of labels and saved frag for execute
	packet.  Create machine-dependent frag for new execute packet and
	adjust labels accordingly.
	(tic6x_adjust_section, tic6x_frag_init, tic6x_end): New.
	(md_convert_frag, md_estimate_size_before_relax): Update comments.

2010-04-24  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/11535
	* config/tc-i386-intel.c (intel_state): Add is_indirect.
	(i386_intel_operand): Initialize intel_state.is_indirect.  Check
	intel_state.is_indirect for "call|jmp [symbol]".

2010-04-22  Nick Clifton  <nickc@redhat.com>

	* po/gas.pot: Updated by the Translation project.

2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (i386_is_register): Removed.
	(x86_cons): Don't use i386_is_register.
	(parse_register): Likewise.
	* config/tc-i386-intel.c (i386_intel_simplify): Likewise.
	(i386_intel_operand): Likewise.

2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (tc_x86_parse_to_dw2regnum): Don't use
	i386_is_register.

2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (i386_is_register): Remove is_intel_syntax.
	(x86_cons): Updated.
	(parse_register): Likewise.
	(tc_x86_parse_to_dw2regnum): Likewise.
	* config/tc-i386-intel.c (i386_intel_simplify): Likewise.
	(i386_intel_operand): Likewise.

2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/11509
	* config/tc-i386-intel.c (i386_intel_simplify_register): New.
	(i386_intel_simplify): Use i386_is_register and
	i386_intel_simplify_register. Set X_md for O_register and
	check X_md for O_constant.
	(i386_intel_operand): Use i386_is_register.

	* config/tc-i386.c (i386_is_register): New.
	(x86_cons): Initialize the X_md field.  Use i386_is_register.
	(parse_register): Use i386_is_register.
	(tc_x86_parse_to_dw2regnum): Likewise.

2010-04-21  H.J. Lu  <hongjiu.lu@intel.com>

	* expr.c (expr): Initialize the X_md field.

2010-04-20  Joseph Myers  <joseph@codesourcery.com>

	* config/tc-tic6x.c (OPTION_MGENERATE_REL): New.
	(md_longopts): Add -mgenerate-rel.
	(tic6x_generate_rela): New.
	(md_parse_option): Handle -mgenerate-rel.
	(md_show_usage): Add comment that -mgenerate-rel is undocumented.
	(tic6x_init_after_args): New.
	(md_apply_fix): Correct shift calculations for SB-relative
	relocations.
	(md_pcrel_from): Change to tic6x_pcrel_from_section.  Do not
	adjust addresses for relocations referencing symbols in other
	sections.
	(tc_gen_reloc): Adjust addend calculations for REL relocations.
	* config/tc-tic6x.h (MD_PCREL_FROM_SECTION,
	tic6x_pcrel_from_section, tc_init_after_args,
	tic6x_init_after_args): New.

2010-04-20  Nick Clifton  <nickc@redhat.com>

	PR gas/11507
	* macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
	altmacro mode if found inside a quoted string.

2010-04-20  Mike Frysinger  <vapier@gentoo.org>

	* config/bfin-lex.l (parse_int): Change index() to strchr().

2010-04-16  Nick Clifton  <nickc@redhat.com>

	PR gas/11395
	* config/tc-hppa.c (pa_ip): Do not allow 64-bit add condition
	matcher to accept and unconditional 32-bit add instruction.
	(pa_build_unwind_subspace): Cope with error conditions not
	allowing the start symbol to be set.

2010-04-15  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_convert_symbolic_attribute): Add support for
	new tag names in v2.08 of ARM ABI.
	* doc/c-arm.texi: Document new tag names in ABI.

2010-04-14  Tristan Gingold  <gingold@adacore.com>

	* config/tc-alpha.c: Includes vms/egps.h on EVAX.
	(s_alpha_comm): Used new EGPS macros from egps.h
	(RGPS__V_NO_SHIFT, EGPS__V_MASK): New local macros.
	(s_alpha_section_word): Add comments.  Use new EGPS macros.
	Adjust for modified bfd_vms_set_section_flags function.

2010-04-10  Alan Modra  <amodra@gmail.com>

	PR gas/11486
	* config/tc-ppc.c (ppc_elf_cons): Clear frag contents.

2010-04-09  Nick Clifton  <nickc@redhat.com>

	* as.c (create_obj_attrs_section): Remove unused variable addr.
	* listing.c (listing_listing): Remove unused variable message.
	* read.c: Remove unnecessary register type qualifiers.
	(s_mri): Only define/use old_flag variable if MRI_MODE_CHANGE is
	defined.

2010-04-07  Eric B. Weddington  <eric.weddington@atmel.com>

	* config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a,
	atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2,
	atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328,
	atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a,
	atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a,
	atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a,
	atmega88pa, attiny461a, attiny84a, m3000.
	Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd,
	atmega8hvd, attiny327, m3000f, m3000s, m3001b.
	* doc/c-avr.texi: Same.

2010-04-07  Jie Zhang  <jie@codesourcery.com>

	* config/tc-arm.c (make_mapping_symbol): Handle the case
	that multiple mapping symbols have the same value 0.

2010-04-07  Alan Modra  <amodra@gmail.com>

	* configure: Regenerate.

2010-04-06  Nick Clifton  <nickc@redhat.com>

	* po/ru.po: New Russian translation.
	* configure.in (ALL_LINGUAS): Add ru.
	* configure: Regenerate.

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

	PR gas/11456
	* input-scrub.c (input_scrub_next_buffer): Use memmove instead
	of memcpy to copy overlap memory.

2010-03-25  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.am (TARGET_CPU_CFILES): Add config/tc-tic6x.c.
	(TARGET_CPU_HFILES): Add config/tc-tic6x.h.
	* Makefile.in: Regenerate.
	* NEWS: Add news entry for TI C6X support.
	* app.c (do_scrub_chars): Handle "||^" for TI C6X.  Handle
	TC_PREDICATE_START_CHAR and TC_PREDICATE_END_CHAR.  Keep spaces in
	operands if TC_KEEP_OPERAND_SPACES.
	* configure.tgt (tic6x-*-*): New.
	* config/tc-ia64.h (TC_PREDICATE_START_CHAR,
	TC_PREDICATE_END_CHAR): Define.
	* config/tc-tic6x.c, config/tc-tic6x.h: New.
	* doc/Makefile.am (CPU_DOCS): Add c-tic6x.texi.
	* doc/Makefile.in: Regenerate.
	* doc/all.texi (TIC6X): Define.
	* doc/as.texinfo: Add TI C6X documentation.  Include c-tic6x.texi.
	* doc/c-tic6x.texi: New.

2010-03-22  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (lex_got): Use STRING_COMMA_LEN on gotrel.

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

	* config/tc-i386.c (i386_error): Replace oprand_size_mismatch
	with operand_size_mismatch.
	(operand_size_match): Updated.
	(match_template): Likewise.

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

	* config/tc-i386.c (i386_error): New.
	(_i386_insn): Replace err_msg with error.
	(operand_size_match): Set error instead of err_msg on failure.
	(operand_type_match): Likewise.
	(operand_type_register_match): Likewise.
	(VEX_check_operands): Likewise.
	(match_template): Likewise.  Use error instead of err_msg with
	as_bad.

2010-03-19  Jie Zhang  <jie@codesourcery.com>

	* config/tc-arm.c (make_mapping_symbol): Hanle the case
	that two mapping symbols have the same value.

2010-03-18  Daniel Jacobowitz  <dan@codesourcery.com>

	* doc/c-arm.texi (.setfp): Correct example.

2010-03-18  Wei Guozhi  <carrot@google.com>

	PR gas/11323
	* config/tc-arm.c (reloc_names): New relocation names.
	(md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL.
	(tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL.
	* doc/c-arm.texi (ARM-Relocations): Document the new relocation.

2010-03-15  Thomas Schwinge  <thomas@codesourcery.com>

	* dw2gencfi.c (output_cie): Consider emitting the S augmentation in all
	cases, and not only for .eh_frame.

	* dw2gencfi.c (output_cie): Make it more explicit which code paths
	belong to .eh_frame only.

2010-03-13  Segher Boessenkool  <segher@kernel.crashing.org>

	* config/tc-v850.c (v850_insert_operand): Handle out-of-range
	assembler constants on 64-bit hosts.

2010-03-10  Mike Frysinger  <michael.frysinger@analog.com>

	* bfin-defs.h, bfin-lex.l, bfin-parse.y, tc-bfin.c, tc-bfin.h:
	Strip trailing whitespace.

2010-03-10  Mike Frysinger  <michael.frysinger@analog.com>

	* doc/c-bfin.texi (-mcpu): Add bf504 and bf506.
	* config/tc-bfin.c (bfin_cpu_type): Add BFIN_CPU_BF504 and
	BFIN_CPU_BF506.
	(bfin_cpus[]): Add 0.0 for bf504 and bf506.

2010-03-10  Jie Zhang  <jie@codesourcery.com>

	* doc/as.texinfo: Add Blackfin options.
	* doc/c-bfin.texi: Document -mfdpic, -mno-fdpic and -mnopic.
	* config/tc-bfin.c (md_show_usage): Show usage for all
	Blackfin specific options.

2010-03-09  Alan Modra  <amodra@gmail.com>

	PR gas/11356
	* listing.c (listing_newline): Correct backslash quote logic.

2010-03-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/tc-i386.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define.
	(ELF_TARGET_FORMAT64): Define.

2010-03-05  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (arm_cpu_option_table): Add cortex-m4.

2010-03-02  Andrew Stubbs  <ams@codesourcery.com>

	* config/tc-sh.c (get_specific): Move overflow checking code to avoid
	reading uninitialized data.

2010-03-01  Tristan Gingold  <gingold@adacore.com>

	* config/tc-score7.c (s7_frag_check): Add ATTRIBUTE_UNUSED.

2010-02-26  Doug Evans  <dje@sebabeach.org>

	* configure.tgt: Fix mep cpu case.

2010-02-26  Jie Zhang  <jie@codesourcery.com>

	* config/tc-arm.c (do_t_strexd): Remove
	operand[1] != operand[2] contraint.

2010-02-26  Jie Zhang  <jie@codesourcery.com>

	* config/tc-arm.c (neon_select_shape): No need to match
	the remaining operands in the shape when one operand does
	not match.

2010-02-26  Jie Zhang  <jie@codesourcery.com>

	* config/tc-arm.c (do_neon_ld_st_interleave): Reject bad
	alignment.

2010-02-25  Doug Evans  <dje@sebabeach.org>

	* cgen.c: Whitespace fixes.
	(weak_operand_overflow_check): Formatting fix.

2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Update error messages.

2010-02-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (_i386_insn): Add err_msg.
	(operand_size_match): Set err_msg on failure.
	(operand_type_match): Likewise.
	(operand_type_register_match): Likewise.
	(VEX_check_operands): Likewise.
	(match_template): Likewise.  Use i.err_msg with as_bad.

2010-02-25  Wu Zhangjin <wuzhangjin@gmail.com>

	* config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop,
	mips_fix_loongson2f_jump): New variables.
	(md_longopts): Add New options -mfix-loongson2f-nop/jump,
	-mno-fix-loongson2f-nop/jump.
	(md_parse_option): Initialize variables via above options.
	(options): New enums for the above options.
	(md_begin): Initialize nop_insn from LOONGSON2F_NOP_INSN.
	(fix_loongson2f, fix_loongson2f_nop, fix_loongson2f_jump):
	New functions.
	(append_insn): call fix_loongson2f().
	(mips_handle_align): Replace the implicit nops.
	* config/tc-mips.h (MAX_MEM_FOR_RS_ALIGN_CODE): Modified
	for the new mips_handle_align().
	* doc/c-mips.texi: Document the new options.

2010-02-23  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.c (do_rd_rm_rn): Added warning
	for obsolete insns.

2010-02-23  Andrew Zabolotny  <anpaza@mail.ru>

	PR binutils/11297
	* config/tc-avr.c (md_apply_fix): Handle BFD_RELOC_8.
	(avr_cons_fix_new): Handle fixups of a single byte.

2010-02-22  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	PR 9861
	* config/tc-arm.c (CPU_DEFAULT): Do not define based upon build
	compiler's predefines.

2010-02-19  Alan Modra  <amodra@gmail.com>

	* configure.tgt: Whiltespace.  Sort moxie entry.

2010-02-18  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (arm_convert_symbolic_attribute): Add Tag_DIV_use.
	* doc/c-arm.texi: Likewise.

2010-02-12  Daniel Gutson <dgutson@codesourcery.com>

	* config/tc-arm.c (asm_opcode): operands type
	change.
	(BAD_PC_ADDRESSING): New macro message.
	(BAD_PC_WRITEBACK): Likewise.
	(MIX_ARM_THUMB_OPERANDS): New macro.
	(operand_parse_code): Added enum values.
	(parse_operands): Added thumb/arm distinction,
	plus new enum values handling.
	(encode_arm_addr_mode_2): Validations enhanced.
	(encode_arm_addr_mode_3): Likewise.
	(do_rm_rd_rn): Likewise.
	(encode_thumb32_addr_mode): Likewise.
	(do_t_ldrex): Likewise.
	(do_t_ldst): Likewise.
	(do_t_strex): Likewise.
	(md_assemble): Call parse_operands with
	a new parameter.
	(OPS_1): New macro.
	(OPS_2): Likewise.
	(OPS_3): Likewise.
	(OPS_4): Likewise.
	(OPS_5): Likewise.
	(OPS_6): Likewise.
	(insns): Updated insns operands.

2010-02-12  Tristan Gingold  <gingold@adacore.com>
	    Douglas B Rupp  <rupp@gnat.com>

	* config/tc-ia64.c (enum reloc_func): Add FUNC_SLOTCOUNT_RELOC.
	(DUMMY_RELOC_IA64_SLOTCOUNT): Added.
	(pseudo_func): Add an entry for slotcount.
	(md_begin): Initialize slotcount pseudo symbol.
	(ia64_parse_name): Handle @slotcount parameter.
	(ia64_gen_real_reloc_type): Handle slotcount.
	(md_apply_fix): Ditto.
	* doc/c-ia64.texi (IA-64-Relocs): Document @slotcount.

2010-02-11  Sterling Augustine  <sterling@jaw.hq.tensilica.com>

	* config/tc-xtensa.c (istack_init): Don't call memset.

2010-02-11  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (cache_literal_section): Handle prefixes as
	well as suffixes.

2010-02-11  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (xtensa_find_unaligned_loops): Rewrite.

2010-02-11  H.J. Lu  <hongjiu.lu@intel.com>

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

2010-02-11  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c: Update copyright.

2010-02-10  Quentin Neill  <quentin.neill@amd.com>
	    Sebastian Pop  <sebastian.pop@amd.com>

	* config/tc-i386.c (vec_imm4) New operand type.
	(fits_in_imm4): New.
	(VEX_check_operands): New.
	(check_reverse): Call VEX_check_operands.
	(build_modrm_byte): Reintroduce code for 5
	operand insns.  Fix whitespace.

2010-02-10  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* config/tc-ppc.c (md_show_usage): Add -mpwr4, -mpwr5, -mpwr5x,
	-mpwr6 and -mpwr7.

2010-02-09  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (RELAXED_LOOP_INSN_BYTES): New.
	(next_frag_pre_opcode_bytes): Use RELAXED_LOOP_INSN_BYTES.
	(xtensa_mark_zcl_first_insns): Rewrite to handle corner case.

2010-02-08  Christophe Lyon  <christophe.lyon@st.com>

	* config/tc-arm.c (md_pcrel_from_section): Keep base to zero for
	non-local branches (BFD_RELOC_THUMB_PCREL_BRANCH23,
	BFD_RELOC_THUMB_PCREL_BLX, BFD_RELOC_ARM_PCREL_BLX,
	BFD_RELOC_ARM_PCREL_CALL)

2010-02-08  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (frag_format_size): Generalize logic to
	handle more instruction	sizes and fetch widths.
	(branch_align_power): Likewise.
	(text_align_power): Likewise.
	(bytes_to_stretch): Likewise.

2010-02-08  Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>

	* config/tc-ppc.c (md_show_usage): Mention -mtitan.  Don't use tabs.
	(ppc_mach): Handle titan.
	* doc/c-ppc.texi: Mention -mtitan.

2010-02-05  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (UNREACHABLE_MAX_WIDTH): Delete and
	replace with...
	(xtensa_fetch_width) ...this.

2010-02-05  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.am (CPU_TYPES, OBJ_FORMATS, CPU_OBJ_VALID,
	MULTI_CPU_TYPES, MULTI_CPU_OBJ_VALID): Remove.
	* Makefile.in: Regenerate.

2010-02-03  Quentin Neill  <quentin.neill@amd.com>

	* config/tc-i386.c (cpu_arch): Change amdfam15 to bdver1.
	(i386_align_code): Rename  PROCESSOR_AMDFAM15 to PROCESSOR_BDVER1.
	* config/tc-i386.h (processor_type): Same.
	* doc/c-i386.texi: Change amdfam15 to bdver1.

2010-01-29  Nick Clifton  <nickc@redhat.com>

	PR 11136
	* config/tc-arm.c (neon_check_type): Handle a neon_shape value of
	NS_NULL.

2010-01-27  Dave Korn  <dave.korn.cygwin@gmail.com>

	* NEWS: Mention new feature.
	* config/obj-coff.c (obj_coff_section): Accept digits and use
	to override default section alignment power if specified.
	* doc/as.texinfo (.section directive): Update documentation.

2010-01-27  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (avxscalar): New.
	(OPTION_MAVXSCALAR): Likewise.
	(build_vex_prefix): Select vector_length for scalar instructions
	based on avxscalar.
	(md_longopts): Add OPTION_MAVXSCALAR.
	(md_parse_option): Handle OPTION_MAVXSCALAR.
	(md_show_usage): Add -mavxscalar=.

	* doc/c-i386.texi: Document -mavxscalar=.

2010-01-24  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (build_vex_prefix): Set i.vex.bytes[0] to
	0xc4 individually.

2010-01-23  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* write.h (fix_at_start): Declare.
	* write.c (fix_new_internal): Add at_beginning parameter.
	Use it instead of REVERSE_SORT_RELOCS.  Fix the handling of
	seg_fix_tailP for the at_beginning/REVERSE_SORT_RELOCS case.
	(fix_new, fix_new_exp): Update accordingly.
	(fix_at_start): New function.
	* config/tc-ppc.c (md_pseudo_table): Add .ref to the OBJ_XCOFF section.
	(ppc_ref): New function, for OBJ_XCOFF.
	(md_apply_fix): Handle BFD_RELOC_NONE for OBJ_XCOFF.
	* config/te-i386aix.h (REVERSE_SORT_RELOCS): Remove #undef.

2010-01-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only
	on 64-bit Solaris/x86.
	Include obj-format.h earlier.

2010-01-21  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/tc-s390.c (s390_elf_final_processing): New function.
	* config/tc-s390.h (elf_tc_final_processing): New macro definition.
	(s390_elf_final_processing): Added prototype.


2010-01-20  Nick Clifton  <nickc@redhat.com>

	PR 11109
	* config/tc-arm.c (do_neon_cvt): Rename to do_neon_cvt_1.  Add
	code to handle round-to-zero for VCVT conversions.
	(do_neon_cvt): New.  Call do_neon_cvt_1.
	(do_neon_cvtr): New.  Call do_neon_cvt_1.
	(insns): Use do_neon_cvt for VCVT insn and do_neon_cvtr for VCVTR
	insn.

2010-01-18  Tristan Gingold  <gingold@adacore.com>

	* config/tc-ia64.c (ia64_vms_note): Generate 24 bytes note headers.

2010-01-15  Sebastian Pop  <sebastian.pop@amd.com>

	* config/tc-i386.c (md_assemble): Before accessing the IMM field
	check that it's not an XOP insn.

2010-01-14  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-aux.h: Remove argument names in function
	declarations.
	* config/bfin-lex.l (parse_int): Fix shadowed variable name
	warning.
	* config/bfin-parse.y (value_match): Remove argument names
	in declaration.
	(notethat): Likewise.
	(yyerror): Likewise.

2010-01-13  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/tc-arm.c (do_t_nop): Correct check for Thumb-2 NOP.

2010-01-13  Nick Clifton  <nickc@redhat.com>

	* config/tc-h8300.c (h8300_elf_section): New function - issue a
	warning message if a new section is created without setting any
	attributes for it.
	(md_pseudo_table): Intercept section creation pseudos.
	(md_pcrel_from): Replace abort with an error message.
	* config/obj-elf.c (obj_elf_section_name): Export this function.
	* config/obj-elf.h (obj_elf_section_name): Prototype.

2010-01-12  Alan Modra  <amodra@gmail.com>

	PR 11122
	* listing.c (print_source): Add one to line number.

2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.

2010-01-08  H.J. Lu  <hongjiu.lu@intel.com>

	* version.c (parse_args): Change to "Copyright 2010".

2010-01-06  Quentin Neill  <quentin.neill@amd.com>

	* config/tc-i386.c (cpu_arch): Add amdfam15.
	(i386_align_code): Add PROCESSOR_AMDFAM15 cases.
	* config/tc-i386.h (processor_type): Add PROCESSOR_AMDFAM15.
	* doc/c-i386.texi: Add amdfam15.

2010-01-04  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.c (do_neon_logic): Accept imm value
	in the third operand too.
	(operand_parse_code): OP_RNDQ_IMVNb renamed to
	OP_RNDQ_Ibig.
	(parse_operands): OP_NILO case removed, applied renaming.
	(insns): Neon shape changed for some logic instructions.

2010-01-04  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.c (do_neon_ldx_stx): Added
	validation for vector load/store insns.

2010-01-04  Edmar Wienskoski  <edmar@freescale.com>

	* config/tc-ppc.c (md_show_usage): Document -me500mc64.

2010-01-03  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.c (struct arm_it): New flag 'is_neon'.
	(NEON_ENC_*): Macros renamed to _NEON_ENC_*.
	(NEON_ENCODE): New macro.
	(check_neon_suffixes): New macro.
	(do_vfp_cond_or_thumb): Set the 'is_neon' flag.
	(do_vfp_nsyn_opcode): Likewise.
	(do_vfp_nsyn_nmul): Use the new 'NEON_ENCODE' macro.
	(do_vfp_nsyn_cmp): Likewise.
	(do_neon_shl_imm): Likewise.
	(do_neon_qshl_imm): Likewise.
	(neon_dyadic_misc): Likewise.
	(do_neon_mac_maybe_scalar): Likewise.
	(do_neon_qdmulh): Likewise.
	(do_neon_qmovn): Likewise.
	(do_neon_qmovun): Likewise.
	(do_neon_movn): Likewise.
	(neon_mac_reg_scalar_long): Likewise.
	(do_neon_vmull): Likewise.
	(do_neon_trn): Likewise.
	(do_neon_ldx_stx): Likewise.
	(neon_dp_fixup): Changed signature and set the flag.
	(neon_three_same): Call the above with new signature.
	(neon_two_same): Likewise.
	(neon_imm_shift): Likewise.
	(neon_mul_mac): Likewise.
	(do_neon_abs_neg): Likewise.
	(neon_mixed_length): Likewise.
	(do_neon_ext): Likewise.
	(do_neon_mov): Likewise.
	(do_neon_tbl_tbx): Likewise.
	(do_neon_logic): Likewise, and use the new 'NEON_ENCODE' macro.
	(neon_compare): Likewise.
	(do_neon_shll): Likewise.
	(do_neon_cvt): Likewise.
	(do_neon_mvn): Likewise.
	(do_neon_dup): Likewise.
	(md_assemble): Call check_neon_suffixes ().

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

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

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