2009-10-30  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	* config/tc-hppa.c (pa_build_unwind_subspace): Replace start symbol
	with local symbol.

2009-10-29  Sebastian Pop  <sebastian.pop@amd.com>

	* config/tc-i386.c (build_modrm_byte): Do not swap REG and
	NDS operands for FMA4.

2009-10-29  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (neon_tab_entry): Fix VNMLA/VNMLS opcodes.

2009-10-29  Paul Brook  <paul@codesourcery.com>

	* doc/c-arm.texi: Document ARM -mcpu=cortex-a5.
	* config/arm/tc-arm.c (arm_cpu_option_table): Add cortex-a5.

2009-10-29  Tristan Gingold  <gingold@adacore.com>

	* config/tc-mep.c (md_pseudo_table): Remove dwarf2 debug pseudo
	as they are already defined in obj-elf.c
	* config/tc-m32c.c (md_pseudo_table): Ditto.
	* config/tc-spu.c (md_pseudo_table): Ditto.
	* config/tc-avr.c (md_pseudo_table): Ditto.

2009-10-29  Alan Modra  <amodra@bigpond.net.au>

	* doc/as.texinfo (Set): Delete incorrect HPPA para.

2009-10-28  Paul Brook  <paul@codesourcery.com>

	* config/tc-arm.c (opcode_lookup): Allow VFP/NEON type suffixes
	unconditionally.

2009-10-28  Alan Modra  <amodra@bigpond.net.au>

	PR gas/10856
	* expr.c (resolve_expression): Only add "left" value to O_symbol
	expression when the symbol is undefined and different from the
	original symbol.  Simplify negative logic.

2009-10-27  Tristan Gingold  <gingold@adacore.com>

	* config/tc-avr.c (md_pseudo_table): Add dwarf2 debug pseudo.
	* config/tc-avr.h (DWARF2_LINE_MIN_INSN_LENGTH): Define.
	(DWARF2_ADDR_SIZE): Define.

2009-10-27  Alan Modra  <amodra@bigpond.net.au>

	PR gas/10850
	* listing.c (listing_flags): Delete.
	* listing.h: Likewise.
	* read.c (potable <lflags>): Call s_ignore.

2009-10-26  Nick Clifton  <nickc@redhat.com>

	* doc/as.texinfo: Add mention of RX port and inclusion of RX
	documentation.

2009-10-25  Arnold Metselaar  <arnold.metselaar@planet.nl>

	* config/tc-z80.c (z80_start_line_hook): Fix parsing of 'equ' or
	'defl' in cases where the space between the keyword and the
	expression has been scrubbed away.
	Do not check whether a symbol is redefined with 'equ' here;
	the function equals takes an argument indicating whether
	redefinitions are allowed.
	Only call LISTING_NEWLINE if needed, and then after the call to
	bump_line_counters.

2009-10-25  Maciej W. Rozycki  <macro@linux-mips.org>

	* doc/as.texinfo (Overview): Move -mfix7000/-mno-fix7000 to
	match the order elsewhere.  Add -mfix-vr4120/-mno-fix-vr4120 and
	-mfix-vr4130/-mno-fix-vr4130.
	* doc/c-mips.texi (MIPS Opts): Correct -no-mfix-vr4120 to
	-mno-fix-vr4120 and -no-mfix-vr4130 to -mno-fix-vr4130.

2009-10-20  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10775
	* doc/c-i386.texi: Mention movabs.

2009-10-19  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/c-i386.texi: Don't mention the 8 extra control registers
	for x86-64.

2009-10-19  Doug Evans  <dje@sebabeach.org>

	* config/tc-lm32.c (md_begin): Add missing call to bfd_set_arch_mach.

	* config/tc-xc16x.c (md_cgen_lookup_reloc): Ensure fix_size is set
	correctly for all 16 bit relocs.  Return BFD_RELOC_NONE if reloc
	isn't recognized, not BFD_RELOC_XC16X_SOF.

2009-10-18  Alan Modra  <amodra@bigpond.net.au>

	* as.h (know): Don't define as empty.
	* config/tc-arm.c (make_mapping_symbol): Revert last patch.

2009-10-18  Matthias Klose  <doko@ubuntu.com>

	* config/tc-arm.c (make_mapping_symbol): Add braces to avoid empty body
	in release builds.

2009-10-16  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10775
	* doc/c-i386.texi: Mention the 8 extra control registers for
	x86-64.
	Mention .code64 directive.

2009-10-15  Alan Modra  <amodra@bigpond.net.au>

	PR gas/1491
	* macro.c: Delete unnecessary function declarations.
	(buffer_and_nest): Support multiple labels per line for
	LABELS_WITHOUT_COLONS targets if the labels do have colons.
	(free_macro): Move so that we don't need forward declaration.
	* read.c (read_a_source_file): Take a copy of macro expansion line
	before we trim labels.
	* listing.c (listing_newline): Adjust stdin line save for
	input_line_pointer still at start of line.

2009-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10766
	* config/tc-i386.c (build_modrm_byte): Declare exp earlier.

2009-10-13  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10740
	* config/tc-i386-intel.c (i386_intel_operand): Handle call
	and jump with 2 immediate operands.

	* config/tc-i386.c (i386_finalize_immediate): Don't generate
	error message if operand string is NULL.

2009-10-013  Vincent Riviere  <vincent.riviere@freesbee.fr>

	PR gas/3041
	* config/tc-m68k.c (tc_gen_reloc): Fix addend for relocations
	located in data section an referencing a weak symbol.

2009-10-07  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-arm.c (mapping_state, mapping_state_2): Make dummy
	versions slightly more than nothing.

	* doc/c-arm.texi (ARM Options): Correctly name the two mapcs options.

2009-10-07  Alan Modra  <amodra@bigpond.net.au>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/2117
	* config/tc-ia64.c (parse_operand): Use expression rather than
	expression_and_evalute.
	(parse_operand_and_eval): New function.  Replace all uses of
	parse_operand outside of parse_operands with this function.
	(parse_operans_maybe_eval): New function.  Replace uses of
	parse_operand in parse_operands, except for the dummy, with
	this function.

2009-10-06  Alan Modra  <amodra@bigpond.net.au>

	PR gas/10704
	* symbols.c (snapshot_symbol): Revert 2006-01-09 patch for PR2117.

2009-10-06  Alan Modra  <amodra@bigpond.net.au>

	* read.c (s_reloc): Don't use expression_and_evaluate.

2009-10-02  Peter Bergner  <bergner@vnet.ibm.com>

	* config/tc-ppc.c (md_show_usage): Document -m476.
	* doc/c-ppc.texi (PowerPC-Opts): Document -m476.

2009-10-02  Jakub Jelinek  <jakub@redhat.com>

	* dw2gencfi.c: Include dwarf2dbg.h.
	(DWARF2_FORMAT): Define if not defined.
	(dot_cfi_sections): New function.
	(cfi_pseudo_table): Handle .cfi_sections.
	(CFI_EMIT_eh_frame, CFI_EMIT_debug_frame): Define.
	(cfi_sections): New variable.
	(output_cie, output_fde, select_cie_for_fde): Add eh_frame
	argument, add supporting for outputting .debug_frame
	section.
	(cfi_change_reg_numbers): New function or macro.
	(cfi_finish): Only emit .eh_frame if
	cfi_sections & CFI_EMIT_eh_frame.  Emit .debug_frame if
	cfi_sections & CFI_EMIT_debug_frame.
	* config/tc-ppc.h (md_reg_eh_frame_to_debug_frame): Define.
	* doc/as.texinfo (CFI directives): Document .cfi_sections.

2009-10-01  Peter Bergner  <bergner@vnet.ibm.com>

	* config/tc-ppc.c (md_show_usage): Rename "ppca2" to "a2".
	* doc/c-ppc.texi (PowerPC-Opts): Likewise.

2009-10-01  H.J. Lu  <hongjiu.lu@intel.com>

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

2009-09-29  DJ Delorie  <dj@redhat.com>

	* Makefile.am: Add RX target.
	* configure.in: Likewise.
	* configure.tgt: Likewise.
	* read.c (do_repeat_with_expander): New function.
	* read.h: Provide a prototype for do_repeat_with_expander.
	* doc/Makefile.am: Add RX target documentation.
	* doc/all.texi: Likewise.
	* doc/as.texinfo: Likewise.
	* Makefile.in: Regenerate.
	* NEWS: Mention support for RX architecture.
	* configure: Regenerate.
	* doc/Makefile.in: Regenerate.
	* config/rx-defs.h: New file.
	* config/rx-parse.y: New file.
	* config/tc-rx.h: New file.
	* config/tc-rx.c: New file.
	* doc/c-rx.texi: New file.

2009-09-25  Martin Thuresson  <martint@google.com>

	Update sources to make alpha, arc and arm targets compile cleanly
	with -Wc++-compat:
	* config/tc-alpha.c: Add casts.
	(extended_bfd_reloc_code_real_type): New type. Used to avoid
	enumeration conversion warnings.
	(struct alpha_fixup, void assemble_insn, assemble_insn)
	(assemble_tokens): Use new type.
	* ecoff.c: Add casts. (mark_stabs): Use enumeration names.
	* config/obj-elf.c: Add cast
	* config/tc-arc.c: Add casts.
	* config/obj-aout.h (text_section,data_section,bss_section):
	Make extern.
	* config/obj-elf.c: Add cast.
	* config/tc-arm.c: Add casts.
	(X, TxCE, TxCE, TxC3, TxC3w, TxCM_, TxCM, TUE, TUF, CE, CL, cCE)
	(cCL, C3E, xCM_, nUF, nCE_tag): Change input format to avoid the
	need for keywords as arguments.

2009-09-25  Nick Hudson  <nick.hudson@gmx.co.uk>

	* doc/c-mips.texi: Fix the singlefloat and doublefloat kindex
	entries

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

	* config/tc-i386.c (build_vex_prefix): Check vex == 2 instead
	of vex256.

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

	PR gas/10677
	* config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Return true
	for BFD_RELOC_X86_64_GOTPCREL.

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

	* config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Don't check
	BFD_RELOC_386_GOT32.

2009-09-23  Sterling Augustine  <sterling@jaw.hq.tensilica.com>

	* config/tc-xtensa.c (md_apply_fix): Remove check for constant with
	difference of of two symbols.
	(xtensa_fix_adjustable): Likewise.

2009-09-23  Tim E. Sneddon  <tsneddon@kednos.com>

	* configure.com: Fix a typo.

2009-09-23  Alan Modra  <amodra@bigpond.net.au>

	* symbols.c (define_sym_at_dot): New function, extracted from..
	(colon): ..here.  Define error case cloned symbol.

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

	* config/tc-i386.c: Remove white spaces.

2009-09-21  Ben Elliston  <bje@au.ibm.com>
	    Peter Bergner  <bergner@vnet.ibm.com>

	* config/tc-ppc.c (md_show_usage): Document -mpcca2.
	* doc/c-ppc.texi (PowerPC-Opts): Document -mppca2.

2009-09-18  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

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

	* config/tc-i386.c (offset_in_range): Sign extend offset only
	if BFD64 is defined.

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

	* config/tc-i386-intel.c (i386_intel_operand): Initialize
	intel_state.has_offset to 0.

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

	* config/tc-i386.c (offset_in_range): Sign extend offset only
	for 32bit address mode.

2009-09-15  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms (OBJS): Compile te-vms.c only on Itanium.

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

	PR gas/10637
	* config/tc-i386-intel.c (intel_state): Add has_offset.
	(i386_intel_simplify): Set intel_state.has_offset to 1 for
	O_offset.
	(i386_intel_operand): Turn on intel_state.is_mem if
	intel_state.has_offset is 0 and the last char is ']'.

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

	PR gas/10636
	* config/tc-i386.c (optimize_disp): Set disp32 for 64bit only
	if there is an ADDR_PREFIX.
	(i386_finalize_displacement): Repor error if signed 32bit
	displacement is out of range.

2009-09-13  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tc-mips.c (MIPS_JALR_HINT_P): Take an expr argument.
	Require the target to be a bare symbol on targets with
	in-place addends.
	(macro_build_jalr): Update accordingly.
	(mips_fix_adjustable): Don't reduce R_MIPS_JALRs on targets
	with in-place addends.

2009-09-11  Nick Clifton  <nickc@redhat.com>

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

2009-09-11  Martin Thuresson  <martint@google.com>

	* as.c (main): Call dwarf2_init.
	* config/obj-elf.c (struct group_list): New field.
	(build_group_lists): Use hash lookup.
	(free_section_idx): New function.
	(elf_frob_file): Adjust.
	* dwarf2dbg.c (all_segs_hash, last_seg_ptr): New variables.
	(get_line_subseg): Adjust.
	(dwarf2_init): New function.
	* dwarf2dbg.h (dwarf2_init): New declaration.

