2012-07-31  Maciej W. Rozycki  <macro@codesourcery.com>
            Chao-Ying Fu  <fu@mips.com>
            Catherine Moore  <clm@codesourcery.com>

	* config/tc-mips.c (macro_build) <'2'>: Handle microMIPS.
	(macro) <M_BALIGN>: Update error handling.
	(validate_micromips_insn) <'2', '3', '4', '5', '6'>: New cases.
	<'7', '8', '0', '@', '^'>: Likewise.
	(mips_ip) <'2', '3', '4', '5', '6', '7', '8'>: Handle microMIPS.
	<'9'>: Fix formatting.
	<'0', '@'>: Handle microMIPS.
	<'^'>: New case.

2012-07-31  Jan Beulich <jbeulich@suse.com>

	* config/tc-i386.c (match_template): Adjust error message
	for 'bad_imm4' case.

2012-07-31  Jan Beulich <jbeulich@suse.com>

	* config/tc-i386.c (check_byte_reg): Check for I/O port
	register earlier, and just once. Drop diagnostic that got
	issued only for some registers.

2012-07-31  Jan Beulich <jbeulich@suse.com>

	* config/tc-i386.c (match_template): New local variable
	'specific_error'. Set it from i.error after failed
	check_VecOperands or VEX_check_operands. Use it if set in
	preference to i.error when actually issuing disagnostic.

2012-07-30  Nick Clifton  <nickc@redhat.com>

	* po/gas.pot: Updated template.
	* po/es.po: Updated Spanish translation.
	* po/fi.po: Updated Finnish translation.
	* po/fr.po: Updated French translation.

2012-07-27  Mike Frysinger  <vapier@gentoo.org>

	* configure.in (BFD_VERSION): Run bfd/configure --version and
	parse the output of that.
	* configure: Regenerate.

2012-07-27  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.23.

2012-07-27  James Murray  <jsm@jsm-net.demon.co.uk>

	* config/tc-m68hc11.c: Replace binary with hex for cygwin.

2012-07-26  Segher Boessenkool  <segher@kernel.crashing.org>

	* listing.c (struct list_message): New.
	(struct list_info_struct): Delete "message".  Add "messages"
	and "last_message".
	(listing_message): Adjust.
	(listing_newline): Adjust.
	(print_lines): Adjust.

2012-07-24  Jan Beulich <jbeulich@suse.com>

	* config/tc-i386-intel.c (i386_intel_simplify_register): Handle
	xmm/ymm index register being specified first as well as esp/rsp
	base register being specified last in a memory operand.

2012-07-24  Jan Beulich <jbeulich@suse.com>

	* config/tc-i386-intel.c (i386_intel_simplify_register):
	Replace literal 4 by corresponding ESP_REG_NUM.

2012-07-24  Sandra Loosemore  <sandra@codesourcery.com>
	    Jie Zhang  <jzhang918@gmail.com>

	* config/tc-arm.c (md_apply_fix): Use encoding A2 of ADR
	if offset is negative.

2012-07-16  Michael Zolotukhin  <michael.v.zolotukhin@intel.com>

	* config/tc-i386.c: Add ADX, RDSEED and PRFCHW asm directives.
	* doc/c-i386.texi: Document the new directives.

2012-07-05  Sean Keys  <skeys@ipdatasys.com>
        * config/tc-xgate.c: Revised assembler so that operands
        are collected before the addressing mode is determined.

2012-07-02  Nick Clifton  <nickc@redhat.com>

	* write.c (fixup_segment): Only perform the subtraction of an
	fx_subsy symbol if MD_APPLY_SYM_VALUE allows it and the symbol is
	properly defined.
	* config/tc-msp430.h (MD_APPLY_SYM_VALUE): Define.

2012-06-30  Alan Modra  <amodra@gmail.com>

	PR gas/14315
	* config/obj-elf.c (obj_elf_weak): Don't set local.

2012-06-30  Johan Olmutz Nielsen  <jnielsen@ddci.com>

	* frags.h (frag_offset_fixed_p): Update prototype.
	* frags.c (frag_offset_fixed_p): Change type of "offset" to offsetT.
	* expr.c (expr, resolve_expression): Likewise for frag_off var.

2012-06-29  Nick Clifton  <nickc@redhat.com>

	PR gas/14263
	* config/tc-arm.c (parse_operands): Initialise val.

2012-06-28  Nick Clifton  <nickc@redhat.com>

	PR gas/14260
	* config/tc-arm.c (encode_arm_addr_mode_common): Generate an error
	message if literal pool addressing is used.

2012-06-28  Nick Clifton  <nickc@redhat.com>

	* dwarf2dbg.c (DWARF2_USE_FIXED_ADVANCE_PC): Enable when using
	linker relaxation.
	(dwarf2_gen_line_info): Generate real, local, labels for line
	numbers.
	(dwarf2dbg_convert_frag): Do not finalize the computation of the
	frag's symbol value when linker relaxation is enabled.
	(ADDR_DELTA_LIMIT): Define.
	(size_fixed_inc_line_addr): Use ADDR_DELTA_LIMIT.
	(emit_fixed_inc_line_addr): Likewise.
	* write.c (fixup_segment): If the subtraction of two symbols
	cannot be resolved but is valid, then prevent bogus range warnings
	by pre-biasing add_number.
	* config/tc-h8300.h (DWARF2_USE_FIXED_ADVANCE_PC): Define to 0.

2012-06-28  Sean Keys  <skeys@ipdatasys.com>

        * config/tc-xgate.h: Defined tc_frob_symbol.
        * config/tc-xgate.c (xgate_frob_symbol): Wrote new function to mark
        symbols as being XGATE by setting st_target_internal value.

2012-06-22  Roland McGrath  <mcgrathr@google.com>

	* NEWS: Mention 'rep ret' too.

	* config/tc-i386.c (parse_insn): Don't complain about REP prefix
	when the template has opcode_modifier.repprefixok set.
	* NEWS: Mention the change.

2012-06-18  Iain Sandoe  <iain@codesourcery.com>

	* configure.in: Check DECLS for free, getenv, malloc, realloc,
	* configure: Regenerate.
	* config.in: Likewise.

2012-06-13  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (x86_address_bytes): New.
	* config/tc-i386.h (TC_ADDRESS_BYTES): Likewise.
	(x86_address_bytes): Likewise.

2012-06-13  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	PR gas/12698
	* config/tc-arm.c (do_t_mrs): Do not require an m-profile
	architecure when assembling for all archiectures.
	(do_t_msr): Likewise.

2012-06-11  Georg-Johann Lay  <avr@gjlay.de>

	PR 13503
	* config/tc-avr.c (exp_mod): Fix typo introduced in 1.82
	from 2012-05-16.

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

	* input-scrub.c (input_scrub_include_sb): Use sb_build to
	allocate sufficient space for from_sb.  Use sb_terminate to
	terminate string.
	* read.c (read_a_source_file): Use sb_build to allocate
	sufficient space and replace sb_add_string with sb_add_buffer.
	(s_macro): Likewise.
	(input_scrub_insert_line): Likewise.
	(s_irp): Use sb_build to allocate sufficient space.
	(do_repeat): Use sb_build to allocate sufficient space
	for many.
	* sb.c (sb_build): Remove static.
	* sb.h (sb_build): New prototype.

2012-06-09  Alan Modra  <amodra@gmail.com>

	* sb.c: Include limits.h.
	(dsize): Delete.
	(MALLOC_OVERHEAD, INIT_ALLOC): Define.
	(sb_new): Use INIT_ALLOC.
	(sb_check): Modify allocation strategy using MALLOC_OVERHEAD.
	(sb_terminate): Don't use sb_add_char.

2012-06-07  Alan Modra  <amodra@gmail.com>

	PR gas/14201
	* sb.h (sb_max_power_two): Delete.
	(struct sb): Delete "item" and "pot".  Make "len" a size_t.  Add "max".
	(sb_element): Delete.
	(sb_add_char, sb_add_buffer, sb_skip_comma, sb_skip_write): Update
	prototypes.
	* sb.c (string_count, free_list): Delete.
	(sb_build, sb_kill, sb_check): Rewrite.
	(scrub_from_sb, sb_add_char, sb_add_string, sb_add_buffer,
	sb_skip_white, sb_skip_comma): Replace assorted int params,
	vars and return types with size_t.
	* input-scrub.c: Likewise.
	* macro.c: Likewise.
	* macro.h: Likewise.
	* as.c: Likewise.
	* as.h: Likewise.
	* input-file.h: Likewise.
	* input-file.c: Likewise.
	* read.c: Likewise.
	* app.c: ..or ptrdiff_t.
	* input-file.c (input_file_get): Use ferror.
	(input_file_give_next_buffer): Use input_file_get.

2012-05-31  Sean Keys  <skeys@ipdatasys.com>

        * config/tc-xgate.c (md_begin): Refactored code.

2012-05-29  Roland McGrath  <mcgrathr@google.com>

	* read.c [HANDLE_BUNDLE] (bundle_lock_depth): New variable.
	(read_a_source_file) [HANDLE_BUNDLE]: Reset it.
	[HANDLE_BUNDLE] (s_bundle_lock, s_bundle_unlock): Allow nested
	pairs.

2012-05-28  Nick Clifton  <nickc@redhat.com>

	* read.c (read_symbol_name): New function.  Reads a symbol names.
	Allows escape codes in names.
	(s_comm_internal): Use read_symbol_name.
	(s_globl, s_lsym, s_set, s_weakref): Likewise.
	* doc/as.texinfo: Document support for multibyte characters in
	symbol names.

2012-05-21  Mike Frysinger  <vapier@gentoo.org>

	* config/tc-mips.c (mips_after_parse_args): Assert that arch_info
	is non-NULL.

2012-05-19  Alan Modra  <amodra@gmail.com>

	* config/obj-elf.c (obj_elf_section): Cater for TC_KEEP_OPERAND_SPACES
	targets when checking for "comdat".

2012-05-19  Alan Modra  <amodra@gmail.com>

	* config/tc-dlx.c (s_proc): Don't use asprintf.

2012-05-18  Alan Modra  <amodra@gmail.com>

	* config/tc-dlx.c (s_proc): Avoid warning about ignoring asprintf
	return value.

2012-05-18  James Lemke  <jwlemke@codesourcery.com>
	    Alan Modra  <amodra@gmail.com>

	* config/tc-ppc.c: Don't capitalise error and warning messages.
	(md_parse_option): Add checks for -a32 -mvle.

2012-05-18  Alan Modra  <amodra@gmail.com>

	* config/obj-evax.c: Include as.h first.

2012-05-18  Andreas Schwab  <schwab@linux-m68k.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2012-05-17  Daniel Richard G.  <skunk@iskunk.org>
	    Nick Clifton  <nickc@redhat.com>

	PR 14072
	* configure.in: Add check that sysdep.h has been included before
	any system header files.
	* configure: Regenerate.
	* config.in: Regenerate.
	* aclocal.m4: Regenerate.
	* Makefile.am: Use wrappers around C files generated by flex.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.
	* itbl-lex-wrapper.c: New file.
	* config/bfin-lex-wrapper.c: New file.
	* cgen.c: Include as.h before setjmp.h.
	* config/tc-dlx.c: Include as.h before any other header.
	* config/tc-h8300.c: Likewise.
	* config/tc-lm32.c: Likewise.
	* config/tc-mep.c: Likewise.
	* config/tc-microblaze.c: Likewise.
	* config/tc-mmix.c: Likewise.
	* config/tc-msp430.c: Likewise.
	* config/tc-or32.c: Likewise.
	* config/tc-tic4x.c: Likewise.
	* config/tc-tic54x.c: Likewise.
	* config/tc-xtensa.c: Likewise.

