3 * config/tc-mips.c (s_option): Fix formatting.
4 (mips_elf_final_processing): Likewise.
8 * config/tc-mips.c (validate_micromips_insn): Fix formatting.
12 * config/tc-mn10200.c (md_convert_frag): Add missing break.
16 * config/tc-alpha.c (load_expression): Use symbol_mark_used accessor.
17 (s_alpha_comm): Use symbol_set_frag accessor.
21 * config/tc-mips.c (micromips_add_label): Avoid gcc warning.
22 (md_convert_frag): Likewise.
27 * config/tc-arm.c (parse_shifter_operand): Fix handling of explicit
29 (encode_arm_shifter_operand): Likewise.
33 * config/tc-arm.c (check_ldr_r15_aligned): New.
34 (do_ldst): Warn in upredictable cases.
35 (do_t_ldst): Likewise.
36 (insns): Update accordingly.
40 * as.c (main): Define .gasversion. rather than __GAS_VERSION__.
41 * frags.h (bss_address_frag): Delete
42 (predefined_address_frag): New.
43 * frags.c (frag_init): Init predefined_address_frag. Delete ref
45 * symbols.c (S_CAN_BE_REDEFINED): New function.
46 * symbols.h (S_CAN_BE_REDEFINED): Declare.
47 * read.c (assign_symbol): Use S_CAN_BE_REDEFINED.
51 * symbols.c (local_symbol_make): Make global.
52 * symbols.h (local_symbol_make): Declare.
53 * as.c (main): Define __GAS_VERSION__.
57 * po/es.po: Updated Spanish translation.
58 * po/fi.po: Updated Finnish translation.
59 * po/fr.po: Updated French translation.
64 * config/rx-defs.h (rx_pid_register): New.
65 (rx_gp_register): New.
66 * config/rx-parse.y (rx_lex): Add support for %gpreg and %pidreg.
67 (displacement): Add PID support.
68 * config/tc-rx.c (rx_pid_mode): New.
69 (rx_num_int_regs): New.
70 (rx_pid_register): New.
71 (rx_gp_register): New.
72 (options): Add -mpid and -mint-register= options.
73 (md_longopts): Likewise.
74 (md_parse_option): Likewise.
75 (md_show_usage): Likewise.
77 (rx_pidreg_symbol): New.
78 (rx_gpreg_symbol): New.
79 (md_begin): Support PID.
80 (rx_validate_fix_sub): Support PID.
81 (tc_gen_reloc): Support PID.
82 * doc/c-rx.texi: Document PID support.
86 * config/obj-coff.c (obj_coff_section): Add 'e' as specifier
87 for marking section SEC_EXCLUDE.
91 * NEWS: Add marker for 2.22.
95 * config/tc-sparc.c (hwcap_allowed): New.
96 (struct sparc_arch): New field 'hwcap_allowed' containing a bitmask
97 of F_FOO flags which are enabled by the particular arch setting.
98 Add new options that provide explicit access to new instructions.
99 (md_parse_option): Only bump max_architecture if the requested one
100 is larger, or this is the first explicit request.
101 (get_hwcap_name): New function.
102 (sparc_ip): Validate that hwcaps used by an instruction have actually
104 * doc/c-sparc.texi: Document new sparc options.
108 * config/tc-sparc.c (hwcap_seen): New bitmask, defined when
110 (sparc_ip): When not TE_SOLARIS, accumulate hwcap bits from
111 sparc_opcode->flags of instruction into hwcap_seen.
112 (sparc_md_end): Create Tag_GNU_Sparc_HWCAPS attribute if
113 hwcap_seen is non-zero and not TE_SOLARIS.
117 * config/tc-alpha.c (insert_operand): Call as_bad_value_out_of_range
118 instead of as_warn_out_of_range.
122 * config/tc-sparc.c (sparc_ip): Handle 'i' + r<0..31>
123 in addition to 'i' + [goli]<0..7>.
127 * cgen.c (gas_cgen_pcrel_r_type): New function.
128 (gas_cgen_tc_gen_reloc): Check for GAS_CGEN_PCREL_R_TYPE.
129 * cgen.h (gas_cgen_pcrel_r_type): Declare.
134 * dwarf2dbg.c (dwarf2_flush_pending_lines): Use symbol_temp_new_now.
139 * dwarf2dbg.c (pending_lines, pending_lines_tail): New variables.
140 (dwarf2_gen_line_info_1): Delete.
141 (dwarf2_push_line, dwarf2_flush_pending_lines): New functions.
142 (dwarf2_gen_line_info, dwarf2_emit_label): Use them.
143 (dwarf2_consume_line_info): Call dwarf2_flush_pending_lines.
144 (dwarf2_directive_loc): Push previous .locs instead of generating
149 * po/es.po: Updated Spanish translation.
153 * config/tc-alpha.c (s_alpha_linkage): Simplify. Add comments.
157 * config/tc-alpha.c (add_to_link_pool): Improve comment.
158 (s_alpha_fp_save): Fix indentation.
162 * doc/as.texinfo: Include c-xstormy16.texi.
166 * write.c (resolve_reloc_expr_symbols): Convert local symbols
167 on relocs to section+offset.
168 (get_frag_for_reloc): New function.
169 (write_relocs): Merge sort fixup relocs with those from .reloc
174 * config/tc-mips.c (can_swap_branch_p): Update the comment on
180 * config/tc-mips.c (mips_cpu_info_table): Add "m14k" and
182 * doc/c-mips.texi (MIPS architecture options): Add "m14k" and
183 "m14kc" to the list of -march options.
188 * config/tc-mips.c (mips_set_options): Add ase_mcu.
189 (mips_opts): Initialise ase_mcu to -1.
190 (ISA_SUPPORTS_MCU_ASE): New macro.
191 (MIPS_CPU_ASE_MCU): Likewise.
192 (is_opcode_valid): Handle MCU.
193 (macro_build, macro): Likewise.
194 (validate_mips_insn, validate_micromips_insn): Likewise.
196 (options): Add OPTION_MCU and OPTION_NO_MCU.
197 (md_longopts): Add mmcu and mno-mcu.
198 (md_parse_option): Handle OPTION_MCU and OPTION_NO_MCU.
199 (mips_after_parse_args): Handle MCU.
200 (s_mipsset): Likewise.
201 (md_show_usage): Handle MCU options.
203 * doc/as.texinfo: Document -mmcu and -mno-mcu options.
204 * doc/c-mips.texi: Likewise, and document ".set mcu" and
205 ".set nomcu" directives.
209 * config/tc-mips.c (gpr_mod_mask): Remove INSN2_MOD_GPR_MB,
210 INSN2_MOD_GPR_MC, INSN2_MOD_GPR_ME, INSN2_MOD_GPR_MG,
211 INSN2_MOD_GPR_MHI, INSN2_MOD_GPR_MJ, INSN2_MOD_GPR_MM,
212 INSN2_MOD_GPR_MN, INSN2_MOD_GPR_MP and INSN2_MOD_GPR_MQ opcode
214 (gpr_read_mask): Add INSN2_READ_GPR_MC, INSN2_READ_GPR_ME
215 INSN2_READ_GPR_MG, INSN2_READ_GPR_MJ, INSN2_READ_GPR_MMN,
216 INSN2_READ_GPR_MP and INSN2_READ_GPR_MQ opcode register use
218 (gpr_write_mask): Replace INSN2_WRITE_GPR_S opcode register
219 use flag with INSN_WRITE_GPR_S. Add INSN2_WRITE_GPR_MB,
220 INSN2_WRITE_GPR_MHI, INSN2_WRITE_GPR_MJ and INSN2_WRITE_GPR_MP
221 opcode register use checks.
222 (can_swap_branch_p): Enable microMIPS branch swapping.
223 (append_insn): Likewise.
227 * config/tc-mips.c (RELAX_MICROMIPS_ENCODE): Remove forced 16-bit
228 branch size information.
229 (RELAX_MICROMIPS_U16BIT): Remove macro.
230 (RELAX_MICROMIPS_UNCOND): Adjust accordingly.
231 (RELAX_MICROMIPS_COMPACT, RELAX_MICROMIPS_LINK): Likewise.
232 (RELAX_MICROMIPS_RELAX32): Likewise.
233 (RELAX_MICROMIPS_TOOFAR16): Likewise.
234 (RELAX_MICROMIPS_MARK_TOOFAR16): Likewise.
235 (RELAX_MICROMIPS_CLEAR_TOOFAR16): Likewise.
236 (RELAX_MICROMIPS_TOOFAR32): Likewise.
237 (RELAX_MICROMIPS_MARK_TOOFAR32): Likewise.
238 (RELAX_MICROMIPS_CLEAR_TOOFAR32): Likewise.
239 (append_insn): Always check forced_insn_length for microMIPS
240 relaxation. Adjust code for the removal of
241 RELAX_MICROMIPS_U16BIT.
242 (mips_ip) <'D', 'E'>: If forced_insn_length, then emit the
243 relocation straight away.
244 (relaxed_micromips_16bit_branch_length): Adjust code for the
245 removal of RELAX_MICROMIPS_U16BIT.
249 * config/obj-macho.c (obj_mach_o_section): New function.
250 (struct known_section): New type.
251 (known_sections): Declare.
252 (obj_mach_o_known_section): New function.
253 (obj_mach_o_common_parse): Ditto.
254 (obj_mach_o_comm): Ditto.
255 (obj_mach_o_subsections_via_symbols): Ditto.
256 (mach_o_pseudo_table): Add new pseudos.
260 * dw2gencfi.c (all_fde_data): Export.
261 * dw2gencfi.h (all_fde_data): Declare.
262 * config/tc-alpha.c (alpha_elf_md_end): Don't convert legacy unwind
263 info to cfi unwind info if the user already has supplied some.
267 * config/tc-mips.c (emit_nop): Delete.
268 (get_delay_slot_nop): New function.
269 (nops_for_insn_or_target): Use it.
270 (append_insn): Likewise. When avoiding hazards, call add_fixed_insn
271 and insert_into_history directly.
275 * config/tc-mips.c (delayed_branch_p, compact_branch_p)
276 (uncond_branch_p, branch_likely_p): New functions.
277 (insns_between, nops_for_insn_or_target, append_insn)
278 (macro_start): Use them.
279 (get_append_method): Likewise. Remove redundant test.
283 * config/tc-sparc.c (v9a_asr_table): Add "cps".
284 (sparc_ip): Handle '4', '5' and '(' format codes.
289 * output-file.c (output_file_close): Call bfd_cache_close_all
292 * write.c (write_object_file): Revert the last change.
296 * write.c (write_object_file): Call set_symtab even if we had
301 * config/obj-elf.c (obj_elf_section): Do not free name.
305 * config/tc-arm.c (do_t_strexbh): New.
306 (insns): Update accordingly.
311 * config/tc-i386.c (handle_quad): Removed.
312 (md_pseudo_table): Remove "quad".
313 (tc_gen_reloc): Don't check BFD_RELOC_64 for disallow_64bit_reloc.
314 (x86_dwarf2_addr_size): New.
316 * config/tc-i386.h (x86_dwarf2_addr_size): New.
317 (DWARF2_ADDR_SIZE): Likewise.
322 * config/tc-arm.c (literal_pool): Add locs field.
323 (add_to_lit_pool): Initialise the locs entry for the new literal.
324 (s_ltorg): Generate a DWARF2 line number entry for each emitted
329 * write.c (write_relocs): Fix -Wshadow in DEBUG3 and DEBUG4.
333 * frags.c (frag_grow): Simplify the code.
337 * config/tc-mips.c (nops_for_vr4130): Revert previous commit.
341 * config/tc-mips.c: Adjust comments throughout.
342 (reglist_lookup): Reshape code.
343 (jmp_reloc_p, jalr_reloc_p): Reformat.
344 (got16_reloc_p, hi16_reloc_p, lo16_reloc_p): Handle microMIPS
346 (gpr_mod_mask): Remove unused variable.
347 (gpr_read_mask, gpr_write_mask): Reshape code.
348 (fpr_read_mask, fpr_write_mask): Likewise.
349 (nops_for_vr4130): Ensure non-microMIPS mode.
350 (can_swap_branch_p): Correct pinfo2 reference. Reshape code.
351 (append_insn): Skip Loongson 2F workaround in MIPS16 mode. Use
352 the outermost operator of a compound relocation to determines
353 the relocated field. Fix formatting.
354 (md_convert_frag): Reshape code.
358 * frags.c (frag_var_init): New function.
359 (frag_var): Call frag_var_init to initialize.
360 (frag_variant): Ditto.
364 * dwarf2dbg.c (out_debug_line): Ignore non-normal segments, with a
366 * doc/as.texinfo (Offset): Document .offset directive.
370 * frags.c (frag_grow): Revert previous patch.
374 * config/tc-rx.c (md_convert_frag): Fix encoding of beq.a
375 synthetic instruction.
379 * frags.c (frag_grow): Simplify the code.
385 * config/tc-mips.h (mips_segment_info): Add one bit for
387 (TC_LABEL_IS_LOCAL): New macro.
388 (mips_label_is_local): New prototype.
389 * config/tc-mips.c (S0, S7): New macros.
390 (emit_branch_likely_macro): New variable.
391 (mips_set_options): Add micromips.
392 (mips_opts): Initialise micromips to -1.
393 (file_ase_micromips): New variable.
394 (CPU_HAS_MICROMIPS): New macro.
395 (hilo_interlocks): Set for microMIPS too.
396 (gpr_interlocks): Likewise.
397 (cop_interlocks): Likewise.
398 (cop_mem_interlocks): Likewise.
399 (HAVE_CODE_COMPRESSION): New macro.
400 (micromips_op_hash): New variable.
401 (micromips_nop16_insn, micromips_nop32_insn): New variables.
402 (NOP_INSN): Handle microMIPS ASE.
403 (mips32_to_micromips_reg_b_map): New macro.
404 (mips32_to_micromips_reg_c_map): Likewise.
405 (mips32_to_micromips_reg_d_map): Likewise.
406 (mips32_to_micromips_reg_e_map): Likewise.
407 (mips32_to_micromips_reg_f_map): Likewise.
408 (mips32_to_micromips_reg_g_map): Likewise.
409 (mips32_to_micromips_reg_l_map): Likewise.
410 (mips32_to_micromips_reg_n_map): Likewise.
411 (mips32_to_micromips_reg_h_map): New variable.
412 (mips32_to_micromips_reg_m_map): Likewise.
413 (mips32_to_micromips_reg_q_map): Likewise.
414 (micromips_to_32_reg_h_map): New variable.
415 (micromips_to_32_reg_i_map): Likewise.
416 (micromips_to_32_reg_m_map): Likewise.
417 (micromips_to_32_reg_q_map): Likewise.
418 (micromips_to_32_reg_b_map): New macro.
419 (micromips_to_32_reg_c_map): Likewise.
420 (micromips_to_32_reg_d_map): Likewise.
421 (micromips_to_32_reg_e_map): Likewise.
422 (micromips_to_32_reg_f_map): Likewise.
423 (micromips_to_32_reg_g_map): Likewise.
424 (micromips_to_32_reg_l_map): Likewise.
425 (micromips_to_32_reg_n_map): Likewise.
426 (micromips_imm_b_map, micromips_imm_c_map): New macros.
427 (RELAX_DELAY_SLOT_16BIT): New macro.
428 (RELAX_DELAY_SLOT_SIZE_FIRST): Likewise.
429 (RELAX_DELAY_SLOT_SIZE_SECOND): Likewise.
430 (RELAX_MICROMIPS_ENCODE, RELAX_MICROMIPS_P): New macros.
431 (RELAX_MICROMIPS_TYPE, RELAX_MICROMIPS_AT): Likewise.
432 (RELAX_MICROMIPS_U16BIT, RELAX_MICROMIPS_UNCOND): Likewise.
433 (RELAX_MICROMIPS_COMPACT, RELAX_MICROMIPS_LINK): Likewise.
434 (RELAX_MICROMIPS_RELAX32, RELAX_MICROMIPS_TOOFAR16): Likewise.
435 (RELAX_MICROMIPS_MARK_TOOFAR16): Likewise.
436 (RELAX_MICROMIPS_CLEAR_TOOFAR16): Likewise.
437 (RELAX_MICROMIPS_TOOFAR32): Likewise.
438 (RELAX_MICROMIPS_MARK_TOOFAR32): Likewise.
439 (RELAX_MICROMIPS_CLEAR_TOOFAR32): Likewise.
440 (INSERT_OPERAND, EXTRACT_OPERAND): Handle microMIPS ASE.
441 (mips_macro_warning): Add delay_slot_16bit_p, delay_slot_32bit_p,
443 (mips_mark_labels): New function.
444 (mips16_small, mips16_ext): Remove variables, replacing with...
445 (forced_insn_size): ... this.
446 (append_insn, mips16_ip): Update accordingly.
447 (micromips_insn_length): New function.
448 (insn_length): Return the length of microMIPS instructions.
449 (mips_record_mips16_mode): Rename to...
450 (mips_record_compressed_mode): ... this. Handle microMIPS ASE.
451 (install_insn): Handle microMIPS ASE.
452 (reglist_lookup): New function.
453 (is_size_valid, is_delay_slot_valid): Likewise.
454 (md_begin): Handle microMIPS ASE.
455 (md_assemble): Likewise. Update for append_insn interface change.
456 (micromips_reloc_p): New function.
457 (got16_reloc_p): Handle microMIPS ASE.
458 (hi16_reloc_p): Likewise.
459 (lo16_reloc_p): Likewise.
460 (jmp_reloc_p): New function.
461 (jalr_reloc_p): Likewise.
462 (matching_lo_reloc): Handle microMIPS ASE.
463 (insn_uses_reg, reg_needs_delay): Likewise.
464 (mips_move_labels): Likewise.
465 (mips16_mark_labels): Rename to...
466 (mips_compressed_mark_labels): ... this. Handle microMIPS ASE.
467 (gpr_mod_mask): New function.
468 (gpr_read_mask, gpr_write_mask): Handle microMIPS ASE.
469 (fpr_read_mask, fpr_write_mask): Likewise.
470 (insns_between, nops_for_vr4130, nops_for_insn): Likewise.
471 (fix_loongson2f_nop, fix_loongson2f_jump): Likewise.
472 (MICROMIPS_LABEL_CHAR): New macro.
473 (micromips_target_label, micromips_target_name): New variables.
474 (micromips_label_name, micromips_label_expr): New functions.
475 (micromips_label_inc, micromips_add_label): Likewise.
476 (mips_label_is_local): Likewise.
477 (micromips_map_reloc): Likewise.
478 (can_swap_branch_p): Handle microMIPS ASE.
479 (append_insn): Add expansionp argument. Handle microMIPS ASE.
480 (start_noreorder, end_noreorder): Handle microMIPS ASE.
481 (macro_start, macro_warning, macro_end): Likewise.
482 (brk_fmt, cop12_fmt, jalr_fmt, lui_fmt): New variables.
483 (mem12_fmt, mfhl_fmt, shft_fmt, trap_fmt): Likewise.
484 (BRK_FMT, COP12_FMT, JALR_FMT, LUI_FMT): New macros.
485 (MEM12_FMT, MFHL_FMT, SHFT_FMT, TRAP_FMT): Likewise.
486 (macro_build): Handle microMIPS ASE. Update for append_insn
488 (mips16_macro_build): Update for append_insn interface change.
489 (macro_build_jalr): Handle microMIPS ASE.
490 (macro_build_lui): Likewise. Simplify.
491 (load_register): Handle microMIPS ASE.
492 (load_address): Likewise.
493 (move_register): Likewise.
494 (macro_build_branch_likely): New function.
495 (macro_build_branch_ccl): Likewise.
496 (macro_build_branch_rs): Likewise.
497 (macro_build_branch_rsrt): Likewise.
498 (macro): Handle microMIPS ASE.
499 (validate_micromips_insn): New function.
500 (expr_const_in_range): Likewise.
501 (mips_ip): Handle microMIPS ASE.
502 (options): Add OPTION_MICROMIPS and OPTION_NO_MICROMIPS.
503 (md_longopts): Add mmicromips and mno-micromips.
504 (md_parse_option): Handle OPTION_MICROMIPS and
506 (mips_after_parse_args): Handle microMIPS ASE.
507 (md_pcrel_from): Handle microMIPS relocations.
508 (mips_force_relocation): Likewise.
509 (md_apply_fix): Likewise.
510 (mips_align): Handle microMIPS ASE.
511 (s_mipsset): Likewise.
512 (s_cpload, s_cpsetup, s_cpreturn): Use relocation wrappers.
513 (s_dtprel_internal): Likewise.
514 (s_gpword, s_gpdword): Likewise.
515 (s_insn): Handle microMIPS ASE.
516 (s_mips_stab): Likewise.
517 (relaxed_micromips_32bit_branch_length): New function.
518 (relaxed_micromips_16bit_branch_length): New function.
519 (md_estimate_size_before_relax): Handle microMIPS ASE.
520 (mips_fix_adjustable): Likewise.
521 (tc_gen_reloc): Handle microMIPS relocations.
522 (mips_relax_frag): Handle microMIPS ASE.
523 (md_convert_frag): Likewise.
524 (mips_frob_file_after_relocs): Likewise.
525 (mips_elf_final_processing): Likewise.
526 (mips_nop_opcode): Likewise.
527 (mips_handle_align): Likewise.
528 (md_show_usage): Handle microMIPS options.
529 * symbols.c (TC_LABEL_IS_LOCAL): New macro.
530 (S_IS_LOCAL): Add a TC_LABEL_IS_LOCAL check.
532 * doc/as.texinfo (Target MIPS options): Add -mmicromips and
534 (-mmicromips, -mno-micromips): New options.
535 * doc/c-mips.texi (-mmicromips, -mno-micromips): New options.
536 (MIPS ISA): Document .set micromips and .set nomicromips.
537 (MIPS insn): Update for microMIPS support.
541 * config/tc-mips.c (mips_ip): Make a copy of the instruction's
542 mnemonic and use it for further processing.
546 * config/tc-mips.c (can_swap_branch_p): Adjust for the rename of
547 INSN_TRAP to INSN_NO_DELAY_SLOT. Remove the check for INSN_SYNC
548 as well as explicit checks for ERET and DERET when scheduling
553 * config/tc-i386.c (cpu_arch): Add k1om.
554 (i386_align_code): Handle PROCESSOR_K1OM.
555 (check_cpu_arch_compatible): Check EM_K1OM.
556 (i386_arch): Handle Intel K1OM.
557 (i386_mach): Return bfd_mach_k1om for Intel K1OM.
558 (i386_target_format): Return ELF_TARGET_K1OM_FORMAT for Intel
561 * config/tc-i386.h (ELF_TARGET_K1OM_FORMAT): New.
562 (processor_type): Add PROCESSOR_K1OM.
564 * doc/c-i386.texi: Document k1om.
568 * doc/c-i386.texi: Fix a typo.
572 * config/tc-mips.c (append_insn): delete prev_pinfo2 and pinfo2.
576 * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Fix handling
581 * config/tc-mips.c (append_insn): Make sure DWARF-2 location
582 information is properly adjusted for branches that get swapped.
588 * config/obj-elf.c (obj_elf_type): Use ELFOSABI_GNU name instead of
589 ELFOSABI_LINUX alias.
590 * config/tc-ia64.c: Likewise.
594 * config/tc-arm.c (do_t_add_sub): Only allow LSL shifts of less
595 than 4 in Thumb mode.
600 * config/tc-arm.c (BAD_RANGE): New error message define.
601 (md_apply_fix): Use it.
602 Fix range check for thumb branch instructions.
606 * config/tc-mips.c (append_method): New enum.
607 (can_swap_branch_p, get_append_method): New functions.
608 (append_insn): Use get_append_method to decide how the instruction
613 * config/tc-mips.c (append_insn): Remove bogus goto.
617 * config/tc-mips.c (append_insn): Always clear the history after an
618 unconditional branch.
622 * config/tc-mips.c (find_altered_mips16_opcode): New function.
623 (append_insn): Use it.
627 * config/tc-mips.c (insn_uses_reg): Delete.
628 (gpr_read_mask, gpr_write_mask): New functions.
629 (fpr_read_mask, fpr_write_mask): Likewise.
630 (insns_between, nops_for_vr4130, append_insn): Use them.
634 * config/tc-mips.c (md_mips_end): Call mips_emit_delays.
639 * config/tc-arm.c (mapping_state): When changing to ARM or THUMB
640 state set the minimum required alignment of the section.
644 * config/tc-i386.c (i386_mach): Convert to ISO-C.
645 (md_begin, pe_directive_secrel, md_estimate_size_before_relax): Ditto.
646 (md_convert_frag, md_apply_fix, md_undefined_symbol): Ditto.
647 (md_section_align, tc_gen_reloc): Ditto.
651 * config/tc-alpha.c (s_alpha_pdesc): Fix indentation. Do not
656 * config/tc-alpha.c (load_expression): Use alloca instead of xmalloc.
657 (emit_jsrjmp): Ditto.
658 (tc_gen_reloc): Ditto.
662 * config/tc-alpha.c (alpha_evax_proc_hash): Remove.
663 (alpha_evax_proc_data): New variable.
664 (s_alpha_ent): Prevent nested function. Remove has_insert call.
665 (s_alpha_pdesc): Do not call demand_empty_rest_of_line in case of
666 error. Do not search in the hash table. Check if match with .ent.
667 (s_alpha_name): Remove unused variable.
668 (md_begin): Remove initialization of alpha_evax_proc_hash.
672 * config/tc-alpha.c (add_to_link_pool): Remove basesym parameter.
673 Locally declare basesym. Add comments. Do not set literal_pool_size.
674 (load_expression): Adjust call to add_to_link_pool.
675 (s_alpha_pdesc): Define pdesc symbol using dot.
676 Do not set literal_pool_size.
677 (s_alpha_end): Use NULL instead of 0.
681 * config/obj-evax.c (evax_frob_file_before_adjust): Add comments.
683 * config/obj-evax.h (struct alpha_linkage_fixups): Remove seg
685 (obj_symbol_type, object_headers, OBJ_SYMFIELD_TYPE): Remove
689 * config/tc-mips.c (fix_24k_record_store_info): If the previous
690 instruction was a store, and the next instructions are unknown,
696 * config/tc-mips.c (nops_for_vr4130, nops_for_24k, nops_for_insn)
697 (nops_for_sequence, nops_for_insn_or_target): Add ignore parameters.
698 (mips_emit_delays, start_noreorder): Update accordingly.
699 (append_insn): Likewise. Revert original fix for this PR
700 and use the ignore parameter instead.
705 * config/obj-evax.c (evax_frob_symbol): Use as_bad instead of abort.
709 * config/tc-alpha.c (add_to_link_pool): Remove useless offset
715 * config/tc-mips.c (append_insn): Only consider hazards between the
716 pre-noreorder block and ip.
720 * config/tc-arm.c (vfp_conv): Add check on range of immediate operand
721 in vcvt instruction between floating-point and fixed-point.
722 (operand_parse_code): Add "OP_oI32z".
723 (parse_operands): OP_oI32z case added.
727 * configure.tgt: Revert x32 change.
731 * doc/Makefile.am: (CPU_DOCS): Add c-xstormy16.texi.
732 * doc/Makefile.in: Regenerate.
733 * doc/all.texi: Set XSTORMY16.
734 * doc/c-xstormy16.texi: New file.
738 * configure.tgt: Support x32.
742 * NEWS: Mention addition of TILEPRO and TIKE-Gx support.
746 * config/tc-ppc.h (struct ppc_tc_sy): Complete comment on within.
747 (tc_new_dot_label): Define.
748 (ppc_new_dot_label): Declare.
749 * config/tc-ppc.c (ppc_frob_label): Set within target field.
750 (ppc_fix_adjustable): Use this field to adjust the reloc.
751 (ppc_new_dot_label): New function.
755 * po/POTFILES.in: Regenerate.
759 * Makefile.am (TARGET_CPU_CFILES): Add config/tc-tilegx.c and
761 (TARGET_CPU_HFILES): Add config/tc-tilegx.h and
763 * Makefile.in: Regenerate.
764 * configure.tgt (tilepro-*-*): New.
765 (tilegx-*-*): Likewise.
766 * config/tc-tilegx.c: New file.
767 * config/tc-tilegx.h: Likewise.
768 * config/tc-tilepro.h: Likewise.
769 * config/tc-tilepro.c: Likewise.
770 * doc/Makefile.am (CPU_DOCS): Add c-tilegx.texi and
772 * doc/Makefile.in: Regenerate.
773 * doc/all.texi (TILEGX): Define.
775 * doc/as.texinfo: Add Tile-Gx and TILEPro documentation. Include
776 c-tilegx.texi and c-tilepro.texi.
777 * doc/c-tilegx.texi: New.
778 * doc/c-tilepro.texi: New.
783 * config/tc-arm.c (do_shift): Do not allow shift operations at the
784 end of a register based shift insn.
785 (do_t_shift): Likewise.
789 * config/tc-score.c (s3_my_get_expression): Delete unused local
791 (s3_do_ldst_insn): Delete unused local variable 'strbak'.
792 (s3_do16_ldst_insn): Delete unused local variable 'temp'.
793 (s3_do_macro_bcmp): Zero inst_expand array.
794 (s3_do_macro_bcmpz): Likewise.
795 (s3_s_score_end): Delete unused local variable 'dot'.
796 (s3_gen_reloc): Delete unused local variables 'f', 's', and 'e'.
797 * config/tc-score7.c (s7_my_get_expression): Delete unused local
799 (s7_do_ldst_insn): Delete unused local variable 'strbak'.
800 (s7_b32_relax_to_b16): Delete unused local variables 'r_old' and
802 (s7_s_score_end): Delete unused local variable 'dot'.
803 (s7_relax_frag): Delete unused local variable 'relax_size'.
804 (s7_gen_reloc): Delete unused local variables 'f', 's', and 'e'.
808 AVX Programming Reference (June, 2011)
809 * config/tc-i386.c (i386_error): Add invalid_vsib_address and
810 unsupported_vector_index_register.
811 (cpu_arch): Add .avx2, .bmi2, .lzcnt and .invpcid.
812 (check_VecOperands): New.
813 (match_template): Call check_VecOperands. Handle
814 invalid_vsib_address and unsupported_vector_index_register.
815 (build_modrm_byte): Support VecSIB. Check register-only source
816 operand when two source operands are swapped.
817 (i386_index_check): Allow Xmm/Ymm index registers.
819 * doc/c-i386.texi: Document avx2/.avx2, bmi2/.bmi2, lzcnt/.lzcnt
820 and invpcid./invpcid.
825 * config/tc-cr16.c (tc_gen_reloc): Remove unused local variable
827 (check_cinv_options): Remove unused local variables. Make
829 (md_assemble): Remove unused local variable.
833 * config/tc-arm.c (do_ldrd): Warn in unpredictable cases.
838 * config/tc-arm.c (parse_psr): Set m_profile to false when
839 assembling for any architecture.
844 * config/tc-arm.c (parse_address_main): Handle -0 offsets.
845 (encode_arm_addr_mode_2): Set default sign of zero here ...
846 (encode_arm_addr_mode_3): ... and here.
847 (encode_arm_cp_address): ... and here.
848 (md_apply_fix): Use default sign of zero here.
852 * as.c: Fix spelling typo.
854 * config/tc-ppc.c: Likewise.
855 * po/gas.pit: Regenerate.
859 * config/tc-arm.c (arm_cpus): Add Cortex-R5.
860 (arm_extensions): Allow idiv on ARMv7-R.
861 * doc/c-arm.text: Update idiv extension restrictions.
865 * config/tc-arm.c (arm_force_relocation): Resolve all pc-relative
870 * config/tc-arm.c (do_t_branch): Avoid relaxing branches to constant
876 * config/tc-arm.c (fix_new_arm): Create an absolute symbol for
877 pc-relative fixes to constants.
878 * config/tc-arm.h (TC_FORCE_RELOCATATION_ABS): Define.
882 * config/tc-s390.c (md_begin): Remove unused variable dup_insn.
886 * config/tc-s390.c (md_gather_operands): Fix check for floating
887 register pair operands.
891 * config/tc-s390.c (md_gather_operands): Emit an error for odd
892 numbered registers used as register pair operand.
896 * config/tc-v850.h (TC_FX_SIZE_SLACK): Define.
900 * config/tc-tic6x.c (tic6x_operators): Add "pcr_offset".
901 (tic6x_parse_name): Handle it.
902 (tic6x_fix_new_exp): Handle O_pcr_offset.
903 (tic6x_fix_adjustable): Return 0 for the new relocs.
904 (md_apply_fix): Handle them.
905 (tc_gen_reloc): Likewise.
906 * config/tc-tic6x.h (tic6x_fix_info): Add a fix_subsy member.
911 * config/tc-tic30.c (ordinal_names): Allow translation of the
916 * config/tc-arm.c (s_unreq): Reword warning message to make it
918 * config/tc-ia64.c (md_show_usage): Add note for translators.
919 * configure.in (ALL_LINGUAS): Add "fi".
920 * configure: Regenerate.
924 * config/tc-ppc.h (ppc_tc_sy): Reorder fields.
925 Put size into an union with dw.
926 (OBJ_COPY_SYMBOL_ATTRIBUTES): Adjust.
927 (ppc_xcoff_end): Declare.
929 * config/tc-ppc.c: Add includes for xcoff.
930 (ppc_dwsect): New function.
931 (md_pseudo_table): Add dwsect.
932 (struct dw_subsection): New.
934 (ppc_change_debug_section): New function.
935 (ppc_xcoff_end): Ditto.
936 (ppc_function): Adjust for ppc_tc_sy.
937 (ppc_symbol_new_hook): Ditto.
938 (ppc_frob_symbol): Ditto.
939 (ppc_frob_section): Do not set vma for debug sections.
940 (ppc_fix_adjustable): Return true for debug sections.
941 * config/obj-coff.c: Add includes for xcoff.
942 (coff_frob_section): Handle dwarf section.
946 * po/fi.po: New Finnish translation.
947 * po/fr.po: Updated French translation.
949 * config/tc-m32r.c (md_show_usage): Fix typos in descriptions.
950 * config/tc-mt.c (md_assemble): Fix typos in warning messages.
951 * cond.c (s_else): Fix typos in error messages.
952 * config/tc-pj.c (md_assemble): Fix typo in error message.
956 * config/tc-cris.c (md_parse_option) <OPTION_PIC>: Error if not
958 (md_show_usage): Only mention --pic if the assembler can generate
960 * doc/c-cris.texi (CRIS-Opt): Mention that generating ELF is a
961 prerequisite for --pic being a valid option.
966 * config/tc-v850.c (parse_register_list): Correct error string.
970 * config/tc-i386.c (cpu_arch): Rename PROCESSOR_BDVER1 to PROCESSOR_BD.
971 (i386_align_code): Ditto
976 * config/tc-arm.c (parse_big_immediate): Fix parsing of 64-bit
977 immediates on 32-bit hosts.
981 * config/tc-i386.c (cpu_arch): Add bdver2 and rename
982 PROCESSOR_BDVER1 to PROCESSOR_BDVER.
983 (i386_align_code): Rename PROCESSOR_BDVER1.
984 (processor_type): Ditto.
985 * doc/c-i386.texi: Add bdver2.
989 * dw2gencfi.c (tc_cfi_endproc): Avoid "set but not used" error.
993 * config/tc-tic6x.c (streq): Define.
994 (tic6x_get_unwind): New.
995 (s_tic6x_cantunwind, s_tic6x_handlerdata, s_tic6x_endp,
996 s_tic6x_personalityindex, s_tic6x_personality): New functions.
997 (md_pseudo_table): Add "endp", "handlerdata", "personalityindex",
998 "personality" and "cantunwind".
999 (tic6x_regname_to_dw2regnum, tic6x_frame_initial_instructions,
1000 tic6x_start_unwind_section, tic6x_unwind_frame_regs,
1001 tic6x_pop_rts_offset_little, tic6x_pop_rts_offset_big,
1002 tic6x_unwind_reg_from_dwarf, tic6x_flush_unwind_word,
1003 tic6x_unwind_byte, tic6x_unwind_2byte, tic6x_unwind_uleb,
1004 tic6x_cfi_startproc, output_exidx_entry, tic6x_output_unwinding,
1005 tic6x_cfi_endproc): New.
1006 * config/tc-tic6x.h (TIC6X_NUM_UNWIND_REGS): Define.
1007 (tic6x_unwind_info): New.
1008 (tic6x_segment_info_type): Add marked_pr_dependency, unwind and
1010 (TARGET_USE_CFIPOP, tc_regname_to_dw2regnum,
1011 tc_cfi_frame_initial_instructions, DWARF2_DEFAULT_RETURN_COLUMN,
1012 DWARF2_CIE_DATA_ALIGNMENT, tc_cfi_startproc, tc_cfi_endproc,
1013 tc_cfi_section_name): Define.
1014 * doc/c-tic6x.texi: Document new unwinding directives.
1015 * dw2gencfi.c (tc_cfi_startproc, tc_cfi_endproc): Add default
1017 (cfi_insn_data, fde_entry, CFI_adjust_cfa_offset, CFI_return_column,
1018 CFI_rel_offset, CFI_escape, CFI_signal_frame, CFI_val_encoded_addr):
1019 Move to dw2gencfi.h.
1020 (CFI_EMIT_target): Define.
1021 (dot_cfi_sections): Check tc_cfi_section_name.
1022 (dot_cfi_startproc): Use tc_cfi_startproc.
1023 (dot_cfi_endproc): Use tc_cfi_endproc.
1024 * dw2gencfi.h (cfi_insn_data, fde_entry, CFI_adjust_cfa_offset,
1025 CFI_return_column, CFI_rel_offset, CFI_escape, CFI_signal_frame,
1026 CFI_val_encoded_addr): Move to here from dw2gencfi.c.
1030 * dw2gencfi.c (CUR_SEG, SET_CUR_SEG, HANDLED, SET_HANDLED): Define.
1031 Use throughout in place of #if SUPPORT_FRAME_LINKONCE.
1032 (struct fde_entry): Rename cseg to cur_seg.
1033 (cfi_change_reg_numbers): Remove ATTRIBUTE_UNUSED.
1034 (get_cfi_seg): Likewise. Use if (SUPPORT_FRAME_LINKONCE) rather
1035 that #if SUPPORT_FRAME_LINKONCE.
1036 (cfi_finish): Likewise.
1040 * read.c (s_comm_internal): Remove code for OBJ_VMS.
1043 * write.c (write_object_file): Ditto.
1044 * symbols.c (define_sym_at_dot): Ditto.
1049 * dw2gencfi.c (SUPPORT_FRAME_LINKONCE): Define. Use throughout
1050 file to conditionally compile code added 2011-04-26.
1051 (cfi_change_reg_numbers): Add ATTRIBUTE_UNUSED on params only used
1052 when SUPPORT_FRAME_LINKONCE.
1053 (get_cfi_seg): Likewise. Reintroduce old code for when not
1054 SUPPORT_FRAME_LINKONCE.
1055 (cfi_finish): Move get_cfi_seg calls out of loop when not
1056 SUPPORT_FRAME_LINKONCE. Avoid unused var warning.
1060 * config/tc-tic6x.c (s_ehtype): New function.
1061 (md_pseudo_table): Add "ehtype".
1062 (tic6x_fix_adjustable, md_apply_fix): BFD_RELOC_C6000_EHTYPE.
1063 * doc/c-tic6x.texi: Document .ehtype directive.
1067 * dw2gencfi.c (dwcfi_seg_list): New struct.
1068 (dwcfi_hash): New static hash variable.
1069 (get_debugseg_name): New.
1070 (alloc_debugseg_item): New.
1071 (make_debug_seg): New.
1072 (dwcfi_hash_insert): New.
1073 (dwcfi_hash_find): New.
1074 (dwcfi_hash_find_or_make): New.
1075 (cfi_insn_data): New member cur_seg.
1076 (cie_entry): Likewise.
1077 (fde_entry): New cseg and handled members.
1078 (alloc_fde_entry): Initialize cseg member.
1079 (alloc_cfi_insn_data): Initialize cur_seg member.
1080 (dot_cfi_sections): Compare for beginning of
1081 section names via strncmp.
1083 (cfi_finish): Treat link-once sections.
1084 (is_now_linkonce_segment): New local helper.
1085 (output_cie): Ignore cie entries not member of current
1087 (output_fde): Likewise.
1088 (select_cie_for_fde): Likewise.
1089 (cfi_change_reg_numbers): Add new argument for current segment
1090 and ignore insn elements, if not part of current segment.
1091 * ehopt.c (get_cie_info): Use strncmp for
1092 section name matching.
1093 (heck_eh_frame): Likewise.
1098 * config/mips.c (mips_cl_insn): Add new field complete_p.
1099 (create_insn): Initialize complete_p to zero.
1101 (fix_24k_align_to): New.
1102 (fix_24k_store_info): Declare.
1103 (fix_24k_sort): New.
1104 (fix_24k_record_store_info): New.
1105 (nops_for_24k): New.
1106 (nops_for_insn): Call nops_for_24k.
1107 (append_insn): Move O_constant expression handling.
1111 * hash.c (set_gas_hash_table_size): Use bfd_hash_set_default_size.
1112 (hash_new_sized): New function, split out from..
1117 * config/tc-arm.c (v7m_psrs): Revert previous delta.
1122 * config/tc-arm.c (parse_psr): Use selected_cpu not cpu_variant to
1123 detect M-profile targets.
1124 (do_t_swi): Exclude v7 and higher variants from arm_ext_os test.
1125 (v7m_psrs): Fix typo: basepri_max should be basepri_mask.
1129 * config/tc-s390.c (s390_machine): New prototype.
1130 (md_pseudo_table): New pseudo-op .machine.
1131 (s390_opcode_hash): Initialize to NULL.
1132 (s390_parse_cpu): New function.
1133 (md_parse_option): Use s390_parse_cpu.
1134 (s390_setup_opcodes): New function.
1135 (md_begin): Use s390_setup_opcodes.
1136 (s390_machine): New hook handling the new .machine pseudo.
1138 * doc/c-s390.texi: Document the new pseudo op .machine.
1142 * config/tc-i386.c (i386_mach): Start error message with lower
1144 (md_begin): Likewise.
1145 (md_parse_option): Likewise.
1146 (i386_target_format): Likewise.
1147 (check_byte_reg): Likewise.
1148 (check_long_reg): Likewise.
1149 (check_qword_reg): Likewise.
1150 (check_word_reg): Likewise.
1155 * config/tc-arm.c (relax_branch): Do not relax branches to
1156 preemptable global symbols.
1160 * config/tc-arm.c (parse_psr): Add LHS argument. Improve support
1162 (operand_parse_code): Replace OP_PSR with OP_wPSR and OP_rPSR.
1164 (parse_operands): Likewise.
1165 (do_mrs): Tweak error message for constraint.
1166 (do_t_mrs): Update constraints for changes to APSR support.
1167 (do_t_msr): Likewise. Don't set PSR_f flag here.
1168 (psrs): Remove "g", "nzcvq", "nzcvqg".
1169 (insns): Tweak entries for msr and mrs instructions.
1173 * config/tc-i386.c (x86_cons): Initialize adjust with zero.
1177 * config/tc-i386.c (x86_cons): Define even for non-ELF targets.
1178 * config/tc-i386.h (x86_cons): Always prototype.
1180 * config/tc-cr16.c (getprocregp_image): Fix type of 'r' parameter
1181 in order to avoid a compile time warning.
1182 (getprocreg_image): Likewise.
1186 * config/tc-cr16.c (getprocreg_image): Correct range check.
1187 (getprocregp_image): Likewise.
1191 * configure.tgt (strongarm*be, strongarm*b, strongarm*,
1192 xscale*be|xscale*b, xscale*): Remove architectures.
1193 (thumb-*-coff, thumb-*-rtems*, thumb-*-elf, thumb-epoc-pe,
1194 thumb-*-pe, xscale-*-coff, xscale-*-elf): Remove targets.
1198 * config/tc-ia64.c (md_apply_fix): Add a cast to avoid a warning.
1202 * config/tc-tic6x.c (sbss_section, scom_section, scom_symbol): New
1204 (md_begin): Initialize them.
1205 (s_tic6x_scomm): New static function.
1206 (md_pseudo_table): Add "scomm".
1207 (tc_gen_reloc): Really undo all adjustments made by
1208 bfd_install_relocation.
1209 * doc/c-tic6x.texi: Document the .scomm directive.
1213 * dwarf2dbg.c (DWARF2_VERSION): Define.
1214 (out_debug_line): Use it.
1215 (out_debug_aranges): Ditto.
1216 (out_debug_info): Ditto.
1217 * config/tc-ia64.h (DWARF2_VERSION): Override it.
1221 * obj-elf.c (obj_elf_section): Free malloced name.
1222 * macro.c (get_any_string): Free malloced br_buf.
1223 (do_formals): Free 'formal'.
1227 * config/tc-ppc.c (ppc_frob_symbol): Convert stsym symbols value
1228 to offset only if within is set.
1229 (ppc_stabx): Reformat. For stsym stabs, add a check and set
1230 within only for symbols.
1235 * config/tc-alpha.c (s_alpha_align): Don't auto-align a previous
1236 label; zap alpha_insn_label.
1240 * config/tc-i386.c (handle_quad): Properly handle multiple
1245 * config/bfin-parse.y (BYTEUNPACK): Return yyerror when dest
1246 reg $2 is the same as dest reg $4.
1250 * config/bfin-parse.y (BYTEOP16M): Return yyerror when dest
1251 reg $2 is the same as dest reg $4.
1255 * config/bfin-parse.y (BYTEOP16P): Return yyerror when dest
1256 reg $2 is the same as dest reg $4.
1260 * config/bfin-parse.y (16bit acc add): Return yyerror when dest
1261 reg $1 is the same as dest reg $7.
1265 * config/tc-i386.c (handle_quad): New.
1266 (md_pseudo_table): Add "quad".
1270 * configure.tgt: Fix support for *-*-dragonfly*.
1271 * config/tc-i386.c: define SVR4_COMMENT_CHARS for dragonfly.
1272 * config/te-dragonfly.h: New file.
1276 * config/tc-avr.c (mcu_types): Add new devices: atmega325pa,
1277 atmega3250pa, atmega3290pa, atmega16hvbrevb, atmega32hvbrevb,
1279 * doc/c-avr.texi: Document new device names.
1283 * config/bfin-parse.y (dual 32bit add/sub): Return yyerror when dest
1284 reg $1 is the same as dest reg $7.
1285 (quad 16bit add/sub): Return yyerror when dest reg $1 is the same as
1290 * config/bfin-parse.y (check_macfuncs): Clarify error message when
1291 P is mismatched. Check destination regno are off by one when P is
1292 set, or are equal when P is not set.
1296 * config/bfin-parse.y (SEARCH): Return yyerror when dest reg $2 is
1297 the same as dest reg $4.
1298 (BITMUX): Return yyerror when dest reg $3 is the same as dest reg $5.
1302 * config/tc-avr.c (mcu_types): Add new xmega devices: atxmega64a1u,
1303 atxmega128a1u, atxmega16x1, atxmega32x1, atxmega128b1, atxmega256a3bu.
1304 * doc/c-avr.texi: Document new device names.
1308 * config/tc-avr.c (struct avr_opcodes_s): Add opcode field.
1309 (AVR_INSN): Change definition to match.
1310 (avr_opcodes): Likewise, change to match.
1311 (mcu_types): Add XMEGA architecture names and new XMEGA device names.
1312 (md_show_usage): Add XMEGA architecture names.
1313 (avr_operand): Add 'E' constraint for DES instruction of XMEGA devices.
1314 Add support for SPM Z+ instruction.
1315 * doc/c-avr.texi: Add documentation for XMEGA architectures and
1320 * config/tc-avr.c (md_show_usage): Add "Assembler" text to output.
1324 * config/obj-elf.c (elf_frob_symbol): Report S_SET_SIZE symbol
1325 on .size expression errors rather than symbols in the size expression.
1329 * input-scrub.c (line_numberT): Delete.
1330 (input_scrub_close): Reset line counters.
1331 * messages.c (as_show_where): Don't print invalid line number.
1332 (as_warn_internal, as_bad_internal): Likewise.
1336 * read.c (read_a_source_file): Remove md_after_pass_hook.
1337 Move "quit" label before set of dot_symbol.
1338 * config/tc-d10v.h (md_after_pass_hook): Don't define.
1339 * config/tc-d30v.h (md_after_pass_hook): Likewise.
1340 * config/tc-m32r.h (md_after_pass_hook): Likewise.
1341 (md_cleanup): Define to call m32r_fill_insn.
1345 * config/tc-s390.c (md_parse_option): Add -march=all option which
1346 switches to the highest available CPU.
1351 * expr.c (operand): Correct passing of "mode" to expr.
1352 * read.c (do_org): Allow expr_section.
1353 (get_known_segmented_expression): Don't assert anything about the
1358 * as.c (show_usage): Add --size-check=.
1359 (parse_args): Add and handle OPTION_SIZE_CHECK.
1361 * as.h (flag_size_check): New.
1363 * config/obj-elf.c (elf_frob_symbol): Use as_bad to report
1364 bad .size directive only for --size-check=error.
1366 * doc/as.texinfo: Document --size-check=.
1370 * config/tc-bfin.c (bfin_cpus[]): Add 0.4 for
1371 bf542/bf544/bf547/bf548/bf549.
1375 * config/tc-arm.c (md_pcrel_from_section): Use S_FORCE_RELOC to
1376 determine whether a relocation is needed.
1377 (md_apply_fix, arm_apply_sym_value): Likewise.
1381 * config/tc-arm.c (arm_adjust_symtab): Set the branch type
1386 * remap.c (remap_debug_filename): Always allocate a buffer for the
1388 * stabs.c (stabs_generate_asm_file): Free the pointer returned by
1389 remap_debug_filename.
1393 Revert the following change:
1394 * dwarf2dbg.c (out_file_list): Free malloced 'dir'.
1395 (out_debug_info): Free malloced 'dirname' and 'comp_dir'.
1399 * gas/config/obj-elf.h (ELF_TARGET_SYMBOL_FIELDS,
1400 TARGET_SYMBOL_FIELDS): Don't define.
1401 * gas/config/tc-arc.c (arc_common): Use correct symbol "local" field.
1405 * dwarf2dbg.c (out_file_list): Free malloced 'dir'.
1406 (out_debug_info): Free malloced 'dirname' and 'comp_dir'.
1407 (emit_fixed_inc_line_addr): Assign instead of conditional in
1412 * config/obj-elf.c (elf_frob_symbol): Mention symbol name in
1413 non-constant .size expression.
1417 * ecoff.c: Incldue filenames.h
1421 * depend.c (register_dependency): Use filename_(n)cmp.
1422 * dwarf2dbg.c (get_filenum): Likewise.
1423 * ecoff.c (add_file): Likewise.
1424 (ecoff_generate_asm_lineno): Likewise.
1425 * input-scrub.c (new_logical_line_flags): Likewise.
1426 * listing.c (file_info): Likewise.
1427 (listing_newline): Likewise.
1428 * remap.c (remap_debug_filename): Likewise.
1429 * stabs.c (generate_asm_file): Likewise.
1430 (stabs_generate_asm_lineno): Likewise.
1434 * config/tc-mips.c (append_insn): Disable branch relaxation for
1439 * config/tc-mips.c (macro): Handle M_PREF_AB.
1443 * config/tc-mips.c (RELAX_BRANCH_ENCODE): Encode the temporary
1445 (RELAX_BRANCH_UNCOND): Adjust accordingly.
1446 (RELAX_BRANCH_LIKELY): Likewise.
1447 (RELAX_BRANCH_LINK): Likewise.
1448 (RELAX_BRANCH_TOOFAR): Likewise.
1449 (RELAX_BRANCH_AT): New macro.
1450 (append_insn): Encode the temporary register to use in standard
1451 MIPS branch relaxation.
1452 (relaxed_branch_length): Update according to changes to
1453 RELAX_BRANCH_ENCODE.
1454 (md_convert_frag): Use the encoded register as the temporary.
1458 * config/tc-mips.c (mips_fix_adjustable): On REL targets also
1459 reject PC-relative relocations.
1463 * config/tc-mips.c (md_convert_frag): Correct message
1468 * symbols.c (report_op_error): Remove unnecessary forward declaration.
1469 Add "op" parameter. Report operator and operand segments in error
1470 message, not operand symbols.
1471 (resolve_symbol_value): Always set segment for equated symbols, not
1472 just when finalizing. Adjust report_op_error calls.
1476 * config/tc-i386.c (reloc): Don't sign-check 4-byte relocations
1477 if 64bit relocations aren't allowed.
1482 * config/obj-elf.c (elf_frob_symbol): Properly handle size expression.
1486 * config/tc-mips.c (mips_ip) <'o'>: Remove duplicate
1487 initialization of offset_reloc.
1491 * dw2gencfi.c (dot_cfi_dummy): New.
1492 (cfi_pseudo_table) [!TARGET_USE_CFIPOP]: New.
1493 * read.c (pobegin): Unconditionally call cfi_pop_insert.
1497 * configure: Regenerate.
1501 * config/bfin-lex.l (BYTEOP2M): Remove tokenization.
1502 * config/bfin-parse.y (BYTEOP2M): Delete token.
1503 (asm_1): Remove BYTEOP2M insn matching.
1507 * config/bfin-defs.h: Include opcode/bfin.h.
1508 (M_S2RND, M_T, M_W32, M_FU, M_TFU, M_IS, M_ISS2, M_IH, M_IU): Delete.
1512 * doc/c-bfin.texi (Instruction Delimiting): Fix occur typo.
1513 (Modify Registers): Fix subtracted typo.
1514 (.byte2): Extend and swap descriptions with .byte4.
1515 (.byte4): Extend and swap descriptions with .byte2.
1516 (.db, .dw, .dd): Document behavior.
1520 * config/bfin-parse.y (TESTSET): Reject REG_SP and REG_FP.
1524 * doc/c-ppc.texi (PowerPC-Opts <-nops>): Clarify.
1528 * doc/as.texinfo (Overview): Add missing markup around Blackfin
1529 and PowerPC options.
1533 * config/tc-ppc.c (md_show_usage): Remove -l and -b. Add -K PIC.
1534 * doc/as.texinfo: Refer to and include c-ppc.texi for PowerPC options.
1535 (Overview <Target PowerPC options>): Add a number of missing options.
1536 * doc/c-ppc.texi: Likewise. Add markup for use in manpage generation.
1541 * config/tc-i386.c (i386_align_code): Use f32_patt when tuning
1546 * config/tc-i386.c (set_cpu_arch): Also update cpu_arch_isa_flags
1548 (md_parse_option): Likewise.
1552 * doc/as.texinfo (Target TIC6X options): Don't mention "-matomic".
1553 * doc/c-tic6x.texi (TIC6X Directives): Don't mention ".atomic".
1554 (TIC6X Options): Don't mention "-matomic".
1555 * config/tc-tic6x.c (OPTION_MATOMIC, OPTION_MNO_ATOMIC): Delete.
1556 (md_longopts): Remove corresponding entries.
1557 (md_parse_option): Don't handle them.
1558 (md_show_usage): Don't document them.
1559 (tic6x_atomic): Delete variable.
1560 (tic6x_update_features): Always copy tic6x_arch_enable to
1562 (tic6x_arch_enable): Remove references to TIC6X_INSN_ATOMIC.
1563 (s_tic6x_atomic, s_tic6x_noatomic): Remove functions.
1564 (md_pseudo_table): Remove ".atomic" and ".noatomic".
1568 * write.c (write_contents): Include output file name and bfd error
1569 value when reporting the inability to write to the output file.
1570 * config/tc-rx.c (rx_handle_align): Do not insert NOPs into align
1571 frag that has a non-zero fill value.
1575 * config/tc-rx.c (md_convert_frag): If we can't compute the target
1576 address, zero out the values stored in the object file to make
1577 objdump's output consistent.
1581 * config/tc-i386.c (md_begin): Set for x64 windows COFF target
1582 x86_dwarf2_return_column to 32.
1587 * config/tc-h8300.c (constant_fits_width_p): Use correct type for
1592 * write.c (compress_debug): Return if section size is smaller
1598 * write.c (compress_debug): Return if section size is 0.
1602 * config/tc-arm.c (arm_cpus): Add Faraday ARMv5TE compatible
1603 cores: fa606te, fa616te, fmp626. Modify the VFP of fa626te.
1604 * doc/c-arm.texi (ARM Options): Add -mcpu={fa606te, fa616te,
1610 * doc/all.texi: Add NS32K
1611 * doc/as.texinfo: Remove target specific details of which
1612 characters act as comment initiators and statement separators into
1613 individual target specific files.
1614 * doc/c-alpha.texi (Alpha-Chars): Document special behaviour of
1615 the hash character at the start of a line.
1616 * doc/c-arm.texi (ARM-Chars): Likewise.
1617 * doc/c-avr.texi (AVR-Chars): Likewise.
1618 * doc/c-d10v.texi (D10V-Chars): Likewise.
1619 * doc/c-d30v.texi (D30V-Chars): Likewise.
1620 * doc/c-mmix.texi (MMIX-Chars): Likewise.
1621 * doc/c-s390.texi (s390 characters): Likewise.
1622 * doc/c-sh.texi (SH-Chars): Likewise.
1623 * doc/c-sh64.texi (SH64-Chars): Likewise.
1624 * doc/c-sparc.texi (SPARC-Chars): Likewise.
1625 * doc/c-tic6x.texi (TIC6X Syntax): Likewise.
1626 * doc/c-xtensa.texi (Xtensa Syntax): Likewise.
1627 * doc/c-z80.texi (Z80-Chars): Likewise.
1628 * doc/c-z8k.texi (Z8000-Chars): Likewise.
1629 * doc/c-pdp11.texi (PDP11-Syntax): Document line separator character.
1630 * doc/c-arc.texi (ARC-Chars): Fill in this subsection.
1631 * doc/c-bfin.texi (Blackfin Syntax): Document line comment and
1632 line separator characters.
1633 * doc/c-cr16.texi (CR16 Syntax): Likewise.
1634 * doc/c-i386.texi (i386-Chars): Likewise.
1635 * doc/c-i860.texi (i860-Chars): Likewise.
1636 * doc/c-i960.texi (i960-Chars): Likewise.
1637 * doc/c-ip2k.texi (IP2K-Chars): Likewise.
1638 * doc/c-lm32.texi (LM32-Chars): likewise.
1639 * doc/c-m32c.texi (M32C-Chars): Likewise.
1640 * doc/c-m68hc11.texi (M68HC11-syntax): Likewise.
1641 * doc/c-m68k.texi (M68K-Chars): Likewise.
1642 * doc/c-microblaze.texi (MicroBlaze-Chars): Likewise.
1643 * doc/c-msp430.texi (MSP430-Chars): Likewise.
1644 * doc/c-mt.texi (MT-Chars): Likewise.
1645 * doc/c-ns32k.texi (NS32K-Chars): Likewise.
1646 * doc/c-pj.texi (PJ-Chars): Likewise.
1647 * doc/c-ppc.texi (PowerPC-Chars): Likewise.
1648 * doc/c-rx.texi (RX-Chars): Likewise.
1649 * doc/c-score.texi (SCORE-Chars): Likewise.
1650 * doc/c-tic54x.texi (TIC54X-Chars): Likewise.
1651 * doc/c-v850.texi (V850-Chars): Likewise.
1652 * doc/c-vax.texi (VAX-Chars): Likewise.
1653 * doc/c-xc16x.texi (xc16x-Chars): Likewise.
1657 * config/tc-i386.c (cpu_arch): Add CPU_TBM_FLAGS.
1659 * doc/c-i386.texi (i386-TBM): New section.
1663 * config/tc-i386.c (disallow_64bit_disp): Renamed to ...
1664 (disallow_64bit_reloc): This.
1665 (md_assemble): Don't check movabs for x32 mode here.
1666 (i386_target_format): Updated.
1667 (tc_gen_reloc): Check if 64bit relocations are allowed.
1671 * config/tc-i386.c (disallow_64bit_disp): New.
1672 (x86_elf_abi): Replace X86_64_LP64_ABI/X86_64_ILP32_ABI with
1673 X86_64_ABI/X86_64_X32_ABI.
1674 (md_assemble): Don't allow movabs with relocation in x32 mode.
1675 (i386_target_format): Updated.
1679 * config/tc-i386.c (OPTION_N32): Renamed to ...
1681 (md_longopts): Replace n32 with x32.
1682 (md_parse_option): Updated.
1683 (md_show_usage): Likewise.
1685 * doc/c-i386.texi: Replace --n32 with --x32.
1689 * config/tc-mips.c (mips_ip): Update error messages. Take an
1690 unadjusted offset for "+c" argument.
1694 * config/tc-i386.c (x86_elf_abi): Only define for targets that use
1699 * config/tc-arm.c (s_arm_tls_desceq): Move code into ELF-only
1705 * doc/c-arm.texi: Document TLSDESC and TLSCALL relocations, and
1706 .tlsdescseq directive.
1707 * config/tc-arm.c (arm_typed_reg_parse): Check for potential reloc
1709 (s_arm_tls_descseq): New directive.
1710 (md_pseudo_table): Add it.
1711 (encode_branch): Allow TLS_CALL relocs too.
1712 (do_t_blx, do_t_branch23): Use encode_branch.
1713 (reloc_names): Add tlsdesc and tlscall.
1714 (md_apply_fix): Process tls desc relocations.
1715 (tc_gen_reloc): Likewise.
1716 (arm_fix_adjustable): Likewise.
1720 * config/tc-i386.c (cpu_arch): Add CPU_BMI_FLAGS.
1722 * doc/c-i386.texi (i386-BMI): New section.
1726 * config/tc-pdp11.c (parse_op_no_deferred): Allow PC-relative
1727 references to absolute addresses.
1731 * config/tc-rx.c (tc_gen_reloc): Emit an RX_OP_NEG expression
1732 instead of an RH_NEG32 one.
1736 * doc/c-i386.texi: Clarify --n32.
1740 * config/tc-i386.c (build_modrm_byte): Allow encoding 32/64bit
1741 integer registers in VEX.vvvv. Check register-only source
1742 operand when two source operands are swapped. Properly update
1743 destination when two source operands are swapped.
1747 * gas.c (parse_args): Update copyright to 2011.
1749 For older changes see ChangeLog-2010
1755 version-control: never