3 * config/tc-arm.c (md_assemble): Clarify current mode in error
4 messages about unsupported instructions.
6 (insns): Adjust cbnz, cbz appropriately.
10 * config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use.
14 * config/tc-arm.c (aeabi_set_public_attributes): Set
15 Tag_ABI_HardFP_use to 1 if a single precision FPU is selected.
19 * Makefile.in: Regenerate with automake 1.11.1.
21 * doc/Makefile.in: Ditto.
25 * po/es.po: Updated Spanish translation.
29 * read.c (cons_worker): Detect and reject unexpected string argument.
33 * write.c (fixup_segment): Revert previous delta.
34 * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Also force the
35 generation of relocations for fixups against weak symbols.
39 * write.c (fixup_segment): Do not assume we know the section a
40 defined weak symbol is in.
41 * config/tc-arm.c (relax_adr, relax_branch, md_apply_fix): Treat
42 weak symbols as not known to be in the same section, even if they
47 * config/tc-tic6x.h (tic6x_label_list): New.
48 (tic6x_segment_info_type): Keep a list of labels and a current
49 frag instead of a boolean for whether labels seen and a count of
51 (tic6x_frag_info, TC_FRAG_TYPE, TC_FRAG_INIT, tic6x_frag_init,
52 md_do_align, tic6x_do_align, md_end, tic6x_end): New.
53 * config/tc-tic6x.c (tic6x_frob_label): Put label on list.
54 (tic6x_cleanup): Correct comment.
55 (tic6x_free_label_list): New.
56 (tic6x_cons_align): Free label list and update for
57 tic6x_segment_info_type changes.
58 (tic6x_do_align): New.
59 (md_assemble): Handle list of labels and saved frag for execute
60 packet. Create machine-dependent frag for new execute packet and
61 adjust labels accordingly.
62 (tic6x_adjust_section, tic6x_frag_init, tic6x_end): New.
63 (md_convert_frag, md_estimate_size_before_relax): Update comments.
68 * config/tc-i386-intel.c (intel_state): Add is_indirect.
69 (i386_intel_operand): Initialize intel_state.is_indirect. Check
70 intel_state.is_indirect for "call|jmp [symbol]".
74 * po/gas.pot: Updated by the Translation project.
78 * config/tc-i386.c (i386_is_register): Removed.
79 (x86_cons): Don't use i386_is_register.
80 (parse_register): Likewise.
81 * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
82 (i386_intel_operand): Likewise.
86 * config/tc-i386.c (tc_x86_parse_to_dw2regnum): Don't use
91 * config/tc-i386.c (i386_is_register): Remove is_intel_syntax.
93 (parse_register): Likewise.
94 (tc_x86_parse_to_dw2regnum): Likewise.
95 * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
96 (i386_intel_operand): Likewise.
101 * config/tc-i386-intel.c (i386_intel_simplify_register): New.
102 (i386_intel_simplify): Use i386_is_register and
103 i386_intel_simplify_register. Set X_md for O_register and
104 check X_md for O_constant.
105 (i386_intel_operand): Use i386_is_register.
107 * config/tc-i386.c (i386_is_register): New.
108 (x86_cons): Initialize the X_md field. Use i386_is_register.
109 (parse_register): Use i386_is_register.
110 (tc_x86_parse_to_dw2regnum): Likewise.
114 * expr.c (expr): Initialize the X_md field.
118 * config/tc-tic6x.c (OPTION_MGENERATE_REL): New.
119 (md_longopts): Add -mgenerate-rel.
120 (tic6x_generate_rela): New.
121 (md_parse_option): Handle -mgenerate-rel.
122 (md_show_usage): Add comment that -mgenerate-rel is undocumented.
123 (tic6x_init_after_args): New.
124 (md_apply_fix): Correct shift calculations for SB-relative
126 (md_pcrel_from): Change to tic6x_pcrel_from_section. Do not
127 adjust addresses for relocations referencing symbols in other
129 (tc_gen_reloc): Adjust addend calculations for REL relocations.
130 * config/tc-tic6x.h (MD_PCREL_FROM_SECTION,
131 tic6x_pcrel_from_section, tc_init_after_args,
132 tic6x_init_after_args): New.
137 * macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
138 altmacro mode if found inside a quoted string.
142 * config/bfin-lex.l (parse_int): Change index() to strchr().
147 * config/tc-hppa.c (pa_ip): Do not allow 64-bit add condition
148 matcher to accept and unconditional 32-bit add instruction.
149 (pa_build_unwind_subspace): Cope with error conditions not
150 allowing the start symbol to be set.
154 * config/tc-arm.c (arm_convert_symbolic_attribute): Add support for
155 new tag names in v2.08 of ARM ABI.
156 * doc/c-arm.texi: Document new tag names in ABI.
160 * config/tc-alpha.c: Includes vms/egps.h on EVAX.
161 (s_alpha_comm): Used new EGPS macros from egps.h
162 (RGPS__V_NO_SHIFT, EGPS__V_MASK): New local macros.
163 (s_alpha_section_word): Add comments. Use new EGPS macros.
164 Adjust for modified bfd_vms_set_section_flags function.
169 * config/tc-ppc.c (ppc_elf_cons): Clear frag contents.
173 * as.c (create_obj_attrs_section): Remove unused variable addr.
174 * listing.c (listing_listing): Remove unused variable message.
175 * read.c: Remove unnecessary register type qualifiers.
176 (s_mri): Only define/use old_flag variable if MRI_MODE_CHANGE is
181 * config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a,
182 atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2,
183 atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328,
184 atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a,
185 atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a,
186 atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a,
187 atmega88pa, attiny461a, attiny84a, m3000.
188 Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd,
189 atmega8hvd, attiny327, m3000f, m3000s, m3001b.
190 * doc/c-avr.texi: Same.
194 * config/tc-arm.c (make_mapping_symbol): Handle the case
195 that multiple mapping symbols have the same value 0.
199 * configure: Regenerate.
203 * po/ru.po: New Russian translation.
204 * configure.in (ALL_LINGUAS): Add ru.
205 * configure: Regenerate.
210 * input-scrub.c (input_scrub_next_buffer): Use memmove instead
211 of memcpy to copy overlap memory.
215 * Makefile.am (TARGET_CPU_CFILES): Add config/tc-tic6x.c.
216 (TARGET_CPU_HFILES): Add config/tc-tic6x.h.
217 * Makefile.in: Regenerate.
218 * NEWS: Add news entry for TI C6X support.
219 * app.c (do_scrub_chars): Handle "||^" for TI C6X. Handle
220 TC_PREDICATE_START_CHAR and TC_PREDICATE_END_CHAR. Keep spaces in
221 operands if TC_KEEP_OPERAND_SPACES.
222 * configure.tgt (tic6x-*-*): New.
223 * config/tc-ia64.h (TC_PREDICATE_START_CHAR,
224 TC_PREDICATE_END_CHAR): Define.
225 * config/tc-tic6x.c, config/tc-tic6x.h: New.
226 * doc/Makefile.am (CPU_DOCS): Add c-tic6x.texi.
227 * doc/Makefile.in: Regenerate.
228 * doc/all.texi (TIC6X): Define.
229 * doc/as.texinfo: Add TI C6X documentation. Include c-tic6x.texi.
230 * doc/c-tic6x.texi: New.
234 * config/tc-i386.c (lex_got): Use STRING_COMMA_LEN on gotrel.
238 * config/tc-i386.c (i386_error): Replace oprand_size_mismatch
239 with operand_size_mismatch.
240 (operand_size_match): Updated.
241 (match_template): Likewise.
245 * config/tc-i386.c (i386_error): New.
246 (_i386_insn): Replace err_msg with error.
247 (operand_size_match): Set error instead of err_msg on failure.
248 (operand_type_match): Likewise.
249 (operand_type_register_match): Likewise.
250 (VEX_check_operands): Likewise.
251 (match_template): Likewise. Use error instead of err_msg with
256 * config/tc-arm.c (make_mapping_symbol): Hanle the case
257 that two mapping symbols have the same value.
261 * doc/c-arm.texi (.setfp): Correct example.
266 * config/tc-arm.c (reloc_names): New relocation names.
267 (md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL.
268 (tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL.
269 * doc/c-arm.texi (ARM-Relocations): Document the new relocation.
273 * dw2gencfi.c (output_cie): Consider emitting the S augmentation in all
274 cases, and not only for .eh_frame.
276 * dw2gencfi.c (output_cie): Make it more explicit which code paths
277 belong to .eh_frame only.
281 * config/tc-v850.c (v850_insert_operand): Handle out-of-range
282 assembler constants on 64-bit hosts.
286 * bfin-defs.h, bfin-lex.l, bfin-parse.y, tc-bfin.c, tc-bfin.h:
287 Strip trailing whitespace.
291 * doc/c-bfin.texi (-mcpu): Add bf504 and bf506.
292 * config/tc-bfin.c (bfin_cpu_type): Add BFIN_CPU_BF504 and
294 (bfin_cpus[]): Add 0.0 for bf504 and bf506.
298 * doc/as.texinfo: Add Blackfin options.
299 * doc/c-bfin.texi: Document -mfdpic, -mno-fdpic and -mnopic.
300 * config/tc-bfin.c (md_show_usage): Show usage for all
301 Blackfin specific options.
306 * listing.c (listing_newline): Correct backslash quote logic.
310 * config/tc-i386.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define.
311 (ELF_TARGET_FORMAT64): Define.
315 * config/tc-arm.c (arm_cpu_option_table): Add cortex-m4.
319 * config/tc-sh.c (get_specific): Move overflow checking code to avoid
320 reading uninitialized data.
324 * config/tc-score7.c (s7_frag_check): Add ATTRIBUTE_UNUSED.
328 * configure.tgt: Fix mep cpu case.
332 * config/tc-arm.c (do_t_strexd): Remove
333 operand[1] != operand[2] contraint.
337 * config/tc-arm.c (neon_select_shape): No need to match
338 the remaining operands in the shape when one operand does
343 * config/tc-arm.c (do_neon_ld_st_interleave): Reject bad
348 * cgen.c: Whitespace fixes.
349 (weak_operand_overflow_check): Formatting fix.
353 * config/tc-i386.c (match_template): Update error messages.
357 * config/tc-i386.c (_i386_insn): Add err_msg.
358 (operand_size_match): Set err_msg on failure.
359 (operand_type_match): Likewise.
360 (operand_type_register_match): Likewise.
361 (VEX_check_operands): Likewise.
362 (match_template): Likewise. Use i.err_msg with as_bad.
366 * config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop,
367 mips_fix_loongson2f_jump): New variables.
368 (md_longopts): Add New options -mfix-loongson2f-nop/jump,
369 -mno-fix-loongson2f-nop/jump.
370 (md_parse_option): Initialize variables via above options.
371 (options): New enums for the above options.
372 (md_begin): Initialize nop_insn from LOONGSON2F_NOP_INSN.
373 (fix_loongson2f, fix_loongson2f_nop, fix_loongson2f_jump):
375 (append_insn): call fix_loongson2f().
376 (mips_handle_align): Replace the implicit nops.
377 * config/tc-mips.h (MAX_MEM_FOR_RS_ALIGN_CODE): Modified
378 for the new mips_handle_align().
379 * doc/c-mips.texi: Document the new options.
383 * config/tc-arm.c (do_rd_rm_rn): Added warning
389 * config/tc-avr.c (md_apply_fix): Handle BFD_RELOC_8.
390 (avr_cons_fix_new): Handle fixups of a single byte.
395 * config/tc-arm.c (CPU_DEFAULT): Do not define based upon build
396 compiler's predefines.
400 * configure.tgt: Whiltespace. Sort moxie entry.
404 * config/tc-arm.c (arm_convert_symbolic_attribute): Add Tag_DIV_use.
405 * doc/c-arm.texi: Likewise.
409 * config/tc-arm.c (asm_opcode): operands type
411 (BAD_PC_ADDRESSING): New macro message.
412 (BAD_PC_WRITEBACK): Likewise.
413 (MIX_ARM_THUMB_OPERANDS): New macro.
414 (operand_parse_code): Added enum values.
415 (parse_operands): Added thumb/arm distinction,
416 plus new enum values handling.
417 (encode_arm_addr_mode_2): Validations enhanced.
418 (encode_arm_addr_mode_3): Likewise.
419 (do_rm_rd_rn): Likewise.
420 (encode_thumb32_addr_mode): Likewise.
421 (do_t_ldrex): Likewise.
422 (do_t_ldst): Likewise.
423 (do_t_strex): Likewise.
424 (md_assemble): Call parse_operands with
432 (insns): Updated insns operands.
437 * config/tc-ia64.c (enum reloc_func): Add FUNC_SLOTCOUNT_RELOC.
438 (DUMMY_RELOC_IA64_SLOTCOUNT): Added.
439 (pseudo_func): Add an entry for slotcount.
440 (md_begin): Initialize slotcount pseudo symbol.
441 (ia64_parse_name): Handle @slotcount parameter.
442 (ia64_gen_real_reloc_type): Handle slotcount.
443 (md_apply_fix): Ditto.
444 * doc/c-ia64.texi (IA-64-Relocs): Document @slotcount.
448 * config/tc-xtensa.c (istack_init): Don't call memset.
452 * config/tc-xtensa.c (cache_literal_section): Handle prefixes as
457 * config/tc-xtensa.c (xtensa_find_unaligned_loops): Rewrite.
461 * config/tc-i386.c (build_modrm_byte): Reformat.
465 * config/tc-i386.c: Update copyright.
470 * config/tc-i386.c (vec_imm4) New operand type.
472 (VEX_check_operands): New.
473 (check_reverse): Call VEX_check_operands.
474 (build_modrm_byte): Reintroduce code for 5
475 operand insns. Fix whitespace.
479 * config/tc-ppc.c (md_show_usage): Add -mpwr4, -mpwr5, -mpwr5x,
484 * config/tc-xtensa.c (RELAXED_LOOP_INSN_BYTES): New.
485 (next_frag_pre_opcode_bytes): Use RELAXED_LOOP_INSN_BYTES.
486 (xtensa_mark_zcl_first_insns): Rewrite to handle corner case.
490 * config/tc-arm.c (md_pcrel_from_section): Keep base to zero for
491 non-local branches (BFD_RELOC_THUMB_PCREL_BRANCH23,
492 BFD_RELOC_THUMB_PCREL_BLX, BFD_RELOC_ARM_PCREL_BLX,
493 BFD_RELOC_ARM_PCREL_CALL)
497 * config/tc-xtensa.c (frag_format_size): Generalize logic to
498 handle more instruction sizes and fetch widths.
499 (branch_align_power): Likewise.
500 (text_align_power): Likewise.
501 (bytes_to_stretch): Likewise.
505 * config/tc-ppc.c (md_show_usage): Mention -mtitan. Don't use tabs.
506 (ppc_mach): Handle titan.
507 * doc/c-ppc.texi: Mention -mtitan.
511 * config/tc-xtensa.c (UNREACHABLE_MAX_WIDTH): Delete and
513 (xtensa_fetch_width) ...this.
517 * Makefile.am (CPU_TYPES, OBJ_FORMATS, CPU_OBJ_VALID,
518 MULTI_CPU_TYPES, MULTI_CPU_OBJ_VALID): Remove.
519 * Makefile.in: Regenerate.
523 * config/tc-i386.c (cpu_arch): Change amdfam15 to bdver1.
524 (i386_align_code): Rename PROCESSOR_AMDFAM15 to PROCESSOR_BDVER1.
525 * config/tc-i386.h (processor_type): Same.
526 * doc/c-i386.texi: Change amdfam15 to bdver1.
531 * config/tc-arm.c (neon_check_type): Handle a neon_shape value of
536 * NEWS: Mention new feature.
537 * config/obj-coff.c (obj_coff_section): Accept digits and use
538 to override default section alignment power if specified.
539 * doc/as.texinfo (.section directive): Update documentation.
543 * config/tc-i386.c (avxscalar): New.
544 (OPTION_MAVXSCALAR): Likewise.
545 (build_vex_prefix): Select vector_length for scalar instructions
547 (md_longopts): Add OPTION_MAVXSCALAR.
548 (md_parse_option): Handle OPTION_MAVXSCALAR.
549 (md_show_usage): Add -mavxscalar=.
551 * doc/c-i386.texi: Document -mavxscalar=.
555 * config/tc-i386.c (build_vex_prefix): Set i.vex.bytes[0] to
560 * write.h (fix_at_start): Declare.
561 * write.c (fix_new_internal): Add at_beginning parameter.
562 Use it instead of REVERSE_SORT_RELOCS. Fix the handling of
563 seg_fix_tailP for the at_beginning/REVERSE_SORT_RELOCS case.
564 (fix_new, fix_new_exp): Update accordingly.
565 (fix_at_start): New function.
566 * config/tc-ppc.c (md_pseudo_table): Add .ref to the OBJ_XCOFF section.
567 (ppc_ref): New function, for OBJ_XCOFF.
568 (md_apply_fix): Handle BFD_RELOC_NONE for OBJ_XCOFF.
569 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Remove #undef.
573 * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only
574 on 64-bit Solaris/x86.
575 Include obj-format.h earlier.
579 * config/tc-s390.c (s390_elf_final_processing): New function.
580 * config/tc-s390.h (elf_tc_final_processing): New macro definition.
581 (s390_elf_final_processing): Added prototype.
587 * config/tc-arm.c (do_neon_cvt): Rename to do_neon_cvt_1. Add
588 code to handle round-to-zero for VCVT conversions.
589 (do_neon_cvt): New. Call do_neon_cvt_1.
590 (do_neon_cvtr): New. Call do_neon_cvt_1.
591 (insns): Use do_neon_cvt for VCVT insn and do_neon_cvtr for VCVTR
596 * config/tc-ia64.c (ia64_vms_note): Generate 24 bytes note headers.
600 * config/tc-i386.c (md_assemble): Before accessing the IMM field
601 check that it's not an XOP insn.
605 * config/bfin-aux.h: Remove argument names in function
607 * config/bfin-lex.l (parse_int): Fix shadowed variable name
609 * config/bfin-parse.y (value_match): Remove argument names
611 (notethat): Likewise.
616 * config/tc-arm.c (do_t_nop): Correct check for Thumb-2 NOP.
620 * config/tc-h8300.c (h8300_elf_section): New function - issue a
621 warning message if a new section is created without setting any
623 (md_pseudo_table): Intercept section creation pseudos.
624 (md_pcrel_from): Replace abort with an error message.
625 * config/obj-elf.c (obj_elf_section_name): Export this function.
626 * config/obj-elf.h (obj_elf_section_name): Prototype.
631 * listing.c (print_source): Add one to line number.
635 * Makefile.in: Regenerate.
636 * configure: Regenerate.
637 * doc/Makefile.in: Regenerate.
641 * version.c (parse_args): Change to "Copyright 2010".
645 * config/tc-i386.c (cpu_arch): Add amdfam15.
646 (i386_align_code): Add PROCESSOR_AMDFAM15 cases.
647 * config/tc-i386.h (processor_type): Add PROCESSOR_AMDFAM15.
648 * doc/c-i386.texi: Add amdfam15.
652 * config/tc-arm.c (do_neon_logic): Accept imm value
653 in the third operand too.
654 (operand_parse_code): OP_RNDQ_IMVNb renamed to
656 (parse_operands): OP_NILO case removed, applied renaming.
657 (insns): Neon shape changed for some logic instructions.
661 * config/tc-arm.c (do_neon_ldx_stx): Added
662 validation for vector load/store insns.
666 * config/tc-ppc.c (md_show_usage): Document -me500mc64.
670 * config/tc-arm.c (struct arm_it): New flag 'is_neon'.
671 (NEON_ENC_*): Macros renamed to _NEON_ENC_*.
672 (NEON_ENCODE): New macro.
673 (check_neon_suffixes): New macro.
674 (do_vfp_cond_or_thumb): Set the 'is_neon' flag.
675 (do_vfp_nsyn_opcode): Likewise.
676 (do_vfp_nsyn_nmul): Use the new 'NEON_ENCODE' macro.
677 (do_vfp_nsyn_cmp): Likewise.
678 (do_neon_shl_imm): Likewise.
679 (do_neon_qshl_imm): Likewise.
680 (neon_dyadic_misc): Likewise.
681 (do_neon_mac_maybe_scalar): Likewise.
682 (do_neon_qdmulh): Likewise.
683 (do_neon_qmovn): Likewise.
684 (do_neon_qmovun): Likewise.
685 (do_neon_movn): Likewise.
686 (neon_mac_reg_scalar_long): Likewise.
687 (do_neon_vmull): Likewise.
688 (do_neon_trn): Likewise.
689 (do_neon_ldx_stx): Likewise.
690 (neon_dp_fixup): Changed signature and set the flag.
691 (neon_three_same): Call the above with new signature.
692 (neon_two_same): Likewise.
693 (neon_imm_shift): Likewise.
694 (neon_mul_mac): Likewise.
695 (do_neon_abs_neg): Likewise.
696 (neon_mixed_length): Likewise.
697 (do_neon_ext): Likewise.
698 (do_neon_mov): Likewise.
699 (do_neon_tbl_tbx): Likewise.
700 (do_neon_logic): Likewise, and use the new 'NEON_ENCODE' macro.
701 (neon_compare): Likewise.
702 (do_neon_shll): Likewise.
703 (do_neon_cvt): Likewise.
704 (do_neon_mvn): Likewise.
705 (do_neon_dup): Likewise.
706 (md_assemble): Call check_neon_suffixes ().
708 For older changes see ChangeLog-2009
714 version-control: never