4 * config/obj-elf.c (elf_adjust_symtab) [TE_SOLARIS]: Make sy
9 * input-file.c (input_file_open): Check for empty input files.
10 (input_file_get): Check for end of file before reading any more
12 (input_file_give_next_buffer): Likewise.
16 * config/obj-elf.c (elf_process_stab): Mark parameters as
21 * config/obj-elf.c (elf_generate_asm_lineno): New function.
22 (elf_process_stab): New function.
23 (elf_format_ops): Always use them as generate_asm_lineno,
29 * config/tc-arm.c (arm_arch_v6m_only): New variable.
30 (aeabi_set_public_attributes): Ensure we only set the Operating System
31 Extension when we are on an M-profile core.
35 * config/tc-mips.c (macro_build): Remove gas_assert from 'o' case.
36 Use a restricted gas_assert for 'i' and 'j'.
40 * config/tc-mips.c (mips_cpu_info_table): Add loongson3a in MIPS 64.
41 * doc/c-mips.texi (MIPS cpu): Add loongson3a.
45 * config/tc-arm.c (do_t_branch): Treat (PLT) branches as wide.
49 * config/tc-cr16.c (getprocreg_image): Fix typo MAX_PREG ->
51 (getprocregp_image): Likewise.
55 * po/gas.pot: Regenerate
56 * po/POTFILES.in: Regenerate
60 * NEWS: Add marker for 2.21.
65 * config/obj-coff.c (weak_altname2name): Don't infer from the presence
66 of a period that the symbol has been already uniquify-d.
67 (weak_uniquify): Don't worry that the symbol might have been already
72 * config/tc-ppc.c (nop_limit): New var.
73 (OPTION_NOPS): Define.
74 (md_longopts): Add --nops.
75 (md_parse_option): Handle it.
76 (md_show_usage): Publish.
77 (ppc_handle_align): Pad with a branch followed by nops if more
83 * config/tc-i386-intel.c (i386_intel_fold): Properly fold
84 _GLOBAL_OFFSET_TABLE_.
88 * config/tc-tic6x.c (OPTION_MPID, OPTION_MPIC, OPTION_MNO_PIC):
90 (md_longopts): Add options mpid, mpic and mno-pic.
91 (tic6x_pid_type, tic6x_pid, tic6x_pic, tic6x_pid_type_table,
92 tic6x_pid_types, tic6x_use_pid): New.
93 (md_parse_option): Handle new options.
94 (md_show_usage): Output help text for new options.
95 (tic6x_set_attributes): Set PID and PIC attributes.
96 * doc/as.texinfo: Document -mpid=, -mpic and -mno-pic.
97 * doc/c-tic6x.texi (TIC6X Options): Likewise.
101 * config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Use the offset
103 (mips_ip)['o']: Initialise offset_reloc.
107 * doc/c-tic6x.texi (TIC6X Directives): Mention
108 Tag_ABI_compatibility.
112 * write.c (compress_debug): Optimize section flags check.
117 * config/tc-tic6x.c (OPTION_MDSBT, OPTION_MNO_DSBT): New enum
119 (md_longopts): Add mdsbt and mno-dsbt.
120 (tic6x_dsbt): New static variable.
121 (md_parse_option): Handle OPTION_MDSBT and OPTION_MNO_DSBT.
122 (md_show_usage): Output help text for -mdsbt and -mno-dsbt.
123 (TAG): Add comma at the end.
124 (tic6x_set_attributes): Set Tag_ABI_DSBT.
125 * doc/as.texinfo: Document -mdsbt and -mno-dsbt.
126 * doc/c-tic6x.texi (TIC6X Options): Likewise.
127 (TIC6X Directives): Mention Tag_ABI_DSBT.
131 * doc/as.texinfo: Add directory section for info document.
135 * config/tc-s390.c (md_begin): Only add to hash table if cpu and
140 * config/tc-d30v.c (d30v_cons_align): Don't align .eh_frame.
144 * config/obj-coff.c (coff_format_ops): Fix typo.
148 * config/tc-mips.c (macro2): Delete.
152 * config/tc-tic6x.c: Add attribution.
156 * obj.h (struct format_ops): Add adjust_symtab.
157 * config/obj-multi.h (obj_adjust_symtab): Define.
158 * config/obj-aout.c (aout_format_ops): Init new field.
159 * config/obj-coff.c (coff_format_ops): Likewise.
160 * config/obj-ecoff.c (ecoff_format_ops): Likewise.
161 * config/obj-elf.c (elf_format_ops): Likewise.
166 * write.c (relax_frag): Don't allow forward branches to temporarily
167 becomde backward branches.
171 * config/obj-elf.c (elf_adjust_symtab): New. Move group section
172 processing here from elf_frob_file. Ensure that group signature
173 symbols have the name of the group.
174 (elf_frob_file): Move group section processing to
176 * config/obj-elf.h (elf_adjust_symtab): Declare.
177 (obj_adjust_symtab): Define.
178 * config/tc-arm.c (arm_adjust_symtab): Call elf_adjust_symtab.
182 * config/tc-sparc.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define as
184 (ELF64_TARGET_FORMAT): Define as elf64-sparc-sol2.
188 * config/tc-tic6x.c (tic6x_arch_attribute, tic6x_arches,
189 md_assemble, tic6x_set_attributes): Update for attribute renaming.
190 * doc/c-tic6x.texi: Update for attribute renaming.
194 * write.c (relax_segment): Correct address on frag added to stop
195 leb128/align frags bouncing.
200 * frags.h (struct frag): Add "region" field.
201 * write.c (relax_frag): Don't add "stretch" to forward reference
202 target if there is an intervening org or align.
203 (relax_segment): Set region.
207 * config/tc-mips.c (macro)[ldd_std]: Fix the relaxation variant
208 for absolute addressing.
212 * config/tc-mips.c (macro)[M_LD_OB, M_SD_OB]: Handle 64-bit ABIs.
216 * config/tc-mips.c (mips_pseudo_table): Add "sbss".
217 (s_change_sec): Handle it.
221 * config/bfin-parse.y (BYTEOP2M): Call BYTEOP2M().
225 * config/tc-i386.c (match_template): Check checkregsize
226 instead of w for register size check.
230 * config/tc-i386.c (_i386_insn): Add disp32_encoding.
231 (md_assemble): Don't call optimize_disp if disp32_encoding is
233 (parse_insn): Support .d32 to force 32bit displacement.
234 (output_branch): Use BIG if disp32_encoding is set.
236 * doc/c-i386.texi: Document .d32 encoding suffix.
240 * config/bfin-lex.l (FLAGS): New state.
241 (X, Z, S, M, T): Require FLAGS state.
242 ("(", ")"): Start/stop FLAGS state.
246 * config/bfin-aux.h (bfin_loop_attempt_create_label): New prototype.
247 * config/bfin-parse.y (LOOP_BEGIN, LOOP_END): Handle numeric labels.
248 * config/tc-bfin.c (bfin_loop_attempt_create_label): New funtion.
252 * config/tc-bfin.c (bfin_gen_loop): Check symbol before removing.
256 Fix build with -DDEBUG=7
257 * config/obj-coff.c (s_get_name, symbol_dump): Add prototypes.
261 * config/tc-tic6x.c (tic6x_try_encode): Correct encoding of fstg field
262 in SPKERNEL instructions.
266 * config/tc-arm.c (encode_branch): Remove superfluous braces.
267 (do_t_branch): Move reloc setting to end of routine.
271 * config/tc-mips.c (mips_fix_cn63xxp1): New variable.
272 (mips_ip): Add errata work around when mips_fix_cn63xxp1 set.
273 (OPTION_FIX_CN63XXP1, OPTION_NO_FIX_CN63XXP1): New enum options
275 (md_longopts): Add options for -mfix-cn63xxp1 and -mno-fix-cn63xxp1.
276 (md_parse_option): Handle OPTION_FIX_CN63XXP1 and
277 OPTION_NO_FIX_CN63XXP1.
278 (md_show_usage): Add documentation for -mfix-cn63xxp1.
279 * doc/c-mips.texi (-mfix-cn63xxp1, -mno-fix-cn63xxp1): Document
284 * gas/tic6x/insns-bad-1.s: Remove test for readonly tscl.
285 * gas/tic6x/insns-bad-1.l: Likewise.
286 * gas/tic6x/insns-c674x.d: Add test for writeable tscl.
287 * gas/tic6x/insns-c674x.s: Likewise.
291 * expr.c (expr): Correct returned segment value.
295 * configure: Regenerate.
299 * config/tc-tic6x.c (tic6x_fix_adjustable): New function.
300 * config/tc-tic6x.h (tic6x_fix_adjustable): Declare.
301 (tc_fix_adjustable): New macro.
305 * config/tc-s390.c: (md_parse_option): New option -march=z196.
306 * doc/c-s390.texi: Document new option.
310 * config/tc-arm.c (do_neon_ldr_str): Deprecate ARM-mode PC-relative
311 VSTR, issue an error in THUMB mode.
315 * config/tc-arm.c (arm_ext_virt): New variable.
316 (arm_reg_type): Add REG_TYPE_RNB for banked registers.
317 (reg_entry): Allow registers to be larger than a byte.
318 (reg_alias): Fix type warning.
319 (parse_operands): Parse banked registers when appropriate.
320 (do_mrs): Add support for Virtualization Extensions.
321 (do_hvc): New function.
322 (do_t_mrs): Add support for Virtualization Extensions.
323 (do_t_msr): Likewise.
324 (do_t_hvc): New function.
325 (SPLRBANK): New define.
326 (reg_names): Add banked registers.
327 (insns): Add support for Virtualization Extensions.
328 (md_apply_fixup): Likewise.
329 (arm_cpus): -mcpu=cortex-a15 implies the Virtualization Extensions.
330 (arm_extensions): Add 'virt' extension.
331 (aeabi_set_public_attributes): Add support for Virtualization
333 * doc/c-arm.texi: Document 'virt' extension.
337 * config/tc-arm.c (arm_ext_adiv): New variable.
338 (do_div): New function.
339 (insns): Accept UDIV and SDIV in ARM state.
340 (arm_cpus): The cortex-a15 option has all current v7-A extensions.
341 (arm_extensions): Add 'idiv' extension.
342 (aeabi_set_public_attributes): Update Tag_DIV_use values for the
343 Integer Divide extension.
344 * doc/c-arm.texi: Document the idiv extension.
348 * config/tc-arm.c (arm_ext_v6m): New variable.
349 (arm_ext_m): Add support for OS extension.
350 (arm_ext_os): New variable.
351 (do_t_swi): In v6-M ensure we have the OS extension.
352 (arm_cpus): The cortex-m1 and cortex-m0 options have the OS
353 extension by default.
354 (arm_archs): Add armv6s-m.
355 (arm_extensions): Add 'os' extension.
356 (cpu_arch_ver): Add support for v6S-M.
357 * doc/c-arm.texi: Document the OS Extension, and v6-m and v6s-m
358 architecture options.
362 * config/tc-arm.c (arm_ext_v6z): Remove.
363 (arm_ext_sec): New variable.
364 (do_t_smc): In Thumb state SMC requires v7-A.
365 (insns): Make SMC depend on Security Extensions.
366 (arm_cpus): All -mcpu=cortex-a* options have the Security Extensions.
367 (arm_extensions): Add 'sec' extension.
368 (cpu_arch_ver): Reorder.
369 (aeabi_set_public_attributes): Emit Tag_Virtualization_use as
371 * doc/c-arm.texi: Document Security Extensions.
375 * config/tc-arm.c (arm_ext_mp): Add.
376 (do_pld): Update comment.
377 (insns): Add support for pldw.
378 (arm_cpus): Update cortex-a5, cortex-a9, and cortex-a15 to support
380 (arm_extensions): Add 'mp' extension.
381 (aeabi_set_public_attributes): Emit correct build attribute when
382 MP extension is enabled.
383 * doc/c-arm.texi: Update for MP extensions.
387 * config/tc-arm.c (md_pseduo_table): Add .arch_extension directive.
388 (arm_option_extension_value_table): Add.
389 (arm_extensions): Change type.
390 (arm_option_cpu_table): Rename...
391 (arm_option_fpu_table): ...to this.
392 (arm_fpus): Change type.
393 (arm_parse_extension): Enforce alphabetical order. Allow
394 extensions to be removed.
395 (arm_parse_arch): Allow extensions to be specified with -march.
396 (s_arm_arch_extension): Add.
397 (s_arm_fpu): Update for type changes.
398 * doc/c-arm.texi: Document changes to infrastructure.
402 * config/tc-mn10300.c (tc_gen_reloc): Replace absolute symbols
403 with the absolute section symbol.
407 * config/bfin-parse.y: Fix typo in BYTEOP16P comment.
411 * config/bfin-parse.y (is_store): New function.
412 (gen_multi_instr_1): Check parallel slots for store insns.
416 * config/bfin-defs.h (IS_EMUDAT): New define.
417 * config/bfin-parse.y: Accept EMUDAT for any register move.
421 * config/bfin-parse.y: Improve error messages.
425 * config/bfin-parse.y (DBG): Fix regno encoding.
426 (DBGCMPLX): Likewise.
430 * config/bfin-lex.l: Accept multibyte chars in symbol names.
434 * config/bfin-defs.h (statusflags): Add AC0_COPY, V_COPY, and RND_MOD.
435 * config/bfin-lex.l: Tokenize AC0_COPY, V_COPY, and RND_MOD.
439 * config/bfin-aux.h (bfin_gen_pseudochr): New prototype.
440 * config/tc-bfin.c (bfin_gen_pseudochr): New function.
441 * config/bfin-parse.y: Call bfin_gen_pseudochr for OUTC tokens.
445 * config/bfin-lex.l (abort): Accept case-insensitive abort insn.
446 * config/bfin-parse.y (ABORT): Handle the ABORT token.
450 * config/tc-bfin.c (bfin_cpus[]): Add 0.2 for bf512/bf514/bf516/bf518.
454 * doc/c-bfin.texi (-mcpu): Add bf592.
455 * config/tc-bfin.c (bfin_cpu_type): Add BFIN_CPU_BF592.
456 (bfin_cpus[]): Add 0.0/0.1 for bf592.
460 * config/tc-bfin.c (comment_chars): Add #.
464 * config/tc-arm.c (arm_cpus): Correct canonical names for Cortex CPUs.
468 * config/tc-alpha.c (tc_gen_reloc): Remove hack around
469 bfd_perform_reloc for OBJ_ELF.
473 * config/tc-arm.c (do_t_ldmstm): Add logic to handle single-register
478 * config/tc-arm.c (parse_psr): Add condition for matching "APSR" on
480 (psrs): Add entry for PSR flags, g, nzcvq, nzcvqg.
484 * config/tc-arm.c (insns): Change MRC entry to accept APSR_RR instead
490 * config/obj-elf.c (obj_elf_parse_section_letters): Correct test
491 for error return from md_elf_section_letter.
492 * config/tc-alpha.c (alpha_elf_section_letter): Correct error message.
493 * config/tc-i386.c (x86_64_section_letter): Likewise.
494 * config/tc-ia64.c (ia64_elf_section_letter): Likewise.
495 * config/tc-mep.c (mep_elf_section_letter): Likewise.
499 * config/obj-coff-seh.c (seh_validate_seg): New funtion.
500 (obj_coff_seh_endproc): Add check for segment.
501 (obj_coff_seh_endprologue): Likewise.
502 (obj_coff_seh_pushreg): Likewise.
503 (obj_coff_seh_pushframe): Likewise.
504 (obj_coff_seh_save): Likewise.
505 (obj_coff_seh_setframe): Likewise.
507 * config/obj-coff-seh.h (seh_context): New member code_seg.
508 * config/obj-coff-seh.c: Implementing xdata/pdata section cloning
509 for link-once code-segment.
513 * doc/c-arm.texi: Document -mcpu=cortex-m4.
517 * config/tc-i386.c (build_vex_prefix): Check VEXW1 for 2-byte
522 * doc/c-tic6x.texi (.c6xabi_attribute): Document directive.
526 * config/tc-arm.c (arm_cpus): Add cortex-a15 entry.
527 * doc/c-arm.texi: Document -mcpu=cortex-a15.
531 * gas/config/tc-m68k.c (tc_gen_reloc): Handle references to defined
532 weak symbols first if generating an a.out object.
536 * config/tc-arm.c (md_apply_fix): Check if widened add, sub are
537 flag-setting and handle accordingly.
542 * config/tc-arm.c (parse_big_immediate): Allow for bignums being
543 extended to the size of a .octa.
547 * config/tc-arm.c (create_neon_reg_alias): Deal with case
553 * config/tc-mn10300.c (md_convert_frag): Zero out top two bytes of
554 long call instruction's displacement.
559 * config/tc-i386.c (i386_finalize_immediate): Check flag_code
560 instead of use_rela_relocations for 64bit.
564 * dw2gencfi.c (TC_DWARF2_EMIT_OFFSET): Provide default.
565 (output_fde): Use it. Make sure to fully init exp before using it.
569 * config/obj-coff-seh.c (obj_coff_seh_save): Correct comparison.
570 (obj_coff_seh_stackalloc): Likewise.
574 * config/obj-elf.c (obj_elf_init_stab_section): Fix assertion.
578 * config/obj-coff-seh.c: Rewrite the entire file.
579 (symtab, symptr, reltab, relcount, relsize): Remove.
580 (seh_ctx_root, seh_ctx): Remove.
581 (xdata_seg, xdata_subseg, pdata_seg): New.
582 (switch_xdata, switch_pdata): New.
583 (verify_context, verify_context_and_target, skip_whitespace_and_comma):
584 New parsing functions. Rewrite all parsing functions to use them.
585 (obj_coff_seh_32): Fix != arm thinko.
586 (obj_coff_seh_handler): For x64, don't accept handler pointer here,
588 (obj_coff_seh_handlerdata): New.
589 (do_seh_endproc): Split out of ...
590 (obj_coff_seh_endproc): ... here.
591 (obj_coff_seh_proc): Use it, if needed.
592 (seh_x64_make_prologue_element): Use XRESIZEVEC, symbol_temp_new_now.
593 (seh_x64_read_reg): Remove mm_regs alternative. Tidy integer reg
594 alternatives. Don't slurp commas.
595 (seh_read_offset): Remove.
596 (obj_coff_seh_pushframe): Split out from obj_coff_seh_push.
597 (obj_coff_seh_scope): Remove.
598 (obj_coff_seh_save): Decide UWOP_SAVE_* vs _FAR immediately.
599 (obj_coff_seh_stackalloc): Decide _SMALL vs _LARGE immediately.
600 (out_one, out_two, out_four): New.
601 (seh_x64_write_prologue_data, seh_x64_size_prologue_data,
602 seh_x64_write_function_xdata, write_function_xdata): Rewrite
603 from seh_x64_write_xdata, seh_needed_unwind_info, seh_store_elm_data,
604 seh_getelm_data_size, seh_getsize_of_unwind_entry,
605 seh_make_unwind_entry, seh_getsize_unwind_data, and
606 seh_create_unwind_data.
607 (seh_arm_write_function_pdata): Rewrite from seh_arm_create_pdata.
608 (write_function_pdata): Rewrite from make_function_entry_pdata.
609 (seh_write_text_eh_data, make_function_entry_pdata,
610 seh_arm_create_pdata, seh_arm_write_pdata, seh_reloc, save_relocs,
611 seh_symbol_init, seh_symbol, quick_section, seh_emit_rva,
612 seh_emit_long, seh_make_globl, seh_make_section2, seh_make_section,
613 seh_make_xlbl_name, make_seh_text_label, seh_fill_pcsyms,
614 seh_needed_unwind_info, seh_store_elm_data, seh_getelm_data_size,
615 seh_getsize_of_unwind_entry, seh_make_unwind_entry,
616 seh_getsize_unwind_data, seh_create_unwind_data,
617 seh_make_function_entry_xdata, seh_x64_makescope_elem): Remove.
618 * config/obj-coff-seh.h (SEH_CMDS): Remove seh_savemm, seh_scope.
619 Add seh_handlerdata. Adjust function/what arguments for
620 seh_savereg, seh_pushframe, seh_stackalloc.
621 (struct seh_prologue_element): Adjust members to closer match
622 the elements of the UNWIND_CODE structure.
623 (struct seh_scope_elem): Remove.
624 (struct seh_context): Replace char* members with symbolS or
625 expressionS as appropriate. Sort members by ARM/x64 applicability.
626 Remove obsolete stuff wrt direct symbol and reloc manipulation.
630 * NEWS: Mention ampersand in macro change.
634 * configure.tgt (m68k-*-aout): Change to bfd_gas=yes.
638 * config/tc-d10v.c (do_assemble): Correctly detect overflow of
640 * config/tc-m68hc11.c (md_assemble): Likewise.
641 * config/tc-microblaze.c (md_assemble): Likewise. Correct cast
642 of is_end_of_line index.
646 * config/tc-arm.c (encode_arm_addr_mode_2): Fix comment.
650 * config/tc-arm.c (encode_arm_addr_mode_2): Fix
651 BAD_PC_ADDRESSING condition.
655 * doc/c-arm.texi (ARM Options): Document -mfpu=fp4-sp-d16.
659 * config/tc-i386.c (VEX_check_operands): Fix a typo in comments.
663 * config/tc-i386.c (build_modrm_byte): Check i.imm_operands
668 * macro.c (sub_actual): Add back ampersand suffix when no
670 (macro_expand_body): Correct comment.
674 * config/obj-elf.c (obj_elf_parse_section_letters): Take new
675 boolean result parameter CLONE; set it if '?' flag letter seen.
676 (obj_elf_section): Update caller. Handle that flag by copying
677 the LINKONCE and GROUP_NAME state from NOW_SEG.
678 * doc/as.texinfo (Section): Document the ? flag.
682 * as.c (show_usage): Don't list --compress-debug-sections if zlib not
684 (main): Warn if --compress-debug-sections requested and zlib not
686 * doc/as.texinfo: Add --compress-debug-sections,
687 --nocompress-debug-sections.
691 * config/tc-i386.c (set_cpu_arch): Re-indent.
692 (md_parse_option): Likewise.
696 * config/tc-i386.c (arch_entry): Add negated bit to
697 disambiguate flag names starting with "no".
698 (cpu_arch): Add negated bit definitions. Add
699 ".nop" CPU extension.
700 (i386_align_code): Use new .cpunop bit to decide
701 when to generate alignment using nops.
702 (set_cpu_arch): Use negated bit instead to decide
703 when to use cpu_flags or vs. cpu_flags_and_not.
704 (md_parse_option): Likewise.
708 * config/tc-i386.c (match_template): Move the first i.error
713 * configure.tgt (m32c): Set endian=little.
714 * config/tc-m32c.h (TARGET_BYTES_BIG_ENDIAN): Define as 0.
715 * config/tc-m32c.c (md_number_to_chars): Revert last change.
719 * makefile.vms (OBJS): Add Add compress-debug.c.
723 * config/tc-d10v.h (TARGET_BYTES_BIG_ENDIAN): Define as 1.
724 * config/tc-m32c.c (md_number_to_chars): Call bigendian
725 form of number_to_chars, not littleendian.
729 * config/tc-d30v.c (d30v_cons_align): Don't align constants
735 * expr.c (operand <'-' and '~'>): Widen bignums.
736 (operand <'!'>): Correct bignum result and convert to O_constant.
737 * read.c (emit_expr): Don't assert on .byte bignum. Don't display
738 bignum truncated warning for sign extended bignums.
742 * config/tc-v850.c (md_assemble): Always pass format string to
744 (md_apply_fix): Similarly for as_warn_where.
748 * config/tc-i386-intel.c: Reformat.
752 * config/tc-ppc.c (ppc_fix_adjustable): Add got reloc types used
758 * symbols.c (symbol_clone): Correct typo in previous patch.
763 * symbols.c (symbol_clone): Clear BSF_SECTION_SYM flag.
767 * config/tc-ppc.c (md_assemble): Don't attempt to print NUL in
768 syntax error message.
772 * config/tc-mips.c (mips16_macro_build): Pass "args" by
773 reference rather than value.
774 (macro_build): Update accordingly.
778 * config/tc-mips.c (mips_ip): Use symbol_temp_new_now to create
783 * config/tc-mips.c (macro)[M_JAL_1, M_JAL_2]: Handle the JALR
784 delay slot in the noreorder mode with the o32 ABI.
789 * config/tc-v850.c: Update processor_mask.
790 (reg_name): Update the structure to use processors field.
791 (md_relax_table): Define SUBYPTE_COND_9_22, SUBYPTE_SA_9_22,
792 SUBYPTE_UNCOND_9_22, SUBYPTE_COND_9_22_32, SUBYPTE_SA_9_22_32,
793 SUBYPTE_UNCOND_9_22_32, SUBYPTE_COND_9_17_22,
794 SUBYPTE_SA_9_17_22, SUBYPTE_COND_9_17_22_32 and
795 SUBYPTE_SA_9_17_22_32.
796 (set_machine): Add support for V850E2 and V850E2V3.
797 (md_pseudo_table): Likewise.
798 (pre_defined_registers): Update pre defined registers suitable
799 for each family of registers.
800 (system_registers): Likewise.
801 (cc_names): Update the condition code.
802 (float_cc_names): Update the condition code for float.
803 (reg_name_search): Update based on current modifications.
804 (register_name): Likewise.
805 (system_register_name): Update to support new system registers
806 and supported families.
807 (cc_name): Update to support new condition codes.
808 (float_cc_name): New function to support float condition codes.
809 (parse_register_list): Update to support newly added registers.
810 (md_show_usage): Define support for V850E2 and V850E2V3 targets.
811 Also support added for disp-size-default-22, disp-size-default-32,
812 mextension, mno-bcond17 and mno-stld23.
813 (md_parse_option): Implement the support for above options defined
815 (md_convert_frag): Implement support for subtypes defined in
816 md_relax_table to support branch operations.
817 (md_begin): Add support for V850E2 and V850E2V3.
818 (handle_hi016, handle_hi16): new relocation handling functions
819 (handle_lo16, handle_ctoff, handle_sdaoff, handle_zdaoff,
820 handle_tdaoff): Updated relocation handling functions for newly
822 (v850_reloc_prefix): Update the relocation handling functions.
823 (v850_insert_operand): Updated the functions with error message
824 parameter and modified the function to use it.
825 (md_assemble): Update according to the latest modifications.
826 (md_apply_fix): Updated the functions with error message parameter
827 and modified the function to use it.
828 (v850_force_relocation): Update with newly added relocations.
829 * configure.tgt: Match all v850 targets.
830 * doc/c-v850.texi: Document the newly added targets.
836 * macro.c (macro_expand): Recover gracefully from named args that
841 Switch MIPS to 32-bit DWARF format.
842 * config/tc-mips.h (DWARF2_FORMAT): Only define for [TE_IRIX].
843 * config/tc-mips.c (mips_dwarf2_format): Likewise.
847 * config/tc-ppc.c (ppc_setup_opcodes): Add all macros for -many.
851 * config/tc-rx.c (md_estimate_size_before_relax): Fix format
852 specifier warnings for 32-bit host when --enable-64-bit-bfd.
853 (rx_relax_frag, md_convert_frag): Likewise.
857 * gas/NEWS: Add note about --compress-debug-sections.
858 * gas/as.c (show_usage): Add --compress-debug-sections and
859 --nocompress-debug-sections.
863 * config/obj-elf.c (get_sym_from_input_line_and_check): New
864 function to catch missing pseudo-op arguments.
865 (obj_elf_local): Call new function.
866 (obj_elf_weak): Likewise.
867 (obj_elf_visibility): Likewise.
868 (obj_elf_vtable_entry): Likewise.
869 (obj_elf_type): Likewise.
873 * config/obj-coff-seh.c
874 (seh_getelm_data_size): New.
875 (seh_read_offset): Handle negative values.
876 (obj_coff_seh_push): Handle offset for save-register store.
877 (obj_coff_seh_setframe): Add unwind-information for frame.
878 (seh_store_elm_data): New.
879 (seh_getelm_data_size): Return additionally unaligned element count.
880 (seh_make_unwind_entry): Correct tweak about element count.
885 * config/tc-i386-intel.c (i386_intel_simplify): Restore fall
886 through patch for O_multiply.
891 * config/obj-coff.c (obj_common_parse): Quote symbol-name.
895 * tc-arm.c (OP_oBARRIER): Remove.
896 (OP_oBARRIER_I15): Add.
897 (po_barrier_or_imm): Add macro.
898 (parse_operands): Improve OP_oBARRIER_I15 operand parsing.
899 (do_barrier): Check correct immediate range.
900 (do_t_barrier): Likewise.
901 (barrier_opt_names): Add entries for more symbolic operands.
902 (insns): Replace OP_oBARRIER with OP_oBARRIER_I15 for barriers.
906 * config/tc-arm.c (tc_gen_reloc): Add BFD_RELOC_ARM_T32_OFFSET_IMM
911 * config/tc-mips.c (mips_frob_file): Use symbol_same_p to match
916 * config/tc-mips.c (nops_for_insn_or_target): Replace
917 MIPS16_INSN_BRANCH with MIPS16_INSN_UNCOND_BRANCH and
918 MIPS16_INSN_COND_BRANCH.
924 * dwarf2dbg.c (dwarf2_finish): Don't generate .debug_line section
929 * config/tc-moxie.c (md_apply_fix): Delete set but otherwise
934 * Makefile.am (CONFIG_OBJS): Removed.
935 (GENERIC_OBJS): Likewise.
937 * Makefile.in: Regenerated.
942 * config/tc-i386.c (i386_finalize_displacement): Don't call
943 section_symbol() with expr_section.
947 * Makefile.am: Add compress-debug.c and compress-debug.h.
948 * Makefile.in: Regenerate.
949 * config.in: Add HAVE_ZLIB_H.
950 * configure.in: Check for zlib.h.
951 * configure: Regenerate.
953 * as.c (parse_args): Add --compress-debug-sections and
954 --nocompress-debug-sections.
955 * as.h (flag_compress_debug): New variable.
956 * compress-debug.c: New file.
957 * compress-debug.h: New file.
958 * write.c: Include compress-debug.h.
959 (compress_frag): New function.
960 (compress_debug): New function.
961 (write_object_file): Compress debug sections if requested.
965 * config/tc-ppc.c (ppc_set_cpu): Cast PPC_OPCODE_xxx to ppc_cpu_t
970 * config/tc-ppc.c (ppc_set_cpu): Remove old opcode flags.
971 (ppc_setup_opcodes): Likewise. Simplify opcode selection.
975 * config/tc-rx.h (md_do_align): New.
976 (MAX_MEM_FOR_RS_ALIGN_CODE): New.
977 * config/tc-rx.c (nops): New.
978 (rx_handle_align): Use various sized nops to align code.
980 * config/tc-rx.c (rx_bytesT): Add grown/shrank counters for
982 (rx_relax_frag): Prevent infinite loops of grow/shrink/grow/etc.
986 AVX Programming Reference (June, 2010)
987 * config/tc-i386.c (cpu_arch): Add .xsaveopt, .fsgsbase, .rdrnd
990 * doc/c-i386.texi: Document xsaveopt, fsgsbase, rdrnd and f16c.
994 * config/tc-arm.c (do_t_mov_cmp): Fix reporting of unpredictable and
995 deprecated mov register instructions.
999 * config/tc-ppc.c (toc_reloc_types): New variable.
1000 (md_assemble): Set it.
1001 (ppc_frob_file_before_adjust): Don't warn about toc section size
1002 if we have large toc relocs and no small toc relocs.
1006 * config/tc-maxq.h: Delete file.
1007 * config/tc-maxq.c: Delete file.
1008 * Makefile.am: Remove references to maxq.
1009 * configure.tgt: Likewise.
1010 * config/obj-coff.h: Likewise.
1011 * Makefile.in: Regenerate.
1012 * configure: Regenerate.
1013 * po/POTFILES.in: Regenerate.
1017 * config/obj-evax.h (S_SET_OTHER, S_SET_TYPE, S_SET_DESC): Don't define.
1018 * config/tc-crx.c (gettrap): Constify arg.
1019 (handle_LoadStor, get_cinv_parameters): Likewise.
1020 (getreg_image): Fix enum warning
1021 (md_assemble): Restore input line char.
1022 * config/tc-hppa.c (tc_gen_reloc): Fix enum warning.
1023 * config/tc-i960.c (mem_fmt): Rename var to fix shadow warning.
1024 * config/tc-sh.c (sh_fdpic): Only define when OBJ_ELF.
1025 (build_Mytes): Fix build failure for non-elf targets.
1026 * config/tc-tic4x.c (tic4x_eval): Restore terminator char.
1027 * config/tc-xtensa.c (xtensa_end_directive): Fix switch enum warning.
1029 * cgen.c (gas_cgen_md_apply_fix): Avoid set but unused warning.
1030 * ecoff.c (add_ecoff_symbol): Likewise.
1031 * itbl-ops.c (append_insns_as_macros): Likewise.
1032 * listing.c (debugging_pseudo): Likewise.
1033 * read.c (s_mri_common, stringer): Likewise.
1034 * config/obj-coff.c (coff_frob_section): Likewise.
1035 * config/tc-alpha.c (emit_ldgp, s_alpha_proc): Likewise.
1036 * config/tc-arm.c (my_get_expression): Likewise.
1037 * config/tc-hppa.c (process_exit, pa_type_args): Likewise.
1038 * config/tc-m32c.c (md_assemble): Likewise.
1039 * config/tc-microblaze.c (md_convert_frag): Likewise.
1040 * config/tc-mips.c (s_change_section): Likewise.
1041 * config/tc-mt.c (mt_fix_adjustable): Likewise.
1042 * config/tc-xtensa.c (xtensa_literal_pseudo): Likewise.
1044 * config/obj-aout.c (obj_aout_frob_symbol): Delete set but otherwise
1046 * config/tc-alpha.c (load_expression): Likewise.
1047 (s_alpha_rdata, s_alpha_section, s_alpha_prologue): Likewise.
1048 * config/tc-arm.c (parse_neon_el_struct_list): Likewise.
1049 * config/tc-avr.c (extract_word): Likewise.
1050 * config/tc-cris.c (cris_get_expression): Likewise.
1051 * config/tc-d30v.c (build_insn, find_format): Likewise.
1052 * config/tc-dlx.c (machine_ip): Likewise.
1053 * config/tc-hppa.c (pa_get_absolute_expression): Likewise.
1054 * config/tc-i370.c (md_assemble): Likewise.
1055 * config/tc-i960.c (brtab_emit): Likewise.
1056 * config/tc-iq2000.c (s_iq2000_ent): Likewise.
1057 * config/tc-m32c.c (md_convert_frag): Likewise.
1058 * config/tc-m68hc11.c (fixup24, build_jump_insn): Likewise.
1059 (md_estimate_size_before_relax, md_apply_fix): Likewise.
1060 * config/tc-m68k.c (md_show_usage): Likewise.
1061 * config/tc-microblaze.c (microblaze_s_lcomm): Likewise.
1062 * config/tc-mips.c (s_mips_end): Likewise.
1063 * config/tc-mmix.c (mmix_byte, mmix_cons): Likewise.
1064 * config/tc-mn10300.c (md_assemble): Likewise.
1065 * config/tc-msp430.c (extract_word): Likewise.
1066 * config/tc-mt.c (md_assemble): Likewise.
1067 * config/tc-or32.c (machine_ip): Likewise.
1068 * config/tc-pj.c (md_apply_fix): Likewise.
1069 * config/tc-s390.c (md_gather_operands): Likewise.
1070 * config/tc-sh.c (sh_cons_align): Likewise.
1071 * config/tc-sparc.c (sparc_cons_align): Likewise.
1072 * config/tc-tic4x.c (tic4x_sect): Likewise.
1073 * config/tc-tic54x.c (tic54x_stringer): Likewise.
1074 * config/tc-vax.c (vip_op): Likewise.
1075 * config/tc-xstormy16.c (xstormy16_cons_fix_new): Likewise.
1076 * config/tc-xtensa.c (md_assemble): Likewise.
1077 (xtensa_fix_short_loop_frags, convert_frag_immed): Likewise.
1078 (xtensa_move_literals): Likewise.
1082 * config/tc-arm.c (parse_neon_alignment): New function.
1083 (parse_address_main): Fix Neon load/store alignment parsing.
1087 * config/tc-i386-intel.c (i386_intel_parse_name): Handle pseudo
1089 (i386_intel_operand): Remove bogus handling of pseudo symbols
1091 * expr.c (current_location): Remove 'static' and local
1093 * expr.h (current_location): Declare.
1098 * as.c: Globalize keep_it.
1099 (main): Remove keep_it. Move conditional from here...
1100 (close_output_file): ...to here.
1104 * doc/as.texinfo (Overview): Use @itemx for grouped @table
1106 * doc/c-alpha.texi (Alpha Options): Likewise.
1107 * doc/c-arm.texi (ARM Directives): Likewise.
1108 * doc/c-bfin.texi (Blackfin Options): Likewise.
1109 * doc/c-d10v.texi (D10V-Opts): Likewise.
1110 * doc/c-i386.texi (i386-Options): Likewise.
1111 * doc/c-ia64.texi (IA-64 Options): Likewise.
1112 * doc/c-m68k.texi (M68K-Opts): Likewise.
1113 * doc/c-tic54x.texi (TIC54X-Directives): Likewise.
1114 * doc/internals.texi (Symbols): Likewise.
1119 * config/tc-sh.c (find_cooked_opcode): Correct array bounds check.
1123 * config/tc-tic6x.h (tic6x_segment_info_type): Add field
1125 * config/tc-tic6x.c (tic6x_cons_align: Clear func_units_used.
1126 (md_assemble): Clear func_units_used for new execute packet.
1127 Check for duplicate functional units and update func_units_used
1128 for instructions using a functional unit.
1132 * config/tc-tic6x.c: Include elf/tic6x.h.
1133 (tic6x_arch_attribute, tic6x_seen_insns): New.
1134 (tic6x_arch_table, tic6x_arches): Add attribute values.
1135 (tic6x_use_arch): Handle attribute settings.
1136 (tic6x_attributes_set_explicitly, s_tic6x_c6xabi_attribute,
1137 tic6x_attribute_table, tic6x_attributes,
1138 tic6x_convert_symbolic_attribute): New.
1139 (md_pseudo_table): Add c6xabi_attribute.
1140 (md_assemble): Set tic6x_seen_insns and tic6x_arch_attribute.
1141 (tic6x_set_attribute_int, tic6x_set_attributes): New.
1142 (tic6x_end): Call tic6x_set_attributes.
1143 * config/tc-tic6x.h (CONVERT_SYMBOLIC_ATTRIBUTE): Define.
1144 (tic6x_convert_symbolic_attribute): Declare.
1148 * config/tc-ppc.c (md_assemble): Emit APUinfo section for
1153 * config/tc-i386.c (md_parse_option): Ignore impossible processor
1155 (show_arch): New parameter 'check'.
1156 (md_show_usage): Adjust calls to show_arch().
1160 * config/tc-i386.c (update_code_flag): New.
1161 (set_code_flag): Use it.
1162 (i386_target_format): Replace set_code_flag with update_code_flag.
1166 * config/obj-som.h: Includes som/reloc.h
1170 * config/tc-i386.c (cpu_arch): Add comment.
1171 (i386_target_format): Set cpu_arch_isa_flags and cpu_arch_tune_flags
1172 from the generic entries of cpu_arch[].
1176 * config/tc-arm.c (operand_parse_code): Add OP_RRnpctw enum
1178 (parse_operands): Add support for OP_RRnpctw.
1179 (insns): Update floating-point load/store multiples so the
1180 first register is of type OP_RRnpctw.
1184 * config/tc-i386.c (pi): Rename local loop counter
1185 variable i that shadows global static i386_insn i
1186 when DEBUG386 is defined.
1191 * doc/as.texinfo: Replace abbreviated 20th century year numbers
1196 * config/tc-i386.c (OPTION_MAVXSCALAR): Fix define.
1200 * as.h: Remove conditionnal definition of HAVE_STDARG_H,
1201 USE_STDARG, va_alist, va_dcl, va_list, va_start, va_end.
1202 Remove conditionnal inclusion of stdarg.h and varargs.h.
1204 * config.in: Regenerate.
1205 * configure: Regenerate.
1206 * configure.in: Remove stdarg.h and varargs.h from
1207 AC_CHECK_HEADERS list.
1208 * messages.c (as_tsktsk): Remove non ISO C version.
1209 (as_warn, as_warn_where, as_bad, as_bad_where, as_fatal): Ditto.
1213 * config/tc-alpha.c: Add comments for evax.
1214 * config/obj-evax.c: Ditto.
1218 * config/tc-arm.c (do_t_mov_cmp): In unified syntax encode movs as
1223 * config/tc-arm.c (encode_thumb2_ldmstm): Make warning about
1224 writeback when base register is in register list an error, and
1226 (do_t_ldmstm): Change warnings.
1230 * config/tc-mips.c (is_opcode_valid): Remove expansionp.
1231 (macro_build): Change invocation of is_opcode_valid.
1232 (mips_ip): Likewise.
1236 * Makefile.am (MOSTLYCLEANFILES): Fix typo.
1237 * Makefile.in: Regenerate.
1243 * config/tc-sh.c (sh_fdpic): New.
1244 (sh_check_fixup): Handle relocations on movi20.
1245 (parse_exp): Do not reject PIC operators here.
1246 (build_Mytes): Check for unhandled PIC operators here. Use
1247 sh_check_fixup for movi20.
1248 (enum options): Add OPTION_FDPIC.
1249 (md_longopts, md_parse_option, md_show_usage): Add --fdpic.
1250 (sh_fix_adjustable, md_apply_fix): Handle FDPIC and movi20 relocations.
1251 (sh_elf_final_processing): Handle --fdpic.
1252 (sh_uclinux_target_format): New.
1253 (sh_parse_name): Handle FDPIC relocation operators.
1254 * config/tc-sh.h (TARGET_FORMAT): Define specially for TE_UCLINUX.
1255 (sh_uclinux_target_format): Declare for TE_UCLINUX.
1256 * configure.tgt (sh-*-uclinux* | sh[12]-*-uclinux*): Set
1258 * doc/c-sh.texi (SH Options): Document --fdpic.
1263 * Makefile.am: Replace all occurences of .o with .@OBJEXT@
1264 * Makefile.in: Regenerate.
1268 * config/tc-ppc.c (ppc_section_flags): Add ATTRIBUTE_UNUSED to "attr".
1272 * config/tc-h8300.c (h8300_elf_section): Add .zdebug to the list
1273 of known section prefixes.
1278 * obj-elf.c (obj_elf_change_section): Handle SHF_EXCLUDE.
1279 (obj_elf_parse_section_letters): Likewise.
1280 (obj_elf_section_word): Likewise.
1282 * config/tc-ppc.c (ppc_section_letter): Removed.
1283 (ppc_section_word): Likewise.
1284 * config/tc-ppc.h (ppc_section_letter): Likewise.
1285 (ppc_section_word): Likewise.
1286 (md_elf_section_letter): Likewise.
1287 (md_elf_section_word): Likewise.
1289 * doc/as.texinfo: Document `e' and `#exclude'.
1293 * config/tc-arm.c (md_assemble): Clarify current mode in error
1294 messages about unsupported instructions.
1295 (UT): Delete #define.
1296 (insns): Adjust cbnz, cbz appropriately.
1300 * config/tc-arm.c (aeabi_set_public_attributes): Set Tag_DIV_use.
1304 * config/tc-arm.c (aeabi_set_public_attributes): Set
1305 Tag_ABI_HardFP_use to 1 if a single precision FPU is selected.
1309 * Makefile.in: Regenerate with automake 1.11.1.
1310 * aclocal.m4: Ditto.
1311 * doc/Makefile.in: Ditto.
1315 * po/es.po: Updated Spanish translation.
1319 * read.c (cons_worker): Detect and reject unexpected string argument.
1323 * write.c (fixup_segment): Revert previous delta.
1324 * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Also force the
1325 generation of relocations for fixups against weak symbols.
1329 * write.c (fixup_segment): Do not assume we know the section a
1330 defined weak symbol is in.
1331 * config/tc-arm.c (relax_adr, relax_branch, md_apply_fix): Treat
1332 weak symbols as not known to be in the same section, even if they
1337 * config/tc-tic6x.h (tic6x_label_list): New.
1338 (tic6x_segment_info_type): Keep a list of labels and a current
1339 frag instead of a boolean for whether labels seen and a count of
1341 (tic6x_frag_info, TC_FRAG_TYPE, TC_FRAG_INIT, tic6x_frag_init,
1342 md_do_align, tic6x_do_align, md_end, tic6x_end): New.
1343 * config/tc-tic6x.c (tic6x_frob_label): Put label on list.
1344 (tic6x_cleanup): Correct comment.
1345 (tic6x_free_label_list): New.
1346 (tic6x_cons_align): Free label list and update for
1347 tic6x_segment_info_type changes.
1348 (tic6x_do_align): New.
1349 (md_assemble): Handle list of labels and saved frag for execute
1350 packet. Create machine-dependent frag for new execute packet and
1351 adjust labels accordingly.
1352 (tic6x_adjust_section, tic6x_frag_init, tic6x_end): New.
1353 (md_convert_frag, md_estimate_size_before_relax): Update comments.
1358 * config/tc-i386-intel.c (intel_state): Add is_indirect.
1359 (i386_intel_operand): Initialize intel_state.is_indirect. Check
1360 intel_state.is_indirect for "call|jmp [symbol]".
1364 * po/gas.pot: Updated by the Translation project.
1368 * config/tc-i386.c (i386_is_register): Removed.
1369 (x86_cons): Don't use i386_is_register.
1370 (parse_register): Likewise.
1371 * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
1372 (i386_intel_operand): Likewise.
1376 * config/tc-i386.c (tc_x86_parse_to_dw2regnum): Don't use
1381 * config/tc-i386.c (i386_is_register): Remove is_intel_syntax.
1382 (x86_cons): Updated.
1383 (parse_register): Likewise.
1384 (tc_x86_parse_to_dw2regnum): Likewise.
1385 * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
1386 (i386_intel_operand): Likewise.
1391 * config/tc-i386-intel.c (i386_intel_simplify_register): New.
1392 (i386_intel_simplify): Use i386_is_register and
1393 i386_intel_simplify_register. Set X_md for O_register and
1394 check X_md for O_constant.
1395 (i386_intel_operand): Use i386_is_register.
1397 * config/tc-i386.c (i386_is_register): New.
1398 (x86_cons): Initialize the X_md field. Use i386_is_register.
1399 (parse_register): Use i386_is_register.
1400 (tc_x86_parse_to_dw2regnum): Likewise.
1404 * expr.c (expr): Initialize the X_md field.
1408 * config/tc-tic6x.c (OPTION_MGENERATE_REL): New.
1409 (md_longopts): Add -mgenerate-rel.
1410 (tic6x_generate_rela): New.
1411 (md_parse_option): Handle -mgenerate-rel.
1412 (md_show_usage): Add comment that -mgenerate-rel is undocumented.
1413 (tic6x_init_after_args): New.
1414 (md_apply_fix): Correct shift calculations for SB-relative
1416 (md_pcrel_from): Change to tic6x_pcrel_from_section. Do not
1417 adjust addresses for relocations referencing symbols in other
1419 (tc_gen_reloc): Adjust addend calculations for REL relocations.
1420 * config/tc-tic6x.h (MD_PCREL_FROM_SECTION,
1421 tic6x_pcrel_from_section, tc_init_after_args,
1422 tic6x_init_after_args): New.
1427 * macro.c (macro_expand_body): Do not treat LOCAL as a keyword in
1428 altmacro mode if found inside a quoted string.
1432 * config/bfin-lex.l (parse_int): Change index() to strchr().
1437 * config/tc-hppa.c (pa_ip): Do not allow 64-bit add condition
1438 matcher to accept and unconditional 32-bit add instruction.
1439 (pa_build_unwind_subspace): Cope with error conditions not
1440 allowing the start symbol to be set.
1444 * config/tc-arm.c (arm_convert_symbolic_attribute): Add support for
1445 new tag names in v2.08 of ARM ABI.
1446 * doc/c-arm.texi: Document new tag names in ABI.
1450 * config/tc-alpha.c: Includes vms/egps.h on EVAX.
1451 (s_alpha_comm): Used new EGPS macros from egps.h
1452 (RGPS__V_NO_SHIFT, EGPS__V_MASK): New local macros.
1453 (s_alpha_section_word): Add comments. Use new EGPS macros.
1454 Adjust for modified bfd_vms_set_section_flags function.
1459 * config/tc-ppc.c (ppc_elf_cons): Clear frag contents.
1463 * as.c (create_obj_attrs_section): Remove unused variable addr.
1464 * listing.c (listing_listing): Remove unused variable message.
1465 * read.c: Remove unnecessary register type qualifiers.
1466 (s_mri): Only define/use old_flag variable if MRI_MODE_CHANGE is
1471 * config/tc-avr.c (mcu_types): Add support for atmega16a, atmega168a,
1472 atmega164a, atmega165a, atmega169a, atmega169pa, atmega16hva2,
1473 atmega324a, atmega324pa, atmega325a, atmega3250a, atmega328,
1474 atmega329a, atmega329pa, atmega3290a, atmega48a, atmega644a,
1475 atmega645a, atmega645p, atmega6450a, atmega6450p, atmega649a,
1476 atmega649p, atmega6490a, atmega6490p, atmega64hve, atmega88a,
1477 atmega88pa, attiny461a, attiny84a, m3000.
1478 Remove support for atmega8m1, atmega8c1, atmega16c1, atmega4hvd,
1479 atmega8hvd, attiny327, m3000f, m3000s, m3001b.
1480 * doc/c-avr.texi: Same.
1484 * config/tc-arm.c (make_mapping_symbol): Handle the case
1485 that multiple mapping symbols have the same value 0.
1489 * configure: Regenerate.
1493 * po/ru.po: New Russian translation.
1494 * configure.in (ALL_LINGUAS): Add ru.
1495 * configure: Regenerate.
1500 * input-scrub.c (input_scrub_next_buffer): Use memmove instead
1501 of memcpy to copy overlap memory.
1505 * Makefile.am (TARGET_CPU_CFILES): Add config/tc-tic6x.c.
1506 (TARGET_CPU_HFILES): Add config/tc-tic6x.h.
1507 * Makefile.in: Regenerate.
1508 * NEWS: Add news entry for TI C6X support.
1509 * app.c (do_scrub_chars): Handle "||^" for TI C6X. Handle
1510 TC_PREDICATE_START_CHAR and TC_PREDICATE_END_CHAR. Keep spaces in
1511 operands if TC_KEEP_OPERAND_SPACES.
1512 * configure.tgt (tic6x-*-*): New.
1513 * config/tc-ia64.h (TC_PREDICATE_START_CHAR,
1514 TC_PREDICATE_END_CHAR): Define.
1515 * config/tc-tic6x.c, config/tc-tic6x.h: New.
1516 * doc/Makefile.am (CPU_DOCS): Add c-tic6x.texi.
1517 * doc/Makefile.in: Regenerate.
1518 * doc/all.texi (TIC6X): Define.
1519 * doc/as.texinfo: Add TI C6X documentation. Include c-tic6x.texi.
1520 * doc/c-tic6x.texi: New.
1524 * config/tc-i386.c (lex_got): Use STRING_COMMA_LEN on gotrel.
1528 * config/tc-i386.c (i386_error): Replace oprand_size_mismatch
1529 with operand_size_mismatch.
1530 (operand_size_match): Updated.
1531 (match_template): Likewise.
1535 * config/tc-i386.c (i386_error): New.
1536 (_i386_insn): Replace err_msg with error.
1537 (operand_size_match): Set error instead of err_msg on failure.
1538 (operand_type_match): Likewise.
1539 (operand_type_register_match): Likewise.
1540 (VEX_check_operands): Likewise.
1541 (match_template): Likewise. Use error instead of err_msg with
1546 * config/tc-arm.c (make_mapping_symbol): Hanle the case
1547 that two mapping symbols have the same value.
1551 * doc/c-arm.texi (.setfp): Correct example.
1556 * config/tc-arm.c (reloc_names): New relocation names.
1557 (md_apply_fix): New case for BFD_RELOC_ARM_GOT_PREL.
1558 (tc_gen_reloc): New case for BFD_RELOC_ARM_GOT_PREL.
1559 * doc/c-arm.texi (ARM-Relocations): Document the new relocation.
1563 * dw2gencfi.c (output_cie): Consider emitting the S augmentation in all
1564 cases, and not only for .eh_frame.
1566 * dw2gencfi.c (output_cie): Make it more explicit which code paths
1567 belong to .eh_frame only.
1571 * config/tc-v850.c (v850_insert_operand): Handle out-of-range
1572 assembler constants on 64-bit hosts.
1576 * bfin-defs.h, bfin-lex.l, bfin-parse.y, tc-bfin.c, tc-bfin.h:
1577 Strip trailing whitespace.
1581 * doc/c-bfin.texi (-mcpu): Add bf504 and bf506.
1582 * config/tc-bfin.c (bfin_cpu_type): Add BFIN_CPU_BF504 and
1584 (bfin_cpus[]): Add 0.0 for bf504 and bf506.
1588 * doc/as.texinfo: Add Blackfin options.
1589 * doc/c-bfin.texi: Document -mfdpic, -mno-fdpic and -mnopic.
1590 * config/tc-bfin.c (md_show_usage): Show usage for all
1591 Blackfin specific options.
1596 * listing.c (listing_newline): Correct backslash quote logic.
1600 * config/tc-i386.h [TE_SOLARIS] (ELF_TARGET_FORMAT): Define.
1601 (ELF_TARGET_FORMAT64): Define.
1605 * config/tc-arm.c (arm_cpu_option_table): Add cortex-m4.
1609 * config/tc-sh.c (get_specific): Move overflow checking code to avoid
1610 reading uninitialized data.
1614 * config/tc-score7.c (s7_frag_check): Add ATTRIBUTE_UNUSED.
1618 * configure.tgt: Fix mep cpu case.
1622 * config/tc-arm.c (do_t_strexd): Remove
1623 operand[1] != operand[2] contraint.
1627 * config/tc-arm.c (neon_select_shape): No need to match
1628 the remaining operands in the shape when one operand does
1633 * config/tc-arm.c (do_neon_ld_st_interleave): Reject bad
1638 * cgen.c: Whitespace fixes.
1639 (weak_operand_overflow_check): Formatting fix.
1643 * config/tc-i386.c (match_template): Update error messages.
1647 * config/tc-i386.c (_i386_insn): Add err_msg.
1648 (operand_size_match): Set err_msg on failure.
1649 (operand_type_match): Likewise.
1650 (operand_type_register_match): Likewise.
1651 (VEX_check_operands): Likewise.
1652 (match_template): Likewise. Use i.err_msg with as_bad.
1656 * config/tc-mips.c (mips_fix_loongson2f, mips_fix_loongson2f_nop,
1657 mips_fix_loongson2f_jump): New variables.
1658 (md_longopts): Add New options -mfix-loongson2f-nop/jump,
1659 -mno-fix-loongson2f-nop/jump.
1660 (md_parse_option): Initialize variables via above options.
1661 (options): New enums for the above options.
1662 (md_begin): Initialize nop_insn from LOONGSON2F_NOP_INSN.
1663 (fix_loongson2f, fix_loongson2f_nop, fix_loongson2f_jump):
1665 (append_insn): call fix_loongson2f().
1666 (mips_handle_align): Replace the implicit nops.
1667 * config/tc-mips.h (MAX_MEM_FOR_RS_ALIGN_CODE): Modified
1668 for the new mips_handle_align().
1669 * doc/c-mips.texi: Document the new options.
1673 * config/tc-arm.c (do_rd_rm_rn): Added warning
1679 * config/tc-avr.c (md_apply_fix): Handle BFD_RELOC_8.
1680 (avr_cons_fix_new): Handle fixups of a single byte.
1685 * config/tc-arm.c (CPU_DEFAULT): Do not define based upon build
1686 compiler's predefines.
1690 * configure.tgt: Whiltespace. Sort moxie entry.
1694 * config/tc-arm.c (arm_convert_symbolic_attribute): Add Tag_DIV_use.
1695 * doc/c-arm.texi: Likewise.
1699 * config/tc-arm.c (asm_opcode): operands type
1701 (BAD_PC_ADDRESSING): New macro message.
1702 (BAD_PC_WRITEBACK): Likewise.
1703 (MIX_ARM_THUMB_OPERANDS): New macro.
1704 (operand_parse_code): Added enum values.
1705 (parse_operands): Added thumb/arm distinction,
1706 plus new enum values handling.
1707 (encode_arm_addr_mode_2): Validations enhanced.
1708 (encode_arm_addr_mode_3): Likewise.
1709 (do_rm_rd_rn): Likewise.
1710 (encode_thumb32_addr_mode): Likewise.
1711 (do_t_ldrex): Likewise.
1712 (do_t_ldst): Likewise.
1713 (do_t_strex): Likewise.
1714 (md_assemble): Call parse_operands with
1722 (insns): Updated insns operands.
1727 * config/tc-ia64.c (enum reloc_func): Add FUNC_SLOTCOUNT_RELOC.
1728 (DUMMY_RELOC_IA64_SLOTCOUNT): Added.
1729 (pseudo_func): Add an entry for slotcount.
1730 (md_begin): Initialize slotcount pseudo symbol.
1731 (ia64_parse_name): Handle @slotcount parameter.
1732 (ia64_gen_real_reloc_type): Handle slotcount.
1733 (md_apply_fix): Ditto.
1734 * doc/c-ia64.texi (IA-64-Relocs): Document @slotcount.
1738 * config/tc-xtensa.c (istack_init): Don't call memset.
1742 * config/tc-xtensa.c (cache_literal_section): Handle prefixes as
1747 * config/tc-xtensa.c (xtensa_find_unaligned_loops): Rewrite.
1751 * config/tc-i386.c (build_modrm_byte): Reformat.
1755 * config/tc-i386.c: Update copyright.
1760 * config/tc-i386.c (vec_imm4) New operand type.
1761 (fits_in_imm4): New.
1762 (VEX_check_operands): New.
1763 (check_reverse): Call VEX_check_operands.
1764 (build_modrm_byte): Reintroduce code for 5
1765 operand insns. Fix whitespace.
1769 * config/tc-ppc.c (md_show_usage): Add -mpwr4, -mpwr5, -mpwr5x,
1774 * config/tc-xtensa.c (RELAXED_LOOP_INSN_BYTES): New.
1775 (next_frag_pre_opcode_bytes): Use RELAXED_LOOP_INSN_BYTES.
1776 (xtensa_mark_zcl_first_insns): Rewrite to handle corner case.
1780 * config/tc-arm.c (md_pcrel_from_section): Keep base to zero for
1781 non-local branches (BFD_RELOC_THUMB_PCREL_BRANCH23,
1782 BFD_RELOC_THUMB_PCREL_BLX, BFD_RELOC_ARM_PCREL_BLX,
1783 BFD_RELOC_ARM_PCREL_CALL)
1787 * config/tc-xtensa.c (frag_format_size): Generalize logic to
1788 handle more instruction sizes and fetch widths.
1789 (branch_align_power): Likewise.
1790 (text_align_power): Likewise.
1791 (bytes_to_stretch): Likewise.
1795 * config/tc-ppc.c (md_show_usage): Mention -mtitan. Don't use tabs.
1796 (ppc_mach): Handle titan.
1797 * doc/c-ppc.texi: Mention -mtitan.
1801 * config/tc-xtensa.c (UNREACHABLE_MAX_WIDTH): Delete and
1803 (xtensa_fetch_width) ...this.
1807 * Makefile.am (CPU_TYPES, OBJ_FORMATS, CPU_OBJ_VALID,
1808 MULTI_CPU_TYPES, MULTI_CPU_OBJ_VALID): Remove.
1809 * Makefile.in: Regenerate.
1813 * config/tc-i386.c (cpu_arch): Change amdfam15 to bdver1.
1814 (i386_align_code): Rename PROCESSOR_AMDFAM15 to PROCESSOR_BDVER1.
1815 * config/tc-i386.h (processor_type): Same.
1816 * doc/c-i386.texi: Change amdfam15 to bdver1.
1821 * config/tc-arm.c (neon_check_type): Handle a neon_shape value of
1826 * NEWS: Mention new feature.
1827 * config/obj-coff.c (obj_coff_section): Accept digits and use
1828 to override default section alignment power if specified.
1829 * doc/as.texinfo (.section directive): Update documentation.
1833 * config/tc-i386.c (avxscalar): New.
1834 (OPTION_MAVXSCALAR): Likewise.
1835 (build_vex_prefix): Select vector_length for scalar instructions
1837 (md_longopts): Add OPTION_MAVXSCALAR.
1838 (md_parse_option): Handle OPTION_MAVXSCALAR.
1839 (md_show_usage): Add -mavxscalar=.
1841 * doc/c-i386.texi: Document -mavxscalar=.
1845 * config/tc-i386.c (build_vex_prefix): Set i.vex.bytes[0] to
1850 * write.h (fix_at_start): Declare.
1851 * write.c (fix_new_internal): Add at_beginning parameter.
1852 Use it instead of REVERSE_SORT_RELOCS. Fix the handling of
1853 seg_fix_tailP for the at_beginning/REVERSE_SORT_RELOCS case.
1854 (fix_new, fix_new_exp): Update accordingly.
1855 (fix_at_start): New function.
1856 * config/tc-ppc.c (md_pseudo_table): Add .ref to the OBJ_XCOFF section.
1857 (ppc_ref): New function, for OBJ_XCOFF.
1858 (md_apply_fix): Handle BFD_RELOC_NONE for OBJ_XCOFF.
1859 * config/te-i386aix.h (REVERSE_SORT_RELOCS): Remove #undef.
1863 * config/te-solaris.h (DWARF2_EH_FRAME_READ_ONLY): Make read-only
1864 on 64-bit Solaris/x86.
1865 Include obj-format.h earlier.
1869 * config/tc-s390.c (s390_elf_final_processing): New function.
1870 * config/tc-s390.h (elf_tc_final_processing): New macro definition.
1871 (s390_elf_final_processing): Added prototype.
1877 * config/tc-arm.c (do_neon_cvt): Rename to do_neon_cvt_1. Add
1878 code to handle round-to-zero for VCVT conversions.
1879 (do_neon_cvt): New. Call do_neon_cvt_1.
1880 (do_neon_cvtr): New. Call do_neon_cvt_1.
1881 (insns): Use do_neon_cvt for VCVT insn and do_neon_cvtr for VCVTR
1886 * config/tc-ia64.c (ia64_vms_note): Generate 24 bytes note headers.
1890 * config/tc-i386.c (md_assemble): Before accessing the IMM field
1891 check that it's not an XOP insn.
1895 * config/bfin-aux.h: Remove argument names in function
1897 * config/bfin-lex.l (parse_int): Fix shadowed variable name
1899 * config/bfin-parse.y (value_match): Remove argument names
1901 (notethat): Likewise.
1902 (yyerror): Likewise.
1906 * config/tc-arm.c (do_t_nop): Correct check for Thumb-2 NOP.
1910 * config/tc-h8300.c (h8300_elf_section): New function - issue a
1911 warning message if a new section is created without setting any
1913 (md_pseudo_table): Intercept section creation pseudos.
1914 (md_pcrel_from): Replace abort with an error message.
1915 * config/obj-elf.c (obj_elf_section_name): Export this function.
1916 * config/obj-elf.h (obj_elf_section_name): Prototype.
1921 * listing.c (print_source): Add one to line number.
1925 * Makefile.in: Regenerate.
1926 * configure: Regenerate.
1927 * doc/Makefile.in: Regenerate.
1931 * version.c (parse_args): Change to "Copyright 2010".
1935 * config/tc-i386.c (cpu_arch): Add amdfam15.
1936 (i386_align_code): Add PROCESSOR_AMDFAM15 cases.
1937 * config/tc-i386.h (processor_type): Add PROCESSOR_AMDFAM15.
1938 * doc/c-i386.texi: Add amdfam15.
1942 * config/tc-arm.c (do_neon_logic): Accept imm value
1943 in the third operand too.
1944 (operand_parse_code): OP_RNDQ_IMVNb renamed to
1946 (parse_operands): OP_NILO case removed, applied renaming.
1947 (insns): Neon shape changed for some logic instructions.
1951 * config/tc-arm.c (do_neon_ldx_stx): Added
1952 validation for vector load/store insns.
1956 * config/tc-ppc.c (md_show_usage): Document -me500mc64.
1960 * config/tc-arm.c (struct arm_it): New flag 'is_neon'.
1961 (NEON_ENC_*): Macros renamed to _NEON_ENC_*.
1962 (NEON_ENCODE): New macro.
1963 (check_neon_suffixes): New macro.
1964 (do_vfp_cond_or_thumb): Set the 'is_neon' flag.
1965 (do_vfp_nsyn_opcode): Likewise.
1966 (do_vfp_nsyn_nmul): Use the new 'NEON_ENCODE' macro.
1967 (do_vfp_nsyn_cmp): Likewise.
1968 (do_neon_shl_imm): Likewise.
1969 (do_neon_qshl_imm): Likewise.
1970 (neon_dyadic_misc): Likewise.
1971 (do_neon_mac_maybe_scalar): Likewise.
1972 (do_neon_qdmulh): Likewise.
1973 (do_neon_qmovn): Likewise.
1974 (do_neon_qmovun): Likewise.
1975 (do_neon_movn): Likewise.
1976 (neon_mac_reg_scalar_long): Likewise.
1977 (do_neon_vmull): Likewise.
1978 (do_neon_trn): Likewise.
1979 (do_neon_ldx_stx): Likewise.
1980 (neon_dp_fixup): Changed signature and set the flag.
1981 (neon_three_same): Call the above with new signature.
1982 (neon_two_same): Likewise.
1983 (neon_imm_shift): Likewise.
1984 (neon_mul_mac): Likewise.
1985 (do_neon_abs_neg): Likewise.
1986 (neon_mixed_length): Likewise.
1987 (do_neon_ext): Likewise.
1988 (do_neon_mov): Likewise.
1989 (do_neon_tbl_tbx): Likewise.
1990 (do_neon_logic): Likewise, and use the new 'NEON_ENCODE' macro.
1991 (neon_compare): Likewise.
1992 (do_neon_shll): Likewise.
1993 (do_neon_cvt): Likewise.
1994 (do_neon_mvn): Likewise.
1995 (do_neon_dup): Likewise.
1996 (md_assemble): Call check_neon_suffixes ().
1998 For older changes see ChangeLog-2009
2004 version-control: never