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:
