3 * as.c (perform_an_assembly_pass): Do not create text, data and bss
4 sections for MACH-O. Do not switch to the text section.
5 * config/obj-macho.c (obj_mach_o_segT_from_bfd_name): Forward decl.
6 (mach_o_begin): Startup with only text section unless suppressed.
7 * config/obj-macho.h (obj_begin): define to mach_o_begin ().
11 * config/rl78-defs.h (rl78_linkrelax_addr16): Add.
12 (rl78_linkrelax_dsp, rl78_linkrelax_imm): Remove.
13 * config/rl78-parse.y: Tag all addr16 and branch patterns with
15 * config/tc-rl78.c (rl78_linkrelax_addr16): New.
16 (rl78_linkrelax_branch): New.
18 (md_longopts): Add relax option.
19 (md_parse_option): Add OPTION_RELAX.
20 (rl78_frag_init): Support relaxation.
21 (rl78_handle_align): New.
22 (md_assemble): Support relaxation.
23 (md_apply_fix): Likewise.
24 (md_convert_frag): Likewise.
25 * config/tc-rl78.h (MAX_MEM_FOR_RS_ALIGN_CODE): New.
27 (rl78_handle_align): Declare.
29 * config/rl78-parse.y (rl78_bit_insn): New. Set it for all bit
31 (find_bit_index): New. Strip .BIT suffix off relevent
32 expressions for bit insns.
33 (rl78_lex): Exclude bit suffixes from expression parsing.
38 * config/tc-arm.c (create_unwind_entry): Zero allocated table
43 * config/obj-macho.c (obj_mach_o_section): Account for target-
44 dependent section types. Improve error handling when wrong section
45 types/attributes are specified.
49 * config/tc-mips.c (mips_pseudo_table): Add tprelword/tpreldword
51 (mips16_percent_op): Add MIPS16 TLS relocation ops.
52 (md_apply_fix): Add BFD_RELOC_MIPS16_TLS_* switch cases.
53 (s_tls_rel_directive): Rename from s_dtprel_internal(). Abstract out
54 directive string and reloc type as function parameters. Update
56 (s_dtprelword,s_dtpreldword): Change to use s_tls_rel_directive().
57 (s_tprelword,s_tpreldword): New functions.
61 * config/obj-macho.c (obj_mach_o_fileprop): Fix typo.
65 * config/obj-elf.c (obj_elf_type): Add ELFOSABI_FREEBSD to the
70 * config/obj-macho.c (obj_mach_o_subsections_by_symbols): New global.
71 (obj_mach_o_file_properties): New enum.
72 (obj_mach_o_subsections_via_symbols): Generalize name to...
73 ... (obj_mach_o_fileprop) and use to set subsections_via_symbols.
77 * config/bfin-parse.y (asm_1): set SRCx fields to all 1s for
78 dspalu32 instrs that don't use them.
82 * config/tc-cris.c (md_convert_frag): Mark the length_code local
83 variable as unused as it is only used when ENABLE_CHECKING is on.
87 * config/obj-macho.c: Add some more top-level comments.
88 (collect_16char_name): New.
89 (obj_mach_o_section): Amend to allow syntax compatible with
90 existing system tools. Use section translation data when available.
91 (obj_mach_o_segT_from_bfd_name): New.
92 (known_sections): Update.
93 (obj_mach_o_known_section): Use obj_mach_o_segT_from_bfd_name.
95 (obj_mach_o_objc_section): New.
96 (debug_sections): New.
97 (obj_mach_o_debug_section): New.
99 (obj_mach_o_opt_tgt_section): New.
100 (obj_mach_o_base_section): New.
101 (obj_mach_o_common_parse): Update to create BSS on demand and to handle
102 lcomm optional alignment param.
103 (obj_mach_o_comm): Update parameter name.
104 (obj_mach_o_placeholder): New.
105 (mach_o_pseudo_table): Update for GCC section directives.
106 * config/obj-macho.h (_OBJ_MACH_O_H): New.
107 (USE_ALIGN_PTWO): Define.
108 (S_SET_ALIGN) Define.
112 * doc/internals.texi (TC_FORCE_RELOCATION_SUB_SAME): Update
118 * tc-mips.c (CPU_IS_OCTEON): Add Octeon2.
119 (mips_cpu_info_table): Add Octeon2.
120 * doc/c-mips.texi: Document octeon2 as an acceptable value for -march=.
124 * config/tc-arm.c (do_t_ldstd): Warn for unpredictable cases.
128 * config/tc-arm.c (ARM_IT_MAX_OPERANDS): New define.
129 (arm_it): Use ARM_IT_MAX_OPERANDS.
130 (neon_select_shape): Ensure we have matched all operands.
134 * config/tc-arm.c (parse_neon_mov): Update which_operand
139 * tc-arm.c (aeabi_set_public_attributes): Correctly set
140 Tag_ARM_ISA_use and Tag_Thumb_ISA_use.
144 * config/tc-arm.c (arm_cpu_option_table): Add name_len field.
145 (arm_arch_option_table): Likewise.
146 (arm_option_extension_value_table): Likewise.
147 (ARM_CPU_OPT): New define.
148 (ARM_ARCH_OPT): Likewise.
149 (ARM_EXT_OPT): Likewise.
150 (arm_cpus): Use ARM_CPU_OPT to initialize.
151 (arm_archs): Use ARM_ARCH_OPT to initialize.
152 (arm_extensions): Use ARM_EXT_OPT to initialize.
153 (arm_parse_extension): Ensure option string matching matches
155 (arm_parse_cpu): Likewise.
156 (arm_parse_arch): Likewise.
160 * config/tc-mips.c (CPU_IS_OCTEON): New macro function.
161 (CPU_HAS_SEQ): Change to use CPU_IS_OCTEON.
162 (NO_ISA_COP): Likewise.
163 (macro) <ld_st>: Add support when off0 is true.
164 Add support for M_SAA_AB, M_SAA_OB, M_SAAD_OB and M_SAAD_AB.
165 (mips_cpu_info_table): Add octeon+.
166 * doc/c-mips.texi: Document octeon+ as an acceptable value for -march=.
170 * config/tc-arm.c (do_t_mov_cmp): Allow MOV lowreg, lowreg when no CPU
175 * config/tc-alpha.c (s_alpha_prologue): Requires empty line.
179 * config/tc-alpha.c (s_alpha_frame): Emit a warning if bad value
181 (s_alpha_pdesc): Adjust comment.
185 * config/tc-arm.c (do_t_mov_cmp): Prevent emitting code for MOV
186 with two low register at arch v4t or v5t when assember using
191 * config/rl78-defs.h (rl78_error): Add "const".
192 * config/rl78-parse.y (rl78_error): Likewise.
196 * config/tc-ppc.c (ppc_target_format): Add format for powerpc*-freebsd.
200 * config/tc-sparc.c (md_apply_fix): Handle BFD_RELOC_8.
204 * config/tc-mips.c (macro): Fix unsupported opcode message
206 (mips_ip, mips16_ip): Likewise.
210 * config/tc-mips.c (ISA_SUPPORTS_MCU_ASE): Also set if microMIPS
215 * config/tc-mips.c (macro_build_jalr): Reverse a negative
222 * config/tc-mips.c (mips_cpu_info_table): Add "m14ke" and
224 * doc/c-mips.texi (MIPS architecture options): Add "m14ke" and
225 "m14kec" to the list of -march options.
229 * write.c (dump_section_relocs): Don't convert PC-relative relocs
230 that have an in-place addend narrower than the addresses used.
234 * config/tc-mips.c (can_swap_branch_p): Exclude microMIPS
239 * config/tc-arm.c (arm_cpus): Add cortex-a7 entry.
240 * doc/c-arm.texi (ARM Options): Add cortex-a7 to list of accepted
245 * doc/c-rl78.texi (RL78-Float): Remove unused menu entry.
249 * config/tc-rl78.c (tc_gen_reloc): Remove unused variable.
253 * config/tc-arm.c (md_begin): Remove ARM_PLT32 reloc associated
254 with the (PLT) instruction suffix when operating in eabi mode.
255 * doc/c-arm.texi (ARM_Relocations): Extend description of (PLT)
260 * Makefile.am (TARGET_CPU_CFILES): Add tc-rl78.c.
261 (TARGET_CPU_HFILES): Add rc-rl78.h.
262 (EXTRA_DIST): Add rl78-parse.c and rl78-parse.y.
263 (rl78-parse.c, rl78-parse.h, rl78-parse.o, rl78-defs.h): New rules.
264 * Makefile.in: Regenerate.
265 * configure.in: Add rl78 case.
266 * configure: Regenerate.
267 * configure.tgt: Add rl78 case.
268 * config/rl78-defs.h: New file.
269 * config/rl78-parse.y: New file.
270 * config/tc-rl78.c: New file.
271 * config/tc-rl78.h: New file.
272 * NEWS: Add Renesas RL78.
274 * doc/Makefile.am (c-rl78.texi): New.
275 * doc/Makefile.in: Likewise.
276 * doc/all.texi: Enable it.
277 * doc/as.texi: Add it.
278 * doc/c-rl78.texi: New file.
282 * NEWS: Fix TILEPro capitalization.
283 * config/tc-tilegx.c (emit_tilegx_instruction) Handle
284 relocations of aliases.
285 * config/tc-tilepro.c: (emit_tilepro_instruction) Likewise.
289 * po/ja.po: New Japanese translation.
290 * configure.in (ALL_LINGUAS): Add ja.
291 * configure: Regenerate.
295 * doc/as.texinfo [EPIPHANY]: Include c-epiphany.texi to avoid
300 * config/rx-defs.h (rx_error): Add const to first arg.
301 * config/rx-parse.y (rx_error): Likewise.
305 * config/tc-ns32k.c (md_begin): Rename local variable 'stat' to
310 * NEWS: Mention addition of Adapteva Epiphany support.
311 * config/tc-epiphany.c: New file.
312 * config/tc-epiphany.h: New file.
313 * Makefile.am (TARGET_CPU_CFILES): Add config/tc-epiphany.c .
314 (TARGET_CPU_HFILES): Add config/tc-epiphany.h .
315 * configure.in: Also set using_cgen for epiphany.
316 * configure.tgt: Handle epiphany.
317 * doc/Makefile.am (CPU_DOCS): Add c-epiphany.texi .
318 * doc/all.texi: Set EPIPHANY.
319 * doc/as.texinfo: Add EPIPHANY-specific text.
320 * doc/c-epiphany.texi: New file.
321 * po/gas.pot: Regenerate.
322 * Makefile.in: Regenerate.
323 * configure: Regenerate.
324 * doc/Makefile.in: Regenerate.
325 * po/POTFILES.in: Regenerate.
329 * config/tc-mips.c (move_register): Fix formatting.
333 * config/tc-mips.c (can_swap_branch_p): Remove empty line.
334 (start_noreorder): Likewise.
338 * config/tc-mips.c (s_option): Fix formatting.
339 (mips_elf_final_processing): Likewise.
343 * config/tc-mips.c (validate_micromips_insn): Fix formatting.
347 * config/tc-mn10200.c (md_convert_frag): Add missing break.
351 * config/tc-alpha.c (load_expression): Use symbol_mark_used accessor.
352 (s_alpha_comm): Use symbol_set_frag accessor.
356 * config/tc-mips.c (micromips_add_label): Avoid gcc warning.
357 (md_convert_frag): Likewise.
362 * config/tc-arm.c (parse_shifter_operand): Fix handling of explicit
364 (encode_arm_shifter_operand): Likewise.
368 * config/tc-arm.c (check_ldr_r15_aligned): New.
369 (do_ldst): Warn in upredictable cases.
370 (do_t_ldst): Likewise.
371 (insns): Update accordingly.
375 * as.c (main): Define .gasversion. rather than __GAS_VERSION__.
376 * frags.h (bss_address_frag): Delete
377 (predefined_address_frag): New.
378 * frags.c (frag_init): Init predefined_address_frag. Delete ref
380 * symbols.c (S_CAN_BE_REDEFINED): New function.
381 * symbols.h (S_CAN_BE_REDEFINED): Declare.
382 * read.c (assign_symbol): Use S_CAN_BE_REDEFINED.
386 * symbols.c (local_symbol_make): Make global.
387 * symbols.h (local_symbol_make): Declare.
388 * as.c (main): Define __GAS_VERSION__.
392 * po/es.po: Updated Spanish translation.
393 * po/fi.po: Updated Finnish translation.
394 * po/fr.po: Updated French translation.
399 * config/rx-defs.h (rx_pid_register): New.
400 (rx_gp_register): New.
401 * config/rx-parse.y (rx_lex): Add support for %gpreg and %pidreg.
402 (displacement): Add PID support.
403 * config/tc-rx.c (rx_pid_mode): New.
404 (rx_num_int_regs): New.
405 (rx_pid_register): New.
406 (rx_gp_register): New.
407 (options): Add -mpid and -mint-register= options.
408 (md_longopts): Likewise.
409 (md_parse_option): Likewise.
410 (md_show_usage): Likewise.
411 (rx_pid_symbol): New.
412 (rx_pidreg_symbol): New.
413 (rx_gpreg_symbol): New.
414 (md_begin): Support PID.
415 (rx_validate_fix_sub): Support PID.
416 (tc_gen_reloc): Support PID.
417 * doc/c-rx.texi: Document PID support.
421 * config/obj-coff.c (obj_coff_section): Add 'e' as specifier
422 for marking section SEC_EXCLUDE.
426 * NEWS: Add marker for 2.22.
430 * config/tc-sparc.c (hwcap_allowed): New.
431 (struct sparc_arch): New field 'hwcap_allowed' containing a bitmask
432 of F_FOO flags which are enabled by the particular arch setting.
433 Add new options that provide explicit access to new instructions.
434 (md_parse_option): Only bump max_architecture if the requested one
435 is larger, or this is the first explicit request.
436 (get_hwcap_name): New function.
437 (sparc_ip): Validate that hwcaps used by an instruction have actually
439 * doc/c-sparc.texi: Document new sparc options.
443 * config/tc-sparc.c (hwcap_seen): New bitmask, defined when
445 (sparc_ip): When not TE_SOLARIS, accumulate hwcap bits from
446 sparc_opcode->flags of instruction into hwcap_seen.
447 (sparc_md_end): Create Tag_GNU_Sparc_HWCAPS attribute if
448 hwcap_seen is non-zero and not TE_SOLARIS.
452 * config/tc-alpha.c (insert_operand): Call as_bad_value_out_of_range
453 instead of as_warn_out_of_range.
457 * config/tc-sparc.c (sparc_ip): Handle 'i' + r<0..31>
458 in addition to 'i' + [goli]<0..7>.
462 * cgen.c (gas_cgen_pcrel_r_type): New function.
463 (gas_cgen_tc_gen_reloc): Check for GAS_CGEN_PCREL_R_TYPE.
464 * cgen.h (gas_cgen_pcrel_r_type): Declare.
469 * dwarf2dbg.c (dwarf2_flush_pending_lines): Use symbol_temp_new_now.
474 * dwarf2dbg.c (pending_lines, pending_lines_tail): New variables.
475 (dwarf2_gen_line_info_1): Delete.
476 (dwarf2_push_line, dwarf2_flush_pending_lines): New functions.
477 (dwarf2_gen_line_info, dwarf2_emit_label): Use them.
478 (dwarf2_consume_line_info): Call dwarf2_flush_pending_lines.
479 (dwarf2_directive_loc): Push previous .locs instead of generating
484 * po/es.po: Updated Spanish translation.
488 * config/tc-alpha.c (s_alpha_linkage): Simplify. Add comments.
492 * config/tc-alpha.c (add_to_link_pool): Improve comment.
493 (s_alpha_fp_save): Fix indentation.
497 * doc/as.texinfo: Include c-xstormy16.texi.
501 * write.c (resolve_reloc_expr_symbols): Convert local symbols
502 on relocs to section+offset.
503 (get_frag_for_reloc): New function.
504 (write_relocs): Merge sort fixup relocs with those from .reloc
509 * config/tc-mips.c (can_swap_branch_p): Update the comment on
515 * config/tc-mips.c (mips_cpu_info_table): Add "m14k" and
517 * doc/c-mips.texi (MIPS architecture options): Add "m14k" and
518 "m14kc" to the list of -march options.
523 * config/tc-mips.c (mips_set_options): Add ase_mcu.
524 (mips_opts): Initialise ase_mcu to -1.
525 (ISA_SUPPORTS_MCU_ASE): New macro.
526 (MIPS_CPU_ASE_MCU): Likewise.
527 (is_opcode_valid): Handle MCU.
528 (macro_build, macro): Likewise.
529 (validate_mips_insn, validate_micromips_insn): Likewise.
531 (options): Add OPTION_MCU and OPTION_NO_MCU.
532 (md_longopts): Add mmcu and mno-mcu.
533 (md_parse_option): Handle OPTION_MCU and OPTION_NO_MCU.
534 (mips_after_parse_args): Handle MCU.
535 (s_mipsset): Likewise.
536 (md_show_usage): Handle MCU options.
538 * doc/as.texinfo: Document -mmcu and -mno-mcu options.
539 * doc/c-mips.texi: Likewise, and document ".set mcu" and
540 ".set nomcu" directives.
544 * config/tc-mips.c (gpr_mod_mask): Remove INSN2_MOD_GPR_MB,
545 INSN2_MOD_GPR_MC, INSN2_MOD_GPR_ME, INSN2_MOD_GPR_MG,
546 INSN2_MOD_GPR_MHI, INSN2_MOD_GPR_MJ, INSN2_MOD_GPR_MM,
547 INSN2_MOD_GPR_MN, INSN2_MOD_GPR_MP and INSN2_MOD_GPR_MQ opcode
549 (gpr_read_mask): Add INSN2_READ_GPR_MC, INSN2_READ_GPR_ME
550 INSN2_READ_GPR_MG, INSN2_READ_GPR_MJ, INSN2_READ_GPR_MMN,
551 INSN2_READ_GPR_MP and INSN2_READ_GPR_MQ opcode register use
553 (gpr_write_mask): Replace INSN2_WRITE_GPR_S opcode register
554 use flag with INSN_WRITE_GPR_S. Add INSN2_WRITE_GPR_MB,
555 INSN2_WRITE_GPR_MHI, INSN2_WRITE_GPR_MJ and INSN2_WRITE_GPR_MP
556 opcode register use checks.
557 (can_swap_branch_p): Enable microMIPS branch swapping.
558 (append_insn): Likewise.
562 * config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Remove forced 16-bit
563 branch size information.
564 (RELAX_MICROMIPS_U16BIT): Remove macro.
565 (RELAX_MICROMIPS_UNCOND): Adjust accordingly.
566 (RELAX_MICROMIPS_COMPACT, RELAX_MICROMIPS_LINK): Likewise.
567 (RELAX_MICROMIPS_RELAX32): Likewise.
568 (RELAX_MICROMIPS_TOOFAR16): Likewise.
569 (RELAX_MICROMIPS_MARK_TOOFAR16): Likewise.
570 (RELAX_MICROMIPS_CLEAR_TOOFAR16): Likewise.
571 (RELAX_MICROMIPS_TOOFAR32): Likewise.
572 (RELAX_MICROMIPS_MARK_TOOFAR32): Likewise.
573 (RELAX_MICROMIPS_CLEAR_TOOFAR32): Likewise.
574 (append_insn): Always check forced_insn_length for microMIPS
575 relaxation. Adjust code for the removal of
576 RELAX_MICROMIPS_U16BIT.
577 (mips_ip) <'D', 'E'>: If forced_insn_length, then emit the
578 relocation straight away.
579 (relaxed_micromips_16bit_branch_length): Adjust code for the
580 removal of RELAX_MICROMIPS_U16BIT.
584 * config/obj-macho.c (obj_mach_o_section): New function.
585 (struct known_section): New type.
586 (known_sections): Declare.
587 (obj_mach_o_known_section): New function.
588 (obj_mach_o_common_parse): Ditto.
589 (obj_mach_o_comm): Ditto.
590 (obj_mach_o_subsections_via_symbols): Ditto.
591 (mach_o_pseudo_table): Add new pseudos.
595 * dw2gencfi.c (all_fde_data): Export.
596 * dw2gencfi.h (all_fde_data): Declare.
597 * config/tc-alpha.c (alpha_elf_md_end): Don't convert legacy unwind
598 info to cfi unwind info if the user already has supplied some.
602 * config/tc-mips.c (emit_nop): Delete.
603 (get_delay_slot_nop): New function.
604 (nops_for_insn_or_target): Use it.
605 (append_insn): Likewise. When avoiding hazards, call add_fixed_insn
606 and insert_into_history directly.
610 * config/tc-mips.c (delayed_branch_p, compact_branch_p)
611 (uncond_branch_p, branch_likely_p): New functions.
612 (insns_between, nops_for_insn_or_target, append_insn)
613 (macro_start): Use them.
614 (get_append_method): Likewise. Remove redundant test.
618 * config/tc-sparc.c (v9a_asr_table): Add "cps".
619 (sparc_ip): Handle '4', '5' and '(' format codes.
624 * output-file.c (output_file_close): Call bfd_cache_close_all
627 * write.c (write_object_file): Revert the last change.
631 * write.c (write_object_file): Call set_symtab even if we had
636 * config/obj-elf.c (obj_elf_section): Do not free name.
640 * config/tc-arm.c (do_t_strexbh): New.
641 (insns): Update accordingly.
646 * config/tc-i386.c (handle_quad): Removed.
647 (md_pseudo_table): Remove "quad".
648 (tc_gen_reloc): Don't check BFD_RELOC_64 for disallow_64bit_reloc.
649 (x86_dwarf2_addr_size): New.
651 * config/tc-i386.h (x86_dwarf2_addr_size): New.
652 (DWARF2_ADDR_SIZE): Likewise.
657 * config/tc-arm.c (literal_pool): Add locs field.
658 (add_to_lit_pool): Initialise the locs entry for the new literal.
659 (s_ltorg): Generate a DWARF2 line number entry for each emitted
664 * write.c (write_relocs): Fix -Wshadow in DEBUG3 and DEBUG4.
668 * frags.c (frag_grow): Simplify the code.
672 * config/tc-mips.c (nops_for_vr4130): Revert previous commit.
676 * config/tc-mips.c: Adjust comments throughout.
677 (reglist_lookup): Reshape code.
678 (jmp_reloc_p, jalr_reloc_p): Reformat.
679 (got16_reloc_p, hi16_reloc_p, lo16_reloc_p): Handle microMIPS
681 (gpr_mod_mask): Remove unused variable.
682 (gpr_read_mask, gpr_write_mask): Reshape code.
683 (fpr_read_mask, fpr_write_mask): Likewise.
684 (nops_for_vr4130): Ensure non-microMIPS mode.
685 (can_swap_branch_p): Correct pinfo2 reference. Reshape code.
686 (append_insn): Skip Loongson 2F workaround in MIPS16 mode. Use
687 the outermost operator of a compound relocation to determines
688 the relocated field. Fix formatting.
689 (md_convert_frag): Reshape code.
693 * frags.c (frag_var_init): New function.
694 (frag_var): Call frag_var_init to initialize.
695 (frag_variant): Ditto.
699 * dwarf2dbg.c (out_debug_line): Ignore non-normal segments, with a
701 * doc/as.texinfo (Offset): Document .offset directive.
705 * frags.c (frag_grow): Revert previous patch.
709 * config/tc-rx.c (md_convert_frag): Fix encoding of beq.a
710 synthetic instruction.
714 * frags.c (frag_grow): Simplify the code.
720 * config/tc-mips.h (mips_segment_info): Add one bit for
722 (TC_LABEL_IS_LOCAL): New macro.
723 (mips_label_is_local): New prototype.
724 * config/tc-mips.c (S0, S7): New macros.
725 (emit_branch_likely_macro): New variable.
726 (mips_set_options): Add micromips.
727 (mips_opts): Initialise micromips to -1.
728 (file_ase_micromips): New variable.
729 (CPU_HAS_MICROMIPS): New macro.
730 (hilo_interlocks): Set for microMIPS too.
731 (gpr_interlocks): Likewise.
732 (cop_interlocks): Likewise.
733 (cop_mem_interlocks): Likewise.
734 (HAVE_CODE_COMPRESSION): New macro.
735 (micromips_op_hash): New variable.
736 (micromips_nop16_insn, micromips_nop32_insn): New variables.
737 (NOP_INSN): Handle microMIPS ASE.
738 (mips32_to_micromips_reg_b_map): New macro.
739 (mips32_to_micromips_reg_c_map): Likewise.
740 (mips32_to_micromips_reg_d_map): Likewise.
741 (mips32_to_micromips_reg_e_map): Likewise.
742 (mips32_to_micromips_reg_f_map): Likewise.
743 (mips32_to_micromips_reg_g_map): Likewise.
744 (mips32_to_micromips_reg_l_map): Likewise.
745 (mips32_to_micromips_reg_n_map): Likewise.
746 (mips32_to_micromips_reg_h_map): New variable.
747 (mips32_to_micromips_reg_m_map): Likewise.
748 (mips32_to_micromips_reg_q_map): Likewise.
749 (micromips_to_32_reg_h_map): New variable.
750 (micromips_to_32_reg_i_map): Likewise.
751 (micromips_to_32_reg_m_map): Likewise.
752 (micromips_to_32_reg_q_map): Likewise.
753 (micromips_to_32_reg_b_map): New macro.
754 (micromips_to_32_reg_c_map): Likewise.
755 (micromips_to_32_reg_d_map): Likewise.
756 (micromips_to_32_reg_e_map): Likewise.
757 (micromips_to_32_reg_f_map): Likewise.
758 (micromips_to_32_reg_g_map): Likewise.
759 (micromips_to_32_reg_l_map): Likewise.
760 (micromips_to_32_reg_n_map): Likewise.
761 (micromips_imm_b_map, micromips_imm_c_map): New macros.
762 (RELAX_DELAY_SLOT_16BIT): New macro.
763 (RELAX_DELAY_SLOT_SIZE_FIRST): Likewise.
764 (RELAX_DELAY_SLOT_SIZE_SECOND): Likewise.
765 (RELAX_MICROMIPS_ENCODE, RELAX_MICROMIPS_P): New macros.
766 (RELAX_MICROMIPS_TYPE, RELAX_MICROMIPS_AT): Likewise.
767 (RELAX_MICROMIPS_U16BIT, RELAX_MICROMIPS_UNCOND): Likewise.
768 (RELAX_MICROMIPS_COMPACT, RELAX_MICROMIPS_LINK): Likewise.
769 (RELAX_MICROMIPS_RELAX32, RELAX_MICROMIPS_TOOFAR16): Likewise.
770 (RELAX_MICROMIPS_MARK_TOOFAR16): Likewise.
771 (RELAX_MICROMIPS_CLEAR_TOOFAR16): Likewise.
772 (RELAX_MICROMIPS_TOOFAR32): Likewise.
773 (RELAX_MICROMIPS_MARK_TOOFAR32): Likewise.
774 (RELAX_MICROMIPS_CLEAR_TOOFAR32): Likewise.
775 (INSERT_OPERAND, EXTRACT_OPERAND): Handle microMIPS ASE.
776 (mips_macro_warning): Add delay_slot_16bit_p, delay_slot_32bit_p,
778 (mips_mark_labels): New function.
779 (mips16_small, mips16_ext): Remove variables, replacing with...
780 (forced_insn_size): ... this.
781 (append_insn, mips16_ip): Update accordingly.
782 (micromips_insn_length): New function.
783 (insn_length): Return the length of microMIPS instructions.
784 (mips_record_mips16_mode): Rename to...
785 (mips_record_compressed_mode): ... this. Handle microMIPS ASE.
786 (install_insn): Handle microMIPS ASE.
787 (reglist_lookup): New function.
788 (is_size_valid, is_delay_slot_valid): Likewise.
789 (md_begin): Handle microMIPS ASE.
790 (md_assemble): Likewise. Update for append_insn interface change.
791 (micromips_reloc_p): New function.
792 (got16_reloc_p): Handle microMIPS ASE.
793 (hi16_reloc_p): Likewise.
794 (lo16_reloc_p): Likewise.
795 (jmp_reloc_p): New function.
796 (jalr_reloc_p): Likewise.
797 (matching_lo_reloc): Handle microMIPS ASE.
798 (insn_uses_reg, reg_needs_delay): Likewise.
799 (mips_move_labels): Likewise.
800 (mips16_mark_labels): Rename to...
801 (mips_compressed_mark_labels): ... this. Handle microMIPS ASE.
802 (gpr_mod_mask): New function.
803 (gpr_read_mask, gpr_write_mask): Handle microMIPS ASE.
804 (fpr_read_mask, fpr_write_mask): Likewise.
805 (insns_between, nops_for_vr4130, nops_for_insn): Likewise.
806 (fix_loongson2f_nop, fix_loongson2f_jump): Likewise.
807 (MICROMIPS_LABEL_CHAR): New macro.
808 (micromips_target_label, micromips_target_name): New variables.
809 (micromips_label_name, micromips_label_expr): New functions.
810 (micromips_label_inc, micromips_add_label): Likewise.
811 (mips_label_is_local): Likewise.
812 (micromips_map_reloc): Likewise.
813 (can_swap_branch_p): Handle microMIPS ASE.
814 (append_insn): Add expansionp argument. Handle microMIPS ASE.
815 (start_noreorder, end_noreorder): Handle microMIPS ASE.
816 (macro_start, macro_warning, macro_end): Likewise.
817 (brk_fmt, cop12_fmt, jalr_fmt, lui_fmt): New variables.
818 (mem12_fmt, mfhl_fmt, shft_fmt, trap_fmt): Likewise.
819 (BRK_FMT, COP12_FMT, JALR_FMT, LUI_FMT): New macros.
820 (MEM12_FMT, MFHL_FMT, SHFT_FMT, TRAP_FMT): Likewise.
821 (macro_build): Handle microMIPS ASE. Update for append_insn
823 (mips16_macro_build): Update for append_insn interface change.
824 (macro_build_jalr): Handle microMIPS ASE.
825 (macro_build_lui): Likewise. Simplify.
826 (load_register): Handle microMIPS ASE.
827 (load_address): Likewise.
828 (move_register): Likewise.
829 (macro_build_branch_likely): New function.
830 (macro_build_branch_ccl): Likewise.
831 (macro_build_branch_rs): Likewise.
832 (macro_build_branch_rsrt): Likewise.
833 (macro): Handle microMIPS ASE.
834 (validate_micromips_insn): New function.
835 (expr_const_in_range): Likewise.
836 (mips_ip): Handle microMIPS ASE.
837 (options): Add OPTION_MICROMIPS and OPTION_NO_MICROMIPS.
838 (md_longopts): Add mmicromips and mno-micromips.
839 (md_parse_option): Handle OPTION_MICROMIPS and
841 (mips_after_parse_args): Handle microMIPS ASE.
842 (md_pcrel_from): Handle microMIPS relocations.
843 (mips_force_relocation): Likewise.
844 (md_apply_fix): Likewise.
845 (mips_align): Handle microMIPS ASE.
846 (s_mipsset): Likewise.
847 (s_cpload, s_cpsetup, s_cpreturn): Use relocation wrappers.
848 (s_dtprel_internal): Likewise.
849 (s_gpword, s_gpdword): Likewise.
850 (s_insn): Handle microMIPS ASE.
851 (s_mips_stab): Likewise.
852 (relaxed_micromips_32bit_branch_length): New function.
853 (relaxed_micromips_16bit_branch_length): New function.
854 (md_estimate_size_before_relax): Handle microMIPS ASE.
855 (mips_fix_adjustable): Likewise.
856 (tc_gen_reloc): Handle microMIPS relocations.
857 (mips_relax_frag): Handle microMIPS ASE.
858 (md_convert_frag): Likewise.
859 (mips_frob_file_after_relocs): Likewise.
860 (mips_elf_final_processing): Likewise.
861 (mips_nop_opcode): Likewise.
862 (mips_handle_align): Likewise.
863 (md_show_usage): Handle microMIPS options.
864 * symbols.c (TC_LABEL_IS_LOCAL): New macro.
865 (S_IS_LOCAL): Add a TC_LABEL_IS_LOCAL check.
867 * doc/as.texinfo (Target MIPS options): Add -mmicromips and
869 (-mmicromips, -mno-micromips): New options.
870 * doc/c-mips.texi (-mmicromips, -mno-micromips): New options.
871 (MIPS ISA): Document .set micromips and .set nomicromips.
872 (MIPS insn): Update for microMIPS support.
876 * config/tc-mips.c (mips_ip): Make a copy of the instruction's
877 mnemonic and use it for further processing.
881 * config/tc-mips.c (can_swap_branch_p): Adjust for the rename of
882 INSN_TRAP to INSN_NO_DELAY_SLOT. Remove the check for INSN_SYNC
883 as well as explicit checks for ERET and DERET when scheduling
888 * config/tc-i386.c (cpu_arch): Add k1om.
889 (i386_align_code): Handle PROCESSOR_K1OM.
890 (check_cpu_arch_compatible): Check EM_K1OM.
891 (i386_arch): Handle Intel K1OM.
892 (i386_mach): Return bfd_mach_k1om for Intel K1OM.
893 (i386_target_format): Return ELF_TARGET_K1OM_FORMAT for Intel
896 * config/tc-i386.h (ELF_TARGET_K1OM_FORMAT): New.
897 (processor_type): Add PROCESSOR_K1OM.
899 * doc/c-i386.texi: Document k1om.
903 * doc/c-i386.texi: Fix a typo.
907 * config/tc-mips.c (append_insn): delete prev_pinfo2 and pinfo2.
911 * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Fix handling
916 * config/tc-mips.c (append_insn): Make sure DWARF-2 location
917 information is properly adjusted for branches that get swapped.
923 * config/obj-elf.c (obj_elf_type): Use ELFOSABI_GNU name instead of
924 ELFOSABI_LINUX alias.
925 * config/tc-ia64.c: Likewise.
929 * config/tc-arm.c (do_t_add_sub): Only allow LSL shifts of less
930 than 4 in Thumb mode.
935 * config/tc-arm.c (BAD_RANGE): New error message define.
936 (md_apply_fix): Use it.
937 Fix range check for thumb branch instructions.
941 * config/tc-mips.c (append_method): New enum.
942 (can_swap_branch_p, get_append_method): New functions.
943 (append_insn): Use get_append_method to decide how the instruction
948 * config/tc-mips.c (append_insn): Remove bogus goto.
952 * config/tc-mips.c (append_insn): Always clear the history after an
953 unconditional branch.
957 * config/tc-mips.c (find_altered_mips16_opcode): New function.
958 (append_insn): Use it.
962 * config/tc-mips.c (insn_uses_reg): Delete.
963 (gpr_read_mask, gpr_write_mask): New functions.
964 (fpr_read_mask, fpr_write_mask): Likewise.
965 (insns_between, nops_for_vr4130, append_insn): Use them.
969 * config/tc-mips.c (md_mips_end): Call mips_emit_delays.
974 * config/tc-arm.c (mapping_state): When changing to ARM or THUMB
975 state set the minimum required alignment of the section.
979 * config/tc-i386.c (i386_mach): Convert to ISO-C.
980 (md_begin, pe_directive_secrel, md_estimate_size_before_relax): Ditto.
981 (md_convert_frag, md_apply_fix, md_undefined_symbol): Ditto.
982 (md_section_align, tc_gen_reloc): Ditto.
986 * config/tc-alpha.c (s_alpha_pdesc): Fix indentation. Do not
991 * config/tc-alpha.c (load_expression): Use alloca instead of xmalloc.
992 (emit_jsrjmp): Ditto.
993 (tc_gen_reloc): Ditto.
997 * config/tc-alpha.c (alpha_evax_proc_hash): Remove.
998 (alpha_evax_proc_data): New variable.
999 (s_alpha_ent): Prevent nested function. Remove has_insert call.
1000 (s_alpha_pdesc): Do not call demand_empty_rest_of_line in case of
1001 error. Do not search in the hash table. Check if match with .ent.
1002 (s_alpha_name): Remove unused variable.
1003 (md_begin): Remove initialization of alpha_evax_proc_hash.
1007 * config/tc-alpha.c (add_to_link_pool): Remove basesym parameter.
1008 Locally declare basesym. Add comments. Do not set literal_pool_size.
1009 (load_expression): Adjust call to add_to_link_pool.
1010 (s_alpha_pdesc): Define pdesc symbol using dot.
1011 Do not set literal_pool_size.
1012 (s_alpha_end): Use NULL instead of 0.
1016 * config/obj-evax.c (evax_frob_file_before_adjust): Add comments.
1018 * config/obj-evax.h (struct alpha_linkage_fixups): Remove seg
1019 field. Add comments.
1020 (obj_symbol_type, object_headers, OBJ_SYMFIELD_TYPE): Remove
1024 * config/tc-mips.c (fix_24k_record_store_info): If the previous
1025 instruction was a store, and the next instructions are unknown,
1031 * config/tc-mips.c (nops_for_vr4130, nops_for_24k, nops_for_insn)
1032 (nops_for_sequence, nops_for_insn_or_target): Add ignore parameters.
1033 (mips_emit_delays, start_noreorder): Update accordingly.
1034 (append_insn): Likewise. Revert original fix for this PR
1035 and use the ignore parameter instead.
1040 * config/obj-evax.c (evax_frob_symbol): Use as_bad instead of abort.
1044 * config/tc-alpha.c (add_to_link_pool): Remove useless offset
1045 variable. Fix style.
1050 * config/tc-mips.c (append_insn): Only consider hazards between the
1051 pre-noreorder block and ip.
1055 * config/tc-arm.c (vfp_conv): Add check on range of immediate operand
1056 in vcvt instruction between floating-point and fixed-point.
1057 (operand_parse_code): Add "OP_oI32z".
1058 (parse_operands): OP_oI32z case added.
1062 * configure.tgt: Revert x32 change.
1066 * doc/Makefile.am: (CPU_DOCS): Add c-xstormy16.texi.
1067 * doc/Makefile.in: Regenerate.
1068 * doc/all.texi: Set XSTORMY16.
1069 * doc/c-xstormy16.texi: New file.
1073 * configure.tgt: Support x32.
1077 * NEWS: Mention addition of TILEPRO and TIKE-Gx support.
1081 * config/tc-ppc.h (struct ppc_tc_sy): Complete comment on within.
1082 (tc_new_dot_label): Define.
1083 (ppc_new_dot_label): Declare.
1084 * config/tc-ppc.c (ppc_frob_label): Set within target field.
1085 (ppc_fix_adjustable): Use this field to adjust the reloc.
1086 (ppc_new_dot_label): New function.
1090 * po/POTFILES.in: Regenerate.
1094 * Makefile.am (TARGET_CPU_CFILES): Add config/tc-tilegx.c and
1095 config/tc-tilepro.c.
1096 (TARGET_CPU_HFILES): Add config/tc-tilegx.h and
1097 config/tc-tilepro.h.
1098 * Makefile.in: Regenerate.
1099 * configure.tgt (tilepro-*-*): New.
1100 (tilegx-*-*): Likewise.
1101 * config/tc-tilegx.c: New file.
1102 * config/tc-tilegx.h: Likewise.
1103 * config/tc-tilepro.h: Likewise.
1104 * config/tc-tilepro.c: Likewise.
1105 * doc/Makefile.am (CPU_DOCS): Add c-tilegx.texi and
1107 * doc/Makefile.in: Regenerate.
1108 * doc/all.texi (TILEGX): Define.
1110 * doc/as.texinfo: Add Tile-Gx and TILEPro documentation. Include
1111 c-tilegx.texi and c-tilepro.texi.
1112 * doc/c-tilegx.texi: New.
1113 * doc/c-tilepro.texi: New.
1118 * config/tc-arm.c (do_shift): Do not allow shift operations at the
1119 end of a register based shift insn.
1120 (do_t_shift): Likewise.
1124 * config/tc-score.c (s3_my_get_expression): Delete unused local
1126 (s3_do_ldst_insn): Delete unused local variable 'strbak'.
1127 (s3_do16_ldst_insn): Delete unused local variable 'temp'.
1128 (s3_do_macro_bcmp): Zero inst_expand array.
1129 (s3_do_macro_bcmpz): Likewise.
1130 (s3_s_score_end): Delete unused local variable 'dot'.
1131 (s3_gen_reloc): Delete unused local variables 'f', 's', and 'e'.
1132 * config/tc-score7.c (s7_my_get_expression): Delete unused local
1134 (s7_do_ldst_insn): Delete unused local variable 'strbak'.
1135 (s7_b32_relax_to_b16): Delete unused local variables 'r_old' and
1137 (s7_s_score_end): Delete unused local variable 'dot'.
1138 (s7_relax_frag): Delete unused local variable 'relax_size'.
1139 (s7_gen_reloc): Delete unused local variables 'f', 's', and 'e'.
1143 AVX Programming Reference (June, 2011)
1144 * config/tc-i386.c (i386_error): Add invalid_vsib_address and
1145 unsupported_vector_index_register.
1146 (cpu_arch): Add .avx2, .bmi2, .lzcnt and .invpcid.
1147 (check_VecOperands): New.
1148 (match_template): Call check_VecOperands. Handle
1149 invalid_vsib_address and unsupported_vector_index_register.
1150 (build_modrm_byte): Support VecSIB. Check register-only source
1151 operand when two source operands are swapped.
1152 (i386_index_check): Allow Xmm/Ymm index registers.
1154 * doc/c-i386.texi: Document avx2/.avx2, bmi2/.bmi2, lzcnt/.lzcnt
1155 and invpcid./invpcid.
1160 * config/tc-cr16.c (tc_gen_reloc): Remove unused local variable
1162 (check_cinv_options): Remove unused local variables. Make
1164 (md_assemble): Remove unused local variable.
1168 * config/tc-arm.c (do_ldrd): Warn in unpredictable cases.
1173 * config/tc-arm.c (parse_psr): Set m_profile to false when
1174 assembling for any architecture.
1179 * config/tc-arm.c (parse_address_main): Handle -0 offsets.
1180 (encode_arm_addr_mode_2): Set default sign of zero here ...
1181 (encode_arm_addr_mode_3): ... and here.
1182 (encode_arm_cp_address): ... and here.
1183 (md_apply_fix): Use default sign of zero here.
1187 * as.c: Fix spelling typo.
1189 * config/tc-ppc.c: Likewise.
1190 * po/gas.pit: Regenerate.
1194 * config/tc-arm.c (arm_cpus): Add Cortex-R5.
1195 (arm_extensions): Allow idiv on ARMv7-R.
1196 * doc/c-arm.text: Update idiv extension restrictions.
1200 * config/tc-arm.c (arm_force_relocation): Resolve all pc-relative
1205 * config/tc-arm.c (do_t_branch): Avoid relaxing branches to constant
1211 * config/tc-arm.c (fix_new_arm): Create an absolute symbol for
1212 pc-relative fixes to constants.
1213 * config/tc-arm.h (TC_FORCE_RELOCATATION_ABS): Define.
1217 * config/tc-s390.c (md_begin): Remove unused variable dup_insn.
1221 * config/tc-s390.c (md_gather_operands): Fix check for floating
1222 register pair operands.
1226 * config/tc-s390.c (md_gather_operands): Emit an error for odd
1227 numbered registers used as register pair operand.
1231 * config/tc-v850.h (TC_FX_SIZE_SLACK): Define.
1235 * config/tc-tic6x.c (tic6x_operators): Add "pcr_offset".
1236 (tic6x_parse_name): Handle it.
1237 (tic6x_fix_new_exp): Handle O_pcr_offset.
1238 (tic6x_fix_adjustable): Return 0 for the new relocs.
1239 (md_apply_fix): Handle them.
1240 (tc_gen_reloc): Likewise.
1241 * config/tc-tic6x.h (tic6x_fix_info): Add a fix_subsy member.
1246 * config/tc-tic30.c (ordinal_names): Allow translation of the
1251 * config/tc-arm.c (s_unreq): Reword warning message to make it
1252 easier to translate.
1253 * config/tc-ia64.c (md_show_usage): Add note for translators.
1254 * configure.in (ALL_LINGUAS): Add "fi".
1255 * configure: Regenerate.
1259 * config/tc-ppc.h (ppc_tc_sy): Reorder fields.
1260 Put size into an union with dw.
1261 (OBJ_COPY_SYMBOL_ATTRIBUTES): Adjust.
1262 (ppc_xcoff_end): Declare.
1264 * config/tc-ppc.c: Add includes for xcoff.
1265 (ppc_dwsect): New function.
1266 (md_pseudo_table): Add dwsect.
1267 (struct dw_subsection): New.
1269 (ppc_change_debug_section): New function.
1270 (ppc_xcoff_end): Ditto.
1271 (ppc_function): Adjust for ppc_tc_sy.
1272 (ppc_symbol_new_hook): Ditto.
1273 (ppc_frob_symbol): Ditto.
1274 (ppc_frob_section): Do not set vma for debug sections.
1275 (ppc_fix_adjustable): Return true for debug sections.
1276 * config/obj-coff.c: Add includes for xcoff.
1277 (coff_frob_section): Handle dwarf section.
1281 * po/fi.po: New Finnish translation.
1282 * po/fr.po: Updated French translation.
1284 * config/tc-m32r.c (md_show_usage): Fix typos in descriptions.
1285 * config/tc-mt.c (md_assemble): Fix typos in warning messages.
1286 * cond.c (s_else): Fix typos in error messages.
1287 * config/tc-pj.c (md_assemble): Fix typo in error message.
1291 * config/tc-cris.c (md_parse_option) <OPTION_PIC>: Error if not
1292 emitting ELF object.
1293 (md_show_usage): Only mention --pic if the assembler can generate
1295 * doc/c-cris.texi (CRIS-Opt): Mention that generating ELF is a
1296 prerequisite for --pic being a valid option.
1301 * config/tc-v850.c (parse_register_list): Correct error string.
1305 * config/tc-i386.c (cpu_arch): Rename PROCESSOR_BDVER1 to PROCESSOR_BD.
1306 (i386_align_code): Ditto
1311 * config/tc-arm.c (parse_big_immediate): Fix parsing of 64-bit
1312 immediates on 32-bit hosts.
1316 * config/tc-i386.c (cpu_arch): Add bdver2 and rename
1317 PROCESSOR_BDVER1 to PROCESSOR_BDVER.
1318 (i386_align_code): Rename PROCESSOR_BDVER1.
1319 (processor_type): Ditto.
1320 * doc/c-i386.texi: Add bdver2.
1324 * dw2gencfi.c (tc_cfi_endproc): Avoid "set but not used" error.
1328 * config/tc-tic6x.c (streq): Define.
1329 (tic6x_get_unwind): New.
1330 (s_tic6x_cantunwind, s_tic6x_handlerdata, s_tic6x_endp,
1331 s_tic6x_personalityindex, s_tic6x_personality): New functions.
1332 (md_pseudo_table): Add "endp", "handlerdata", "personalityindex",
1333 "personality" and "cantunwind".
1334 (tic6x_regname_to_dw2regnum, tic6x_frame_initial_instructions,
1335 tic6x_start_unwind_section, tic6x_unwind_frame_regs,
1336 tic6x_pop_rts_offset_little, tic6x_pop_rts_offset_big,
1337 tic6x_unwind_reg_from_dwarf, tic6x_flush_unwind_word,
1338 tic6x_unwind_byte, tic6x_unwind_2byte, tic6x_unwind_uleb,
1339 tic6x_cfi_startproc, output_exidx_entry, tic6x_output_unwinding,
1340 tic6x_cfi_endproc): New.
1341 * config/tc-tic6x.h (TIC6X_NUM_UNWIND_REGS): Define.
1342 (tic6x_unwind_info): New.
1343 (tic6x_segment_info_type): Add marked_pr_dependency, unwind and
1345 (TARGET_USE_CFIPOP, tc_regname_to_dw2regnum,
1346 tc_cfi_frame_initial_instructions, DWARF2_DEFAULT_RETURN_COLUMN,
1347 DWARF2_CIE_DATA_ALIGNMENT, tc_cfi_startproc, tc_cfi_endproc,
1348 tc_cfi_section_name): Define.
1349 * doc/c-tic6x.texi: Document new unwinding directives.
1350 * dw2gencfi.c (tc_cfi_startproc, tc_cfi_endproc): Add default
1352 (cfi_insn_data, fde_entry, CFI_adjust_cfa_offset, CFI_return_column,
1353 CFI_rel_offset, CFI_escape, CFI_signal_frame, CFI_val_encoded_addr):
1354 Move to dw2gencfi.h.
1355 (CFI_EMIT_target): Define.
1356 (dot_cfi_sections): Check tc_cfi_section_name.
1357 (dot_cfi_startproc): Use tc_cfi_startproc.
1358 (dot_cfi_endproc): Use tc_cfi_endproc.
1359 * dw2gencfi.h (cfi_insn_data, fde_entry, CFI_adjust_cfa_offset,
1360 CFI_return_column, CFI_rel_offset, CFI_escape, CFI_signal_frame,
1361 CFI_val_encoded_addr): Move to here from dw2gencfi.c.
1365 * dw2gencfi.c (CUR_SEG, SET_CUR_SEG, HANDLED, SET_HANDLED): Define.
1366 Use throughout in place of #if SUPPORT_FRAME_LINKONCE.
1367 (struct fde_entry): Rename cseg to cur_seg.
1368 (cfi_change_reg_numbers): Remove ATTRIBUTE_UNUSED.
1369 (get_cfi_seg): Likewise. Use if (SUPPORT_FRAME_LINKONCE) rather
1370 that #if SUPPORT_FRAME_LINKONCE.
1371 (cfi_finish): Likewise.
1375 * read.c (s_comm_internal): Remove code for OBJ_VMS.
1378 * write.c (write_object_file): Ditto.
1379 * symbols.c (define_sym_at_dot): Ditto.
1384 * dw2gencfi.c (SUPPORT_FRAME_LINKONCE): Define. Use throughout
1385 file to conditionally compile code added 2011-04-26.
1386 (cfi_change_reg_numbers): Add ATTRIBUTE_UNUSED on params only used
1387 when SUPPORT_FRAME_LINKONCE.
1388 (get_cfi_seg): Likewise. Reintroduce old code for when not
1389 SUPPORT_FRAME_LINKONCE.
1390 (cfi_finish): Move get_cfi_seg calls out of loop when not
1391 SUPPORT_FRAME_LINKONCE. Avoid unused var warning.
1395 * config/tc-tic6x.c (s_ehtype): New function.
1396 (md_pseudo_table): Add "ehtype".
1397 (tic6x_fix_adjustable, md_apply_fix): BFD_RELOC_C6000_EHTYPE.
1398 * doc/c-tic6x.texi: Document .ehtype directive.
1402 * dw2gencfi.c (dwcfi_seg_list): New struct.
1403 (dwcfi_hash): New static hash variable.
1404 (get_debugseg_name): New.
1405 (alloc_debugseg_item): New.
1406 (make_debug_seg): New.
1407 (dwcfi_hash_insert): New.
1408 (dwcfi_hash_find): New.
1409 (dwcfi_hash_find_or_make): New.
1410 (cfi_insn_data): New member cur_seg.
1411 (cie_entry): Likewise.
1412 (fde_entry): New cseg and handled members.
1413 (alloc_fde_entry): Initialize cseg member.
1414 (alloc_cfi_insn_data): Initialize cur_seg member.
1415 (dot_cfi_sections): Compare for beginning of
1416 section names via strncmp.
1418 (cfi_finish): Treat link-once sections.
1419 (is_now_linkonce_segment): New local helper.
1420 (output_cie): Ignore cie entries not member of current
1422 (output_fde): Likewise.
1423 (select_cie_for_fde): Likewise.
1424 (cfi_change_reg_numbers): Add new argument for current segment
1425 and ignore insn elements, if not part of current segment.
1426 * ehopt.c (get_cie_info): Use strncmp for
1427 section name matching.
1428 (heck_eh_frame): Likewise.
1433 * config/mips.c (mips_cl_insn): Add new field complete_p.
1434 (create_insn): Initialize complete_p to zero.
1436 (fix_24k_align_to): New.
1437 (fix_24k_store_info): Declare.
1438 (fix_24k_sort): New.
1439 (fix_24k_record_store_info): New.
1440 (nops_for_24k): New.
1441 (nops_for_insn): Call nops_for_24k.
1442 (append_insn): Move O_constant expression handling.
1446 * hash.c (set_gas_hash_table_size): Use bfd_hash_set_default_size.
1447 (hash_new_sized): New function, split out from..
1452 * config/tc-arm.c (v7m_psrs): Revert previous delta.
1457 * config/tc-arm.c (parse_psr): Use selected_cpu not cpu_variant to
1458 detect M-profile targets.
1459 (do_t_swi): Exclude v7 and higher variants from arm_ext_os test.
1460 (v7m_psrs): Fix typo: basepri_max should be basepri_mask.
1464 * config/tc-s390.c (s390_machine): New prototype.
1465 (md_pseudo_table): New pseudo-op .machine.
1466 (s390_opcode_hash): Initialize to NULL.
1467 (s390_parse_cpu): New function.
1468 (md_parse_option): Use s390_parse_cpu.
1469 (s390_setup_opcodes): New function.
1470 (md_begin): Use s390_setup_opcodes.
1471 (s390_machine): New hook handling the new .machine pseudo.
1473 * doc/c-s390.texi: Document the new pseudo op .machine.
1477 * config/tc-i386.c (i386_mach): Start error message with lower
1479 (md_begin): Likewise.
1480 (md_parse_option): Likewise.
1481 (i386_target_format): Likewise.
1482 (check_byte_reg): Likewise.
1483 (check_long_reg): Likewise.
1484 (check_qword_reg): Likewise.
1485 (check_word_reg): Likewise.
1490 * config/tc-arm.c (relax_branch): Do not relax branches to
1491 preemptable global symbols.
1495 * config/tc-arm.c (parse_psr): Add LHS argument. Improve support
1497 (operand_parse_code): Replace OP_PSR with OP_wPSR and OP_rPSR.
1499 (parse_operands): Likewise.
1500 (do_mrs): Tweak error message for constraint.
1501 (do_t_mrs): Update constraints for changes to APSR support.
1502 (do_t_msr): Likewise. Don't set PSR_f flag here.
1503 (psrs): Remove "g", "nzcvq", "nzcvqg".
1504 (insns): Tweak entries for msr and mrs instructions.
1508 * config/tc-i386.c (x86_cons): Initialize adjust with zero.
1512 * config/tc-i386.c (x86_cons): Define even for non-ELF targets.
1513 * config/tc-i386.h (x86_cons): Always prototype.
1515 * config/tc-cr16.c (getprocregp_image): Fix type of 'r' parameter
1516 in order to avoid a compile time warning.
1517 (getprocreg_image): Likewise.
1521 * config/tc-cr16.c (getprocreg_image): Correct range check.
1522 (getprocregp_image): Likewise.
1526 * configure.tgt (strongarm*be, strongarm*b, strongarm*,
1527 xscale*be|xscale*b, xscale*): Remove architectures.
1528 (thumb-*-coff, thumb-*-rtems*, thumb-*-elf, thumb-epoc-pe,
1529 thumb-*-pe, xscale-*-coff, xscale-*-elf): Remove targets.
1533 * config/tc-ia64.c (md_apply_fix): Add a cast to avoid a warning.
1537 * config/tc-tic6x.c (sbss_section, scom_section, scom_symbol): New
1539 (md_begin): Initialize them.
1540 (s_tic6x_scomm): New static function.
1541 (md_pseudo_table): Add "scomm".
1542 (tc_gen_reloc): Really undo all adjustments made by
1543 bfd_install_relocation.
1544 * doc/c-tic6x.texi: Document the .scomm directive.
1548 * dwarf2dbg.c (DWARF2_VERSION): Define.
1549 (out_debug_line): Use it.
1550 (out_debug_aranges): Ditto.
1551 (out_debug_info): Ditto.
1552 * config/tc-ia64.h (DWARF2_VERSION): Override it.
1556 * obj-elf.c (obj_elf_section): Free malloced name.
1557 * macro.c (get_any_string): Free malloced br_buf.
1558 (do_formals): Free 'formal'.
1562 * config/tc-ppc.c (ppc_frob_symbol): Convert stsym symbols value
1563 to offset only if within is set.
1564 (ppc_stabx): Reformat. For stsym stabs, add a check and set
1565 within only for symbols.
1570 * config/tc-alpha.c (s_alpha_align): Don't auto-align a previous
1571 label; zap alpha_insn_label.
1575 * config/tc-i386.c (handle_quad): Properly handle multiple
1580 * config/bfin-parse.y (BYTEUNPACK): Return yyerror when dest
1581 reg $2 is the same as dest reg $4.
1585 * config/bfin-parse.y (BYTEOP16M): Return yyerror when dest
1586 reg $2 is the same as dest reg $4.
1590 * config/bfin-parse.y (BYTEOP16P): Return yyerror when dest
1591 reg $2 is the same as dest reg $4.
1595 * config/bfin-parse.y (16bit acc add): Return yyerror when dest
1596 reg $1 is the same as dest reg $7.
1600 * config/tc-i386.c (handle_quad): New.
1601 (md_pseudo_table): Add "quad".
1605 * configure.tgt: Fix support for *-*-dragonfly*.
1606 * config/tc-i386.c: define SVR4_COMMENT_CHARS for dragonfly.
1607 * config/te-dragonfly.h: New file.
1611 * config/tc-avr.c (mcu_types): Add new devices: atmega325pa,
1612 atmega3250pa, atmega3290pa, atmega16hvbrevb, atmega32hvbrevb,
1614 * doc/c-avr.texi: Document new device names.
1618 * config/bfin-parse.y (dual 32bit add/sub): Return yyerror when dest
1619 reg $1 is the same as dest reg $7.
1620 (quad 16bit add/sub): Return yyerror when dest reg $1 is the same as
1625 * config/bfin-parse.y (check_macfuncs): Clarify error message when
1626 P is mismatched. Check destination regno are off by one when P is
1627 set, or are equal when P is not set.
1631 * config/bfin-parse.y (SEARCH): Return yyerror when dest reg $2 is
1632 the same as dest reg $4.
1633 (BITMUX): Return yyerror when dest reg $3 is the same as dest reg $5.
1637 * config/tc-avr.c (mcu_types): Add new xmega devices: atxmega64a1u,
1638 atxmega128a1u, atxmega16x1, atxmega32x1, atxmega128b1, atxmega256a3bu.
1639 * doc/c-avr.texi: Document new device names.
1643 * config/tc-avr.c (struct avr_opcodes_s): Add opcode field.
1644 (AVR_INSN): Change definition to match.
1645 (avr_opcodes): Likewise, change to match.
1646 (mcu_types): Add XMEGA architecture names and new XMEGA device names.
1647 (md_show_usage): Add XMEGA architecture names.
1648 (avr_operand): Add 'E' constraint for DES instruction of XMEGA devices.
1649 Add support for SPM Z+ instruction.
1650 * doc/c-avr.texi: Add documentation for XMEGA architectures and
1655 * config/tc-avr.c (md_show_usage): Add "Assembler" text to output.
1659 * config/obj-elf.c (elf_frob_symbol): Report S_SET_SIZE symbol
1660 on .size expression errors rather than symbols in the size expression.
1664 * input-scrub.c (line_numberT): Delete.
1665 (input_scrub_close): Reset line counters.
1666 * messages.c (as_show_where): Don't print invalid line number.
1667 (as_warn_internal, as_bad_internal): Likewise.
1671 * read.c (read_a_source_file): Remove md_after_pass_hook.
1672 Move "quit" label before set of dot_symbol.
1673 * config/tc-d10v.h (md_after_pass_hook): Don't define.
1674 * config/tc-d30v.h (md_after_pass_hook): Likewise.
1675 * config/tc-m32r.h (md_after_pass_hook): Likewise.
1676 (md_cleanup): Define to call m32r_fill_insn.
1680 * config/tc-s390.c (md_parse_option): Add -march=all option which
1681 switches to the highest available CPU.
1686 * expr.c (operand): Correct passing of "mode" to expr.
1687 * read.c (do_org): Allow expr_section.
1688 (get_known_segmented_expression): Don't assert anything about the
1693 * as.c (show_usage): Add --size-check=.
1694 (parse_args): Add and handle OPTION_SIZE_CHECK.
1696 * as.h (flag_size_check): New.
1698 * config/obj-elf.c (elf_frob_symbol): Use as_bad to report
1699 bad .size directive only for --size-check=error.
1701 * doc/as.texinfo: Document --size-check=.
1705 * config/tc-bfin.c (bfin_cpus[]): Add 0.4 for
1706 bf542/bf544/bf547/bf548/bf549.
1710 * config/tc-arm.c (md_pcrel_from_section): Use S_FORCE_RELOC to
1711 determine whether a relocation is needed.
1712 (md_apply_fix, arm_apply_sym_value): Likewise.
1716 * config/tc-arm.c (arm_adjust_symtab): Set the branch type
1721 * remap.c (remap_debug_filename): Always allocate a buffer for the
1723 * stabs.c (stabs_generate_asm_file): Free the pointer returned by
1724 remap_debug_filename.
1728 Revert the following change:
1729 * dwarf2dbg.c (out_file_list): Free malloced 'dir'.
1730 (out_debug_info): Free malloced 'dirname' and 'comp_dir'.
1734 * gas/config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS,
1735 TARGET_SYMBOL_FIELDS): Don't define.
1736 * gas/config/tc-arc.c (arc_common): Use correct symbol "local" field.
1740 * dwarf2dbg.c (out_file_list): Free malloced 'dir'.
1741 (out_debug_info): Free malloced 'dirname' and 'comp_dir'.
1742 (emit_fixed_inc_line_addr): Assign instead of conditional in
1747 * config/obj-elf.c (elf_frob_symbol): Mention symbol name in
1748 non-constant .size expression.
1752 * ecoff.c: Incldue filenames.h
1756 * depend.c (register_dependency): Use filename_(n)cmp.
1757 * dwarf2dbg.c (get_filenum): Likewise.
1758 * ecoff.c (add_file): Likewise.
1759 (ecoff_generate_asm_lineno): Likewise.
1760 * input-scrub.c (new_logical_line_flags): Likewise.
1761 * listing.c (file_info): Likewise.
1762 (listing_newline): Likewise.
1763 * remap.c (remap_debug_filename): Likewise.
1764 * stabs.c (generate_asm_file): Likewise.
1765 (stabs_generate_asm_lineno): Likewise.
1769 * config/tc-mips.c (append_insn): Disable branch relaxation for
1774 * config/tc-mips.c (macro): Handle M_PREF_AB.
1778 * config/tc-mips.c (RELAX_BRANCH_ENCODE): Encode the temporary
1780 (RELAX_BRANCH_UNCOND): Adjust accordingly.
1781 (RELAX_BRANCH_LIKELY): Likewise.
1782 (RELAX_BRANCH_LINK): Likewise.
1783 (RELAX_BRANCH_TOOFAR): Likewise.
1784 (RELAX_BRANCH_AT): New macro.
1785 (append_insn): Encode the temporary register to use in standard
1786 MIPS branch relaxation.
1787 (relaxed_branch_length): Update according to changes to
1788 RELAX_BRANCH_ENCODE.
1789 (md_convert_frag): Use the encoded register as the temporary.
1793 * config/tc-mips.c (mips_fix_adjustable): On REL targets also
1794 reject PC-relative relocations.
1798 * config/tc-mips.c (md_convert_frag): Correct message
1803 * symbols.c (report_op_error): Remove unnecessary forward declaration.
1804 Add "op" parameter. Report operator and operand segments in error
1805 message, not operand symbols.
1806 (resolve_symbol_value): Always set segment for equated symbols, not
1807 just when finalizing. Adjust report_op_error calls.
1811 * config/tc-i386.c (reloc): Don't sign-check 4-byte relocations
1812 if 64bit relocations aren't allowed.
1817 * config/obj-elf.c (elf_frob_symbol): Properly handle size expression.
1821 * config/tc-mips.c (mips_ip) <'o'>: Remove duplicate
1822 initialization of offset_reloc.
1826 * dw2gencfi.c (dot_cfi_dummy): New.
1827 (cfi_pseudo_table) [!TARGET_USE_CFIPOP]: New.
1828 * read.c (pobegin): Unconditionally call cfi_pop_insert.
1832 * configure: Regenerate.
1836 * config/bfin-lex.l (BYTEOP2M): Remove tokenization.
1837 * config/bfin-parse.y (BYTEOP2M): Delete token.
1838 (asm_1): Remove BYTEOP2M insn matching.
1842 * config/bfin-defs.h: Include opcode/bfin.h.
1843 (M_S2RND, M_T, M_W32, M_FU, M_TFU, M_IS, M_ISS2, M_IH, M_IU): Delete.
1847 * doc/c-bfin.texi (Instruction Delimiting): Fix occur typo.
1848 (Modify Registers): Fix subtracted typo.
1849 (.byte2): Extend and swap descriptions with .byte4.
1850 (.byte4): Extend and swap descriptions with .byte2.
1851 (.db, .dw, .dd): Document behavior.
1855 * config/bfin-parse.y (TESTSET): Reject REG_SP and REG_FP.
1859 * doc/c-ppc.texi (PowerPC-Opts <-nops>): Clarify.
1863 * doc/as.texinfo (Overview): Add missing markup around Blackfin
1864 and PowerPC options.
1868 * config/tc-ppc.c (md_show_usage): Remove -l and -b. Add -K PIC.
1869 * doc/as.texinfo: Refer to and include c-ppc.texi for PowerPC options.
1870 (Overview <Target PowerPC options>): Add a number of missing options.
1871 * doc/c-ppc.texi: Likewise. Add markup for use in manpage generation.
1876 * config/tc-i386.c (i386_align_code): Use f32_patt when tuning
1881 * config/tc-i386.c (set_cpu_arch): Also update cpu_arch_isa_flags
1883 (md_parse_option): Likewise.
1887 * doc/as.texinfo (Target TIC6X options): Don't mention "-matomic".
1888 * doc/c-tic6x.texi (TIC6X Directives): Don't mention ".atomic".
1889 (TIC6X Options): Don't mention "-matomic".
1890 * config/tc-tic6x.c (OPTION_MATOMIC, OPTION_MNO_ATOMIC): Delete.
1891 (md_longopts): Remove corresponding entries.
1892 (md_parse_option): Don't handle them.
1893 (md_show_usage): Don't document them.
1894 (tic6x_atomic): Delete variable.
1895 (tic6x_update_features): Always copy tic6x_arch_enable to
1897 (tic6x_arch_enable): Remove references to TIC6X_INSN_ATOMIC.
1898 (s_tic6x_atomic, s_tic6x_noatomic): Remove functions.
1899 (md_pseudo_table): Remove ".atomic" and ".noatomic".
1903 * write.c (write_contents): Include output file name and bfd error
1904 value when reporting the inability to write to the output file.
1905 * config/tc-rx.c (rx_handle_align): Do not insert NOPs into align
1906 frag that has a non-zero fill value.
1910 * config/tc-rx.c (md_convert_frag): If we can't compute the target
1911 address, zero out the values stored in the object file to make
1912 objdump's output consistent.
1916 * config/tc-i386.c (md_begin): Set for x64 windows COFF target
1917 x86_dwarf2_return_column to 32.
1922 * config/tc-h8300.c (constant_fits_width_p): Use correct type for
1927 * write.c (compress_debug): Return if section size is smaller
1933 * write.c (compress_debug): Return if section size is 0.
1937 * config/tc-arm.c (arm_cpus): Add Faraday ARMv5TE compatible
1938 cores: fa606te, fa616te, fmp626. Modify the VFP of fa626te.
1939 * doc/c-arm.texi (ARM Options): Add -mcpu={fa606te, fa616te,
1945 * doc/all.texi: Add NS32K
1946 * doc/as.texinfo: Remove target specific details of which
1947 characters act as comment initiators and statement separators into
1948 individual target specific files.
1949 * doc/c-alpha.texi (Alpha-Chars): Document special behaviour of
1950 the hash character at the start of a line.
1951 * doc/c-arm.texi (ARM-Chars): Likewise.
1952 * doc/c-avr.texi (AVR-Chars): Likewise.
1953 * doc/c-d10v.texi (D10V-Chars): Likewise.
1954 * doc/c-d30v.texi (D30V-Chars): Likewise.
1955 * doc/c-mmix.texi (MMIX-Chars): Likewise.
1956 * doc/c-s390.texi (s390 characters): Likewise.
1957 * doc/c-sh.texi (SH-Chars): Likewise.
1958 * doc/c-sh64.texi (SH64-Chars): Likewise.
1959 * doc/c-sparc.texi (SPARC-Chars): Likewise.
1960 * doc/c-tic6x.texi (TIC6X Syntax): Likewise.
1961 * doc/c-xtensa.texi (Xtensa Syntax): Likewise.
1962 * doc/c-z80.texi (Z80-Chars): Likewise.
1963 * doc/c-z8k.texi (Z8000-Chars): Likewise.
1964 * doc/c-pdp11.texi (PDP11-Syntax): Document line separator character.
1965 * doc/c-arc.texi (ARC-Chars): Fill in this subsection.
1966 * doc/c-bfin.texi (Blackfin Syntax): Document line comment and
1967 line separator characters.
1968 * doc/c-cr16.texi (CR16 Syntax): Likewise.
1969 * doc/c-i386.texi (i386-Chars): Likewise.
1970 * doc/c-i860.texi (i860-Chars): Likewise.
1971 * doc/c-i960.texi (i960-Chars): Likewise.
1972 * doc/c-ip2k.texi (IP2K-Chars): Likewise.
1973 * doc/c-lm32.texi (LM32-Chars): likewise.
1974 * doc/c-m32c.texi (M32C-Chars): Likewise.
1975 * doc/c-m68hc11.texi (M68HC11-syntax): Likewise.
1976 * doc/c-m68k.texi (M68K-Chars): Likewise.
1977 * doc/c-microblaze.texi (MicroBlaze-Chars): Likewise.
1978 * doc/c-msp430.texi (MSP430-Chars): Likewise.
1979 * doc/c-mt.texi (MT-Chars): Likewise.
1980 * doc/c-ns32k.texi (NS32K-Chars): Likewise.
1981 * doc/c-pj.texi (PJ-Chars): Likewise.
1982 * doc/c-ppc.texi (PowerPC-Chars): Likewise.
1983 * doc/c-rx.texi (RX-Chars): Likewise.
1984 * doc/c-score.texi (SCORE-Chars): Likewise.
1985 * doc/c-tic54x.texi (TIC54X-Chars): Likewise.
1986 * doc/c-v850.texi (V850-Chars): Likewise.
1987 * doc/c-vax.texi (VAX-Chars): Likewise.
1988 * doc/c-xc16x.texi (xc16x-Chars): Likewise.
1992 * config/tc-i386.c (cpu_arch): Add CPU_TBM_FLAGS.
1994 * doc/c-i386.texi (i386-TBM): New section.
1998 * config/tc-i386.c (disallow_64bit_disp): Renamed to ...
1999 (disallow_64bit_reloc): This.
2000 (md_assemble): Don't check movabs for x32 mode here.
2001 (i386_target_format): Updated.
2002 (tc_gen_reloc): Check if 64bit relocations are allowed.
2006 * config/tc-i386.c (disallow_64bit_disp): New.
2007 (x86_elf_abi): Replace X86_64_LP64_ABI/X86_64_ILP32_ABI with
2008 X86_64_ABI/X86_64_X32_ABI.
2009 (md_assemble): Don't allow movabs with relocation in x32 mode.
2010 (i386_target_format): Updated.
2014 * config/tc-i386.c (OPTION_N32): Renamed to ...
2016 (md_longopts): Replace n32 with x32.
2017 (md_parse_option): Updated.
2018 (md_show_usage): Likewise.
2020 * doc/c-i386.texi: Replace --n32 with --x32.
2024 * config/tc-mips.c (mips_ip): Update error messages. Take an
2025 unadjusted offset for "+c" argument.
2029 * config/tc-i386.c (x86_elf_abi): Only define for targets that use
2034 * config/tc-arm.c (s_arm_tls_desceq): Move code into ELF-only
2040 * doc/c-arm.texi: Document TLSDESC and TLSCALL relocations, and
2041 .tlsdescseq directive.
2042 * config/tc-arm.c (arm_typed_reg_parse): Check for potential reloc
2044 (s_arm_tls_descseq): New directive.
2045 (md_pseudo_table): Add it.
2046 (encode_branch): Allow TLS_CALL relocs too.
2047 (do_t_blx, do_t_branch23): Use encode_branch.
2048 (reloc_names): Add tlsdesc and tlscall.
2049 (md_apply_fix): Process tls desc relocations.
2050 (tc_gen_reloc): Likewise.
2051 (arm_fix_adjustable): Likewise.
2055 * config/tc-i386.c (cpu_arch): Add CPU_BMI_FLAGS.
2057 * doc/c-i386.texi (i386-BMI): New section.
2061 * config/tc-pdp11.c (parse_op_no_deferred): Allow PC-relative
2062 references to absolute addresses.
2066 * config/tc-rx.c (tc_gen_reloc): Emit an RX_OP_NEG expression
2067 instead of an RH_NEG32 one.
2071 * doc/c-i386.texi: Clarify --n32.
2075 * config/tc-i386.c (build_modrm_byte): Allow encoding 32/64bit
2076 integer registers in VEX.vvvv. Check register-only source
2077 operand when two source operands are swapped. Properly update
2078 destination when two source operands are swapped.
2082 * gas.c (parse_args): Update copyright to 2011.
2084 For older changes see ChangeLog-2010
2086 Copyright (C) 2011 Free Software Foundation, Inc.
2088 Copying and distribution of this file, with or without modification,
2089 are permitted in any medium without royalty provided the copyright
2090 notice and this notice are preserved.
2096 version-control: never