2009-09-11  Martin Thuresson  <martint@google.com>

	Updated sources to compile cleanly with -Wc++-compat:
	* app.c: Add casts.
	* as.c: Add casts.
	* config/obj-elf.c: Add casts.
	(obj_elf_type): Rename variable typename to type_name.
	* config/tc-i386-intel.c (i386_operators): Rename member operator to op.
	* config/tc-i386.c: Add casts.
	(check_cpu_arch_compatible): Rename argument new to new_flag.
	(gotrel): Update variable to use enum name instead of integer value.
	* dw2gencfi.c: Add casts.
	(struct cfi_escape_data): Move to top level.
	* dwarf2dbg.c: Add cast.
	* dwarf2dbg.h (dwarf2_loc_directive_seen): Make variable extern.
	* ehopt.c Add casts.
	(enum frame_state): Move to top level.
	* expr.c (operatorf): Rename function operator to operatorf.
	(operand): Rename variable operator to op.
	(expr_set_rank): Rename argument operator to op.
	* frags.c: Add cast.
	* hash.c: Add casts.
	* input-scrub.c: Add cast.
	* listing.c: Add casts.
	(enum edict_enum): Move to top level.
	* macro.c: Add casts.
	* macro.h (enum formal_type): Move to top level.
	* read.c: Add casts.
	(s_include): Rename variable try to try_file.
	* remap.c: Add cast.
	* stabs.c: Add casts.
	* subsegs.c: Add casts.
	* symbols.c: Add casts.
	* write.c: Add casts.

2009-09-11  Hans-Peter Nilsson  <hp@bitrange.com>

	PR gas/10623
	* config/tc-mmix.c (md_assemble) <case mmix_operands_xyz_opt>:
	Allow register operands for SWYM as for TRIP and TRAP.  Correct
	operand handling and error checking.  Never emit
	BFD_RELOC_MMIX_REG_OR_BYTE for operands to these insns.

2009-09-10  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-d10v.c: Include dwarf2dbg.h.
	(write_long, write_1_short, write_2_short): Call dwarf2_emit_insn.
	(d10v_frob_label): New function.
	* config/tc-d10v.h (d10v_frob_label): Declare.
	(tc_frob_label): Define as d10v_frob_label.

2009-09-10  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-d30v.c (d30v_frob_label): Call dwarf2_emit_label.
	* config/tc-frv.c (frv_frob_label): Likewise.

2009-09-09  Alan Modra  <amodra@bigpond.net.au>

	* config/obj-coff.h (USE_UNIQUE): Don't define.
	* config/obj-coff.c (weak_uniquify): Use an_external_name when TE_PE.
	* symbols.c (an_external_name): Define when TE_PE.
	(S_SET_EXTERNAL): Assign an_external_name when TE_PE.
	* tc.h (an_external_name): Declare when TE_PE.

	* config/tc-i386.c (i386_target_format): Avoid duplicate case label.

2009-09-08  Kaz Kojima  <kkojima@rr.iij4u.or.jp>

	* configure.tgt (sh*-*-netbsdelf*): Set endian according to cpu.

2009-09-08  Alan Modra  <amodra@bigpond.net.au>

	* read.c (emit_expr_fix): Handle size 3.
	* config/tc-avr.c (md_assemble): Call dwarf2_emit_insn.
	* config/tc-d30v.c (write_long, write_1_short,
	write_2_short, md_assemble): Likewise.
	* config/tc-dlx.c (md_assemble): Likewise.
	* config/tc-i860.c (md_assemble): Likewise.
	* config/tc-mn10200.c (md_assemble): Likewise.
	* config/tc-pj.c (md_assemble): Likewise.
	* config/tc-vax.c (md_assemble): Likewise.

2009-09-07  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.c (arm_cpus): cortex-r4f CPU added.
	* doc/c-arm.texi: cortex-r4f CPU added.

2009-09-07  Tristan Gingold  <gingold@adacore.com>

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

	* Makefile.am (TARG_ENV_CFILES): New variable.  Set to te-vms.c
	(POTFILES): Add $(TARG_ENV_CFILES) in definition.
	(EXTRA_as_new_SOURCES): Ditto.
	* Makefile: Regenerate.
	* acinclude.m4 (BFD_HAVE_TIME_TYPE_MEMBER,
	BFD_HAVE_SYS_STAT_TYPE_MEMBER): New macro created from bfd/bfd.m4.
	* configure.in: Add Tests for tm_gmtoff, st_mtim.tv_sec and
	st_mtim.tv_nsec (from bfd/configure.in).  Check for time.h and
	sys/stat.h headers.
	Add te-vms.o in extra_objects if te_file is vms.
	* configure: Regenerate.
	* config.in: Regenerate.
	* config/te-vms.c: New file, from bfd/vmsutil.c
	(vms_dwarf2_file_time_name, vms_dwarf2_file_size_name)
	(vms_dwarf2_file_name): New functions.
	(vms_file_stats_name): Make it static, add a dirname parameter to
	locally create the full pathname.
	* config/te-vms.h: Add a copyright header.
	Declare the above functions.
	(DWARF2_FILE_TIME_NAME, DWARF2_FILE_SIZE_NAME, DWARF2_FILE_NAME): Use
	the above functions in the definition.
	* makefile.vms (OBJS): Add te-vms.obj.
	(te-vms.obj): Create a specific target.
	* configure.com: Create targ-env.h using a per target value.
	Compile te-vms.c for ia64.

2009-09-05  Jie Zhang  <jie.zhang@analog.com>

	* doc/as.texinfo: Document that Blackfin GAS does not
	accept SYMBOL = VALUE.

2009-09-05  Martin Thuresson  <martin@mtme.org>

	* config/tc-arc.c (struct syntax_classes): Rename member class
	to s_class. (arc_extinst): Rename variable class to
	s_class. Update code to use renamed members.
	* config/tc-mips.c (insn_uses_reg): Rename argument class to
	regclass.
	* config/tc-ppc.c (ppc_csect, ppc_change_csect, ppc_function)
	(ppc_tc, ppc_is_toc_sym, ppc_symbol_new_hook, ppc_frob_label)
	(ppc_fix_adjustable, md_apply_fix): Update code to use renamed
	members.
	* config/tc-ppc.h (struct ppc_tc_sy): Change name of member
	from class to symbol_class. (OBJ_COPY_SYMBOL_ATTRIBUTES): Update
	code to use renamed members.
	* config/tc-score.c (s3_adjust_paritybit): Rename argument
	class to i_class.
	* config/tc-score7.c (s7_adjust_paritybit): Rename argument
	class to i_class.

2009-09-04  Tristan Gingold  <gingold@adacore.com>

	* NEWS: Add marker for 2.20.

2009-09-04  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-parse.y (asm_1): Implement HLT instruction.
	Fix comments for DBGA, DBGAH and DBGAL.
	* config/tc-bfin.c (bfin_gen_pseudodbg_assert): Change according
	to the new encoding of DBGA, DBGAH, and DBGAL.

2009-09-04  Jie Zhang  <jie.zhang@analog.com>

	* doc/all.texi: Replace BFIN with Blackfin.
	* doc/as.texinfo: Likewise.
	* doc/c-bfin.texi: Likewise.
	* doc/asconfig.texi: Likewise.

	* doc/c-bfin.texi: Update -mcpu= option with bf512, bf514,
	bf516 and bf518.

2009-09-04  Jie Zhang  <jie.zhang@analog.com>

	* Makefile.am (bfin-parse.o): Remove bfin-parse.h from
	the prerequisite. Add $(srcdir)/config/bfin-aux.h to the
	prerequisite.
	(bfin-defs.h, $(srcdir)/config/bfin-defs.h): Rename to ...
	(bfin-parse.h, $(srcdir)/config/bfin-parse.h): ... these.
	(bfin-lex.o): Add bfin-parse.h and $(srcdir)/config/bfin-defs.h
	to the prerequisite.
	* Makefile.in: Regenerate.

2009-09-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (itbl-lex.o): Depend on itbl-parse.h.
	(itbl-ops.o, itbl-tops.o): Likewise.
	(itbl-parse.h): Use separate rule.
	* Makefile.in: Regenerate.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/tc-bfin.c (md_parse_option): Call as_fatal for bad
	-mcpu= option.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-lex.l: Remove V as STATUS_REG.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-parse.y: Remove trailing whitespace.
	(ccstat): Indent.
	* config/tc-bfin.c (struct bfin_reg_entry): Remove.
	(bfin_reg_info[]): Remove.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-defs.h (F_REG_ALL): Remove macro.
	(F_REG_HIGH): Redefine.
	(F_REG_NONE): New macro.
	(F_REG_LOW): New macro.
	(REG_CLASS): Enclose macro argument in parentheses when used.
	(REG_EVEN): Likewise.
	(IS_H): Use flags.
	(IS_HCOMPL): Use flags.
	* config/bfin-lex.l (SP.L, SP.H, FP.L, FP.H): Set flags.
	(parse_reg): Set flags.
	(parse_halfreg): Set flags.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-parse.y (gen_multi_instr_1): Check anomaly
	05000074 only when both slot1 and slot2 are filled.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/tc-bfin.c (md_assemble): Bump line counters if there is
	EOL in the instruction.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-defs.h (IS_GENREG): Define.
	(IS_DAGREG): Define.
	(IS_SYSREG): Define.
	* config/bfin-parse.y (asm_1): Check illegal register move
	instructions.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-parse.y (asm_1): Fix a typo.

2009-09-03  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-parse.y (asm_1): Add LOOP_BEGIN and LOOP_END.
	* config/tc-bfin.c (bfin_start_line_hook): Remove.
	(bfin_loop_beginend): New.
	* config/tc-bfin.h (bfin_start_line_hook): Don't declare.
	(md_start_line_hook): Don't define.
	* config/bfin-aux.h (bfin_loop_beginend): Declare.

2009-09-03  Tristan Gingold  <gingold@adacore.com>

	* config/tc-ia64.c (ia64_vms_note): Use lbasename instead of basename.
	Call xstrdup on the result and free the buffer after use.

2009-09-03  Tristan Gingold  <gingold@adacore.com>

	* as.h (__PRETTY_FUNCTION__): Use the same definition as bfd/libbfd.h.

2009-09-02  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-parse.y (value_match): Use int instead of long.

	From  Michael Frysinger  <michael.frysinger@analog.com>
	* config/bfin-defs.h (Expr_Node_Value): Declare the i_value
	member as long long.

2009-09-02  Jie Zhang  <jie.zhang@analog.com>

	From  Bernd Schmidt  <bernd.schmidt@analog.com>
	* config/bfin-parse.y (asm_1): Clean up and unify error handling
	for load and store insns.
	(neg_value): Delete function.

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

	* Makefile.am (m68k-parse.o, bfin-lex.o, itbl-lex.o, itbl-parse.o):
	Supply correct source file name for generated files which may be
	in $(srcdir).
	* Makefile.in: Regenerate.

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

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

2009-09-01  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms: Adjust include pathes.  Remove useless vaxctrl
	library.
	* configure.com: Ported to Itanium VMS.  Create build.com DCL script.
	Make edit silent.

2009-09-01  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-parse.y (asm_1): Only PREG and DREG are allowed
	in comparison.

2009-09-01  Jie Zhang  <jie.zhang@analog.com>

	2007-09-28  Bernd Schmidt  <bernd.schmidt@analog.com>
	* config/tc-bfin.c (bfin_fix_adjustable): Partially revert the
	2007-08-23 change; BFD_RELOC_BFIN_GOT is not adjustable.

	2007-08-23  Jie Zhang  <jie.zhang@analog.com>
	* config/tc-bfin.c (bfin_fix_adjustable): Adjust
	BFD_RELOC_BFIN_GOT, BFD_RELOC_BFIN_GOT17M4 and
	BFD_RELOC_BFIN_FUNCDESC_GOT17M4.

2009-09-01  Jie Zhang  <jie.zhang@analog.com>

	* read.c (TC_START_LABEL): Add a new argument.
	(read_a_source_file): Pass the beginning of the symbol through
	the new argument of TC_START_LABEL.
	* config/tc-arm.h (TC_START_LABEL): Add a new argument.
	* config/tc-bfin.c (bfin_start_label): Only search '(' and '['
	from the beginning of the symbol.
	* config/tc-bfin.h (TC_START_LABEL): Add the new argument.
	* config/tc-d30v.h (TC_START_LABEL): Likewise.
	* config/tc-fr30.h (TC_START_LABEL): Likewise.
	* config/tc-m32c.h (TC_START_LABEL): Likewise.
	* config/tc-m32r.h (TC_START_LABEL): Likewise.
	* config/tc-mep.h (TC_START_LABEL): Likewise.

2009-08-31  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10570
	* write.c (write_object_file): Revert the accidental change
	made in revision 1.124 on 2009-08-17.

2009-08-31  Jan Beulich  <jbeulich@novell.com>

	* config/obj-elf.c (obj_elf_change_section): Set default type
	by calling bfd_elf_get_default_section_type.

2009-08-31  Jie Zhang  <jie.zhang@analog.com>

	* config/bfin-aux.h: Change format from DOS to UNIX.

2009-08-29  Martin Thuresson  <martin@mtme.org>

	* config/tc-arm.c (struct asm_cond, struct asm_psr, struct
	asm_barrier_opt): Change member template to
	template_name. (md_begin): Update code to reflect new member
	names.
	* config/tc-i386.c (struct templates, struct _i386_insn)
	(match_template, cpu_flags_match, match_reg_size, match_mem_size)
	(operand_size_match, md_begin, i386_print_statistics, pi)
	(build_vex_prefix, md_assemble, parse_insn, optimize_imm)
	(optimize_disp): Updated code to use new names. (parse_insn):
	Added casts.
	* config/tc-ia64.c (dot_template, emit_one_bundle): Updated
	code to use new names.
	* config/tc-score.c (struct s3_asm_opcode): Renamed member
	template to template_name. (s3_parse_16_32_inst, s3_parse_48_inst,
	s3_do_macro_ldst_label, s3_build_score_ops_hsh): Update code to
	use new names.
	* config/tc-score7.c (struct s7_asm_opcode): Renamed member
	template to template_name. (s7_parse_16_32_inst,
	s7_do_macro_ldst_label, s7_build_score_ops_hsh): Update code to
	use new names.
	* config/tc-tic30.c (md_begin, struct tic30_insn)
	(md_assemble): Update code to use new names.
	* config/tc-tic54x.c (struct _tic54x_insn, md_begin)
	(optimize_insn, tic54x_parse_insn, next_line_shows_parallel):
	Update code to use new names.
	* config/tc-arm.c (insert_reg_alias): Rename variable new to
	new_reg.
	* config/tc-dlx.c (parse_operand): Rename variable new to
	new_pos.
	* config/tc-ia64.c (ia64_gen_real_reloc_type): Rename variable
	new to newr.
	* config/tc-mcore.c (parse_exp, parse_imm): Rename variable
	new to new_pointer.
	* config/tc-microblaze.c (parse_exp, parse_imm, check_got):
	Change name from new to new_pointer.
	* config/tc-or32.c (parse_operand): Rename variable new to
	new_pointer.
	* config/tc-pdp11.c (md_assemble): Rename variable new to
	new_pointer.
	* config/tc-pj.c (alias): Change argument new to new_name.
	* config/tc-score.c (s3_build_score_ops_hsh): Rename variable
	new to new_opcode. (s3_build_dependency_insn_hsh) Rename variable
	new to new_i2n. (s3_convert): Rename variables old and new to
	r_old and r_new.
	* config/tc-score7.c (s7_build_score_ops_hsh): Rename variable
	new to new_opcode. (s7_build_dependency_insn_hsh): Rename variable
	new to new_i2d. (s7_b32_relax_to_b16, s7_convert_frag): Rename
	variables old and new to r_old and r_new.
	* config/tc-sh.c (parse_exp): Rename variable new to
	new_pointer.
	* config/tc-sh64.c (shmedia_parse_exp): Rename variable new to
	new_pointer.
	* config/tc-tic4x.c (tic4x_operand_parse): Rename variable new
	to new_pointer.
	* config/tc-z8k.c (parse_exp): Rename variable new to
	new_pointer.
	* listing.c (listing_newline): Rename variable new to new_i.

2009-08-29  Matt Fleming  <matt@console-pimps.org>

	* config/tc-sh.c (md_apply_fix): Extend sign of the offset value
	for 64-bit host.

2009-08-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Use PROCESSOR_L1OM on "l1om".
	(i386_align_code): Handle PROCESSOR_L1OM.
	(check_cpu_arch_compatible): Fix a typo in comments.
	(set_cpu_arch): Check cpu_arch_isa instead of
	cpu_arch_isa_flags.bitfield.cpul1om.
	(i386_mach): Likewise.
	(i386_target_format): Likewise.

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

2009-08-26  DJ Delorie  <dj@redhat.com>

	* config/tc-mep.c (md_pcrel_from_section): Handle any other
	forced-relocation cases.

2009-08-26  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (TARGET_CPU_CFILES): Add config/tc-moxie.c.
	* config/tc-moxie.c (md_assemble): Fix typos in strings.  Fix
	syntax error.
	* Makefile.in: Regenerate.
	* po/POTFILES.in: Likewise.
	* po/gas.pot: Likewise.

2009-08-26  Nick Clifton  <nickc@redhat.com>

	* config/obj-coff-seh.c (seh_arm_write_pdata): Test for
	seh_ctx_root being NULL.

2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (am__skiplex, am__skipyacc): New.
	* Makefile.in: Regenerate.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.am (YFLAGS): Remove, not needed any more.
	(AM_CPPFLAGS): Renamed from ...
	(INCLUDES): ... this.
	* Makefile.in: Regenerate.

	* Makefile.am (AUTOMAKE_OPTIONS): Remove 1.8 cygnus, add 1.11,
	foreign and no-dist.
	(all): Remove now-unneeded dependency upon info.
	(DIST_SUBDIRS, MKDEP, DEP_INCLUDES, DEP_FLAGS, CLEANFILES)
	(DEP_FILE_DEPS): Remove variables.
	(OBJ_FORMAT_CFILES): Add config/obj-multi.c.
	(OBJ_FORMAT_HFILES): Add config/obj-multi.h.
	($(OBJS), ecoff.o): Remove now-unneeded manual dependencies.
	($(TARG_CPU_O), $(ATOF_TARG_O), obj-aout.o, obj-coff.o obj-ecoff.o)
	(obj-elf.o obj-evax.o, obj-fdpicelf.o, obj-multi.o, obj-som.o)
	(e-mipself.o, e-mipsecoff.o, e-i386aout.o, e-i386coff.o, e-i386elf.o)
	(e-crisaout.o, e-criself.o, tc-i386.o, xtensa-relax.o): Remove
	now-unneeded rules.
	(EXTRA_as_new_SOURCES): Add $(CFILES), $(HFILES), $(TARGET_CPU_CFILES),
	$(TARGET_CPU_HFILES), $(OBJ_FORMAT_CFILES), $(OBJ_FORMAT_HFILES),
	$(CONFIG_ATOF_CFILES), $(MULTI_CFILES), so their dependency fragments
	are picked up in the Makefile.
	(itbl-lex.c, itbl-ops.o): Remove manual dependencies.
	(m68k-parse.o, bfin-lex.o, itbl-lex.o, itbl-parse.o, itbl-tops.o)
	(itbl-test.o): Rewrite using automake-style dependency
	tracking rules; only list the dependency upon the primary source
	file, but no included headers.
	(DEP, DEP1, DEPTC, DEPOBJ, DEP2, dep.sed, dep, dep-in, dep-am):
	Remove.
	(mkdep section): Remove.
	* Makefile.in: Regenerate.
	* po/POTFILES.in, po/gas.pot: Regenerate.

	* Makefile.am (install-pdf, install-pdf-recursive, install-html)
	(install-html-recursive): Remove.
	* Makefile.in: Regenerate.
	* doc/Makefile.am (pdf__strip_dir, install-pdf, install-pdf-am)
	(html__strip_dir, install-html, install-html-am): Remove.
	* doc/Makefile.in: Regenerate.

	* Makefile.in: Regenerate.
	* aclocal.m4: Likewise.
	* config.in: Likewise.
	* configure: Likewise.
	* doc/Makefile.in: Likewise.

2009-08-21  Sterling Augustine  <sterling@jaw.hq.tensilica.com>

	* config/tc-xtensa.c (config_max_slots): New global variable.
	(md_begin): Set config_max_slots.
	(total_frag_text_expansion): Use config_max_slots instead of
	MAX_SLOTS.
	(xg_init_vinsn): Likewise.
	(xg_clear_vinsn): Likewise.
	(xg_free_vinsn): Likewise.

2009-08-20  Sterling Augustine  <sterling@jaw.hq.tensilica.com>

	* config/tc-xtensa.c (xg_copy_vinsn): New function.
	(finish_vinsn): Call xg_copy_vinsn.

2009-08-19  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.h (xtensa_frag_data): Rename unused field fr_prev
	to no_transform_end.
	* config/tc-xtensa.c (xtensa_mark_difference_of_two_symbols): Set
	and use no_transform_end.

2009-08-18  Kai Tietz  <kai.tietz@onevision.com>

	* config/obj-coff-seh.c: Add copyright notice.
	* config/obj-coff-seh.h: Add copyright notice.
	Add x64 specific macros from coff/pe.h header.

2009-08-18  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (xtensa_create_xproperty_segments): Use
	sizeof instead of hard-coded value.
	(add_xt_block_frags): Remove unused local variable.
	(frag_flags_to_number): Change return type to flagword.  Remove
	unused local variable.

2009-08-17  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (xtensa_frob_label): move call to
	do_align_targets to set frag_type only.

2009-08-17  Kai Tietz  <kai.tietz@onevision.com>

	* config/obj-coff-seh.c: New file.
	* config/obj-coff-seh.h: Likewise.
	* config/obj-coff.c (obj-coff-seh.c): Add include.
	(coff_pseudo_table): Add new .seh... commands.
	* config/obj-coff.h (obj_coff_seh_do_final): Add new
	function prototype.
	(obj_coff_generate_pdata): New obj-coff hook.
	* write.c (size_seg): Avoid sizing of already sized
	sections.
	(write_object_file): Call conditional hook
	objc_coff_generate_pdata.
	* Makefile.am: Add dependencies for new files.
	* Makefile.in: Regenerated.

2009-08-17  Nick Clifton  <nickc@redhat.com>

	* config/tc-microblaze.c: Include safe-ctype.h instad of ctype.h.
	(parse_reg): Use safe-ctype.h macros.
	(parse_exp): Likewise.
	(md_assemble): Likewise.

2009-08-11  DJ Delorie  <dj@redhat.com>

	* config/tc-mep.c (md_estimate_size_before_relax): Handle weak
	symbols correctly.
	(md_convert_frag): Likewise.
	(md_pcrel_from_section): Likewise.
	(mep_force_relocation): Likewise.

2009-08-11  Bernd Schmidt  <bernd.schmidt@analog.com>

	* config/bfin-parse.y (gen_multi_instr_1): New function.
	(asm): Use it instead of bfin_gen_multi_instr.
	(error): Add a format string when calling as_bad.
	* config/bfin-defs.h (insn_regmask): Declare.
	* config/tc-bfin.c (DREG_MASK, DREGH_MASK, DREGL_MASK, IREG_MASK): New
	macros.
	(decode_ProgCtrl_0, decode_LDSTpmod_0, decode_dagMODim_0,
	decode_dagMODik_0, decode_dspLDST_0, decode_LDST_0, decode_LDSTiiFP_0,
	decode_LDSTii_0, decode_dsp32mac_0, decode_dsp32mult_0,
	decode_dsp32alu_0, decode_dsp32shift_0, decode_dsp32shitimm_0,
	insn_regmask): New functions.

	From Jie Zhang  <jie.zhang@analog.com>
	* config/tc-bfin.h (bfin_anomaly_checks): Declare.
	(AC_05000074): Define.
	(ENABLE_AC_05000074): Define.
	* config/tc-bfin.c (enum bfin_cpu_type): New.
	(bfin_cpu_t): Typedef.
	(bfin_cpu_type): Define.
	(bfin_si_revision): Define.
	(bfin_anomaly_checks): Define.
	(struct bfin_cpu): New.
	(bfin_cpus[]): New. (struct bfin_cpu_isa): Define.
	(bfin_isa): New global variable.
	(OPTION_MCPU): Define.
	(md_longopts[]): Add -mcpu option.
	(md_parse_option): Deal with -mcpu option and initialize
	bfin_anomaly_checks.
	* doc/c-bfin.texi: Rename BFIN to Blackfin throughout.  Document
	-mcpu option.
	* config/bfin-parse.y (gen_multi_instr_1): Check anomaly
	05000074.

2009-08-11  Mike Frysinger  <vapier@gentoo.org>

	* config/bfin-parse.y (binary): Change "compiler" to "assembler".
	(unary): Likewise.

2009-08-11  Nick Clifton  <nickc@redhat.com>

	PR 10443
	* config/tc-arm.c (do_t_mov_cmp): Do not silently ignore shifted
	operands.

2009-08-10  Jan Kratochvil  <jan.kratochvil@redhat.com>

	Fix compilation of i386-*-go32.
	* config/tc-i386.c (i386_target_format <TE_GO32>): New.
	(i386_target_format <OBJ_MAYBE_COFF>): Compile only if !TE_GO32.
	* config/te-go32.h (TARGET_FORMAT): Move the definition ...
	* config/tc-i386.h <!i386_target_format>: ... here.

2009-08-10  Daniel Gutson  <dgutson@codesourcery.com>

	PR gas/10479
	* config/tc-arm.c (do_t_add_sub_w): Fixed constraints.

2009-08-07  Daniel Jacobowitz  <dan@codesourcery.com>

	* config/tc-arm.c (marked_pr_dependency, mapstate): Delete global
	variables.
	(mapping_state): Use the section's mapstate.
	(mapping_state_2): Likewise.  Skip special sections.
	(s_arm_unwind_fnend): Use the section's marked_pr_dependency.
	(arm_elf_change_section): Do not set deleted globals.
	* config/tc-arm.h (struct arm_segment_info_type): Document
	marked_pr_dependency.

2009-08-07  Michael Eager <eager@eagercon.com>

	* NEWS: Mention MicroBlaze support.