2012-05-16  Sergio Durigan Junior  <sergiodj@redhat.com>

	* config/tc-alpha.c (maybe_set_gp): Pass proper `bfd'
	as the first argument for `bfd_get_section_vma'.

2012-05-16  Alberto Garcia  <agarcia@igalia.com>

	PR gas/14082
	* app.c (do_scrub_chars): Prevent possible out of bounds access to
	lex[] array.

2012-05-16  Georg-Johann Lay  <avr@gjlay.de>

	PR target/13503
	* config/tc-avr.c (avr_cons_fix_new): Rename R_AVR_8_HHI8 to
	R_AVR_8_HLO8.
	(exp_mod_data) Ditto. And replace "hhi8" with "hlo8".
	(md_apply_fix): Rename BFD_RELOC_AVR_8_HHI to BFD_RELOC_AVR_8_HLO.

2012-05-16  Nathan Sidwell  <nathan@codesourcery.com>
	    Kwok Cheung Yeung  <kcy@codesourcery.com>

	* config/tc-m68k.c (m68k_cpus): Add 51ag, 51je, 51jf, 51jg, 51mm,
	51qm variants.

2012-05-15  James Murray <jsm@jsm-net.demon.co.uk>

	* config/tc-m68hc11.c: Add S12X and XGATE co-processor support.
	Add option to offset S12 addresses into XGATE memory space.
	Tweak target flags to match other tools. (i.e. -m m68hc11).
	* doc/as.texinfo: Mention new options.
	* doc/c-m68hc11.texi: Document new options.
	* NEWS: Mention new support.

2012-05-14  DJ Delorie  <dj@redhat.com>

	* config/rx-parse.y (rx_range): declare.
	(O1,O2,O3,O4): Add calls to rx_range.
	(UO1,UO2,UO3): Likewise.
	(IMM2,IMMB): Likewise.
	(rx_range): New.

	* config/tc-rx.c (rx_fetchalign): Declare.
	(md_pseudo_table): Add .fetchalign.
	(RX_NBASE_FETCHALIGN): New.
	(fetchalign_bytes): New.
	(rx_fetchalign): New.
	(rx_frag_init): If a "magic" value is found, also init the
	machine-specific data.
	(md_assemble): Note following opcode size if called for.
	(rx_next_opcode): New.
	(rx_relax_frag): Support .fetchalign.
	(md_convert_frag): Likewise.
	* doc/c-rx.texi (RX-Directives): Add .fetchalign.

2012-05-14  James Lemke  <jwlemke@codesourcery.com>

	* config/tc-ppc.c (insn_validate): New func of existing code to call..
	(ppc_setup_opcodes): ..from 2 places here.
	Revise for second (VLE) opcode table.
	Add #ifdef'd code to print opcode tables.

2012-05-14  James Lemke  <jwlemke@codesourcery.com>

	* config/tc-ppc.c (ppc_setup_opcodes): Allow out-of-order
	for the VLE conditional branches.

2012-05-14  Catherine Moore  <clm@codesourcery.com>
	    Maciej W. Rozycki  <macro@codesourcery.com>
	    Rhonda Wittels  <rhonda@codesourcery.com>

	* config/tc-ppc.c (PPC_VLE_SPLIT16A): New macro.
	(PPC_VLE_SPLIT16D): New macro.
	(PPC_VLE_LO16A): New macro.
	(PPC_VLE_LO16D): New macro.
	(PPC_VLE_HI16A): New macro.
	(PPC_VLE_HI16D): New macro.
	(PPC_VLE_HA16A): New macro.
	(PPC_VLE_HA16D): New macro.
	(PPC_APUINFO_VLE): New definition.
	(md_chars_to_number): New function.
	(md_parse_option): Check for combinations of little
	endian and -mvle.
	(md_show_usage): Document -mvle.
	(ppc_arch): Recognize VLE.
	(ppc_mach): Recognize bfd_mach_ppc_vle.
	(ppc_setup_opcodes): Print the opcode table if
	* config/tc-ppc.h (ppc_frag_check): Declare.
	* doc/c-ppc.texi: Document -mvle.
	* NEWS:  Mention PowerPC VLE port.

2012-05-14  Catherine Moore  <clm@codesourcery.com>

	* config/tc-ppc.h (ppc_dw2_line_min_insn_length): Declare.
	(DWARF2_LINE_MIN_INSN_LENGTH): Redefine.
	* config/tc-ppc.c (ppc_dw2_line_min_insn_length): New.
	* dwarf2dbg.c (scale_addr_delta): Handle values of 1
	for DWARF2_LINE_MIN_INSN_LENGTH.

2012-05-12  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (tc_gen_reloc): Remove x32 addend overflow
	for BFD_RELOC_64.

2012-05-11  Daniel Richard G.  <skunk@iskunk.org>

	PR binutils/14028
	* configure.in: Invoke ACX_HEADER_STRING.
	* configure: Regenerate.
	* config.in: Regenerate.
	* as.h: If STRINGS_WITH_STRING is defined then include both
	string.h and strings.h.

