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