2009-08-06  Michael Eager <eager@eagercon.com>

	* Makefile.am: add microblaze to CPU_TYPES, config/tc-microblaze.c to
	TARGET_CPU_CFILES, config/tc-microblaze.h to TARGET_CPU_HFILES, add
	DEP_microblaze_elf target.
	* Makefile.in: Regenerate.
	* config/tc-microblaze.c: Add MicroBlaze assembler.
	* config/tc-microblaze.h: Add header for tc-microblaze.c.
	* configure.in: Add microblaze target.
	* configure: Regenerate.
	* configure.tgt: Same.
	* doc/Makefile.am: Add c-microblaze.texi to CPU_DOCS.
	* doc/Makefile.in: Same.
	* doc/all.texi: Set MICROBLAZE.
	* doc/as.texinfo: Add MicroBlaze doc links.
	* doc/c-microblaze.texi: New MicroBlaze docs.

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

	* config/tc-arm.c (md_assemble): Call mapping_state from inside a
	block in case it is a null macro.

2009-08-05  Chao-ying Fu  <fu@mips.com>

	* config/tc-mips.c (MIPS_JALR_HINT_P): New define. For IRIX, it is
	true for new abi.  For non-IRIX targets, it is always true.
	(macro_build_jalr): If MIPS_JALR_HINT_P, emit BFD_RELOC_MIPS_JALR.

2009-08-05  Eric B. Weddington  <eric.weddington@atmel.com>

	* config/tc-avr.c (mcu_types): Add attiny2313a, attiny4313, attiny261a,
	attiny861a, atmega644pa, attiny24a, attiny44a.
	* doc/c-avr.texi: Likewise.

2009-08-04  Sandra Loosemore  <sandra@codesourcery.com>

	* doc/c-mips.texi (MIPS Opts): List 1004K options for -march.
	* config/tc-mips.c (mips_cpu_info_table): Add 1004K cores.

2009-08-04  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-arm.c (my_get_expression): Detect missing expressions.

2009-08-02  Eric B. Weddington  <eric.weddington@atmel.com>

	* config/tc-avr.c (mcu_types): Add atmega8m1, atmega8c1, atmega16c1.
	* doc/c-avr.texi: Likewise.

2009-08-01  Eric B. Weddington  <eric.weddington@atmel.com>

	* config/tc-avr.c (mcu_types): Add atmega8u2, atmega16u2, atmega32u2.
	* doc/c-avr.texi: Likewise.

2009-07-31  Daniel Gutson  <dgutson@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* config/obj-elf.c (obj_elf_ident): Notify section change to the hook.
	* config/tc-arm.c (make_mapping_symbol): New function, from
	mapping_state.  Save mapping symbols in the frag.
	(insert_data_mapping_symbol): New.
	(mapping_state): Use make_mapping_symbol, improve state transitions.
	(mapping_state_2): New.  Provide dummy definition.
	(opcode_select): Do not call mapping_state.
	(s_bss): Call md_elf_section_change_hook instead of mapping_state.
	(output_inst): Update use of tc_frag_data.
	(new_automatic_it_block): Call mapping_state before emitting the
	IT instruction.
	(md_assemble): Move mapping_state to just before outputting the
	new instruction.
	(arm_handle_align): Update use of tc_frag_data.
	Call insert_data_mapping_symbol.
	(arm_init_frag): Update use of tc_frag_data.  Call
	mapping_state_2.
	(arm_elf_change_section): Always update the mapping symbol FSM state.
	(check_mapping_symbols): New function.
	(arm_adjust_symtab): Use check_mapping_symbols.
	* config/tc-arm.h (struct arm_frag_type): New.
	(TC_FRAG_TYPE): Change to struct arm_frag_type.
	(TC_FRAG_INIT): Pass max_chars.
	(arm_init_frag): Update prototype.

2009-07-31  Anthony Green  <green@moxielogic.com>

	* configure.tgt (generic_target): Add moxie-uclinux support.

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

	* doc/c-arm.texi (ARM-Instruction-Set): New node.  Documents the
	different syntaxes support by the ARM port.
	(ARM Directives): Add entry for .syntax.

	* doc/c-mips.texi (MIPS insn): Fix typo.

2009-07-29  Alan Modra  <amodra@bigpond.net.au>

	PR ld/10269
	* symbols.c (S_FORCE_RELOC): True for BSF_GNU_INDIRECT_FUNCTION.
	* config/tc-i386.c: Revert 2009-06-13 change.
	* config/tc-i386.h: Likewise.

2009-07-28  Jan Beulich  <jbeulich@novell.com>

	* expr.c (op_rank): Specify size. Remove O_md* initializers.

2009-07-27  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* config/tc-m68k.c (mcf5221x_ctrl): New.
	(m68k_cpu): Add line for MCF5221x.

2009-07-27  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* config/tc-m68k.c (mcf52235_ctrl): Remove non-existent CACR, ACR[01].
	(mcf53017_ctrl): Fix RAMBAR.

2009-07-27  Jan Beulich  <jbeulich@novell.com>

	* obj-elf.c (elf_file_symbol): Replace symbol name set up by
	symbol_new() with the passed in, unmodified one.

2009-07-27  M R Swami Reddy <MR.Swami.Reddy@nsc.com>

	* config/tc-cr16.c (md_apply_fix): Put the addend value alone in to
	object file without symbol values.
	(tc_gen_reloc): For local symbols resolved or its absolute symbol,
	then set the relocation type as NULL.

2009-07-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Add l1om.
	(check_cpu_arch_compatible): New.
	(set_cpu_arch): Use it.
	(i386_arch): New.
	(i386_mach): Return bfd_mach_l1om for Intel L1OM.
	(md_show_usage): Display l1om.
	(i386_target_format): Return ELF_TARGET_L1OM_FORMAT if
	cpu_arch_isa_flags.bitfield.cpul1om is set.

	* config/tc-i386.h (TARGET_ARCH): Use (i386_arch ()).
	(i386_arch): New.
	(ELF_TARGET_L1OM_FORMAT): Likewise.

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

2009-07-24  Roland McGrath  <roland@redhat.com>
	    Mark Wielaard  <mjw@redhat.com>

	* config/obj-elf.c (obj_elf_ident): Set SEC_MERGE | SEC_STRINGS
	flags on .comment section.

2009-07-24  Trevor Smigiel  <Trevor_Smigiel@playstation.sony.com>
	    Alan Modra  <amodra@bigpond.net.au>

	* config/tc-spu.c (md_apply_fix): Handle SPU_ADD_PIC.
	* config/tc-spu.h (tc_fix_adjustable): Don't adjust for SPU_ADD_PIC.
	(TC_FORCE_RELOCATION): Emit relocs for SPU_ADD_PIC.

2009-07-24  Jan Beulich  <jbeulich@novell.com>

	* tc-i386.c (cpu_arch): Add .8087, .287, .387, .no87, .nommx,
	.nosse, and .noavx.
	(cpu_flags_and_not): New.
	(set_cpu_arch): Check whether sub-architecture specified is a
	feature disable.
	(md_parse_option): Likewise.
	(parse_real_register): Don't return floating point register
	when x87 functionality is disabled.
	(md_show_usage): Add new sub-options.
	* doc/c-i386.texi: Update with new command line sub-options.

2009-07-24  Nick Clifton  <nickc@redhat.com>

	PR 10437
	* config/tc-alpha.c: Fix up uses of gas printf like functions so
	that the format string is a constant string.  Add translation
	support to message strings.
	* config/tc-arc.c: Likewise.
	* config/tc-arm.c: Likewise.
	* config/tc-cris.c: Likewise.
	* config/tc-fr30.c: Likewise.
	* config/tc-frv.c: Likewise.
	* config/tc-h8300.c: Likewise.
	* config/tc-hppa.c: Likewise.
	* config/tc-i370.c: Likewise.
	* config/tc-i960.c: Likewise.
	* config/tc-ia64.c: Likewise.
	* config/tc-m32r.c: Likewise.
	* config/tc-mep.c: Likewise.
	* config/tc-mips.c: Likewise.
	* config/tc-moxie.c: Likewise.
	* config/tc-msp430.c: Likewise.
	* config/tc-openrisc.c: Likewise.
	* config/tc-pdp11.c: Likewise.
	* config/tc-pj.c: Likewise.
	* config/tc-s390.c: Likewise.
	* config/tc-sh.c: Likewise.
	* config/tc-sh64.c: Likewise.
	* config/tc-sparc.c: Likewise.
	* config/tc-spu.c: Likewise.
	* config/tc-tic30.c: Likewise.
	* config/tc-tic4x.c: Likewise.
	* config/tc-tic54x.c: Likewise.
	* config/tc-v850.c: Likewise.
	* config/tc-xc16x.c: Likewise.
	* config/tc-xstormy16.c: Likewise.
	* config/tc-z80.c: Likewise.
	* config/tc-z8k.c: Likewise.
	* config/atof-ieee.c: Add translation support to as_warn
	messages.
	* config/obj-coff.c: Likewise.

2009-07-23  Ulrich Drepper  <drepper@redhat.com>

	* config/obj-elf.c (obj_elf_type): Add code to support a type of
	gnu_unique_object.
	* doc/as.texinfo: Document new feature of .type directive.
	* NEWS: Mention support for gnu_unique_object symbol type.

2009-07-23  Nick Clifton  <nickc@redhat.com>

	PR binutils/10379
	* doc/c-mips.texi (MIPS insn): Document the special behaviour of
	the .global directive for MIPS ports.

2009-07-21  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10420
	* config/tc-i386.c (i386_align_code): Tune for 32bit nops in
	64bit.
	(i386_target_format): Set cpu_arch_isa_flags.bitfield.cpulm
	for 64bit.

2009-07-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_assemble): Update operand types.
	(update_imm): Updated.
	(finalize_imm): Update the first 2 immediate operands only
	for instructions with 2 operands or more.

2009-07-17  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_assemble): Check implicit registers
	only for instructions with 3 operands or less.

2009-07-17  Nick Clifton  <nickc@redhat.com>

	* config/tc-avr.c (md_apply_fix): Cast fixup reloc type to avoid
	compile time warning.

2009-07-16  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (md_assemble): Only check i.operands for AX.
	(md_estimate_size_before_relax): Don't relax IFUNC symbols.

2009-07-16  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-arm.c (md_apply_fix <BFD_RELOC_ARM_TARGET2>): Write
	the offset for REL targets here.

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

	* listing.c (print_source): Initialize cache by NULL.

2009-07-15  Daniel Gutson  <dgutson@codesourcery.com>

	* doc/c-arm.texi (mauto-it): Removed old option.
	(mimplicit-it): Added right option.

2009-07-14  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.h (MAX_MEM_ALIGNMENT_BYTES): Define.
	(MAX_MEM_FOR_RS_ALIGN_CODE): Define in terms of
	MAX_MEM_ALIGNMENT_BYTES.
	* config/tc-arm.c (arm_frag_align_code): Replace hard coded
	constant with MAX_MEM_FOR_RS_ALIGN_CODE.

2009-07-14  Nick Clifton  <nickc@redhat.com>

	PR 10387
	* config/tc-arm.h (THUMB_IS_FUNC): Handle a NULL pointer.
	(ARM_IS_FUNC): Likewise.

2009-07-14  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.c (md_assemble): Added validation.

2009-07-10  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerated.

2009-07-10  Tom Tromey  <tromey@redhat.com>

	* Makefile.am (DEPTC_alpha_ecoff): Refer to dwarf2.h, not
	elf/dwarf2.h.
	(DEPTC_alpha_elf): Likewise.
	(DEPTC_alpha_evax): Likewise.
	(DEPTC_arm_elf): Likewise.
	(DEPTC_hppa_elf): Likewise.
	(DEPTC_i386_aout): Likewise.
	(DEPTC_i386_coff): Likewise.
	(DEPTC_i386_elf): Likewise.
	(DEPTC_m68k_aout): Likewise.
	(DEPTC_m68k_coff): Likewise.
	(DEPTC_m68k_elf): Likewise.
	(DEPTC_mips_coff): Likewise.
	(DEPTC_mips_ecoff): Likewise.
	(DEPTC_mips_elf): Likewise.
	(DEPTC_ppc_coff): Likewise.
	(DEPTC_ppc_elf): Likewise.
	(DEPTC_s390_elf): Likewise.
	(DEPTC_sh_coff): Likewise.
	(DEPTC_sh_elf): Likewise.
	(DEPTC_sh64_elf): Likewise.
	(DEPTC_sparc_aout): Likewise.
	(DEPTC_sparc_coff): Likewise.
	(DEPTC_sparc_elf): Likewise.
	(as.o): Likewise.
	(dwarf2dbg.o): Likewise.
	(dw2gencfi.o): Likewise.
	(ehopt.o): Likewise.
	(read.o): Likewise.
	* Makefile.in: Rebuild.
	* dw2gencfi.h: Include dwarf2.h, not elf/dwarf2.h.
	* dwarf2dbg.c: Likewise.
	* ehopt.c: Likewise.

2009-07-09  Daniel Gutson  <dgutson@codesourcery.com>

	* config/tc-arm.c (it_fsm_post_encode): New forward declaration.
	(set_it_insn_type_nonvoid): New macro.
	(emit_thumb32_expr): New function.
	(thumb_insn_size): New function.
	(emit_insn): New function.
	(s_arm_elf_inst): New function.
	(md_pseudo_table): New pseudo-opcode entries added.
	* doc/c-arm.texi: New directive added.