2012-05-11  Georg-Johann Lay  <avr@gjlay.de

	PR target/13503
	* config/tc-avr.c (exp_mod_pm): Remove variable.
	(exp_mod_data_t): New typedef.
	(pexp_mod_data, exp_mod_data): New variables.
	(avr_parse_cons_expression): Scan through exp_mod_data[] to find
	data expression modifiers "pm", "gs", "lo8", hi8", "hhi8", "hh8"
	and set pexp_mod_data accordingly to be used in avr_cons_fix_new.
	(avr_cons_fix_new): Handle new data expression modifiers shipped
	in pexp_mod_data.
	(md_apply_fix): Handle BFD_RELOC_AVR_8_LO, BFD_RELOC_AVR_8_HI,
	BFD_RELOC_AVR_8_HHI.

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

	* config/tc-i386.c (tc_gen_reloc): Use bfd_signed_vma in x32
	addend overflow check.

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

	* config/tc-i386.c (tc_gen_reloc): Display signed hex number in
	x32 addend overflow check.

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

	* config/tc-i386.c (tc_gen_reloc): Use fits_in_signed_long.

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

	* config/tc-i386.c (tc_gen_reloc): Check x32 addend overflow
	for BFD_RELOC_64.

2012-05-08  Alan Modra  <amodra@gmail.com>

	* Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other
	LC and LANG environment vars.
	* Makefile.in: Regenerate.

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

	* Makefile.am (check-DEJAGNU): Clear LC_COLLATE, LC_ALL and LANG.
	* Makefile.in: Regenerate.

2012-05-06  Arnold Metselaar <arnold_m@operamail.com>

	* config/tc-z80.h(md_register_arithmetic): Define as 0.
	* config/tc-z80.c(md_begin): Store register names in symbol table,
	preventing usage as ordinary symbol.
	* config/tc-z80.c(contains_register): New function.
	* config/tc-z80.c(parse_exp2): Removed.
	* config/tc-z80.c(parse_exp_not_indexed): New function.
	* config/tc-z80.c(parse_exp): Add code to recogize indexed
	addressing after parsing.
	* config/tc-z80.c(emit_byte, emit_word): Use contains_register.
	* config/tc-z80.c(emit_jp): Use parse_exp_not_indexed, simplify
	condition for jump to register.
	* config/tc-z80.c(emit_call, emit_jr, emit_ex, emit_rst): Use
	parse_exp_not_indexed.

2012-05-05  Alan Modra  <amodra@gmail.com>

	* ecoff.c: Replace all uses of bfd_abs_section, bfd_com_section,
	bfd_und_section and bfd_ind_section with their _ptr variants, or
	use corresponding bfd_is_* macros.
	* symbols.c: Likewise.
	* config/obj-aout.c: Likewise.
	* config/obj-coff-seh.h: Likewise.
	* config/tc-hppa.c: Likewise.
	* config/tc-hppa.h: Likewise.
	* config/tc-ia64.c: Likewise.
	* config/tc-m32r.c: Likewise.
	* config/tc-microblaze.c: Likewise.
	* config/tc-mips.c: Likewise.
	* config/tc-score.c: Likewise.
	* config/tc-score7.c: Likewise.
	* config/tc-tic6x.c: Likewise.

2012-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.tgt: Support x86_64-*-linux-gnux32.

