2009-07-02 Tristan Gingold * 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 PR 10168 * config/tc-arm.c (do_t_pkhtb): Swap Rm and Rn when encoding as PKHBT. 2009-07-01 Paul Brook * 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 * config/tc-i386.c: Reformat. 2009-06-23 DJ Delorie * 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 * gas/app, gas/as.c, gas/as.h, gas/atof-generic.c, gas/cgen.c, gas/config/atof-ieee.c, gas/config/obj-aout.c, gas/config/obj-coff.c, gas/config/obj-ecoff.c, gas/config/obj-elf.c, gas/config/obj-som.c, gas/config/tc-alpha.c, gas/config/tc-arc.c, gas/config/tc-arm.c, gas/config/tc-cr16.c, gas/config/tc-cris.c, gas/config/tc-crx.c, gas/config/tc-d30v.c, gas/config/tc-dlx.c, gas/config/tc-hppa.c, gas/config/tc-i370.c, gas/config/tc-i386-intel.c, gas/config/tc-i386.c, gas/config/tc-i860.c, gas/config/tc-i960.c, gas/config/tc-ia64.c, gas/config/tc-iq2000.c, gas/config/tc-m32c.c, gas/config/tc-m32r.c, gas/config/tc-m68hc11.c, gas/config/tc-m68k.c, gas/config/tc-maxq.c, gas/config/tc-mcore.c, gas/config/tc-mep.c, gas/config/tc-mips.c, gas/config/tc-mmix.c, gas/config/tc-mn10300.c, gas/config/tc-moxie.c, gas/config/tc-ns32k.c, gas/config/tc-pj.c, gas/config/tc-ppc.c, gas/config/tc-s390.c, gas/config/tc-score.c, gas/config/tc-score7.c, gas/config/tc-sh.c, gas/config/tc-sparc.c, gas/config/tc-spu.c, gas/config/tc-tic30.c, gas/config/tc-vax.c, gas/config/tc-xtensa.c, gas/config/xtensa-relax.c, gas/dw2gencfi.c, gas/dwarf2dbg.c, gas/ehopt.c, gas/expr.c, gas/frags.c, gas/input-file.c, gas/read.c, gas/sb.c, gas/subsegs.c, gas/symbols.c, gas/write.c: Change the name of the gas macro `assert' to `gas_assert'. 2009-06-22 Daniel Gutson * 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 PR 10302 * doc/as.texinfo (Section ): Clarify tail merge. 2009-06-19 Martin Schwidefsky * config/tc-s390.c (md_gather_operands): Accept an instruction without operands if all operands are tagged as optional. 2009-06-18 Nick Clifton PR 10169 * gas/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 Merge cegcc and mingw32ce target name changes from CeGCC project: 2007-12-25 Pedro Alves * configure.tgt: Add arm*-*-cegcc* target. 2007-12-17 Pedro Alves * configure.tgt: Add arm-*-mingw32ce* target. 2009-06-16 Maciej W. Rozycki * 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 PR 10186 * config/tc-arm.c (T16_32_TAB): Fix binary value of SEV.W instruction. 2009-06-13 H.J. Lu 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 * 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 * config/tc-moxie.c (md_assemble): Handle MOXIE_F1_M encoded opcodes. 2009-06-09 Jakub Jelinek PR gas/10255 * dw2gencfi.c (output_cfi_insn): Initialize fragment before rs_cfa to DW_CFA_advance_loc4. 2009-06-08 Dave Korn 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 * 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 PR gas/10198 * config/tc-i386-intel.c (i386_intel_operand): Check '$' as '.'. 2009-05-26 Catherine Moore * 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 * po/id.po: Updated Indonesian translation. * po/gas.pot: Updated template file. 2009-05-26 Nick Clifton PR 10143 * config/bfin-parse.y (error): Use "%s" as format string for error message. 2009-05-26 Alan Modra * 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 * 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 * config/tc-mips.c (nops_for_vr4130): Don't check noreorder_p. (nops_for_insn): Likewise. 2009-05-22 H.J. Lu * symbols.c (COPIED_SYMFLAGS): Add BSF_GNU_INDIRECT_FUNCTION. 2009-05-22 Dwarakanath Rajagopal * 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 * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2009-05-20 Kai Tietz H.J. Lu * 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 * 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 * 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 * 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 * cgen.c (gas_cgen_parse_operand): Guard against NULL pointers. 2009-05-13 Andrew Jenner * config/tc-arm.c: Move as.h to start of file. 2009-05-05 Ramana Radhakrishnan * 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 * config/tc-alpha.c: Also declare alpha_prologue_label for OBJ_EVAX. 2009-05-01 Nathan Sidwell * 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 * 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 * 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 * 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 * 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 * 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 * config/tc-i386-intel.c (O_XXX): Reorder. 2009-04-20 Jan Beulich * 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 * 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 * 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 * 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 * config/tc-i386.c (process_operands): Print operands in correct order depending on intel_syntax. 2009-04-09 Catherine Moore * 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 * config/tc-mips.c (mips_dwarf2_addr_size): Use HAVE_64BIT_OBJECTS instead of HAVE_64BIT_SYMBOLS. 2009-04-07 DJ Delorie * 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 * 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 * 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 * 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 * config/tc-xtensa.c (parse_arguments): call demand_empty_rest_of_line 2009-04-01 Ramana Radhakrishnan * 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 * 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 * config/tc-ppc.c (ppc_handle_align): Handle power7's group ending nop. 2009-03-31 Dave Korn * doc/internals.texi: Fix trivial syntax errors. 2009-03-26 Alan Modra PR 10005 * config/tc-i386.c (reloc): Don't abort on lack of required reloc type. 2009-03-25 H.J. Lu * config/tc-i386.c (parse_insn): Use default_arch on unsupported arch. 2009-03-23 H.J. Lu 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 * 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 * 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 * 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 * config/tc-ppc.c (ppc_frob_symbol): Add csect information for C_AIX_WEAKEXT too. 2009-03-14 Richard Sandiford * 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 * configure.tgt: Extend AIX 5 behavior to AIX 6 and above. * configure.in: Likewise. * configure: Regenerate. 2009-03-11 Hans-Peter Nilsson * 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 * 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) : Whenever a single entry overflows, arrange to redirect all entries with the same target. 2009-03-10 Alan Modra * config/tc-ppc.c (parse_cpu): Delete. (md_parse_option, ppc_machine): Use ppc_parse_cpu. 2009-03-09 H.J. Lu 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 * po/es.po: Updated Spanish translation. 2009-03-05 Joseph Myers * read.c (s_fill, s_space, s_float_space, float_cons, stringer, s_incbin): Call md_cons_align (1). 2009-03-04 Nick Clifton * 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 * 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 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 * config/tc-ppc.c (md_assemble): APUinfo only for e500. 2009-03-03 Tristan Gingold Eric Botcazou Douglas B Rupp * 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 * Makefile.am: Run "make dep-am". * Makefile.in: Regenerate. 2009-03-02 Nick Clifton PR 9874 * config/tc-ia64.c (fix_insn): Fix warning reported by -Wformat-security. 2009-03-02 Qinwei * 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 * config/tc-arm.c (md_assemble): Allow barrier instructions on ARMv6-M cores. 2009-03-01 Ralf Wildenhues * configure: Regenerate. 2009-02-26 Peter Bergner * 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 * config/tc-i386.c (fits_in_imm4): Removed. 2009-02-24 Helge Deller * config/tc-hppa.c (pa_ip): Add check of immediate values. (SAVE_IMMEDIATE): New define. 2009-02-23 Mark Mitchell * 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 * 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 * config/tc-i386.c (type_names): Remove OPERAND_TYPE_VEX_IMM4. 2009-02-23 H.J. Lu * config/tc-i386.c (vex_imm4): Removed. (VEX_check_operands): Likewise. (match_template): Updated. 2009-02-23 Martin Schwidefsky * 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 * 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 * config/tc-ppc.c (ppc_insert_operand, md_assemble): Use '%s' for as_bad calls to silence compiler warning. 2009-02-06 Nick Clifton 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 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 * 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 * config/tc-avr.c (mcu_types): Add ata6289. * doc/c-avr.texi: Likewise. 2009-02-03 Carlos O'Donell * 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 * 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 PR 9779 * config/tc-pdp11.c (parse_op_no_deferred): Fix handling of indexed addressing for symbolic expressions. 2009-01-29 Mark Mitchell * 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 * config/tc-arm.c (do_t_orn): New function. (do_t_rrx): Likewise. (insns): Add orn and rrx. 2009-01-29 Mark Mitchell * config/tc-arm.c (insns): Add qasx, qsax, shasx, shsax, ssax, uasx, uhasx, uhsx, uqasx, uqsax, usax. 2009-01-29 Mark Mitchell * config/tc-arm.c (insns): Correct encoding of qadd, qdadd, qsub, qdsub in Thumb-2 mode. 2009-01-29 Paul Brook Mark Mitchell * config/tc-arm.c (do_t_mul): In Thumb-2 mode, use 16-bit encoding of MUL when possible. 2009-01-29 Nick Clifton * config/tc-mep.h (DIFF_EXPR_OK): Do not define. 2009-01-29 Nathan Sidwell Catherine Moore * 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 * 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 PR 9789 * config/tc-avr.c (mcu_types): Fix typo in atmega128rfa1 name. * doc/c-avr.texi: Likewise. 2009-01-23 Nathan Sidwell * 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 * 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 * 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 * configure.tgt: Restore alpha sorting to object format switch statement. 2009-01-19 Andrew Stubbs * read.c (s_vendor_attribute): Allow for unknown flag bits in type. 2009-01-16 Mark Shinwell * config/te-armeabi.h (EABI_DEFAULT): Use EF_ARM_EABI_VER5. * config/te-armlinuxeabi.h (EABI_DEFAULT): Likewise. 2009-01-16 Andrew Stubbs Daniel Jacobowitz * 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 * configure.in (commonbfdlib): Delete. * configure: Regenerate. * po/POTFILES.in: Regenerate. 2009-01-15 Andrew Stubbs Julian Brown * config/tc-arm.c (cpu_arch): Change ARM_ARCH_V6M to 11. 2009-01-15 Andrew Stubbs * read.c (s_vendor_attribute): bfd_elf_add_obj_attr_compat -> bfd_elf_add_obj_attr_int_string. 2009-01-15 Douglas B Rupp * 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 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 * config/tc-s390.h: Define LOCAL_LABEL_PREFIX. 2009-01-12 Alan Modra * 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 * doc/c-i386.texi: Reformat. 2009-01-10 H.J. Lu * 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 * config/tc-i386.c (cpu_arch): Add .rdtscp. (md_show_usage): Display rdtscp. * doc/c-i386.texi: Document rdtscp. 2009-01-09 Peter Bergner * config/tc-ppc.c (ppc_setup_opcodes): Remove PPC_OPCODE_NOPOWER4 test. Test the new "deprecated" opcode field. 2009-01-07 Sterling Augustine * 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 * 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 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 * 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: