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

	* config/tc-m68hc11.c: Fix R_M68HC12_16B relocation for movb/w

2012-10-09  Nagajyothi Eggone  <nagajyothi.eggone@amd.com>

	* config/tc-i386.c (cpu_arch): Add CPU_BDVER3_FLAGS.
	* doc/c-i386.texi: Add -march=bdver3 option.

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

	* configure.in: Apply 2012-09-10 change to config.in here.

2012-09-18  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* config/tc-arm.c: Changed ldra and strl-form mnemonics
	to lda and stl-form for armv8.

2012-09-17  Yufeng Zhang  <yufeng.zhang@arm.com>

	* config/tc-aarch64.c (aarch64_archs): Rename 'armv8' to 'armv8-a'.

2012-08-17  Nagajyothi Eggone  <nagajyothi.eggone@amd.com>

	* config/tc-i386.c (cpu_arch): Add CPU_BTVER1_FLAGS and
	CPU_BTVER2_FLAGS.
	(i386_align_code): Add case for PROCESSOR_BT.

	* config/tc-i386.h (enum processor_type): Add PROCESSOR_BT.

	* doc/c-i386.texi: Add -march={btver1, btver2} options.

2012-09-10  Matthias Klose  <doko@ubuntu.com>

	* config.in: Disable sanity check for kfreebsd.

2012-09-10  Hans-Peter Nilsson  <hp@bitrange.com>

	PR gas/14521
	* config/tc-mmix.h (tc_frob_file_before_fix): Renumber sections
	after call to mmix_frob_file.

	* config/tc-mmix.c (loc_asserts): New variable.
	(mmix_greg_internal): Handle expressions not determinable at first
	pass.
	(s_loc): Ditto.  Record expressions where the section isn't
	determinable at the first pass, and assume they don't refer to
	other sections.
	(mmix_md_end): Verify that recorded LOC expressions weren't
	to other sections, else emit error messages.

2012-08-31  Maciej W. Rozycki  <macro@codesourcery.com>

	* doc/c-mips.texi (MIPS Opts): Correct a typo in the -mips5
	option.

2012-08-13  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (NO_ISA_COP, COP_INSN): Remove macros.
	(is_opcode_valid): Remove coprocessor instruction exclusions.
	Replace OPCODE_IS_MEMBER with opcode_is_member.
	(is_opcode_valid_16): Replace OPCODE_IS_MEMBER with
	opcode_is_member.
	(macro): Remove coprocessor instruction exclusions.

2012-08-13  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (s_cpload, s_cpsetup): Fail if MIPS16 mode.
	(s_cplocal, s_cprestore, s_cpreturn): Likewise.

2012-08-06  Maciej W. Rozycki  <macro@codesourcery.com>

	* config/tc-mips.c (append_insn): Also handle moving delay-slot
	instruction across frags for fixed branches.

2012-08-03  Maciej W. Rozycki  <macro@codesourcery.com>

	* frags.c (frag_grow): Never shrink the obstack size requested
	below the default.

	* config/tc-mips.c (ISA_SUPPORTS_DSP_ASE): Also set if microMIPS
	mode.
	(ISA_SUPPORTS_DSPR2_ASE): Likewise.
	(macro_build) <'2'>: Handle microMIPS.
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-09-04  Sergey A. Guriev  <sergey.a.guriev@intel.com>

	* config/tc-ia64.c (reg_symbol): Add a new register.
	(indirect_reg): Ditto.
	(pseudo_func): Add new symbolic constants.
	(operand_match): Add new operand types recognition.
	(operand_insn): Add new register recognition.
	(md_begin): Add new register definition.
	(specify_resource): Add new register recognition.