2012-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Add `instruction' to
	unsupported error message.

2012-05-04  H.J. Lu  <hongjiu.lu@intel.com>

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

2012-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (output_insn): Remove the extra VEX check.

2012-05-04  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (match_template): Improve unsupported error
	message.

2012-05-03  Sean Keys  <skeys@ipdatasys.com>

	* configure, Makefile.in: Regenerate.
	* Makefile.am (CPU_TYPES, TARGET_CPU_CFILES, TARGET_CPU_HFILES):
	* configure.tgt: Added cpu type.
	Added files for XGATE assembler.
	* config/tc-xgate.c: Assembler for XGATE.
	* config/tc-xgate.h: Header definition for assembler
	Added files for XGATE testsuite.
	* doc/Makefile.am (CPU_DOCS): Added XGATE file.
	* doc/c-xgate.texi: Document XGATE and XGATE port.
	* doc/as.texinfo: Ditto.
	* doc/all.texi: Ditto
	* NEWS: Mention the new support.

2012-04-30  DJ Delorie  <dj@redhat.com>

	* config/rx-parse.y (rx_intop): Add parameter for operation size.
	Check for large positive constants really being small negative
	ones.
	(BRA, BSR): Update calls to rx_intop.
	(immediate): Likewise.

2012-04-26  Mark Wielaard  <mjw@redhat.com>

	* dwarf2dbg.c (DWARF2_ARANGES_VERSION): New define to 2.
	(DWARF2_LINE_VERSION): Likewise.
	(out_debug_line): Use DWARF2_LINE_VERSION not DWARF2_VERSION.
	(out_debug_aranges): Use DWARF2_ARANGES_VERSION not DWARF2_VERSION.
	(out_debug_abbrev): Use DW_FORM_data for DW_AT_high_pc when
	DWARF2_VERSION >= 4.
	(out_debug_info): Use difference between start and end as data
	value for DW_AT_high_pc when DWARF2_VERSION >= 4.
	* config/tc-ia64.h (DWARF2_LINE_VERSION): Override it.

2012-04-27  David S. Miller  <davem@davemloft.net>

	* doc/c-sparc.text: Document %l34 and %h34.

	* config/tc-sparc.c (v9a_asr_table): Add 'cfr'.

	* config/tc-sparc.c (sparc_arch_table): Add HWCAP_PAUSE to sparc4,
	v8pluse, v8plusv, v9e, and v9v.
	(v9a_asr_table): Add 'pause'.

	* config/tc-sparc.c (sparc_arch_table): Add HWCAP_CBCOND to
	sparc4, v8pluse, v8plusv, v9e, and v9v.
	(sparc_ip): Handle R_SPARC_5 of immediate constants inline in
	order to accomodate cbcond which otherwise would require two
	relocations to be handled in a single instruction..

	* config/tc-sparc.c (sparc_ip): Likewise.  Accept instruction
	names containing "_".
	(sparc_arch_table): Add sparc4, v8pluse, and v9e.  Add crypto
	hwcap masks to v8plusv and v9v.

	* config/tc-sparc.c (sparc_arch_table): Rework to use HWCAP_*
	masks.
	(sparc_md_end): No longer need to translate hwcap_seen values into
	ELF hwcap bits, they now match exactly.
	(get_hwcap_name): Use HWCAP_* and handle new values.
	(sparc_ip): Fetch hwcaps from insn->hwcaps instead of insn->flags.

2012-04-20  Tristan Gingold  <gingold@adacore.com>

	* config/tc-ia64.c (obj_elf_vms_common): New function.
	(md_pseudo_table): Add .vms_common pseudo.
	* config/obj-elf.h (obj_elf_section_name): Add a prototype.
	* config/obj-elf.c (obj_elf_section_name): Make it public.

2012-04-17  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* config/tc-avr.c (md_apply_fix): Fix handling of BFD_RELOC32.

2012-04-12  David S. Miller  <davem@davemloft.net>

	* config/tc-sparc.c (sparc_ip): Handle '=', "%h34", "%l34", and
	BFD_RELOC_SPARC_H34.
	(md_apply_fix): Handle BFD_RELOC_SPARC_WDISP10 and BFD_RELOC_SPARC_H34.
	(tc_gen_reloc): Likewise.

2012-04-12  Roland McGrath  <mcgrathr@google.com>

	* configure.tgt (arm-*-nacl*): Match it.
	* config/te-nacl.h (FPU_DEFAULT, EABI_DEFAULT): Define.
	(LOCAL_LABELS_DOLLAR): Define.
	* config/tc-arm.c (elf32_arm_target_format) [TE_NACL]:
	Use nacl format variants.

2012-04-12  Jie Zhang  <jie@codesourcery.com>
            Meador Inge  <meadori@codesourcery.com>

	* config/tc-arm.c (only_one_reg_in_list): New function.
	(encode_ldmstm): Ditto.
	(do_ldmstm): Use a different encoding when pushing or poping
	a single register.
	(A_COND_MASK): New macro.
	(A_PUSH_POP_OP_MASK): Ditto.
	(A1_OPCODE_PUSH): Ditto.
	(A2_OPCODE_PUSH): Ditto.
	(A2_OPCODE_POP): Ditto.

2012-04-06  Maciej W. Rozycki  <macro@linux-mips.org>

	* doc/c-mips.texi (MIPS Opts): Correct -no-mfix-24k to
	-mno-fix-24k.

2012-04-06  Roland McGrath  <mcgrathr@google.com>

	* configure.in (AC_CHECK_HEADERS): Add locale.h.
	* config.in: Regenerate.
	* configure: Regenerate.

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

	* configure.in (AC_CHECK_FUNCS): Add setlocale.
	(AM_LC_MESSAGES): Add.
	* aclocal.m4: Regenerate.
	* config.in: Regenerate.
	* configure: Regenerate.

2012-04-03  DJ Delorie  <dj@redhat.com>

	* config/rx-parse.y: Make the .L optional for ADC and SBB.

2012-04-02  DJ Delorie  <dj@redhat.com>

	* config/rx-parse.y: IMM->IMM_, take an extra parameter for the
	transfer size.
	(IMM): New, call IMM_ with the default 32.
	(IMMW,IMMB): Likewise, for 16 and 8.
	(NIMM, MBIMM): Add size parameter.
	(immediate): Likewise.  Allow 32768..65535 for 16-bit transfers.
	(MOV.W): Use IMMW instead of IMM.

	* config/rx-parse.y (ADC,SBB): ADC and SBB only allow .L.
	(op_dp20_rm_l): New.
	(op_dp20_rim_l): New.

	* config/rx-parse.y (op_dp20_rms): Rename to op_dp20_rr, don't allow mem.
	(ABS, NEG, NOT): These only take REG or REG,REG (rr, not rms).

2012-03-29  Terry Guo  <terry.guo@arm.com>

	* config/tc-arm.c (arm_cpus): Add cortex-m0plus.
	* doc/c-arm.texi (ARM Options): Document -mcpu=cortex-m0plus.

2012-03-23  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* config/tc-mips.c (mips_cpu_info_table): Add entry for Broadcom XLP.
	* doc/c-mips.texi: Mention XLP.

2012-03-21  Thomas Schwinge  <thomas@codesourcery.com>

	[SH] Support the .uaquad and .8byte directives also for non-sh64
	configurations.

	* config/tc-sh.c (sh_cons_fix_new, md_apply_fix) [!HAVE_SH64]: Handle
	BFD_RELOC_64.
	* doc/c-sh64.texi (SH64 Machine Directives): Move .uaquad
	description...
	* doc/c-sh.texi (SH Machine Directives): ... here.

2012-03-20  Nick Clifton  <nickc@redhat.com>

	* config/tc-arm.c (do_vmrs): Accept priviledged mode VFP system
	registers.
	(do_vmsr): Likewise.
	(arm_opcode_insns): Do not default to using the FPSCR register in
	the VMRS and VMSR registers.

2012-03-16  Roland McGrath  <mcgrathr@google.com>

	* config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT32, ELF_TARGET_FORMAT64):
	Define for this case.
	* configure.tgt (i386-*-nacl*): If ${cpu} is x86_64*, default to x32.

2012-03-16  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* config/tc-arm.c (aeabi_set_public_attributes): Correct
	handling of Tag_DIV_use.

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

	* doc/as.texinfo (Bundle directives): Fix typo.

2012-03-14  Ryan Mansfield  <rmansfield@qnx.com>

	* doc/as.texinfo (Bundle directives): Replace @defn with @dfn.

2012-03-13  Roland McGrath  <mcgrathr@google.com>

	* config/tc-arm.c (arm_frag_max_var): New function.
	* config/tc-arm.h: Declare it.
	(md_frag_max_var): New macro.

	* config/tc-i386.c (i386_frag_max_var): New function.
	* config/tc-i386.h: Declare it.
	(md_frag_max_var): New macro.

	* doc/as.texinfo (Bundle directives): New node.
	(Pseudo Ops): Add it to the menu.
	* NEWS: Mention new feature.
	* read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro.
	[HANDLE_BUNDLE] (bundle_align_p2): New variable.
	[HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables.
	[HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle):
	New functions.
	(assemble_one): New function if [HANDLE_BUNDLE], #define directly
	to md_assembly if not.
	(read_a_source_file): Call assemble_one in place of md_assemble.
	(read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated
	.bundle_lock at end of processing.
	[HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock):
	New functions.
	[HANDLE_BUNDLE] (potable): Add their entries.
	* read.h: Declare new functions.

2012-03-10  Edmar Wienskoski  <edmar@freescale.com>

	* config/tc-ppc.c (md_show_usage): Document -me5500 and -me6500.
	(ppc_handle_align): Add termination nop opcode for e500mc family.
	* doc/as.texinfo: Document options -me5500 and -me6500.
	* doc/c-ppc.texi: Likewise.

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

	* config/tc-mn10300.c (other_registers): Add SSP and USP.
	(md_assemble): Add support for TLS relocs.
	(mn10300_parse_name): Likewise.

2012-02-27  Alan Modra  <amodra@gmail.com>

	* config/tc-crx.c (check_range): Correct uint32_t misconceptions.

2012-02-27  Alan Modra  <amodra@gmail.com>

	* config/tc-tic4x.c (tic4x_do_align): Remove ATTRIBUTE_UNUSED on
	params.  Properly generate NOP pattern.  Comment reason for
	subseg_text_p failure.

2012-02-27  Alan Modra  <amodra@gmail.com>

	* config/tc-h8300.c (constant_fits_width_p): Trim constant to 32 bits
	and sign extend before range tests.
	(constant_fits_size_p): Similarly.
	(get_specific): Trim X_add_number to 32 bits.
	(fix_operand_size): Likewise, and use unsigned test for signed
	ranges.

2012-02-27  Alan Modra  <amodra@gmail.com>

	* config/tc-crx.c: Include bfd_stdint.h.
	(getconstant): Remove irrelevant comment.  Don't fail due to
	sign-extension of int mask.
	(check_range): Rewrite using unsigned arithmetic throughout.

2012-02-25  Walter Lee  <walt@tilera.com>

	* tc-tilepro.c (emit_tilepro_instruction): Check if symbol is
	non-local before checking sy_value.
	* tc-tilegx.c (emit_tilegx_instruction): Ditto.

2012-02-25  Walter Lee  <walt@tilera.com>

	* tc-tilepro.c (O_tls_le): Define operator.
	(O_tls_le_lo16): Ditto.
	(O_tls_le_hi16): Ditto.
	(O_tls_le_ha16): Ditto.
	(O_tls_gd_call): Ditto.
	(O_tls_gd_add): Ditto.
	(O_tls_ie_load): Ditto.
	(md_begin): Delete old operators; handle new operators.
	(emit_tilepro_instruction): Ditto.
	(md_apply_fix): Ditto.
	* tc-tilegx.c (O_hw1_got): Delete operator.
	(O_hw2_got): Ditto.
	(O_hw3_got): Ditto.
	(O_hw2_last_got): Ditto.
	(O_hw1_tls_gd): Ditto.
	(O_hw2_tls_gd): Ditto.
	(O_hw3_tls_gd): Ditto.
	(O_hw2_last_tls_gd): Ditto.
	(O_hw1_tls_ie): Ditto.
	(O_hw2_tls_ie): Ditto.
	(O_hw3_tls_ie): Ditto.
	(O_hw2_last_tls_ie): Ditto.
	(O_hw0_tls_le): Define operator.
	(O_hw0_last_tls_le): Ditto.
	(O_hw1_last_tls_le): Ditto.
	(O_tls_gd_call): Ditto.
	(O_tls_gd_add): Ditto.
	(O_tls_ie_load): Ditto.
	(O_tls_add): Ditto.
	(md_begin): Delete old operators; handle new operators.
	(emit_tilegx_instruction): Ditto.
	(md_apply_fix): Ditto.
	* doc/c-tilegx.texi: Delete old operators; document new operators.
	* doc/c-tilepro.texi: Ditto.

2012-02-25  Walter Lee  <walt@tilera.com>

	* tc-tilepro.c (apply_special_operator): delete cases for
	got and tls operators.
	(md_apply_fix): Ditto.
	* tc-tilegx.c (md_begin): Set architecture and machine.
	(tilegx_target_format): Handle big endian.
	(OPTION_EB): Define.
	(OPTION_EL): Define.
	(md_longopts): Add entries for "EB" and "EL".
	(md_parse_option): Handle OPTION_EB and OPTION_EL.
	(md_show_usage): Add -EB and -EL.
	(md_number_to_chars): New.
	(apply_special_operator): delete cases for got and tls
	operators.
	(md_apply_fix): Ditto.
	* tc-tilegx.h (TARGET_BYTES_BIG_ENDIAN): Guard definition with
	ifndef.
	(md_number_to_chars): Delete.
	* configure.tgt (tilegx*be): Handle.
	* doc/as.texinfo [TILE-Gx]: Document -EB and -EL.
	* doc/c-tilegx.texi: Ditto.

2012-02-21  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock,
	HLEPrefixAny and HLEPrefixRelease.

2012-02-21  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	* gas/config/tc-arm.h (DOUBLESLASH_LINE_COMMENTS): Define.

2012-02-21  Iain Sandoe  <idsandoe@googlemail.com>

	* write.c (write_object_file): Add md_pre_output_hook.
	* config/obj-macho.c (obj_mach_o_check_before_writing): New.
	(obj_mach_o_pre_output_hook): New.
	* config/obj-macho.h (md_pre_output_hook): Define.
	(obj_mach_o_pre_output_hook): Declare.

2012-02-21  Tristan Gingold  <gingold@adacore.com>

	* config/tc-i386.h (OBJ_MACH_O): New section.
	(TC_FORCE_RELOCATION): Use obj_mach_o_force_reloc.
	(TC_FORCE_RELOCATION_SUB_SAME): New
	(TC_FORCE_RELOCATION_SUB_LOCAL): New.
	(TC_VALIDATE_FIX_SUB): New.
	* frags.h (struct frag): OBJ_FRAG_TYPE, new field.
	* symbols.c (colon): obj_frob_colon: New hook.
	* write.c (write_object_file): md_pre_relax_hook, new
	hook.
	* config/obj-macho.c (obj_mach_o_frob_colon): New.
	(obj_mach_o_frob_label): Record sub-section labels.
	(obj_mach_o_frob_symbol): Rename from obj_macho_frob_symbol.
	(obj_mach_o_set_subsections): New.
	(obj_mach_o_pre_relax_hook): New.
	(obj_mach_o_in_different_subsection): New.
	(obj_mach_o_force_reloc_sub_same): New.
	(obj_mach_o_force_reloc_sub_local): New.
	(obj_mach_o_force_reloc): New.
	* config/obj-macho.h (OBJ_SYMFIELD_TYPE): New.
	(obj_frob_colon): New Define.
	(obj_mach_o_frob_label): Renamed.
	(obj_mach_o_frob_symbol): Renamed.
	(OBJ_FRAG_TYPE): New.
	(obj_mach_o_in_different_subsection, obj_mach_o_force_reloc,
	 obj_mach_o_force_reloc_sub_same,
	 obj_mach_o_force_reloc_sub_local): New declarations.

2012-02-20  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_is_frame_section): New.
	(obj_mach_o_allow_local_subtract): New.
	* config/obj-macho.h (md_allow_local_subtract): Define.
	(obj_mach_o_allow_local_subtract): Declare.

2012-02-20  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
	canonical information, try to determine CODE and DEBUG section flags
	from the mach-o section data.

2012-02-20  Nick Clifton  <nickc@redhat.com>

	* cgen.c (gas_cgen_parse_operand): Do not set BSF_RELC flag on
	local symbols.

2012-02-12  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_indirect_symbol): Force promotion of
	any local symbol used as an indirect.

2012-02-10  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_make_or_get_sect): Always fill in
	stub size when provided.  (obj_mach_o_section): Flag that stub-size
	has been provided.

2012-02-08  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (HLE_PREFIX): New.
	(check_hle): Likewise.
	(_i386_insn): Add have_hle.
	(cpu_arch): Add .hle and .rtm.
	(md_assemble): Call check_hle if i.have_hle isn't zero.
	(parse_insn): Set i.have_hle to 1 for HLE prefix.
	(output_jump): Support up to 2 byte opcode.

	* doc/c-i386.texi: Document hle/.hle and rtm/.rtm.

2012-02-02  Tristan Gingold  <gingold@adacore.com>

	* config/obj-macho.c (obj_mach_o_zerofill): Silent
	uninitialized variable warning.

2012-02-02  Nick Clifton  <nickc@redhat.com>

	PR gas/13224
	* config/obj-elf.c (obj_elf_parse_section_letters): Rename 'clone'
	to 'is_clone' to avoid shadowing a gloabl.
	(obj_elf_section): Likewise.

2012-01-31  Paul Brook  <paul@codesourcery.com>

	* doc/c-tic6x.c: Fix typo.

2012-01-26  Alexey Makhalov  <makhaloff@gmail.com>

	PR gas/13624
	* app.c (app_push): Set 'add_newlines' to zero after saving.

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

	* config/rl78-parse.y (NOT1): Add.

2012-01-23  Roland McGrath  <mcgrathr@google.com>

	* configure.tgt (i386-*-nacl*): Match it.
	* config/te-nacl.h: New file.
	* config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT): Define for this case.
	* config/tc-i386.c [TE_NACL] (i386_comment_chars, PREFIX_SEPARATOR):
	Use TE_GNU et al case for TE_NACL too.

2012-01-20  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (_i386_insn): Replace disp32_encoding with
	disp_encoding.
	(md_assemble): Updated.
	(output_branch): Likewise.
	(parse_insn): Support .d8 suffix.
	(build_modrm_byte): Fake zero displacement for .d8 and .d32
	suffixes.

	* doc/c-i386.texi: Document .d8 suffix.

2012-01-17  Andrew Burgess  <aburgess@broadcom.com>

	* write.c (fix_new_internal): Don't mark used parameter as unused.

2012-01-17  Alan Modra  <amodra@gmail.com>

	* as.c (parse_args): Update copyright message year.

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

	* config/tc-i386.c (cpu_arch): Add ".vmfunc".

	* doc/c-i386.texi: Document vmfunc.

2012-01-13  Tristan Gingold  <gingold@adacore.com>

	* config/obj-macho.c (obj_mach_o_reorder_section_relocs): New.
	* config/obj-macho.h (SET_SECTION_RELOCS): Define.
	(obj_mach_o_reorder_section_relocs): Declare.

2012-01-13  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_set_indirect_symbols): Handle
	absolute indirect symbols.

2012-01-13  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_set_vma_data): New type.
	(obj_mach_o_set_section_vma): New.
	(obj_mach_o_post_relax_hook): New.
	* config/obj-macho.h (md_post_relax_hook): Define.
	(obj_mach_o_post_relax_hook): Declare.

2012-01-12  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off
	lazy when the symbol is private_extern.
	(obj_mach_o_indirect_sym): New type.
	(obj_mach_o_indirect_symbol): New.
	(mach_o_pseudo_table): Use obj_mach_o_indirect_symbol.
	(obj_macho_frob_label): Adjust to avoid adding bsyms for locals.
	(obj_macho_frob_label): Likewise.  Adjust external and comm
	symbol tests.
	(obj_mach_o_set_indirect_symbols): New.
	(obj_mach_o_frob_file_after_relocs): New.
	*config/obj-macho.h (obj_frob_file_after_relocs): Define.
	(obj_mach_o_frob_file_after_relocs): Declare.

2012-01-12  Tristan Gingold  <gingold@adacore.com>

	PR gas/13591
	* config/obj-coff.h (sy_obj): Rename macro to avoid a name conflict.

2012-01-10  Tristan Gingold  <gingold@adacore.com>

	* struc-symbol.h (struct symbol_flags): New struct, created from...
	(struct symbol): ... this one.  Add sy_flags field, remove flag fields.
	(struct local_symbol): Replace lsy_marker field by lsy_flags.
	Adjust comment.
	(local_symbol_resolved_p): Adjust.
	(local_symbol_mark_resolved): Likewise.
	* symbols.c (LOCAL_SYMBOL_CHECK): Adjust.
	(local_symbol_make, local_symbol_convert, colon)
	(symbol_clone_if_forward_ref, verify_symbol_chain)
	(resolve_symbol_value, snapshot_symbol, S_GET_VALUE)
	(S_IS_WEAKREFR, S_IS_WEAKREFD, S_IS_VOLATILE, S_IS_FORWARD_REF)
	(S_SET_WEAKREFR, S_CLEAR_WEAKREFR, S_SET_WEAKREFD)
	(S_CLEAR_WEAKREFD, S_SET_VOLATILE, S_CLEAR_VOLATILE)
	(S_SET_FORWARD_REF, symbol_same_p, symbol_mark_used)
	(symbol_clear_used, symbol_used_p, symbol_mark_used_in_reloc)
	(symbol_clear_used_in_reloc, symbol_used_in_reloc_p)
	(symbol_mark_mri_common, symbol_clear_mri_common)
	(symbol_mri_common_p, symbol_mark_written, symbol_clear_written)
	(symbol_written_p, symbol_mark_resolved, symbol_resolved_p)
	(symbol_equated_reloc_p, dot_symbol_init)
	(print_symbol_value_1): Adjust.

2012-01-09  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_weak): Remove.
	(obj_mach_o_common_parse): Set symbol qualifiers.
	(LAZY, REFE): New macros.
	(obj_mach_o_symbol_type): New enum.
	(obj_mach_o_set_symbol_qualifier): New.
	(obj_mach_o_sym_qual): New.
	(mach_o_pseudo_table): Add symbol qualifiers, set indirect_symbol to
	a dummy function.
	(obj_mach_o_type_for_symbol): New.
	(obj_macho_frob_label): New.
	(obj_macho_frob_symbol): New.
	* config/obj-macho.h (S_SET_ALIGN): Amend temorary var name.
	(obj_frob_label, obj_macho_frob_label): Declare.
	(obj_frob_symbol, obj_macho_frob_symbol): Declare.

2012-01-08  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tc-mips.c (s_tls_rel_directive): Call mips_clear_insn_labels.

2012-01-08  Andrew Pinski  <andrew.pinski@caviumnetworks.com>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tc-mips.c (mips_move_labels): Take the list of labels and
	textness as parameters.
	(mips_move_text_labels): New function.
	(append_insn): Use it instead of mips_move_labels.
	(mips_emit_delays, start_noreorder): Likewise.
	(mips_align): Take the labels rather than just one label.
	Move all labels to after the .align.
	(s_align): Change the last argument to mips_align.
	(s_cons): Likewise.
	(s_float_cons): Likewise.
	(s_gpword): Likewise.
	(s_gpdword): Likewise.

2012-01-06  Tristan Gingold  <gingold@adacore.com>

	* config/tc-i386.c: Update copyright year.
	(lex_got): Also defined for Mach-O.
	Add a guard for non-ELF configuration.
	(md_longopts): Also handle -64 for Mach-O.
	(md_parse_option): Likewise.
	(i386_target_format): Adjust for x86_64-darwin.

2012-01-04  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_mach_o_segT_from_bfd_name): Tidy definition.
	(obj_mach_o_get_section_names): New (split from obj_mach_o_section).
	(obj_mach_o_make_or_get_sect): Likewise.
	(obj_mach_o_section): Split out the functionality shared with zerofill.
	(obj_mach_o_zerofill): New.
	(obj_mach_o_common_parse): Ensure whitespace is skipped.
	(mach_o_pseudo_table): Add .zerofill.

2012-01-03  Iain Sandoe  <idsandoe@googlemail.com>

	* config/obj-macho.c (obj_macho_process_stab): New.
	* config/obj-macho.h (OBJ_PROCESS_STAB): Define.
	(obj_macho_process_stab): Declare.

For older changes see ChangeLog-2011

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