2009-07-07  DJ Delorie  <dj@redhat.com>

	* config/tc-mep.c (md_begin): Don't reset the coprocessor options
	when enabling other options without a specific configuration.

2009-07-07  Chung-Lin Tang  <cltang@pllab.cs.nthu.edu.tw>

	* config/tc-arm.c (insns): Fix encoding for torvsc.

2009-07-06  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>

	* config/tc-i386.c (cpu_arch): Add .fma4 and CPU_FMA4_FLAGS.
	(build_modrm_byte): Add support to handle FMA4 instructions.
	(md_show_usage): Add fma4.

2009-07-04  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-cr16.h (TC_LINKRELAX_FIXUP): Set only for code sections.

2009-07-02  Tristan Gingold  <gingold@adacore.com>

	* Makefile.am (OBJ_FORMATS): Add macho.
	(CPU_OBJ_VALID): Ditto.
	(OBJ_FORMAT_CFILES): Add config/obj-macho.c
	(OBJ_FORMAT_HFILES): Add config/obj-macho.h
	(obj-macho.o): New rule.
	* Makefile.in: Regenerated.
	* configure.tgt (generic_target): Add i386-*-darwin*.
	* config/tc-i386.h: Use i386_target_format for Mach-O.
	* config/tc-i386.c (i386_target_format): Define it for Mach-O.
	(i386_target_format): Add a case for bfd_target_mach_o_flavour.
	* config/obj-macho.h: New file.
	* config/obj-macho.c: New file.

2009-07-01  Nick Clifton  <nickc@redhat.com>

	PR 10168
	* config/tc-arm.c (do_t_pkhtb): Swap Rm and Rn when encoding as
	PKHBT.

2009-07-01  Paul Brook <paul@codesourcery.com>

	* config/tc-arm.c (MISSING_FNSTART): Define.
	(s_arm_unwind_fnstart): Diagnose duplicate directive.
	(s_arm_unwind_handlerdata, s_arm_unwind_fnend, s_arm_unwind_fnend,
	s_arm_unwind_cantunwind, s_arm_unwind_personalityindex,
	s_arm_unwind_personality, s_arm_unwind_save, s_arm_unwind_movsp,
	s_arm_unwind_pad, s_arm_unwind_setfp, s_arm_unwind_raw): Error if
	not inside function unwinding region.

2009-06-29  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c: Reformat.

2009-06-23  DJ Delorie  <dj@redhat.com>

	* config/tc-mep.c (mep_check_ivc2_scheduling): For IVC2, allocate
	32 bits for relaxable branches so that we can relax them later.
	(md_estimate_size_before_relax): Assume IVC2 branches will be relaxed.
	(mep_relax_frag): New.
	(md_convert_frag): Relax IVC2 branches in-place.
	* config/tc-mep.h ((mep_relax_frag): New.

2009-06-22  Martin Thuresson  <martin@mtme.org>

	* app, as.c, as.h, atof-generic.c, cgen.c,
	config/atof-ieee.c, config/obj-aout.c,
	config/obj-coff.c, config/obj-ecoff.c,
	config/obj-elf.c, config/obj-som.c, config/tc-alpha.c,
	config/tc-arc.c, config/tc-arm.c, config/tc-cr16.c,
	config/tc-cris.c, config/tc-crx.c, config/tc-d30v.c,
	config/tc-dlx.c, config/tc-hppa.c, config/tc-i370.c,
	config/tc-i386-intel.c, config/tc-i386.c,
	config/tc-i860.c, config/tc-i960.c, config/tc-ia64.c,
	config/tc-iq2000.c, config/tc-m32c.c,
	config/tc-m32r.c, config/tc-m68hc11.c,
	config/tc-m68k.c, config/tc-maxq.c, config/tc-mcore.c,
	config/tc-mep.c, config/tc-mips.c, config/tc-mmix.c,
	config/tc-mn10300.c, config/tc-moxie.c,
	config/tc-ns32k.c, config/tc-pj.c, config/tc-ppc.c,
	config/tc-s390.c, config/tc-score.c,
	config/tc-score7.c, config/tc-sh.c, config/tc-sparc.c,
	config/tc-spu.c, config/tc-tic30.c, config/tc-vax.c,
	config/tc-xtensa.c, config/xtensa-relax.c,
	dw2gencfi.c, dwarf2dbg.c, ehopt.c, expr.c,
	frags.c, input-file.c, read.c, sb.c,
	subsegs.c, symbols.c, write.c: Change the name of the
	gas macro `assert' to `gas_assert'.

2009-06-22  Daniel Gutson <dgutson@codesourcery.com>

	* config/tc-arm.c (implicit_it_mode): New enum.
	(implicit_it_mode): New global.
	(it_instruction_type): New enum.
	(arm_parse_it_mode): New function.
	(arm_long_opts): New option added.
	(arm_it): New field.
	(it_state): New enum.
	(now_it): New macro.
	(check_it_blocks_finished): New function.
	(insns[]): Use the IT Thumb opcodes for ARM too.
	(arm_cleanup): Call check_it_blocks_finished.
	(now_it_compatible): New function.
	(conditional_insn): New function.
	(set_it_insn_type): New macro.
	(set_it_insn_type_last): New macro.
	(do_it): Call automatic IT machinery functions.
	(do_t_add_sub): Likewise
	(do_t_arit3): Likewise.
	(do_t_arit3c): Likewise.
	(do_t_blx): Likewise.
	(do_t_branch): Likewise.
	(do_t_bkpt): Likewise.
	(do_t_branch23): Likewise.
	(do_t_bx): Likewise.
	(do_t_bxj): Likewise.
	(do_t_cps): Likewise.
	(do_t_cpsi): Likewise.
	(do_t_cbz): Likewise.
	(do_t_it): Likewise.
	(encode_thumb2_ldmstm): Likewise.
	(do_t_ldst): Likewise.
	(do_t_mov_cmp): Likewise.
	(do_t_mvn_tst): Likewise.
	(do_t_mul): Likewise.
	(do_t_neg): Likewise.
	(do_t_setend): Likewise.
	(do_t_shift): Likewise.
	(do_t_tb): Likewise.
	(output_it_inst): New function.
	(new_automatic_it_block): New function.
	(close_automatic_it_block): New function.
	(now_it_add_mask): New function.
	(it_fsm_pre_encode): New function.
	(handle_it_state): New function.
	(it_fsm_post_encode): New function.
	(force_automatic_it_block_close): New function.
	(in_it_block): New function.
	(md_assemble): Call automatic IT block machinery functions.
	(arm_frob_label): Likewise.
	(arm_opts): New element.
	* config/tc-arm.h (it_state): New enum.
	(current_it): New struct.
	(arm_segment_info_type): New member added.
	* doc/c-arm.texi: New option -mimplicit-it documented.

2009-06-20  Alan Modra  <amodra@bigpond.net.au>

	PR 10302
	* doc/as.texinfo (Section <ELF "M,S" flag>): Clarify tail merge.

2009-06-19  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* config/tc-s390.c (md_gather_operands): Accept an instruction
	without operands if all operands are tagged as optional.

2009-06-18  Nick Clifton  <nickc@redhat.com>

	PR 10169
	* tc-arm.c (do_t_ssat): Move common code from here...
	(do_t_usat): ... and here to...
	(do_t_ssat_usat): New function: ... here.  Add code to check that
	the shift value, if present, is in range.

2009-06-18  Dave Korn  <dave.korn.cygwin@gmail.com>

	Merge cegcc and mingw32ce target name changes
	from CeGCC project:

	2007-12-25  Pedro Alves  <pedro_alves@portugalmail.pt>

	* configure.tgt: Add arm*-*-cegcc* target.

	2007-12-17  Pedro Alves  <pedro_alves@portugalmail.pt>

	* configure.tgt: Add arm-*-mingw32ce* target.

2009-06-16  Maciej W. Rozycki  <macro@linux-mips.org>

	* config/tc-vax.c (md_estimate_size_before_relax): Accept
	indirect symbol references in the PIC mode and emit a
	PC-relative relocation instead of a GOT/PLT one.  Likewise
	for symbols known to be hidden at this point.

2009-06-15  Nick Clifton  <nickc@redhat.com>

	PR 10186
	* config/tc-arm.c (T16_32_TAB): Fix binary value of SEV.W
	instruction.

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

	PR ld/10269
	* config/tc-i386.c (md_apply_fix): Use TC_FORCE_RELOCATION
	instead of generic_force_reloc.

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

2009-06-11  Anthony Green  <green@moxielogic.com>

	* config/tc-moxie.c (md_chars_to_number): Define.
	(md_begin): Populate opcode hashtable with more form 3 opcodes.
	(md_assemble): Assemble MOXIE_F3_PCREL encoded instructions.
	(md_apply_fix): Handle BFD_RELOC_MOXIE_10_PCREL relocations.
	(tc_gen_reloc): Ditto.
	(md_pcrel_from): Ditto.
	(md_chars_to_number): New function.

2009-06-10  Anthony Green  <green@moxielogic.com>

	* config/tc-moxie.c (md_assemble): Handle MOXIE_F1_M encoded
	opcodes.

2009-06-09  Jakub Jelinek  <jakub@redhat.com>

	PR gas/10255
	* dw2gencfi.c (output_cfi_insn): Initialize fragment before rs_cfa
	to DW_CFA_advance_loc4.

2009-06-08  Dave Korn  <dave.korn.cygwin@gmail.com>

	PR gas/977
	* config/tc-i386.c (md_estimate_size_before_relax):  Don't relax
	branches to weak symbols.
	(md_apply_fix):  Don't convert fixes against weak symbols to
	section-relative offsets, but save addend for later reloc emission.
	(tc_gen_reloc):  When emitting reloc against weak symbol, adjust
	addend to pre-compensate for bfd_install_relocation.

2009-06-04  Alan Modra  <amodra@bigpond.net.au>

	* dep-in.sed: Don't use \n in replacement part of s command.
	* Makefile.am (DEP1, DEPTC, DEPOBJ, DEP2): LC_ALL for uniq.
	* Makefile.in: Regenerate.

2009-06-01  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/10198
	* config/tc-i386-intel.c (i386_intel_operand): Check '$' as '.'.

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

	* config/tc-mips.c (check_for_24k_errata): Remove.
	(md_mips_end): Remove call to check_for_24k_errata.
	(start_noreorder): Likewise.
	(s_change_sec): Likewise.
	(s_change_section): Likewise.
	(insns_between): Add 24k errata checks.
	(append_insn): Remove declaration and references to nhdx_24k.
	Remove calls to check_for_24k_errata.

2009-05-26  Nick Clifton  <nickc@redhat.com>

	* po/id.po: Updated Indonesian translation.
	* po/gas.pot: Updated template file.

2009-05-26  Nick Clifton  <nickc@redhat.com>

	PR 10143
	* config/bfin-parse.y (error): Use "%s" as format string for error
	message.

2009-05-26  Alan Modra  <amodra@bigpond.net.au>

	* dep-in.sed: Output one filename per line with all lines having
	continuation backslash.  Prefix first line with "A", following
	lines with "B".
	* Makefile.am (DEP): Don't use dep.sed here.
	(DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
	sort and uniq.
	(DEPTC, DEPOBJ, DEP2): Use dep.sed on dependencies, sort and uniq.
	Emit multi dependencies on one line.
	* Makefile.in: Regenerate.

2009-05-25  Tristan Gingold  <gingold@adacore.com>

	* makefile.vms: New file to compile gas on VMS.

	* configure.com: New file to do configuration on VMS with DCL.

2009-05-23  Richard Sandiford  <rdsandiford@googlemail.com>

	* config/tc-mips.c (nops_for_vr4130): Don't check noreorder_p.
	(nops_for_insn): Likewise.

2009-05-22  H.J. Lu  <hongjiu.lu@intel.com>

	* symbols.c (COPIED_SYMFLAGS): Add BSF_GNU_INDIRECT_FUNCTION.

2009-05-22  Dwarakanath Rajagopal  <dwarak.rajagopal@amd.com>

	* config/tc-i386.c (process_drex): Delete. Remove SSE5 support.
	(build_modrm_byte): Remove DREX handling support.
	(DREX_*): Delete.
	(drex_byte): Delete.
	(md_assemble): Remove DREX handling support.
	(process_operands): Remove DREX, SSE5 support.
	(i386_insn): Remove DREX.

2009-05-22  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2009-05-20  Kai Tietz  <kai.tietz@onevision.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* config/obj-coff.h: Include "coff/x86_64.h" for x86 pe-coff.
	(TARGET_FORMAT): Removed for x86 pe-coff.
	(COFF_TARGET_FORMAT): Likewise.

	* config/tc-i386.c (md_longopts): Allow --64 for x86 pe-coff.
	(md_parse_option): Likewise.
	(md_show_usage): Show option --32/--64 for x86 pe-coff.
	(i386_target_format): Use also for x86 pe-coff.

	* config/tc-i386.h (TARGET_FORMAT): Defined as i386_target_format
	for x86 pe-coff.

2009-05-19  DJ Delorie  <dj@redhat.com>

	* config/tc-mep.c (mep_machine): Only check CPU flags, not COP flags.
	(mep_process_saved_insns): Remove debugging printfs.

2009-05-19  Dave Korn  <dave.korn.cygwin@gmail.com>

	* NEWS:  Mention new feature.
	* config/obj-coff.c (obj_coff_common_parse):  New function.
	(obj_coff_comm):  Likewise.
	(coff_pseudo_table):  Override default ".comm" definition on PE.
	* doc/as.texinfo:  Document new feature.

2009-05-17  Kai Tietz  <kai.tietz@onevision.com>

	* config/obj-coff.c (obj_coff_section): Add 'y' as
	specifier for SEC_COFF_NOREAD section flag.
	* doc/as.texinfo: Add documentation about .section flag 'y'.

2009-05-13  DJ Delorie  <dj@redhat.com>

	* cgen.c (gas_cgen_parse_operand): Guard against NULL pointers.

2009-05-13  Andrew Jenner  <andrew@codesourcery.com>

	* config/tc-arm.c: Move as.h to start of file.

2009-05-05 Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/tc-arm.h: Fix typo in comment.
	(ARM_IS_FUNC): New macro.
	(MD_APPLY_SYM_VALUE): Define.

	* config/tc-arm.c (do_blx): Retain BFD_RELOC_ARM_PCREL_BLX for
	all versions of EABI.
	(relax_branch): Do not relax for branches to ARM functions.
	(md_pcrel_from_section): Set up base correctly for
	BFD_RELOC_THUMB_PCREL_BLX, BFD_RELOC_THUMB_PCREL_CALL,
	BFD_RELOC_THUMB_PCREL_BRANCH23, BFD_RELOC_ARM_PCREL_BLX
	BFD_RELOC_ARM_PCREL_CALL.
	(md_apply_fix): Flip bl to blx where possible.
	Flip blx to bl where possible.
	(arm_force_relocation): Force relocations for
	BFD_RELOC_ARM_PCREL_JUMP, BFD_RELOC_ARM_PCREL_JUMP,
	BFD_RELOC_ARM_PCREL_BLX, BFD_RELOC_THUMB_PCREL_BLX,
	BFD_RELOC_THUMB_PCREL_BRANCH20, BFD_RELOC_THUMB_PCREL_BRANCH23,
	BFD_RELOC_THUMB_PCREL_BRANCH25.
	(arm_apply_sym_value): New function.

2009-05-04  Tristan Gingold  <gingold@adacore.com>

	* config/tc-alpha.c: Also declare alpha_prologue_label for OBJ_EVAX.

2009-05-01  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-armlinux-eabi.h (FPU_DEFAULT): Default to plain VFP.
	* config/tc-armeabi.h (FPU_DEFAULT): Likewise.
	* config/tc-arm.c (md_begin): If FPU_DEFAULT is set, don't infer
	the default FPU from the processor.

2009-05-01  Julian Brown  <julian@codesourcery.com>

	* config/tc-arm.c (do_t_blx): Always use BFD_RELOC_THUMB_PCREL_BLX.
	(md_pcrel_from_section): Align address for BLX.
	(tc_gen_reloc): Change BFD_RELOC_THUMB_PCREL_BLX relocations to
	BFD_RELOC_THUMB_PCREL_BRANCH23 for EABI v4+.

2009-04-29  DJ Delorie  <dj@redhat.com>

	* config/tc-mep.c (md_begin): Check coprocessor type.
	(md_check_parallel64_scheduling): Use memset to initialize the buffer.
	(md_check_parallel32_scheduling): Likewise.
	(slot_ok): New.
	(mep_check_ivc2_scheduling): New.
	(mep_check_parallel_scheduling): Call it.
	(mep_process_saved_insns): Add IVC2 slot support.
	(md_assemble): Likewise.

2009-04-30  Nick Clifton  <nickc@redhat.com>

	* config/obj-elf.c (obj_elf_type): Add support for a
	gnu_indirect_function type.
	* config/tc-i386.c (tc_i386_fix_adjustable): Do not adjust fixups
	against indirect function symbols.
	* doc/as.texinfo (.type): Document the support for the
	gnu_indirect_function symbol type.
	* NEWS: Mention the new feature.

2009-04-24  Cary Coutant  <ccoutant@google.com>

	* NEWS: Add item about discriminator support.
	* dwarf2dbg.h (struct dwarf2_line_info): Add discriminator field.
	* dwarf2dbg.c (current): Add discriminator field.
	(dwarf2_where): Copy discriminator value.
	(dwarf2_consume_line_info): Set discriminator to 0.
	(dwarf2_directive_loc): Process discriminator sub-op.
	(out_leb128): New function.
	(process_entries): Output DW_LNE_set_discriminator.
	* doc/as.texinfo: Add discriminator operand to .loc directive.

2009-04-22  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-mips.c (macro_end, md_convert_frag): Use '%s' for
	as_bad calls to silence compiler warning.

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

	* config/tc-i386-intel.c (O_XXX): Reorder.

2009-04-20  Jan Beulich  <jbeulich@novell.com>

	* Makefile.am: Add explicit dependency of tc-i386.o on
	tc-i386-intel.c.
	* Makefile.in: Likewise.
	* config/tc-i386.c (i386_finalize_immediate): Declare, broken
	out from i386_immediate.
	(i386_immediate): Slightly re-arrange, call
	i386_finalize_immediate.
	(i386_finalize_displacement): Declare, broken out from
	i386_displacement.
	(i386_displacement): Slightly re-arrange, call
	i386_finalize_displacement.
	(i386_intel_simplify, i386_intel_parse_name): Declare.
	(this_operand): Initialize to -1.
	(set_intel_syntax): Set expression rank for O_full_ptr.
	(md_assemble): Set this_operand back to -1 after parsing
	operands.
	(x86_cons): Negate intel_syntax to indicate state. Call
	i386_intel_simplify.
	(md_operand): Convert if to switch. Handle '[' for Intel
	syntax.
	(i386_intel_operand): Delete, including all helper functions
	and data.
	* config/tc-i386-intel.c: New file, all new code.
	* config/tc-i386.h (i386_operator): Declare.
	(md_operator): Define to i386_operator.
	(i386_need_index_operator): Declare.
	(md_need_index_operator): Define to i386_need_index_operator.
	(O_full_ptr): Define.

2009-04-20  Jan Beulich  <jbeulich@novell.com>

	* expr.c (operand): Call md_need_index_operator() and
	md_operator() if defined. Add unary label.
	(operator): Call md_operator() if defined.
	(expr): Adjust assertions on range and rank of op_left and
	op_right. Don't abort on unhandled operators when reducing
	expressions with both operands being constant.
	(expr_set_rank): New.
	* expr.h (expr_set_rank): Declare.

2009-04-15  Anthony Green  <green@moxielogic.com>

	* config/tc-moxie.h: New file.
	* config/tc-moxie.c: New file.
	* configure: Add support for moxie.
	* configure.tgt: Add support for moxie.

2009-04-16  Jan Beulich  <jbeulich@novell.com>

	* expr.c: Include limits.h if available, and #define CHAR_BITS
	otherwise.
	(expr): Check range of shift count when evaluating a constant
	expression.

2009-04-15  Jan Beulich  <jbeulich@novell.com>

	* config/tc-i386.c (process_operands): Print operands in
	correct order depending on intel_syntax.

2009-04-09  Catherine Moore  <clm@codesourcery.com>

	* config/tc-mips.c (mips_fix_24k): Declare.
	(check_for_24k_errata): New.
	(mips_cleanup): Call check_for_24k_errata.
	(start_noreorder): Likewise.
	(md_mips_end): Likewise.
	(s_change_sec): Likewise.
	(s_change_section): Likewise.
	(append_insn): Call check_for_24k_errata.  Prevent
	ERET/DERET instructions from being moved into delay
	slots.
	(OPTION_FIX_24K): New.
	(OPTION_NO_FIX_24k) New.
	(md_longopts): Add "mfix-24k" and "mno-fix-24k".
	(md_parse_option): Handle fix-24k options.
	(md_show_usage): Display fix-24k options.
	* doc/c-mips.texi: Document.

2009-04-09  Adam Nemet  <anemet@caviumnetworks.com>

	* config/tc-mips.c (mips_dwarf2_addr_size): Use HAVE_64BIT_OBJECTS
	instead of HAVE_64BIT_SYMBOLS.

2009-04-07  DJ Delorie  <dj@redhat.com>

	* config/tc-mep.c: Add UCI/DSP instruction support.  Add C5 support.
	(md_show_usage): Change default endian to little.
	* config/tc-mep.h (TARGET_BYTES_BIG_ENDIAN): Change default to little.

2009-04-06  DJ Delorie  <dj@redhat.com>

	* tc-h8300.c (do_a_fix_imm): Pass the insn, force relocs for MOVA
	immediates.
	(build_bytes): Pass insn to do_a_fix_imm.

2009-04-02  Daniel Gutson <dgutson@codesourcery.com>

	* config/tc-arm.c (arm_cpus): Add entry for ARM Cortex-M0.
	* doc/c-arm.texi: Added codes for processors ARM Cortex-M0 and
	Cortex-M1.

2009-04-01  Matt Thomas	<matt@netbsd.org>

	* config/tc-vax.c (synthetic_votstrs): add "jbbcci" and "jbbssi"
	(md_assemble): emit symbol name when used as immediate in PIC mode.
	(md_assemble): fix LP64 bug (use sizeof (valueT) instead 4).

2009-04-01  Sterling Augustine  <sterling@jaw.hq.tensilica.com>

	* config/tc-xtensa.c (parse_arguments): call demand_empty_rest_of_line

2009-04-01  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

	* config/tc-arm.c (arm_validate_fix): Define only for OBJ_COFF.
	(find_real_start): Likewise.
	* config/tc-arm.h (TC_VALIDATE_FIX): Likewise

2009-04-01  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-arm.c (do_nop): Generate v6k nops whenever possible.
	(arm_handle_align): Generate v6k ARM, thumb2 wide & narrow nops
	whenever possible.

2009-03-31  Peter Bergner  <bergner@vnet.ibm.com>

	* config/tc-ppc.c (ppc_handle_align): Handle power7's group ending nop.

2009-03-31  Dave Korn  <dave.korn.cygwin@gmail.com>

	* doc/internals.texi:  Fix trivial syntax errors.

2009-03-26  Alan Modra  <amodra@bigpond.net.au>

	PR 10005
	* config/tc-i386.c (reloc): Don't abort on lack of required
	reloc type.

2009-03-25  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (parse_insn): Use default_arch on unsupported
	arch.

2009-03-23  H.J. Lu  <hongjiu.lu@intel.com>

	PR gas/9966
	* listing.c (listing_newline): Properly handle `\\"' and ';'.

	* read.c (is_end_of_line): Update comments for line separator.
	(read_begin): Set line separator in is_end_of_line to 2.

2009-03-19  David S. Miller  <davem@davemloft.net>

	* config/tc-sparc.c (md_parse_option): If the user gives
	us '--64' make sure max_architecture is at least V9.

2009-03-18  Andrew Stubbs  <ams@codesourcery.com>

	* config/tc-arm.c (md_apply_fix): Check BFD_RELOC_ARM_IMMEDIATE and
	BFD_RELOC_ARM_ADRL_IMMEDIATE value is in the correct section.
	Check BFD_RELOC_ARM_ADRL_IMMEDIATE has a defined symbol.

2009-03-18  Alan Modra  <amodra@bigpond.net.au>

	* as.h: Include alloca-conf.h instead of config.h and remove
	existing #if's handling alloca.
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* config/tc-ppc.c (ppc_frob_symbol): Add csect information for
	C_AIX_WEAKEXT too.

2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* config/tc-ppc.c (md_apply_fix): On COFF targets, always reread
	"value" from fx_offset.  Manually resubtract md_pcrel_from_section
	where necessary.

2009-03-14  Richard Sandiford  <r.sandiford@uk.ibm.com>

	* configure.tgt: Extend AIX 5 behavior to AIX 6 and above.
	* configure.in: Likewise.
	* configure: Regenerate.

2009-03-11  Hans-Peter Nilsson  <hp@axis.com>

	* config/tc-cris.c (cris_create_short_jump): Remove prototype.
	Rename, changing all callers, to...
	(md_create_short_jump): Adjust head comment.  Assert
	word-sized-branch distance for v32.  Bail out calling as_fatal for
	compatibility mode here.
	(md_create_long_jump): ...not here.
	* config/tc-cris.h (md_create_short_jump): Do not define.

2009-03-10  Hans-Peter Nilsson  <hp@axis.com>

	* write.c (write_object_file) [!WORKING_DOT_WORD]: When patching
	the jump table for multiple overflowing entries with the same
	target, handle base symbols being different.
	(relax_segment) <case rs_broken_word, second loop>: Whenever a
	single entry overflows, arrange to redirect all entries with the
	same target.

2009-03-10  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-ppc.c (parse_cpu): Delete.
	(md_parse_option, ppc_machine): Use ppc_parse_cpu.

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

	PR gas/9915
	* config/tc-i386.h (LOCAL_LABELS_DOLLAR): New.  Defined as 0.
	(LOCAL_LABELS_FB): Undefine befoe define.

2009-03-06  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2009-03-05  Joseph Myers  <joseph@codesourcery.com>

	* read.c (s_fill, s_space, s_float_space, float_cons, stringer,
	s_incbin): Call md_cons_align (1).

2009-03-04  Nick Clifton  <nickc@redhat.com>

	* config/tc-alpha.c (alpha_prologue_label): Only define for ELF
	based targets.
	(s_alpha_comm): Only define "temp" and "log_align" local variables
	for EVAX targets.

2009-03-04  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-ppc.c (ppc_elf_suffix): Error if ppc32 tls got relocs
	have non-zero addend.
	(md_assemble): Parse args of __tls_get_addr calls.
	(md_apply_fix): Handle BFD_RELOC_PPC_TLSGD and BFD_RELOC_PPC_TLSLD.

2009-03-03  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>

	binutils/3807
	* config/tc-hppa.h (tc_frob_symbol): Don't frob absolute symbols with
	local scope for ELF targets.

2009-03-04  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-ppc.c (md_assemble): APUinfo only for e500.

2009-03-03  Tristan Gingold  <gingold@adacore.com>
	    Eric Botcazou  <ebotcazou@adacore.com>
	    Douglas B Rupp  <rupp@gnat.com>

	* doc/as.texinfo (Overview): Mention -replace/-noreplace options
	for Alpha.
	* doc/c-alpha.texi (Alpha Options): Document -replace/-noreplace.
	* config/tc-alpha.h (TC_VALIDATE_FIX_SUB): Define to 1 (evax).
	(OBJ_SYMFIELD_TYPE): Remove.
	(tc_canonicalize_symbol_name): Define to evax_shorten_name.
	(TC_IMPLICIT_LCOMM_ALIGNMENT): For alignment to 3 on evax.
	(tc_frob_file_before_fix): Do not defined on evax.
	* config/tc-alpha.c: Always includes dwarf2dbg.h.
	Include vms.h if OBJ_EVAX.
	(struct alpha_fixup): Add xtrasym and procsym (evax only).
	(enum alpha_macro_arg): Remove trailing comma.
	(md_longopts): Add replace and noreplace arguments (evax only).
	(alpha_evax_proc_hash): New variable.
	(alpha_link_section): Make it global.
	(alpha_ctors_section, alpha_dtors_section): Removed.
	(alpha_ctors_symbol, alpha_dtors_symbol): Ditto.
	(alpha_lit8_section): Ifndef'ed on evax.
	(alpha_lit8_symbol): Ditto.
	(alpha_prologue_label): New variable.
	(alpha_linkage_symbol): New variable (evax only).
	(alpha_flag_replace): Ditto.
	(struct alpha_evax_procs): Add handler and handler_data field.
	(alpha_evax_proc): Now of type pointer.
	(alpha_linkage_fixup_root, alpha_linkage_fixup_tail): New variables.
	(struct alpha_reloc_tag): Add sym and psym fields (evax only).
	(get_alpha_reloc_tag): Initialize sym and psym fields (evax only).
	(alpha_adjust_relocs): Ifndef'ed on evax.
	(load_expression): Add opname argument.
	Implement LDA/BSR optimization for evax.
	(emit_lda): Adjust for new prototype of load_expression.
	(emit_ir_load): Ditto. Do not nothing for GP if ..lk symbols.
	(emit_loadstore): Likewise.
	(emit_ldXu): Likewise.
	(emit_stX): Likewise.
	(emit_jsrjmp): Likewise.  Implement LDA/BSR optimization for evax.
	(emit_ldgp): Avoid warning in evax case.
	(add_to_link_pool): Make it static.  Return symbolic expression rather
	than number expression for the offset.
	(s_alpha_text): Create .text symbol for evax if not already created.
	(s_alpha_comm): Do not create specific section for common symbol.
	Fill common area with zeros for evax.
	(s_alpha_prologue): Create alpha_prologue_label.
	(s_alpha_section_name): New function (evax).
	(s_alpha_section_word): Likewise.
	(section_name): New static variabke moved out from ...
	(s_alpha_section): ... here.  Create new sections on demand.
	(s_alpha_literals): New function (evax).
	(s_alpha_ent): Create alpha_evax_proc instance and insert it in the
	alpha_evax_proc_hash table.
	(s_alpha_handler): New function (evax).
	(s_alpha_frame): Adjust for new type of alpha_evax_proc.
	(s_alpha_prologue): New function (evax).
	(s_alpha_pdesc): Adjust for new type of alpha_evax_proc and new
	handling of procedures with hash table.
	Add support for condition handlers.
	(s_alpha_linkage): Create linkage_fixup instance and chain it.
	(s_alpha_fp_save): Adjust for new type of alpha_evax_proc.
	(s_alpha_mask): Likewise.
	(s_alpha_fmask): Likewise.
	(s_alpha_end): Clear alpha_evax_proc.
	(s_alpha_align): Increase max_alignment to 16.
	(alpha_print_token): Call print_expr_1 instead of print_expr.
	(md_pseudo_table): Add "section", "literals", "handler" and
	"handler_data" (evax).  Do not ignore "prologue" on evax.
	Fix indentation.
	(md_begin): Create hash table for alpha_evax_proc_hash.
	(md_parse_option): Handle OPTION_REPLACE and OPTION_NOREPLACE.
	(md_show_usage): Mention -replace/-noreplace for evax.
	(md_apply_fix): Handle evax relocs (_NOP, _LDA, _BSR and _BOH).
	(alpha_force_relocation): Likewise.
	(alpha_fix_adjustable): Likewise. Add BFD_RELOC_16 case.
	(tc_gen_reloc): Likewise.  Add BFD_RELOC_ALPHA_LINKAGE for evax.
	(emit_insn): New cases for evax specific relocs.
	(assemble_insn): Fix indentation.
	Take care of -MDISP in operand table.
	* config/obj-evax.h (struct alpha_linkage_fixups): New struct.
	(OBJ_SYMFIELD_TYPE): New macro.
	(obj_symbol_new_hook): Define.
	(obj_frob_symbol, obj_frob_file_before_adjust): Ditto.
	(obj_frob_file_before_fix): Ditto.
	(PDSC_S_M_HANDLER_VALID): New macro.
	(PDSC_S_M_HANDLER_DATA_VALID): Ditto.
	(TC_IMPLICIT_LCOMM_ALIGNMENT): Remove.
	Add prototypes for functions declared in obj-evax.c
	* config/obj-evax.c: Include subsegs.h, struc-symbol.h, safe-ctype.h.
	(s_evax_weak): Convert to ansi-C.
	(evax_symbol_new_hook): New function.
	(evax_frob_symbol): Ditto.
	(evax_frob_file_before_adjust): Ditto.
	(evax_frob_file_before_fix): Ditto.
	(evax_shorten_name): Ditto.
	(crc32): Ditto.
	(encode_32): Ditto.
	(encode_16): Ditto.
	(decode_16): Ditto.
	(shorten_identifier): Ditto.
	(is_truncated_identifier): Ditto.
	* dwarf2dbg.c (out_debug_info): Do not append trailing slash on	VMS.
	* as.c (close_output_file): Remove #ifndef OBJ_VMS.
	(main): Ditto.

2009-03-03  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2009-03-02  Nick Clifton  <nickc@redhat.com>

	PR 9874
	* config/tc-ia64.c (fix_insn): Fix warning reported by
	-Wformat-security.

2009-03-02  Qinwei  <qinwei@sunnorth.com.cn>

	* config/tc-score7.c: New file.
	* doc/c-score.texi: New file.
	* Makefile.am: Update dependencies for tc-score.c.
	* Makefile.in: Regenerate.
	* NEWS: Mention support for Score7 architecture.
	* config/tc-score.c: Add support for Score7 architecture.
	* config/tc-score.h: Likewise.
	* doc/Makefile.am: Add c-score.texi.
	* doc/Makefile.in: Regenerate.
	* doc/all.texi: Add Score7.
	* doc/as.texinfo: Add Score7.

2009-03-01  Mark Mitchell  <mark@codesourcery.com>

	* config/tc-arm.c (md_assemble): Allow barrier instructions on
	ARMv6-M cores.

2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2009-02-26  Peter Bergner  <bergner@vnet.ibm.com>

	* config/tc-ppc.c (pre_defined_registers): Add "f32" to "f63",
	"f.32" to "f.63", "vs0" to "vs63" and "vs.0" to "vs.63".
	(parse_cpu): Extend -mpower7 to accept power7 and isel instructions.

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

	* config/tc-i386.c (fits_in_imm4): Removed.

2009-02-24  Helge Deller <deller@gmx.de>

	* config/tc-hppa.c (pa_ip): Add check of immediate values.
	(SAVE_IMMEDIATE): New define.

2009-02-23  Mark Mitchell  <mark@codesourcery.com>

	* config/tc-arm.c (warn_deprecated_sp): New macro.
	(do_t_mov_cmp): Permit R13 as the second
	argument to "cmp.n".

2009-02-23  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (type_names): Add OPERAND_TYPE_REGYMM.
	(pt): Replace UINTS_ALL_ZERO with operand_type_all_zero.

2009-02-23  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (type_names): Remove OPERAND_TYPE_VEX_IMM4.

2009-02-23  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (vex_imm4): Removed.
	(VEX_check_operands): Likewise.
	(match_template): Updated.

2009-02-23  Martin Schwidefsky  <schwidefsky@de.ibm.com>

	* doc/all.texi: Set S390.
	* doc/as.texinfo: Add S390 support and pull in c-s390.texi.
	* doc/Makefile.am (CPU_DOCS): Add c-s390.texi.
	* doc/Makefile.in: Likewise.
	* doc/c-s390.texi: New.

2009-02-12  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-m68k.c (mcf51qe_ctrl): Add CPUCR.
	(mcf52259_ctrl, mcf52277_ctrl, mcf53017_ctrl): New.
	(mcf5307_ctrl): Add VBR.
	(no_mac): New variable.
	(m68k_extensions): Refer to no_mac mask.
	(m68k_cpus): Add 51, 51ac, 51cn, 51em, 51jm, 52274, 52277,
	52252..52259, 53011..53017.
	(m68k_ip): Process CPUCR.
	(init_table): Add cpucr entry.
	(m68k_set_extension): Allow negated mask to refer to a variable.
	(md_show_usage): Use '%s' to silence fprintf warning.
	* config/m68k-parse.h (CPUCR): New control register.

2009-02-10  Nathan Sidwell  <nathan@codesourcery.com>

	* config/tc-ppc.c (ppc_insert_operand, md_assemble): Use '%s' for
	as_bad calls to silence compiler warning.

2009-02-06  Nick Clifton  <nickc@redhat.com>

	PR 9814
	* config/tc-arm.c (MODE_RECORDED): New define.
	(output_inst): Record the thumb_mode in the current frag.
	(arm_handle_align): Ignore the MODE_RECORDED bit in tc_frag_data.
	(arm_init_frag): Only set the tc_frag_data field if it has not
	already been set.

2009-02-04  H.J. Lu  <hongjiu.lu@intel.com>

	AVX Programming Reference (January, 2009)
	* config/tc-i386.c (CPU_FLAGS_PCLMUL_MATCH): New.
	(CPU_FLAGS_AVX_MATCH): Updated.
	(CPU_FLAGS_32BIT_MATCH): Likewise.
	(cpu_flags_match): Likewise.

2009-02-03  Sandip Matte  <sandip@rmicorp.com>

	* config/tc-mips.c (macro): Handle M_MSGSND, M_MSGLD, M_MSGLD_T,
	M_MSGWAIT and M_MSGWAIT_T.
	(mips_cpu_info_table): Add XLR entry.
	* doc/c-mips.texi (-march): Document xlr.

2009-02-03  Eric B. Weddington  <eric.weddington@atmel.com>

	* config/tc-avr.c (mcu_types): Add ata6289.
	* doc/c-avr.texi: Likewise.

2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>

	* configure.in: AC_SUBST pdfdir.
	* Makefile.am: Add install-pdf, install-pdf-am,
	and install-pdf-recursive targets.
	* doc/Makefile.am: Define pdf__strip_dir. Add
	install-pdf and install-pdf-am targets.
	* po/Make-in: Add install-pdf target.
	* configure: Regenerate.
	* Makefile.in: Regenerate.
	* doc/Makefile.in: Regenerate.

2009-02-03  Maxim Kuvyrkov  <maxim@codesourcery.com>

	* config/m68k-parse.h (enum pic_relocation): Add values for TLS
	relocations.
	* config/m68k-parse.y (yylex): Parse TLS relocations.
	* config/tc-m68k.c (m68k_elf_cons): New static function.
	(md_pseudo_table): Use it.
	(get_reloc_code, tc_m68k_fix_adjustable, tc_gen_reloc): Handle TLS
	relocations.
	(md_apply_fix): Fix to set thread local flag.
	(m68k_elf_suffix): New static function; helper for m68k_elf_cons.

2009-02-03  Vince Weaver <vince@csl.cornell.edu>

	PR 9779
	* config/tc-pdp11.c (parse_op_no_deferred): Fix handling of
	indexed addressing for symbolic expressions.

2009-01-29  Mark Mitchell  <mark@codesourcery.com>

	* config/tc-arm.c (BAD_SP): Define.
	(s_arm_unwind_fnstart): Use REG_SP.
	(s_arm_unwind_setfp): Likewise.
	(reject_bad_reg): New macro.
	(do_co_reg): Check for bad registers.
	(do_co_reg2c): Likewise.
	(do_srs): Use REG_SP.
	(do_t_add_sub): Check for bad registers.
	(do_t_adr): Likewise.
	(do_t_arit3): Likewise.
	(do_t_arit3c): Likewise.
	(do_t_bfc): Likewise.
	(do_t_bfi): Likewise.
	(do_t_bfx): Likewise.
	(do_t_blx): Likewise.
	(do_t_bx): Likewise.
	(do_t_bxj): Likewise.
	(do_t_clz): Likewise.
	(do_t_div): Likewise.
	(do_t_mla): Likewise.
	(do_t_mlal): Likewise.
	(do_t_mov_cmp): Likewise.
	(do_t_mov16): Likewise.
	(do_t_mvn_tst): Likewise.
	(do_t_mrs): Likewise.
	(do_t_msr): Likewise.
	(do_t_mul): Likewise.
	(do_t_mull): Likewise.
	(do_t_orn): Likewise.
	(do_t_pkhbt): Likewise.
	(do_t_pld): Likewise.
	(do_t_rbit): Likewise.
	(do_t_rev): Likewise.
	(do_t_rrx): Likewise.
	(do_t_rsb): Likewise.
	(do_t_shift): Likewise.
	(do_t_simd): Likewise.
	(do_t_ssat): Likewise.
	(do_t_ssat16): Likewise.
	(do_t_sxtah): Likewise.
	(do_t_sxth): Likewise.
	(do_t_tb): Likewise.
	(do_t_usat): Likewise.
	(do_t_usat16): Likewise.
	(nysn_insert_sp): Use REG_SP.

2009-01-29  Mark Mitchell  <mark@codesourcery.com>

	* config/tc-arm.c (do_t_orn): New function.
	(do_t_rrx): Likewise.
	(insns): Add orn and rrx.

2009-01-29  Mark Mitchell  <mark@codesourcery.com>

	* config/tc-arm.c (insns): Add qasx, qsax, shasx, shsax, ssax,
	uasx, uhasx, uhsx, uqasx, uqsax, usax.

2009-01-29  Mark Mitchell  <mark@codesourcery.com>

	* config/tc-arm.c (insns): Correct encoding of qadd, qdadd, qsub,
	qdsub in Thumb-2 mode.

2009-01-29  Paul Brook  <paul@codesourcery.com>
	    Mark Mitchell  <mark@codesourcery.com>

	* config/tc-arm.c (do_t_mul): In Thumb-2 mode, use 16-bit encoding
	of MUL when possible.

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

	* config/tc-mep.h (DIFF_EXPR_OK): Do not define.

2009-01-29  Nathan Sidwell  <nathan@codesourcery.com>
	    Catherine Moore <clm@codesourcery.com?

	* doc/c-arm.texi (ARM Directives): Alphabetize. Document .2byte,
	.4byte, .8byte, .bss, .even, .extend, .ldouble, .packed, .secrel32
	directives.

2009-01-27  Nick Clifton  <nickc@redhat.com>

	* config/tc-mips.c (append_insn): Cope with a complex reloc
	sequence containing an unsupported reloc type.
	(enum options): Replace computed #define's constants for option
	numbers with this enum.
	(struct md_longopts): Use the enum.  Allow OPTION_32 in a non-ELF
	environment.
	(md_parse_option): Allow -32 in a non-ELF environment.

2009-01-26  Andrew Stubbs  <ams@codesourcery.com>

	* config/tc-arm.c (attributes_set_explicitly): New array.
	(s_arm_eabi_attribute): Check return value from s_vendor_attribute.
	(cpu_arch): Add ARM_ARCH_V5T.
	(aeabi_set_attribute_int): New function.
	(aeabi_set_attribute_string): New function.
	(aeabi_set_public_attributes): Set attributes according to the user's
	intentions, rather than the actual state of the binary.
	Use aeabi_set_attribute_int and aeabi_set_attribute_string instead of
	bfd_elf_add_proc_attr_int and bfd_elf_add_proc_attr_string.
	Support WMMXv2. Use attribute names instead of numbers.
	* read.c (s_vendor_attribute): Change return type to int.
	Return the tag number that was set.
	* read.h (s_vendor_attribute): Change return type to int.

2009-01-26  Eric B. Weddington  <eric.weddington@atmel.com>

	PR 9789
	* config/tc-avr.c (mcu_types): Fix typo in atmega128rfa1 name.
	* doc/c-avr.texi: Likewise.

2009-01-23  Nathan Sidwell  <nathan@codesourcery.com>

	* doc/c-arm.texi (): Document -mwarn-deprecated.
	* config/tc-arm.c (WARN_DEPRECATED): Remove.  Replace with ...
	(warn_on_deprecated): ... this.
	(opcode_lookup, md_assemble): Check it before warning.
	(arm_opts): Add m[no-]warn-deprecated.
	(md_parse_option): Replace WARN_DEPRECATED with
	warn_on_deprecated.

2009-01-23  Andreas Schwab  <schwab@suse.de>

	* config/tc-mips.c (macro) [M_DINS, M_SEQ_I, M_SNE_I]: Cast
	arguments to macro_build to match format.

	* config/obj-elf.h (LOCAL_LABEL_PREFIX): Conditionally define.
	* config/tc-s390.h (LOCAL_LABEL_PREFIX): Don't define.

2009-01-19  Nick Clifton  <nickc@redhat.com>

	* config/tc-arm.h (CONVERT_SYMBOLIC_ATTRIBUTE): Only define for
	ELF format ARM targets.
	* config/tc-arm.c (arm_convert_symbolic_attribute): Likewise.

2009-01-19  Nick Clifton  <nickc@redhat.com>

	* configure.tgt: Restore alpha sorting to object format switch
	statement.

2009-01-19  Andrew Stubbs  <ams@codesourcery.com>

	* read.c (s_vendor_attribute): Allow for unknown flag bits in type.

2009-01-16  Mark Shinwell  <shinwell@codesourcery.com>

	* config/te-armeabi.h (EABI_DEFAULT): Use EF_ARM_EABI_VER5.
	* config/te-armlinuxeabi.h (EABI_DEFAULT): Likewise.

2009-01-16  Andrew Stubbs  <ams@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* config/tc-arm.c (arm_copy_symbol_attributes): New function.
	* config/tc-arm.h (arm_copy_symbol_attributes): New prototype.
	(CONVERT_SYMBOLIC_ATTRIBUTE): New define.
	* read.c (s_vendor_attribute): Add support for symbolic tag names.
	Improve string parser.
	* doc/c-arm.texi (ARM Machine Directives): Document
	.eabi_attribute symbolic tag names.

2009-01-16  Alan Modra  <amodra@bigpond.net.au>

	* configure.in (commonbfdlib): Delete.
	* configure: Regenerate.
	* po/POTFILES.in: Regenerate.

2009-01-15  Andrew Stubbs  <ams@codesourcery.com>
	    Julian Brown   <julian@codesourcery.com>

	* config/tc-arm.c (cpu_arch): Change ARM_ARCH_V6M to 11.

2009-01-15  Andrew Stubbs  <ams@codesourcery.com>

	* read.c (s_vendor_attribute): bfd_elf_add_obj_attr_compat ->
	bfd_elf_add_obj_attr_int_string.

2009-01-15  Douglas B Rupp  <rupp@gnat.com>

	* configure.tgt(ia64-*-*vms*): New target.
	* dwarf2dbg.h (dwarf2_loc_mark_labels): Make extern.
	* tc.h (md_number_to_chars): Declare iff undefined.
	* config/obj-elf.c (obj_elf_change_section): Change type of arg
	attr to bfd_vma.
	(obj_elf_parse_section_letters): Return a bfd_vma. Change type of
	variables attr, md_attr to bfd_vma.
	(obj_elf_section_word): Likewise.
	(obj_elf_section): Change type of variable attr to bfd_vma
	* config/obj-elf.h (obj_elf_change_section): Change type of arg
	attr to bfd_vma.
	* config/tc-ia64.c (bfdver.h,time.h): Include.
	(ia64_elf_section_letter): Now returns a bfd_vma.
	Handle VMS specific attributes.
	(ia64_elf_section_flags): Arg attr now a bfd_vma.
	(ia64_init): Don't turn on dependency checking for VMS.
	(ia64_target_format): Check for VMS flag bit.
	(do_alias): Hande decc$ functions.
	(get_vms_time): New function.
	(ia64_vms_note): New function.
	* config/tc-ia64.h (ia64_elf_section_letter): Now returns a bfd_vma.
	(ia64_elf_section_flags): Arg attr now a bfd_vma.
	(tc_init_after_args): Define for VMS.
	* config/tc-alpha.c (alpha_elf_section_letter): Return a bfd_vma.
	(alpha_elf_section_flags): Change type of arg attr to bfd_vma.
	* config/tc-alpha.h: Likewise.
	* config/tc-i386.c (x86_64_section_letter): Return a bfd_vma.
	(x86_64_section_word): Return a bfd_vma.
	* config/tc-i386.h: Likewise.
	* config/tc-ip2k.c (ip2k_elf_section_flags): Change type of arg
	attr to bfd_vma.
	* config/tc-ip2k.h: Likewise.
	* config/tc-mep.c (mep_elf_section_letter): Return a bfd_vma.
	(mep_elf_section_flags): Change type of arg attr to bfd_vma.
	* config/tc-mep.h: Likewise.
	* config/tc-ppc.c  (ppc_section_letter): Return a bfd_vma.
	(ppc_section_word): Return a bfd_vma.
	(ppc_section_flags): Change type of arg attr to bfd_vma.
	* config/tc-ppc.h: Likewise.
	* config/tc-frv.h: Provide a prototype for frv_md_number_to_chars.
	* config/te-vms.h (DWARF2_DIR_SHOULD_END_WITH_SEPARATOR,
	DWAR2_FILE_TIME_NAME, DWARF2_FILE_SIZE_NAME, DWARF2_FILEN_NAME):
	New file with new macros
	* dwarf2dbg.c (get_filenum, out_file_list): Default and call new
	macros.

2009-01-15  Nick Clifton  <nickc@redhat.com>

	PR 9722
	* config/tc-arm.c (do_t_nop): Check for availability of Thumb2
	instructions before generating a Thumb2 nop.

2009-01-14  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/tc-s390.h: Define LOCAL_LABEL_PREFIX.

2009-01-12  Alan Modra  <amodra@bigpond.net.au>

	* config/tc-spu.c (md_pseudo_table): Add "brinfo".
	(brinfo): New var.
	(md_assemble): Poke brinfo into branch instructions.
	(spu_brinfo): New function.
	(md_apply_fix): Don't assume insn fields start off at zero, mask
	them to remove possible brinfo.

2009-01-10  H.J. Lu  <hongjiu.lu@intel.com>

	* doc/c-i386.texi: Reformat.

2009-01-10  H.J. Lu  <hongjiu.lu@intel.com>

	* config/tc-i386.c (cpu_arch): Add corei7, .clflush and
	.syscall.
	(i386_align_code): Handle PROCESSOR_COREI7.
	(md_show_usage): Add corei7, clflush and syscall.
	(i386_target_format): Replace cpup4 with cpuclflush.

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

	* doc/c-i386.texi: Document corei7, clflush and syscall.

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

	* config/tc-i386.c (cpu_arch): Add .rdtscp.
	(md_show_usage): Display rdtscp.

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

2009-01-09  Peter Bergner  <bergner@vnet.ibm.com>

	* config/tc-ppc.c (ppc_setup_opcodes): Remove PPC_OPCODE_NOPOWER4 test.
	Test the new "deprecated" opcode field.

2009-01-07  Sterling Augustine  <sterling@tensilica.com>

	* config/tc-xtensa.c (produce_flix): New.
	(option_flix, optoin_no_generate_flix, option_no_flix) Define.
	(md_longopts): Add support for them.
	(md_parse_option): Likewise.
	(md_show_usage): Add help message.
	(finish_vinsn): Don't allow multi-slot flix when produce_flix
	option is set to FLIX_NONE.
	* config/xtensa-relax.c (transition_applies): Only relax to
	flix branches when produce_flix equals FLIX_ALL.
	* config/xtensa-relax.h (flix_level, FLIX_ALL, FLIX_NO_GENERATE
	FLIX_NONE): New.
	(produce_flix): Declare.

2009-01-06  Chao-ying Fu  <fu@mips.com>

	* config/tc-mips.c (mips_ip): Set lastregno to 0xffffffff.
	Use strncmp to match jalr and jalr.hb.
	Fix a typo.

2009-01-05  H.J. Lu  <hongjiu.lu@intel.com>

	AVX Programming Reference (December, 2008)
	* config/tc-i386.c (build_modrm_byte): Remove 5 operand instruction
	support.  Don't swap REG and NDS for FMA.

2009-01-02  Matthias Klose  <doko@ubuntu.com>

	* itbl-ops.c (itbl_disassemble): Don't rely on undefined sprintf
	behaviour.

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