2012-08-28  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>

	Apply mainline patches
	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (ARM_ENC_TAB): Add sha1h and sha2op entries.
	(do_sha1h): New function.
	(do_sha1su1): Likewise.
	(do_sha256su0): Likewise.
	(insns): Add 2 operand SHA instructions.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (NEON_ENC_TAB): Add sha3op entry.
	(do_crypto_3op_1): New function.
	(do_sha1c): Likewise.
	(do_sha1p): Likewise.
	(do_sha1m): Likewise.
	(do_sha1su0): Likewise.
	(do_sha256h): Likewise.
	(do_sha256h2): Likewise.
	(do_sha256su1): Likewise.
	(insns): Add SHA 3 operand instructions.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (neon_type_mask): Add P64 type.
	(type_chk_of_el_type): Handle P64 type.
	(el_type_of_type_chk): Likewise.
	(do_neon_vmull): Handle VMULL.P64.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (NEON_ENC_TAB): Add aes entry.
	(neon_type_mask): Add N_UNT.
	(neon_check_type): Don't always decay typed to untyped sizes.
	(do_crypto_2op_1): New function.
	(do_aese): Likewise.
	(do_aesd): Likewise.
	(do_aesmc.8): Likewise.
	(do_aesimc.8): Likewise.
	(insns): Add AES instructions.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (el_type_type_check): Add handling for 16-bit
	floating point types.
	(do_neon_cvttb_2): New function.
	(do_neon_cvttb_1): Likewise.
	(do_neon_cvtb): Refactor to use do_neon_cvttb_1.
	(do_neon_cvtt): Likewise.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (NEON_ENC_TAB): Add vrint entries.
	(neon_cvt_mode): Add neon_cvt_mode_r.
	(do_vrint_1): New function.
	(do_vrint_x): Likewise.
	(do_vrint_z): Likewise.
	(do_vrint_r): Likewise.
	(do_vrint_a): Likewise.
	(do_vrint_n): Likewise.
	(do_vrint_p): Likewise.
	(do_vrint_m): Likewise.
	(insns): Add VRINT instructions.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (NEON_ENC_TAB): Add vcvta entry.
	(neon_cvt_mode): New enumeration.
	(do_vfp_nsyn_cvt_fpv8): New function.
	(do_neon_cvt_1): Add support for new conversions.
	(do_neon_cvtr): Use neon_cvt_mode enumerator.
	(do_neon_cvt): Likewise.
	(do_neon_cvta): New function.
	(do_neon_cvtn): Likewise.
	(do_neon_cvtp): Likewise.
	(do_neon_cvtm): Likewise.
	(insns): Add new VCVT instructions.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm>
	* config/tc-arm.c (CVT_FLAVOUR_VAR): New define.
	(CVT_VAR): New helper define.
	(neon_cvt_flavour): New enumeration, function renamed...
	(get_neon_cvt_flavour): ...to this.
	(do_vfp_nsyn_cvt): Update to use new neon_cvt_flavour.
	(do_vfp_nsyn_cvtz): Likewise.
	(do_neon_cvt_1): Likewise.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (NEON_ENC_TAB): Add vmaxnm, vminnm entries.
	(vfp_or_neon_is_neon_bits): Add NEON_CHECK_ARCH8 enumerator.
	(vfp_or_neon_is_neon): Add check for SIMD for ARMv8.
	(do_maxnm): New function.
	(insns): Add vmaxnm, vminnm entries.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (NEON_ENC_TAB): Add entries for VSEL.
	(NEON_ENC_FPV8_): New define.
	(do_vfp_nsyn_fpv8): New function.
	(do_vsel): Likewise.
	(insns): Add VSEL instructions.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (do_rm_rn): New function.
	(do_strlex): Likewise.
	(do_t_strlex): Likewise.
	(insns): Add support for LDRA/STRL instructions.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (do_t_bkpt_hlt1): New function.
	(do_t_hlt): New function.
	(do_t_bkpt): Use do_t_bkpt_hlt1.
	(insns): Add HLT.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (insns): Add DCPS instruction.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (T16_32_TAB): Add _sevl.
	(insns): Add SEVL.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (asm_barrier_opt): Add arch field.
	(mark_feature_used): New function.
	(parse_barrier): Check specified option is valid for the
	specified architecture.
	(UL_BARRIER): New macro.
	(barrier_opt_names): Update for new barrier options.

	2012-08-24  Matthew Gretton-Dann <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (do_setend): Warn on deprecated SETEND.
	(do_t_setend): Likewise.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (do_t_it): Fully initialise now_it.
	(new_automatic_it_block): Likewise.
	(handle_it_block): Record whether current instruction is
	conditionally executed.
	* config/tc-arm.c (depr_insn_mask): New structure.
	(depr_it_insns): New variable.
	(it_fsm_post_encode): Warn on deprecated uses.
	* config/tc-arm.h (current_it): Add new fields.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (deprecated_coproc_regs_s): New structure.
	(deprecated_coproc_regs): New variable.
	(deprecated_coproc_reg_count): Likewise.
	(do_co_reg): Error on obsolete & warn on deprecated registers.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.c (check_obsolete): New function.
	(do_rd_rm_rn): Check swp{b} for obsoletion.

	2012-08-24  Matthew Gretton-Dann  <matthew.gretton-dann@arm.com>
	* config/tc-arm.h (arm_ext_v8): New variable.
	(fpu_vfp_ext_armv8): Likewise.
	(fpu_neon_ext_armv8): Likewise.
	(fpu_crypto_ext_armv8): Likewise.
	(arm_archs): Add armv8-a.
	(arm_extensions): Add crypto, fp, and simd.
	(arm_fpus): Add fp-armv8, neon-fp-armv8, crypto-neon-fp-armv8.
	(cpu_arch_ver): Add support for ARMv8.
	(aeabi_set_public_sttributes): Likewise.
	* doc/c-arm.texi (ARM Options): Document new architecture and
	extension options for ARMv8.

2012-08-16  Ian Bolton  <ian.bolton@arm.com>
            Laurent Desnogues  <laurent.desnogues@arm.com>
            Jim MacArthur  <jim.macarthur@arm.com>
            Marcus Shawcroft  <marcus.shawcroft@arm.com>
            Nigel Stephens  <nigel.stephens@arm.com>
            Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
            Richard Earnshaw  <rearnsha@arm.com>
            Sofiane Naci  <sofiane.naci@arm.com>
            Tejas Belagod  <tejas.belagod@arm.com>
            Yufeng Zhang  <yufeng.zhang@arm.com>

	* Makefile.am: Add AArch64.
	* Makefile.in: Regenerate.
	* config/tc-aarch64.c: New file.
	* config/tc-aarch64.h: New file.
	* configure.tgt: Add AArch64.
	* doc/Makefile.am: Add AArch64.
	* doc/Makefile.in: Regenerate.
	* doc/all.texi: Add AArch64.
	* doc/as.texinfo: Add AArch64.
	* doc/c-aarch64.texi: New file.
	* po/POTFILES.in: Regenerate.
	* NEWS: Mention the new support.

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

	* config/tc-m68hc11.c (build_indexed_byte): Replace use of binary
	constant with hex for building on cygwin.

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  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.23.

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-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-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-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:
