3 * config/tc-arm.c (rfefa,rfeea,rfeed): Fix encoding.
4 (rfe,srs,srsea,srsfa,srsed,srsfd): Add missing mnemonics.
8 * CONTRIBUTORS: Add copyright notice.
9 * MAINTAINERS: Likewise.
10 * Makefile.am: Likewise.
13 * configure.com: Likewise.
14 * configure.in: Likewise.
15 * configure.tgt: Likewise.
16 * itbl-lex-wrapper.c: Likewise.
17 * makefile.vms: Likewise.
18 * config/bfin-lex-wrapper.c: Likewise.
19 * config/obj-fdpicelf.c: Likewise.
20 * config/obj-fdpicelf.h: Likewise.
21 * doc/Makefile.am: Likewise.
22 * doc/h8.texi: Likewise.
23 * Makefile.in: Regenerate.
24 * doc/Makefile.in: Regenerate.
28 * config/tc-microblaze.c: Define TLS offsets
29 (md_relax_table): Add TLS offsets
30 (imm_types), (match_imm), (get_imm_otype): New to support TLS offsets.
31 (tc_microblaze_fix_adjustable): Add TLS relocs.
32 (md_convert_frag): Support TLS offsets.
33 (md_apply_fix), (md_estimate_size_before_relax), (tc_gen_reloc):
38 * config/tc-aarch64.c (exp_has_bignum_p): Remove.
39 (my_get_expression): Not get rid of bignums.
40 (s_ltorg): Increase the range of 'align'.
41 (programmer_friendly_fixup): Allow bignum expression.
45 * config/tc-microblaze.c: Rename INST_TYPE_RD_R1_SPECIAL to
46 INST_TYPE_R1_R2_SPECIAL, don't set RD for wic.
50 * config/tc-arm.c (md_apply_fix): Fix conversion of BL to BLX for
51 local targets in Thumb mode.
55 * config/tc-ppc.c (sticky): New var.
56 (md_parse_option, ppc_machine): Update ppc_parse_cpu calls.
60 * config/tc-microblaze.c (parse_reg): Parse REG_SLR, REG_SHR
65 * gas/i386/x86-64-opcode.s: Add jecxz.
66 * gas/i386/x86-64-opcode.d: Updated.
70 * config/tc-aarch64.c (first_error_fmt): Add ATTRIBUTE_UNUSED to the
75 * config/tc-arm.c (arm_symbol_chars): New variable.
76 * config/tc-arm.h (tc_symbol_chars): New macro, defined to that.
80 * config/tc-sparc.c (md_parse_option): Only certain arch
81 specifications should override the object to be 32-bit
86 * config/tc-microblaze.c (md_assemble): Add support for INST_TYPE_IMM5
90 * config/tc-ppc.c (md_apply_fix): Leave field zero when emitting
91 an ELF reloc on data as well.
95 * read.h (s_vendor_attribute): Move to...
96 * config/obj-elf.h (obj_elf_vendor_attribute): ... here.
97 * read.c (potable): Remove "gnu_attribute".
98 (skip_whitespace, skip_past_char, skip_past_comma): Delete, move
100 (s_vendor_attribute): Delete, move to obj_elf_vendor_attribute
102 (s_gnu_attribute): Delete, move to obj_elf_gnu_attribute in
104 * config/obj-elf.c (elf_pseudo_table): Add "gnu_attribute".
105 (skip_whitespace, skip_past_char, skip_past_comma): New, moved
107 (obj_elf_vendor_attribute): New, moved from s_vendor_attribute
109 (obj_elf_gnu_attribute): New, moved from s_gnu_attribute in
111 * config/tc-arm.c (s_arm_eabi_attribute): Rename
112 s_vendor_attribute to obj_elf_vendor_attribute.
113 * config/tc-tic6x.c (s_tic6x_c6xabi_attribute): Likewise.
117 * config/obj-elf.c (obj_elf_change_section): Allow init array
118 sections to have the SHF_EXECINSTR attribute for the RX target.
119 * config/tc-rx.c (elf_flags): Initialise with E_FLAG_RX_ABI.
120 (enum options): Add OPTION_USES_GCC_ABI and OPTION_USES_RX_ABI.
121 (md_longopts): Add -mgcc-abi and -mrx-abi.
122 (md_parse_option): Add support for OPTION_USES_GCC_ABI and
124 * doc/as.texinfo (RX Options): Add mention of remaining RX
126 * doc/c-rx.texi: Document -mgcc-abi and -mrx-abi.
128 * config/tc-v850.c (v850_target_arch): New.
129 (v850_target_format): New.
130 (set_machine): Use v850_target_arch.
131 (md_begin): Likewise.
132 (md_show_usage): Document new switches.
133 (md_parse_option): Add -mgcc-abi, -mrh850-abi, -m8byte-align and
135 * config/tc-v850.c (TARGET_ARCH) Use v850_target_arch.
136 (TARGET_FORMAT): Use v850_target_format.
137 * doc/c-v850.texi: Document new options.
141 * tc-microblaze.c (md_longopts): Define OPTION_EB and
142 OPTION_EL for target.
143 (md_parse_option): Likewise.
144 * tc-microblaze.h: Set elf32-microblazeel if not
145 target_big_endian for TARGET_FORMAT.
146 * configure.tgt: Add microblazeel and set endian per target.
150 * config/atof-ieee.c (gen_to_words): Remove trailing redundant
152 * config/atof-vax.c (flonum_gen2vax): Likewise.
153 * config/tc-d10v.c (write_2_short): Likewise.
154 * config/tc-i386-intel.c (i386_intel_simplify): Likewise.
155 * config/tc-s390.c (tc_s390_force_relocation): Likewise.
156 * config/tc-v850.c (md_parse_option): Likewise.
157 * config/tc-xtensa.c (find_address_of_next_align_frag): Likewise.
158 * dwarf2dbg.c (out_header): Likewise.
159 * symbols.c (dollar_label_name): Likewise.
160 (fb_label_name): Likewise.
164 * config/tc-mips.c (mips_ip) <'u'>: Default to BFD_RELOC_LO16.
168 * po/POTFILES.in: Regenerate.
172 * config/tc-m68hc11.c: Fix R_M68HC12_16B relocation for movb/w
176 * config/tc-microblaze.c: Remove special register condition check
177 for INST_TYPE_RFSL related instructions.
181 * config/tc-xgate.c: Make some functions static. Formatting
182 style and whitespace fixes. Wrap overly long lines. Format
187 * config/tc-tic4x.c: Remove alignment TODO comments.
188 (tic4x_do_align): Enable subseg_text_p test.
192 * config/tc-ppc.c (ppc_elf_adjust_symtab): New function, split out..
193 (ppc_frob_file_before_adjust): ..from here.
194 (md_apply_fix): Set BSF_KEEP on .TOC. if not @tocbase.
195 * config/tc-ppc.h (ppc_elf_adjust_symtab): Declare.
196 (tc_adjust_symtab): Define.
200 * config/tc-ppc.c (md_apply_fix): Fix xcoff build breakage from
205 * config/tc-xgate.c: Remove bogus use of <fx_pcrel_adjust>.
206 * config/tc-m68hc11.c: Likewise.
210 * configure.in: Apply 2012-09-10 change to config.in here.
214 * config/tc-ppc.c (md_chars_to_number): Delete.
215 (ppc_setup_opcodes): Assert num_powerpc_operands fit.
216 (ppc_is_toc_sym): Move earlier in file.
217 (md_assemble): Move code setting reloc from md_apply_fix. Combine
218 non-ELF code setting fixup with ELF code. Stash opindex in
219 fx_pcrel_adjust. Adjust fixup offset for VLE. Don't set
221 (md_apply_fix): Rewrite to use ppc_insert_operand for all
222 resolved instruction fields. Leave insn field zero when
223 emitting an ELF reloc in most cases.
225 * write.h (struct fix <fx_pcrel_adjust>): Make it a signed char.
226 * config/tc-m68k.c (tc_gen_reloc, md_pcrel_from): Remove explicit
227 sign extendion of fx_pxrel_adjust.
231 * config/tc-mips.c (is_delay_slot_valid): Simplify expression.
235 * config/tc-mips.c (append_insn): Set fx_no_overflow for 16-bit
236 microMIPS branch relocations.
240 * config/tc-mips.c (is_delay_slot_valid): Don't accept macros
241 in 16-bit delay slots.
242 (macro_build_jalr): Emit 32-bit JALR if placed in a 32-bit delay
244 (macro) <M_JAL_2>: Likewise
248 * config/tc-microblaze.c: Check for weak symbols before
253 * sb.c (sb_check): Use __builtin_clzll when size_t is not the
258 * config/tc-ppc.c (ppc_znop): Remove unused vars.
263 * config/tc-ppc.c (ppc_setup_opcodes): Fix comment.
264 (md_assemble): Translate to _DS relocs for ppc32 as well as ppc64.
265 (tc_gen_reloc): Handle _DS relocs in ppc32 mode.
269 * as.c (dump_statistics): Compute data size as the delta between
270 current sbrk(0) and start_sbrk.
271 * (main): Set start_sbrk to sbrk(0) on entry.
275 * config/obj-coff.c: Add include of struc-symbol.h header.
276 (coff_frob_symbol): Check that function-aux entries are generated for
277 defined symbols only.
279 * doc/as.texinfo: Add missing documentation about section flag
284 * config/tc-hppa.c (pa_get_number): New.
285 (pa_get_absolute_expression): Simplify.
286 (pa_ip): Use pa_get_number instead of pa_get_absolute_expression
287 to get SOP, SFU and COPR identifiers.
289 * config/tc-hppa.c (pa_ip): Reject double floating point stores and
290 loads that reference the right half of a floating point register.
294 * config/tc-hppa.c (pa_ip): Limit unit conditions for uxor to those
295 not involving a carry.
299 * doc/as.texinfo (-mpwr4, -mpwr7): Fix option name typos.
303 * config/tc-arm.c: Change condition code insertion for
304 lds[hb] instructions from after the 2nd character to after the 3rd.
312 * config/tc-i386.c (cpu_arch): Add CPU_BDVER3_FLAGS.
313 * doc/c-i386.texi: Add -march=bdver3 option.
317 * config/tc-v850.c (v850_insert_operand): Use a static buffer for
322 * config/tc-s390.c (s390_parse_cpu): Add new option zEC12.
323 * doc/as.texinfo: Document new option zEC12.
324 * doc/c-s390.texi: Likewise.
328 * config/tc-rl78.c: Change line_separator to '@' so that '|' can
329 be used in expressions.
333 * write.c (chain_frchains_together_1): Reorder assertion to avoid
338 * config/tc-mips.h (TC_FORCE_RELOCATION): Remove comment.
339 * config/tc-mips.c (calculate_reloc): New function.
340 (append_insn): Use it. Do not resolve compound relocations here.
341 (mips16_macro_build, mips16_ip): Use calculate_reloc.
342 (mips16_immed_extend): New function, split out from...
343 (mips16_immed): ...here.
344 (mips_frob_file): Handle null symbols.
345 (mips_force_relocation): Remove NEWABI handling.
346 (read_reloc_insn, write_reloc_insn): New functions.
347 (md_apply_fix): Report TLS relocations against constants.
348 Use read_reloc_insn, calculate_reloc and write_reloc_insn.
349 Report relocations against constants that can't be resolved
354 * config/tc-mips.c (append_insn) <BFD_RELOC_MIPS_JMP>: Don't
355 mark as incomplete for constant expressions.
356 <BFD_RELOC_MIPS16_JMP>: Likewise.
361 * config/tc-mips.h (mips_record_label): Delete.
362 (mips_add_dot_label): Declare.
363 (tc_new_dot_label): Use it.
364 * config/tc-mips.c (mips_assembling_insn): New variable.
365 (md_assemble): Call mips_mark_labels. Set mips_assembling_insn
366 while the main part of the function is executing.
367 (mips_compressed_mark_label): New function, split out from...
368 (mips_compressed_mark_labels): ...here.
369 (append_insn): Don't call mips_mark_labels here.
370 (mips_record_label): Make local.
371 (mips_add_dot_label): New function.
375 * config/tc-mips.c (SEXT_16BIT): New macro.
376 (mips16_immed): Take the reloc type as a parameter. Do not impose
377 a signed vs. unsigned distinction on the value when a relocation
379 (mips16_macro_build, mips16_ip, md_convert_frag): Pass the reloc
380 type to mips16_immed.
381 (macro): Use SEXT_16BIT.
385 * config/tc-mips.c (read_insn, write_insn, read_compressed_insn):
387 (install_insn, md_apply_fix, md_convert_frag, mips_handle_align):
388 Use them, and write_compressed_insn.
392 * config/tc-mips.c (mips_cl_insn): Remove use_extend and extend.
393 (MIPS16_EXTEND): New macro.
394 (mips16_opcode_length): New function.
395 (insn_length): Use it.
396 (create_insn): Update after mips_cl_insn change.
397 (write_compressed_insn): New function.
398 (install_insn): Use it.
399 (append_insn): Use insn_length to check for unextended MIPS16
401 (mips16_macro_build): Update call to mips16_immed.
402 (mips16_ip): Likewise. Use MIPS16_EXTEND to force an extended
404 (mips16_immed): Remove use_extend and extend; install EXTEND
405 opcodes in the upper 16 bits of *INSN instead. Keep the
406 instruction extended if it already is. Replace warn, small
407 and ext with a forced_insn_length-like parameter.
408 (md_convert_frag): Update call mips16_immed.
409 Use write_compressed_insn.
413 * config/tc-i386.c (cpu_arch): Add .cx16.
414 * doc/c-i386.texi: Document .cx16.
418 * configure.tgt: Add mips*-mti-elf* target.
422 * config/tc-arm.c: Changed ldra and strl-form mnemonics
423 to lda and stl-form for armv8.
427 * config/tc-aarch64.c (aarch64_archs): Rename 'armv8' to 'armv8-a'.
431 * configure: Regenerate.
435 * config/tc-moxie.h (DEFAULT_TARGET_FORMAT): Define.
436 (TARGET_FORMAT): Don't hard-code endian-ness.
437 * config/tc-moxie.c (target_big_endian, moxie_target_format):
439 (md_assemble): Handle bi-endian encodings.
440 (md_shortopts, md_parse_option, md_show_usage, md_apply_fix)
441 (md_number_to_chars, md_chars_to_number): Update for bi-endian
446 * config/tc-aarch64.c
447 (reloc_table): Add reloc to table entry.
448 (parse_address_main): Add support for #:<reloc_op>:<symbol>.
449 (parse_operands): Check for unused reloc.
450 (md_apply_fix): New case for reloc.
451 (aarch64_force_relocation): Likewise.
456 * config/tc-avr.h (TC_VALIDATE_FIX): Skip: BFD_RELOC_AVR_8_LO,
457 BFD_RELOC_AVR_8_HI, BFD_RELOC_AVR_8_HLO.
461 * Makefile.am (bootstrap): Add $EXEEXT to dependency.
462 * Makefile.in: Regenerate.
466 * config.in: Disable sanity check for kfreebsd.
470 * configure: Regenerated.
474 * config/tc-moxie.c (md_pcrel_from): Branches are now relative
475 to the address following the branch instruction.
479 * config/tc-s390.c (set_highgprs_p): New variable.
480 (s390_machinemode): New function.
481 (md_pseudo_table): Add new pseudo command machinemode.
482 (md_parse_option): Set set_highgprs_p to TRUE if -mzarch was
483 specified on command line.
484 (s390_elf_final_processing): Set the highgprs flag in the ELF
485 header depending on set_highgprs_p.
487 * doc/c-s390.texi: Document new pseudo machinemode.
491 * doc/c-ppc.texi: Document -mvle.
492 * doc/as.texinfo: Likewise.
496 * config/tc-ia64.c (reg_symbol): Add a new register.
497 (indirect_reg): Ditto.
498 (pseudo_func): Add new symbolic constants.
499 (operand_match): Add new operand types recognition.
500 (operand_insn): Add new register recognition.
501 (md_begin): Add new register definition.
502 (specify_resource): Add new register recognition.
507 * config/tc-mmix.h (tc_frob_file_before_fix): Renumber sections
508 after call to mmix_frob_file.
512 * doc/c-mips.texi (MIPS Opts): Correct a typo in the -mips5
517 * tc-tilegx.c (O_hw0_plt): Define operator.
519 (O_hw1_last_plt): Ditto.
520 (O_hw2_last_plt): Ditto.
521 (md_begin): Handle new operators.
522 (emit_tilegx_instruction): Ditto.
523 (md_apply_fix): Ditto.
524 * doc/c-tilegx.texi: Document new operators.
528 * config/tc-arm.c (ARM_ENC_TAB): Add sha1h and sha2op entries.
529 (do_sha1h): New function.
530 (do_sha1su1): Likewise.
531 (do_sha256su0): Likewise.
532 (insns): Add 2 operand SHA instructions.
536 * config/tc-arm.c (NEON_ENC_TAB): Add sha3op entry.
537 (do_crypto_3op_1): New function.
538 (do_sha1c): Likewise.
539 (do_sha1p): Likewise.
540 (do_sha1m): Likewise.
541 (do_sha1su0): Likewise.
542 (do_sha256h): Likewise.
543 (do_sha256h2): Likewise.
544 (do_sha256su1): Likewise.
545 (insns): Add SHA 3 operand instructions.
549 * config/tc-arm.c (neon_type_mask): Add P64 type.
550 (type_chk_of_el_type): Handle P64 type.
551 (el_type_of_type_chk): Likewise.
552 (do_neon_vmull): Handle VMULL.P64.
556 * config/tc-arm.c (NEON_ENC_TAB): Add aes entry.
557 (neon_type_mask): Add N_UNT.
558 (neon_check_type): Don't always decay typed to untyped sizes.
559 (do_crypto_2op_1): New function.
562 (do_aesmc.8): Likewise.
563 (do_aesimc.8): Likewise.
564 (insns): Add AES instructions.
568 * config/tc-arm.c (el_type_type_check): Add handling for 16-bit
569 floating point types.
570 (do_neon_cvttb_2): New function.
571 (do_neon_cvttb_1): Likewise.
572 (do_neon_cvtb): Refactor to use do_neon_cvttb_1.
573 (do_neon_cvtt): Likewise.
577 * config/tc-arm.c (NEON_ENC_TAB): Add vrint entries.
578 (neon_cvt_mode): Add neon_cvt_mode_r.
579 (do_vrint_1): New function.
580 (do_vrint_x): Likewise.
581 (do_vrint_z): Likewise.
582 (do_vrint_r): Likewise.
583 (do_vrint_a): Likewise.
584 (do_vrint_n): Likewise.
585 (do_vrint_p): Likewise.
586 (do_vrint_m): Likewise.
587 (insns): Add VRINT instructions.
591 * config/tc-arm.c (NEON_ENC_TAB): Add vcvta entry.
592 (neon_cvt_mode): New enumeration.
593 (do_vfp_nsyn_cvt_fpv8): New function.
594 (do_neon_cvt_1): Add support for new conversions.
595 (do_neon_cvtr): Use neon_cvt_mode enumerator.
596 (do_neon_cvt): Likewise.
597 (do_neon_cvta): New function.
598 (do_neon_cvtn): Likewise.
599 (do_neon_cvtp): Likewise.
600 (do_neon_cvtm): Likewise.
601 (insns): Add new VCVT instructions.
603 2012-08-24 Matthew Gretton-Dann <matthew.gretton-dann@arm>
605 * config/tc-arm.c (CVT_FLAVOUR_VAR): New define.
606 (CVT_VAR): New helper define.
607 (neon_cvt_flavour): New enumeration, function renamed...
608 (get_neon_cvt_flavour): ...to this.
609 (do_vfp_nsyn_cvt): Update to use new neon_cvt_flavour.
610 (do_vfp_nsyn_cvtz): Likewise.
611 (do_neon_cvt_1): Likewise.
615 * config/tc-arm.c (NEON_ENC_TAB): Add vmaxnm, vminnm entries.
616 (vfp_or_neon_is_neon_bits): Add NEON_CHECK_ARCH8 enumerator.
617 (vfp_or_neon_is_neon): Add check for SIMD for ARMv8.
618 (do_maxnm): New function.
619 (insns): Add vmaxnm, vminnm entries.
623 * config/tc-arm.c (NEON_ENC_TAB): Add entries for VSEL.
624 (NEON_ENC_FPV8_): New define.
625 (do_vfp_nsyn_fpv8): New function.
627 (insns): Add VSEL instructions.
631 * config/tc-arm.c (do_rm_rn): New function.
632 (do_strlex): Likewise.
633 (do_t_strlex): Likewise.
634 (insns): Add support for LDRA/STRL instructions.
638 * config/tc-arm.c (do_t_bkpt_hlt1): New function.
639 (do_t_hlt): New function.
640 (do_t_bkpt): Use do_t_bkpt_hlt1.
645 * config/tc-arm.c (insns): Add DCPS instruction.
649 * config/tc-arm.c (T16_32_TAB): Add _sevl.
654 * config/tc-arm.c (asm_barrier_opt): Add arch field.
655 (mark_feature_used): New function.
656 (parse_barrier): Check specified option is valid for the
657 specified architecture.
658 (UL_BARRIER): New macro.
659 (barrier_opt_names): Update for new barrier options.
663 * config/tc-arm.c (do_setend): Warn on deprecated SETEND.
664 (do_t_setend): Likewise.
668 * config/tc-arm.c (do_t_it): Fully initialise now_it.
669 (new_automatic_it_block): Likewise.
670 (handle_it_block): Record whether current instruction is
671 conditionally executed.
672 * config/tc-arm.c (depr_insn_mask): New structure.
673 (depr_it_insns): New variable.
674 (it_fsm_post_encode): Warn on deprecated uses.
675 * config/tc-arm.h (current_it): Add new fields.
679 * config/tc-arm.c (deprecated_coproc_regs_s): New structure.
680 (deprecated_coproc_regs): New variable.
681 (deprecated_coproc_reg_count): Likewise.
682 (do_co_reg): Error on obsolete & warn on deprecated registers.
686 * config/tc-arm.c (check_obsolete): New function.
687 (do_rd_rm_rn): Check swp{b} for obsoletion.
691 * config/tc-arm.h (arm_ext_v8): New variable.
692 (fpu_vfp_ext_armv8): Likewise.
693 (fpu_neon_ext_armv8): Likewise.
694 (fpu_crypto_ext_armv8): Likewise.
695 (arm_archs): Add armv8-a.
696 (arm_extensions): Add crypto, fp, and simd.
697 (arm_fpus): Add fp-armv8, neon-fp-armv8, crypto-neon-fp-armv8.
698 (cpu_arch_ver): Add support for ARMv8.
699 (aeabi_set_public_sttributes): Likewise.
700 * doc/c-arm.texi (ARM Options): Document new architecture and
701 extension options for ARMv8.
705 * doc/as.texinfo: Replace --n32 with --x32.
709 * config/tc-i386.c (cpu_arch): Add CPU_BTVER1_FLAGS and
711 (i386_align_code): Add case for PROCESSOR_BT.
713 * config/tc-i386.h (enum processor_type): Add PROCESSOR_BT.
715 * doc/c-i386.texi: Add -march={btver1, btver2} options.
720 * config/tc-i386.c (i386_att_operand): Terminate register name
721 when reporting bad register.
725 * config/tc-mmix.c (loc_asserts): New variable.
726 (mmix_greg_internal): Handle expressions not determinable at first
728 (s_loc): Ditto. Record expressions where the section isn't
729 determinable at the first pass, and assume they don't refer to
731 (mmix_md_end): Verify that recorded LOC expressions weren't
732 to other sections, else emit error messages.
745 * Makefile.am: Add AArch64.
746 * Makefile.in: Regenerate.
747 * config/tc-aarch64.c: New file.
748 * config/tc-aarch64.h: New file.
749 * configure.tgt: Add AArch64.
750 * doc/Makefile.am: Add AArch64.
751 * doc/Makefile.in: Regenerate.
752 * doc/all.texi: Add AArch64.
753 * doc/as.texinfo: Add AArch64.
754 * doc/c-aarch64.texi: New file.
755 * po/POTFILES.in: Regenerate.
756 * NEWS: Mention the new support.
760 * config/tc-mips.c (NO_ISA_COP, COP_INSN): Remove macros.
761 (is_opcode_valid): Remove coprocessor instruction exclusions.
762 Replace OPCODE_IS_MEMBER with opcode_is_member.
763 (is_opcode_valid_16): Replace OPCODE_IS_MEMBER with
765 (macro): Remove coprocessor instruction exclusions.
769 * config/tc-mips.c (s_cpload, s_cpsetup): Fail if MIPS16 mode.
770 (s_cplocal, s_cprestore, s_cpreturn): Likewise.
774 * config/tc-i386-intel.c (build_modrm_byte): Split determining
775 default segment from figuring out encoding. Honor RegRex for
780 * config/tc-i386.c (set_check): Renamed from set_sse_check.
781 Generalize to also handle operand checking option.
782 (enum i386_error): New enumerator 'invalid_vector_register_set'.
783 (match_template): Handle it.
784 (enum check_kind): Give it a tag. Drop sse_ prefixes from
786 (operand_check): New.
787 (md_pseudo_table): Add "operand_check".
788 (check_VecOperands): Don't special case RIP addressing. Check
789 that vSIB operands use distinct vector registers unless no
790 checking was requested.
791 (OPTION_MOPERAND_CHECK): New.
792 (md_parse_option): Handle it.
793 (OPTION_MAVXSCALAR, OPTION_X32): Adjust.
794 (md_longopts): Add "moperand-check".
795 (md_show_usage): Add help text for it.
799 * config/tc-i386.c (register_number): New function.
800 (build_vex_prefix, process_immext, process_operands,
801 build_modrm_byte, i386_index_check): Use it.
805 * config/tc-i386.c (lex_got): Provide implementation for PE
810 * config/tc-mips.c (append_insn): Also handle moving delay-slot
811 instruction across frags for fixed branches.
815 * frags.c (frag_grow): Never shrink the obstack size requested
820 * config/tc-m68hc11.c (s_m68hc11_parse_pseudo_instruction):
821 New function to parse pseudo ops that are unreleated to
827 * config/mips/tc-mips.c (mips_cpu_info): Add the 34kn.
828 * doc/c-mips.texi (MIPS Opts): Document it.
832 * dwarf2dbg.c (out_set_addr): Allow for non-constant value of
833 DWARF2_LINE_MIN_INSN_LENGTH
834 * config/tc-ppc.c (ppc_dwarf2_line_min_insn_length): Declare
836 (md_apply_fix): Branch addr can be a multiple of 2 or 4.
837 * config/tc-ppc.h (DWARF2_LINE_MIN_INSN_LENGTH): Now a
844 * config/tc-mips.c (ISA_SUPPORTS_DSP_ASE): Also set if microMIPS
846 (ISA_SUPPORTS_DSPR2_ASE): Likewise.
847 (macro_build) <'2'>: Handle microMIPS.
848 (macro) <M_BALIGN>: Update error handling.
849 (validate_micromips_insn) <'2', '3', '4', '5', '6'>: New cases.
850 <'7', '8', '0', '@', '^'>: Likewise.
851 (mips_ip) <'2', '3', '4', '5', '6', '7', '8'>: Handle microMIPS.
852 <'9'>: Fix formatting.
853 <'0', '@'>: Handle microMIPS.
858 * config/tc-i386.c (match_template): Adjust error message
863 * config/tc-i386.c (check_byte_reg): Check for I/O port
864 register earlier, and just once. Drop diagnostic that got
865 issued only for some registers.
869 * config/tc-i386.c (match_template): New local variable
870 'specific_error'. Set it from i.error after failed
871 check_VecOperands or VEX_check_operands. Use it if set in
872 preference to i.error when actually issuing disagnostic.
876 * po/gas.pot: Updated template.
877 * po/es.po: Updated Spanish translation.
878 * po/fi.po: Updated Finnish translation.
879 * po/fr.po: Updated French translation.
883 * configure.in (BFD_VERSION): Run bfd/configure --version and
884 parse the output of that.
885 * configure: Regenerate.
889 * NEWS: Add marker for 2.23.
893 * config/tc-m68hc11.c: Replace binary with hex for cygwin.
897 * listing.c (struct list_message): New.
898 (struct list_info_struct): Delete "message". Add "messages"
900 (listing_message): Adjust.
901 (listing_newline): Adjust.
902 (print_lines): Adjust.
906 * config/tc-i386-intel.c (i386_intel_simplify_register): Handle
907 xmm/ymm index register being specified first as well as esp/rsp
908 base register being specified last in a memory operand.
912 * config/tc-i386-intel.c (i386_intel_simplify_register):
913 Replace literal 4 by corresponding ESP_REG_NUM.
918 * config/tc-arm.c (md_apply_fix): Use encoding A2 of ADR
919 if offset is negative.
923 * config/tc-i386.c: Add ADX, RDSEED and PRFCHW asm directives.
924 * doc/c-i386.texi: Document the new directives.
928 * config/tc-xgate.c: Revised assembler so that operands
929 are collected before the addressing mode is determined.
933 * write.c (fixup_segment): Only perform the subtraction of an
934 fx_subsy symbol if MD_APPLY_SYM_VALUE allows it and the symbol is
936 * config/tc-msp430.h (MD_APPLY_SYM_VALUE): Define.
941 * config/obj-elf.c (obj_elf_weak): Don't set local.
945 * frags.h (frag_offset_fixed_p): Update prototype.
946 * frags.c (frag_offset_fixed_p): Change type of "offset" to offsetT.
947 * expr.c (expr, resolve_expression): Likewise for frag_off var.
952 * config/tc-arm.c (parse_operands): Initialise val.
957 * config/tc-arm.c (encode_arm_addr_mode_common): Generate an error
958 message if literal pool addressing is used.
962 * dwarf2dbg.c (DWARF2_USE_FIXED_ADVANCE_PC): Enable when using
964 (dwarf2_gen_line_info): Generate real, local, labels for line
966 (dwarf2dbg_convert_frag): Do not finalize the computation of the
967 frag's symbol value when linker relaxation is enabled.
968 (ADDR_DELTA_LIMIT): Define.
969 (size_fixed_inc_line_addr): Use ADDR_DELTA_LIMIT.
970 (emit_fixed_inc_line_addr): Likewise.
971 * write.c (fixup_segment): If the subtraction of two symbols
972 cannot be resolved but is valid, then prevent bogus range warnings
973 by pre-biasing add_number.
974 * config/tc-h8300.h (DWARF2_USE_FIXED_ADVANCE_PC): Define to 0.
978 * config/tc-xgate.h: Defined tc_frob_symbol.
979 * config/tc-xgate.c (xgate_frob_symbol): Wrote new function to mark
980 symbols as being XGATE by setting st_target_internal value.
984 * NEWS: Mention 'rep ret' too.
986 * config/tc-i386.c (parse_insn): Don't complain about REP prefix
987 when the template has opcode_modifier.repprefixok set.
988 * NEWS: Mention the change.
992 * configure.in: Check DECLS for free, getenv, malloc, realloc,
993 * configure: Regenerate.
994 * config.in: Likewise.
998 * config/tc-i386.c (x86_address_bytes): New.
999 * config/tc-i386.h (TC_ADDRESS_BYTES): Likewise.
1000 (x86_address_bytes): Likewise.
1005 * config/tc-arm.c (do_t_mrs): Do not require an m-profile
1006 architecure when assembling for all archiectures.
1007 (do_t_msr): Likewise.
1012 * config/tc-avr.c (exp_mod): Fix typo introduced in 1.82
1017 * input-scrub.c (input_scrub_include_sb): Use sb_build to
1018 allocate sufficient space for from_sb. Use sb_terminate to
1020 * read.c (read_a_source_file): Use sb_build to allocate
1021 sufficient space and replace sb_add_string with sb_add_buffer.
1022 (s_macro): Likewise.
1023 (input_scrub_insert_line): Likewise.
1024 (s_irp): Use sb_build to allocate sufficient space.
1025 (do_repeat): Use sb_build to allocate sufficient space
1027 * sb.c (sb_build): Remove static.
1028 * sb.h (sb_build): New prototype.
1032 * sb.c: Include limits.h.
1034 (MALLOC_OVERHEAD, INIT_ALLOC): Define.
1035 (sb_new): Use INIT_ALLOC.
1036 (sb_check): Modify allocation strategy using MALLOC_OVERHEAD.
1037 (sb_terminate): Don't use sb_add_char.
1042 * sb.h (sb_max_power_two): Delete.
1043 (struct sb): Delete "item" and "pot". Make "len" a size_t. Add "max".
1044 (sb_element): Delete.
1045 (sb_add_char, sb_add_buffer, sb_skip_comma, sb_skip_write): Update
1047 * sb.c (string_count, free_list): Delete.
1048 (sb_build, sb_kill, sb_check): Rewrite.
1049 (scrub_from_sb, sb_add_char, sb_add_string, sb_add_buffer,
1050 sb_skip_white, sb_skip_comma): Replace assorted int params,
1051 vars and return types with size_t.
1052 * input-scrub.c: Likewise.
1053 * macro.c: Likewise.
1054 * macro.h: Likewise.
1057 * input-file.h: Likewise.
1058 * input-file.c: Likewise.
1060 * app.c: ..or ptrdiff_t.
1061 * input-file.c (input_file_get): Use ferror.
1062 (input_file_give_next_buffer): Use input_file_get.
1066 * config/tc-xgate.c (md_begin): Refactored code.
1070 * read.c [HANDLE_BUNDLE] (bundle_lock_depth): New variable.
1071 (read_a_source_file) [HANDLE_BUNDLE]: Reset it.
1072 [HANDLE_BUNDLE] (s_bundle_lock, s_bundle_unlock): Allow nested
1077 * read.c (read_symbol_name): New function. Reads a symbol names.
1078 Allows escape codes in names.
1079 (s_comm_internal): Use read_symbol_name.
1080 (s_globl, s_lsym, s_set, s_weakref): Likewise.
1081 * doc/as.texinfo: Document support for multibyte characters in
1086 * config/tc-mips.c (mips_after_parse_args): Assert that arch_info
1091 * config/obj-elf.c (obj_elf_section): Cater for TC_KEEP_OPERAND_SPACES
1092 targets when checking for "comdat".
1096 * config/tc-dlx.c (s_proc): Don't use asprintf.
1100 * config/tc-dlx.c (s_proc): Avoid warning about ignoring asprintf
1106 * config/tc-ppc.c: Don't capitalise error and warning messages.
1107 (md_parse_option): Add checks for -a32 -mvle.
1111 * config/obj-evax.c: Include as.h first.
1115 * aclocal.m4: Regenerate.
1116 * configure: Regenerate.
1117 * Makefile.in: Regenerate.
1123 * configure.in: Add check that sysdep.h has been included before
1124 any system header files.
1125 * configure: Regenerate.
1126 * config.in: Regenerate.
1127 * aclocal.m4: Regenerate.
1128 * Makefile.am: Use wrappers around C files generated by flex.
1129 * Makefile.in: Regenerate.
1130 * doc/Makefile.in: Regenerate.
1131 * itbl-lex-wrapper.c: New file.
1132 * config/bfin-lex-wrapper.c: New file.
1133 * cgen.c: Include as.h before setjmp.h.
1134 * config/tc-dlx.c: Include as.h before any other header.
1135 * config/tc-h8300.c: Likewise.
1136 * config/tc-lm32.c: Likewise.
1137 * config/tc-mep.c: Likewise.
1138 * config/tc-microblaze.c: Likewise.
1139 * config/tc-mmix.c: Likewise.
1140 * config/tc-msp430.c: Likewise.
1141 * config/tc-or32.c: Likewise.
1142 * config/tc-tic4x.c: Likewise.
1143 * config/tc-tic54x.c: Likewise.
1144 * config/tc-xtensa.c: Likewise.
1148 * config/tc-alpha.c (maybe_set_gp): Pass proper `bfd'
1149 as the first argument for `bfd_get_section_vma'.
1154 * app.c (do_scrub_chars): Prevent possible out of bounds access to
1160 * config/tc-avr.c (avr_cons_fix_new): Rename R_AVR_8_HHI8 to
1162 (exp_mod_data) Ditto. And replace "hhi8" with "hlo8".
1163 (md_apply_fix): Rename BFD_RELOC_AVR_8_HHI to BFD_RELOC_AVR_8_HLO.
1168 * config/tc-m68k.c (m68k_cpus): Add 51ag, 51je, 51jf, 51jg, 51mm,
1173 * config/tc-m68hc11.c: Add S12X and XGATE co-processor support.
1174 Add option to offset S12 addresses into XGATE memory space.
1175 Tweak target flags to match other tools. (i.e. -m m68hc11).
1176 * doc/as.texinfo: Mention new options.
1177 * doc/c-m68hc11.texi: Document new options.
1178 * NEWS: Mention new support.
1182 * config/rx-parse.y (rx_range): declare.
1183 (O1,O2,O3,O4): Add calls to rx_range.
1184 (UO1,UO2,UO3): Likewise.
1185 (IMM2,IMMB): Likewise.
1188 * config/tc-rx.c (rx_fetchalign): Declare.
1189 (md_pseudo_table): Add .fetchalign.
1190 (RX_NBASE_FETCHALIGN): New.
1191 (fetchalign_bytes): New.
1192 (rx_fetchalign): New.
1193 (rx_frag_init): If a "magic" value is found, also init the
1194 machine-specific data.
1195 (md_assemble): Note following opcode size if called for.
1196 (rx_next_opcode): New.
1197 (rx_relax_frag): Support .fetchalign.
1198 (md_convert_frag): Likewise.
1199 * doc/c-rx.texi (RX-Directives): Add .fetchalign.
1203 * config/tc-ppc.c (insn_validate): New func of existing code to call..
1204 (ppc_setup_opcodes): ..from 2 places here.
1205 Revise for second (VLE) opcode table.
1206 Add #ifdef'd code to print opcode tables.
1210 * config/tc-ppc.c (ppc_setup_opcodes): Allow out-of-order
1211 for the VLE conditional branches.
1217 * config/tc-ppc.c (PPC_VLE_SPLIT16A): New macro.
1218 (PPC_VLE_SPLIT16D): New macro.
1219 (PPC_VLE_LO16A): New macro.
1220 (PPC_VLE_LO16D): New macro.
1221 (PPC_VLE_HI16A): New macro.
1222 (PPC_VLE_HI16D): New macro.
1223 (PPC_VLE_HA16A): New macro.
1224 (PPC_VLE_HA16D): New macro.
1225 (PPC_APUINFO_VLE): New definition.
1226 (md_chars_to_number): New function.
1227 (md_parse_option): Check for combinations of little
1229 (md_show_usage): Document -mvle.
1230 (ppc_arch): Recognize VLE.
1231 (ppc_mach): Recognize bfd_mach_ppc_vle.
1232 (ppc_setup_opcodes): Print the opcode table if
1233 * config/tc-ppc.h (ppc_frag_check): Declare.
1234 * doc/c-ppc.texi: Document -mvle.
1235 * NEWS: Mention PowerPC VLE port.
1239 * config/tc-ppc.h (ppc_dw2_line_min_insn_length): Declare.
1240 (DWARF2_LINE_MIN_INSN_LENGTH): Redefine.
1241 * config/tc-ppc.c (ppc_dw2_line_min_insn_length): New.
1242 * dwarf2dbg.c (scale_addr_delta): Handle values of 1
1243 for DWARF2_LINE_MIN_INSN_LENGTH.
1247 * config/tc-i386.c (tc_gen_reloc): Remove x32 addend overflow
1253 * configure.in: Invoke ACX_HEADER_STRING.
1254 * configure: Regenerate.
1255 * config.in: Regenerate.
1256 * as.h: If STRINGS_WITH_STRING is defined then include both
1257 string.h and strings.h.
1262 * config/tc-avr.c (exp_mod_pm): Remove variable.
1263 (exp_mod_data_t): New typedef.
1264 (pexp_mod_data, exp_mod_data): New variables.
1265 (avr_parse_cons_expression): Scan through exp_mod_data[] to find
1266 data expression modifiers "pm", "gs", "lo8", hi8", "hhi8", "hh8"
1267 and set pexp_mod_data accordingly to be used in avr_cons_fix_new.
1268 (avr_cons_fix_new): Handle new data expression modifiers shipped
1270 (md_apply_fix): Handle BFD_RELOC_AVR_8_LO, BFD_RELOC_AVR_8_HI,
1271 BFD_RELOC_AVR_8_HHI.
1275 * config/tc-i386.c (tc_gen_reloc): Use bfd_signed_vma in x32
1276 addend overflow check.
1280 * config/tc-i386.c (tc_gen_reloc): Display signed hex number in
1281 x32 addend overflow check.
1285 * config/tc-i386.c (tc_gen_reloc): Use fits_in_signed_long.
1289 * config/tc-i386.c (tc_gen_reloc): Check x32 addend overflow
1294 * Makefile.am (check_DEJAGNU): Export LC_ALL=C in place of other
1295 LC and LANG environment vars.
1296 * Makefile.in: Regenerate.
1300 * Makefile.am (check-DEJAGNU): Clear LC_COLLATE, LC_ALL and LANG.
1301 * Makefile.in: Regenerate.
1305 * config/tc-z80.h(md_register_arithmetic): Define as 0.
1306 * config/tc-z80.c(md_begin): Store register names in symbol table,
1307 preventing usage as ordinary symbol.
1308 * config/tc-z80.c(contains_register): New function.
1309 * config/tc-z80.c(parse_exp2): Removed.
1310 * config/tc-z80.c(parse_exp_not_indexed): New function.
1311 * config/tc-z80.c(parse_exp): Add code to recogize indexed
1312 addressing after parsing.
1313 * config/tc-z80.c(emit_byte, emit_word): Use contains_register.
1314 * config/tc-z80.c(emit_jp): Use parse_exp_not_indexed, simplify
1315 condition for jump to register.
1316 * config/tc-z80.c(emit_call, emit_jr, emit_ex, emit_rst): Use
1317 parse_exp_not_indexed.
1321 * ecoff.c: Replace all uses of bfd_abs_section, bfd_com_section,
1322 bfd_und_section and bfd_ind_section with their _ptr variants, or
1323 use corresponding bfd_is_* macros.
1324 * symbols.c: Likewise.
1325 * config/obj-aout.c: Likewise.
1326 * config/obj-coff-seh.h: Likewise.
1327 * config/tc-hppa.c: Likewise.
1328 * config/tc-hppa.h: Likewise.
1329 * config/tc-ia64.c: Likewise.
1330 * config/tc-m32r.c: Likewise.
1331 * config/tc-microblaze.c: Likewise.
1332 * config/tc-mips.c: Likewise.
1333 * config/tc-score.c: Likewise.
1334 * config/tc-score7.c: Likewise.
1335 * config/tc-tic6x.c: Likewise.
1339 * configure.tgt: Support x86_64-*-linux-gnux32.
1343 * config/tc-i386.c (match_template): Add `instruction' to
1344 unsupported error message.
1348 * config/tc-i386.c (output_insn): Reformat.
1352 * config/tc-i386.c (output_insn): Remove the extra VEX check.
1356 * config/tc-i386.c (match_template): Improve unsupported error
1361 * configure, Makefile.in: Regenerate.
1362 * Makefile.am (CPU_TYPES, TARGET_CPU_CFILES, TARGET_CPU_HFILES):
1363 * configure.tgt: Added cpu type.
1364 Added files for XGATE assembler.
1365 * config/tc-xgate.c: Assembler for XGATE.
1366 * config/tc-xgate.h: Header definition for assembler
1367 Added files for XGATE testsuite.
1368 * doc/Makefile.am (CPU_DOCS): Added XGATE file.
1369 * doc/c-xgate.texi: Document XGATE and XGATE port.
1370 * doc/as.texinfo: Ditto.
1371 * doc/all.texi: Ditto
1372 * NEWS: Mention the new support.
1376 * config/rx-parse.y (rx_intop): Add parameter for operation size.
1377 Check for large positive constants really being small negative
1379 (BRA, BSR): Update calls to rx_intop.
1380 (immediate): Likewise.
1384 * dwarf2dbg.c (DWARF2_ARANGES_VERSION): New define to 2.
1385 (DWARF2_LINE_VERSION): Likewise.
1386 (out_debug_line): Use DWARF2_LINE_VERSION not DWARF2_VERSION.
1387 (out_debug_aranges): Use DWARF2_ARANGES_VERSION not DWARF2_VERSION.
1388 (out_debug_abbrev): Use DW_FORM_data for DW_AT_high_pc when
1389 DWARF2_VERSION >= 4.
1390 (out_debug_info): Use difference between start and end as data
1391 value for DW_AT_high_pc when DWARF2_VERSION >= 4.
1392 * config/tc-ia64.h (DWARF2_LINE_VERSION): Override it.
1396 * doc/c-sparc.text: Document %l34 and %h34.
1398 * config/tc-sparc.c (v9a_asr_table): Add 'cfr'.
1400 * config/tc-sparc.c (sparc_arch_table): Add HWCAP_PAUSE to sparc4,
1401 v8pluse, v8plusv, v9e, and v9v.
1402 (v9a_asr_table): Add 'pause'.
1404 * config/tc-sparc.c (sparc_arch_table): Add HWCAP_CBCOND to
1405 sparc4, v8pluse, v8plusv, v9e, and v9v.
1406 (sparc_ip): Handle R_SPARC_5 of immediate constants inline in
1407 order to accomodate cbcond which otherwise would require two
1408 relocations to be handled in a single instruction..
1410 * config/tc-sparc.c (sparc_ip): Likewise. Accept instruction
1411 names containing "_".
1412 (sparc_arch_table): Add sparc4, v8pluse, and v9e. Add crypto
1413 hwcap masks to v8plusv and v9v.
1415 * config/tc-sparc.c (sparc_arch_table): Rework to use HWCAP_*
1417 (sparc_md_end): No longer need to translate hwcap_seen values into
1418 ELF hwcap bits, they now match exactly.
1419 (get_hwcap_name): Use HWCAP_* and handle new values.
1420 (sparc_ip): Fetch hwcaps from insn->hwcaps instead of insn->flags.
1424 * config/tc-ia64.c (obj_elf_vms_common): New function.
1425 (md_pseudo_table): Add .vms_common pseudo.
1426 * config/obj-elf.h (obj_elf_section_name): Add a prototype.
1427 * config/obj-elf.c (obj_elf_section_name): Make it public.
1431 * config/tc-avr.c (md_apply_fix): Fix handling of BFD_RELOC32.
1435 * config/tc-sparc.c (sparc_ip): Handle '=', "%h34", "%l34", and
1436 BFD_RELOC_SPARC_H34.
1437 (md_apply_fix): Handle BFD_RELOC_SPARC_WDISP10 and BFD_RELOC_SPARC_H34.
1438 (tc_gen_reloc): Likewise.
1442 * configure.tgt (arm-*-nacl*): Match it.
1443 * config/te-nacl.h (FPU_DEFAULT, EABI_DEFAULT): Define.
1444 (LOCAL_LABELS_DOLLAR): Define.
1445 * config/tc-arm.c (elf32_arm_target_format) [TE_NACL]:
1446 Use nacl format variants.
1451 * config/tc-arm.c (only_one_reg_in_list): New function.
1452 (encode_ldmstm): Ditto.
1453 (do_ldmstm): Use a different encoding when pushing or poping
1455 (A_COND_MASK): New macro.
1456 (A_PUSH_POP_OP_MASK): Ditto.
1457 (A1_OPCODE_PUSH): Ditto.
1458 (A2_OPCODE_PUSH): Ditto.
1459 (A2_OPCODE_POP): Ditto.
1463 * doc/c-mips.texi (MIPS Opts): Correct -no-mfix-24k to
1468 * configure.in (AC_CHECK_HEADERS): Add locale.h.
1469 * config.in: Regenerate.
1470 * configure: Regenerate.
1474 * configure.in (AC_CHECK_FUNCS): Add setlocale.
1475 (AM_LC_MESSAGES): Add.
1476 * aclocal.m4: Regenerate.
1477 * config.in: Regenerate.
1478 * configure: Regenerate.
1482 * config/rx-parse.y: Make the .L optional for ADC and SBB.
1486 * config/rx-parse.y: IMM->IMM_, take an extra parameter for the
1488 (IMM): New, call IMM_ with the default 32.
1489 (IMMW,IMMB): Likewise, for 16 and 8.
1490 (NIMM, MBIMM): Add size parameter.
1491 (immediate): Likewise. Allow 32768..65535 for 16-bit transfers.
1492 (MOV.W): Use IMMW instead of IMM.
1494 * config/rx-parse.y (ADC,SBB): ADC and SBB only allow .L.
1495 (op_dp20_rm_l): New.
1496 (op_dp20_rim_l): New.
1498 * config/rx-parse.y (op_dp20_rms): Rename to op_dp20_rr, don't allow mem.
1499 (ABS, NEG, NOT): These only take REG or REG,REG (rr, not rms).
1503 * config/tc-arm.c (arm_cpus): Add cortex-m0plus.
1504 * doc/c-arm.texi (ARM Options): Document -mcpu=cortex-m0plus.
1508 * config/tc-mips.c (mips_cpu_info_table): Add entry for Broadcom XLP.
1509 * doc/c-mips.texi: Mention XLP.
1513 [SH] Support the .uaquad and .8byte directives also for non-sh64
1516 * config/tc-sh.c (sh_cons_fix_new, md_apply_fix) [!HAVE_SH64]: Handle
1518 * doc/c-sh64.texi (SH64 Machine Directives): Move .uaquad
1520 * doc/c-sh.texi (SH Machine Directives): ... here.
1524 * config/tc-arm.c (do_vmrs): Accept priviledged mode VFP system
1526 (do_vmsr): Likewise.
1527 (arm_opcode_insns): Do not default to using the FPSCR register in
1528 the VMRS and VMSR registers.
1532 * config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT32, ELF_TARGET_FORMAT64):
1533 Define for this case.
1534 * configure.tgt (i386-*-nacl*): If ${cpu} is x86_64*, default to x32.
1538 * config/tc-arm.c (aeabi_set_public_attributes): Correct
1539 handling of Tag_DIV_use.
1543 * doc/as.texinfo (Bundle directives): Fix typo.
1547 * doc/as.texinfo (Bundle directives): Replace @defn with @dfn.
1551 * config/tc-arm.c (arm_frag_max_var): New function.
1552 * config/tc-arm.h: Declare it.
1553 (md_frag_max_var): New macro.
1555 * config/tc-i386.c (i386_frag_max_var): New function.
1556 * config/tc-i386.h: Declare it.
1557 (md_frag_max_var): New macro.
1559 * doc/as.texinfo (Bundle directives): New node.
1560 (Pseudo Ops): Add it to the menu.
1561 * NEWS: Mention new feature.
1562 * read.c [md_frag_max_var] (HANDLE_BUNDLE): New macro.
1563 [HANDLE_BUNDLE] (bundle_align_p2): New variable.
1564 [HANDLE_BUNDLE] (bundle_lock_frchain, bundle_lock_frag): New variables.
1565 [HANDLE_BUNDLE] (start_bundle, pending_bundle_size, finish_bundle):
1567 (assemble_one): New function if [HANDLE_BUNDLE], #define directly
1568 to md_assembly if not.
1569 (read_a_source_file): Call assemble_one in place of md_assemble.
1570 (read_a_source_file) [HANDLE_BUNDLE]: Check for unterminated
1571 .bundle_lock at end of processing.
1572 [HANDLE_BUNDLE] (s_bundle_align_mode, s_bundle_lock, s_bundle_unlock):
1574 [HANDLE_BUNDLE] (potable): Add their entries.
1575 * read.h: Declare new functions.
1579 * config/tc-ppc.c (md_show_usage): Document -me5500 and -me6500.
1580 (ppc_handle_align): Add termination nop opcode for e500mc family.
1581 * doc/as.texinfo: Document options -me5500 and -me6500.
1582 * doc/c-ppc.texi: Likewise.
1586 * config/tc-mn10300.c (other_registers): Add SSP and USP.
1587 (md_assemble): Add support for TLS relocs.
1588 (mn10300_parse_name): Likewise.
1592 * config/tc-crx.c (check_range): Correct uint32_t misconceptions.
1596 * config/tc-tic4x.c (tic4x_do_align): Remove ATTRIBUTE_UNUSED on
1597 params. Properly generate NOP pattern. Comment reason for
1598 subseg_text_p failure.
1602 * config/tc-h8300.c (constant_fits_width_p): Trim constant to 32 bits
1603 and sign extend before range tests.
1604 (constant_fits_size_p): Similarly.
1605 (get_specific): Trim X_add_number to 32 bits.
1606 (fix_operand_size): Likewise, and use unsigned test for signed
1611 * config/tc-crx.c: Include bfd_stdint.h.
1612 (getconstant): Remove irrelevant comment. Don't fail due to
1613 sign-extension of int mask.
1614 (check_range): Rewrite using unsigned arithmetic throughout.
1618 * tc-tilepro.c (emit_tilepro_instruction): Check if symbol is
1619 non-local before checking sy_value.
1620 * tc-tilegx.c (emit_tilegx_instruction): Ditto.
1624 * tc-tilepro.c (O_tls_le): Define operator.
1625 (O_tls_le_lo16): Ditto.
1626 (O_tls_le_hi16): Ditto.
1627 (O_tls_le_ha16): Ditto.
1628 (O_tls_gd_call): Ditto.
1629 (O_tls_gd_add): Ditto.
1630 (O_tls_ie_load): Ditto.
1631 (md_begin): Delete old operators; handle new operators.
1632 (emit_tilepro_instruction): Ditto.
1633 (md_apply_fix): Ditto.
1634 * tc-tilegx.c (O_hw1_got): Delete operator.
1637 (O_hw2_last_got): Ditto.
1638 (O_hw1_tls_gd): Ditto.
1639 (O_hw2_tls_gd): Ditto.
1640 (O_hw3_tls_gd): Ditto.
1641 (O_hw2_last_tls_gd): Ditto.
1642 (O_hw1_tls_ie): Ditto.
1643 (O_hw2_tls_ie): Ditto.
1644 (O_hw3_tls_ie): Ditto.
1645 (O_hw2_last_tls_ie): Ditto.
1646 (O_hw0_tls_le): Define operator.
1647 (O_hw0_last_tls_le): Ditto.
1648 (O_hw1_last_tls_le): Ditto.
1649 (O_tls_gd_call): Ditto.
1650 (O_tls_gd_add): Ditto.
1651 (O_tls_ie_load): Ditto.
1653 (md_begin): Delete old operators; handle new operators.
1654 (emit_tilegx_instruction): Ditto.
1655 (md_apply_fix): Ditto.
1656 * doc/c-tilegx.texi: Delete old operators; document new operators.
1657 * doc/c-tilepro.texi: Ditto.
1661 * tc-tilepro.c (apply_special_operator): delete cases for
1662 got and tls operators.
1663 (md_apply_fix): Ditto.
1664 * tc-tilegx.c (md_begin): Set architecture and machine.
1665 (tilegx_target_format): Handle big endian.
1666 (OPTION_EB): Define.
1667 (OPTION_EL): Define.
1668 (md_longopts): Add entries for "EB" and "EL".
1669 (md_parse_option): Handle OPTION_EB and OPTION_EL.
1670 (md_show_usage): Add -EB and -EL.
1671 (md_number_to_chars): New.
1672 (apply_special_operator): delete cases for got and tls
1674 (md_apply_fix): Ditto.
1675 * tc-tilegx.h (TARGET_BYTES_BIG_ENDIAN): Guard definition with
1677 (md_number_to_chars): Delete.
1678 * configure.tgt (tilegx*be): Handle.
1679 * doc/as.texinfo [TILE-Gx]: Document -EB and -EL.
1680 * doc/c-tilegx.texi: Ditto.
1684 * config/tc-i386.c (check_hle): Use HLEPrefixNone, HLEPrefixLock,
1685 HLEPrefixAny and HLEPrefixRelease.
1689 * gas/config/tc-arm.h (DOUBLESLASH_LINE_COMMENTS): Define.
1693 * write.c (write_object_file): Add md_pre_output_hook.
1694 * config/obj-macho.c (obj_mach_o_check_before_writing): New.
1695 (obj_mach_o_pre_output_hook): New.
1696 * config/obj-macho.h (md_pre_output_hook): Define.
1697 (obj_mach_o_pre_output_hook): Declare.
1701 * config/tc-i386.h (OBJ_MACH_O): New section.
1702 (TC_FORCE_RELOCATION): Use obj_mach_o_force_reloc.
1703 (TC_FORCE_RELOCATION_SUB_SAME): New
1704 (TC_FORCE_RELOCATION_SUB_LOCAL): New.
1705 (TC_VALIDATE_FIX_SUB): New.
1706 * frags.h (struct frag): OBJ_FRAG_TYPE, new field.
1707 * symbols.c (colon): obj_frob_colon: New hook.
1708 * write.c (write_object_file): md_pre_relax_hook, new
1710 * config/obj-macho.c (obj_mach_o_frob_colon): New.
1711 (obj_mach_o_frob_label): Record sub-section labels.
1712 (obj_mach_o_frob_symbol): Rename from obj_macho_frob_symbol.
1713 (obj_mach_o_set_subsections): New.
1714 (obj_mach_o_pre_relax_hook): New.
1715 (obj_mach_o_in_different_subsection): New.
1716 (obj_mach_o_force_reloc_sub_same): New.
1717 (obj_mach_o_force_reloc_sub_local): New.
1718 (obj_mach_o_force_reloc): New.
1719 * config/obj-macho.h (OBJ_SYMFIELD_TYPE): New.
1720 (obj_frob_colon): New Define.
1721 (obj_mach_o_frob_label): Renamed.
1722 (obj_mach_o_frob_symbol): Renamed.
1723 (OBJ_FRAG_TYPE): New.
1724 (obj_mach_o_in_different_subsection, obj_mach_o_force_reloc,
1725 obj_mach_o_force_reloc_sub_same,
1726 obj_mach_o_force_reloc_sub_local): New declarations.
1730 * config/obj-macho.c (obj_mach_o_is_frame_section): New.
1731 (obj_mach_o_allow_local_subtract): New.
1732 * config/obj-macho.h (md_allow_local_subtract): Define.
1733 (obj_mach_o_allow_local_subtract): Declare.
1737 * config/obj-macho.c (obj_mach_o_make_or_get_sect): In the absence of
1738 canonical information, try to determine CODE and DEBUG section flags
1739 from the mach-o section data.
1743 * cgen.c (gas_cgen_parse_operand): Do not set BSF_RELC flag on
1748 * config/obj-macho.c (obj_mach_o_indirect_symbol): Force promotion of
1749 any local symbol used as an indirect.
1753 * config/obj-macho.c (obj_mach_o_make_or_get_sect): Always fill in
1754 stub size when provided. (obj_mach_o_section): Flag that stub-size
1759 * config/tc-i386.c (HLE_PREFIX): New.
1760 (check_hle): Likewise.
1761 (_i386_insn): Add have_hle.
1762 (cpu_arch): Add .hle and .rtm.
1763 (md_assemble): Call check_hle if i.have_hle isn't zero.
1764 (parse_insn): Set i.have_hle to 1 for HLE prefix.
1765 (output_jump): Support up to 2 byte opcode.
1767 * doc/c-i386.texi: Document hle/.hle and rtm/.rtm.
1771 * config/obj-macho.c (obj_mach_o_zerofill): Silent
1772 uninitialized variable warning.
1777 * config/obj-elf.c (obj_elf_parse_section_letters): Rename 'clone'
1778 to 'is_clone' to avoid shadowing a gloabl.
1779 (obj_elf_section): Likewise.
1783 * doc/c-tic6x.c: Fix typo.
1788 * app.c (app_push): Set 'add_newlines' to zero after saving.
1792 * config/rl78-parse.y (NOT1): Add.
1796 * configure.tgt (i386-*-nacl*): Match it.
1797 * config/te-nacl.h: New file.
1798 * config/tc-i386.h [TE_NACL] (ELF_TARGET_FORMAT): Define for this case.
1799 * config/tc-i386.c [TE_NACL] (i386_comment_chars, PREFIX_SEPARATOR):
1800 Use TE_GNU et al case for TE_NACL too.
1804 * config/tc-i386.c (_i386_insn): Replace disp32_encoding with
1806 (md_assemble): Updated.
1807 (output_branch): Likewise.
1808 (parse_insn): Support .d8 suffix.
1809 (build_modrm_byte): Fake zero displacement for .d8 and .d32
1812 * doc/c-i386.texi: Document .d8 suffix.
1816 * write.c (fix_new_internal): Don't mark used parameter as unused.
1820 * as.c (parse_args): Update copyright message year.
1824 * config/tc-i386.c (cpu_arch): Add ".vmfunc".
1826 * doc/c-i386.texi: Document vmfunc.
1830 * config/obj-macho.c (obj_mach_o_reorder_section_relocs): New.
1831 * config/obj-macho.h (SET_SECTION_RELOCS): Define.
1832 (obj_mach_o_reorder_section_relocs): Declare.
1836 * config/obj-macho.c (obj_mach_o_set_indirect_symbols): Handle
1837 absolute indirect symbols.
1841 * config/obj-macho.c (obj_mach_o_set_vma_data): New type.
1842 (obj_mach_o_set_section_vma): New.
1843 (obj_mach_o_post_relax_hook): New.
1844 * config/obj-macho.h (md_post_relax_hook): Define.
1845 (obj_mach_o_post_relax_hook): Declare.
1849 * config/obj-macho.c (obj_mach_o_set_symbol_qualifier): Switch off
1850 lazy when the symbol is private_extern.
1851 (obj_mach_o_indirect_sym): New type.
1852 (obj_mach_o_indirect_symbol): New.
1853 (mach_o_pseudo_table): Use obj_mach_o_indirect_symbol.
1854 (obj_macho_frob_label): Adjust to avoid adding bsyms for locals.
1855 (obj_macho_frob_label): Likewise. Adjust external and comm
1857 (obj_mach_o_set_indirect_symbols): New.
1858 (obj_mach_o_frob_file_after_relocs): New.
1859 *config/obj-macho.h (obj_frob_file_after_relocs): Define.
1860 (obj_mach_o_frob_file_after_relocs): Declare.
1865 * config/obj-coff.h (sy_obj): Rename macro to avoid a name conflict.
1869 * struc-symbol.h (struct symbol_flags): New struct, created from...
1870 (struct symbol): ... this one. Add sy_flags field, remove flag fields.
1871 (struct local_symbol): Replace lsy_marker field by lsy_flags.
1873 (local_symbol_resolved_p): Adjust.
1874 (local_symbol_mark_resolved): Likewise.
1875 * symbols.c (LOCAL_SYMBOL_CHECK): Adjust.
1876 (local_symbol_make, local_symbol_convert, colon)
1877 (symbol_clone_if_forward_ref, verify_symbol_chain)
1878 (resolve_symbol_value, snapshot_symbol, S_GET_VALUE)
1879 (S_IS_WEAKREFR, S_IS_WEAKREFD, S_IS_VOLATILE, S_IS_FORWARD_REF)
1880 (S_SET_WEAKREFR, S_CLEAR_WEAKREFR, S_SET_WEAKREFD)
1881 (S_CLEAR_WEAKREFD, S_SET_VOLATILE, S_CLEAR_VOLATILE)
1882 (S_SET_FORWARD_REF, symbol_same_p, symbol_mark_used)
1883 (symbol_clear_used, symbol_used_p, symbol_mark_used_in_reloc)
1884 (symbol_clear_used_in_reloc, symbol_used_in_reloc_p)
1885 (symbol_mark_mri_common, symbol_clear_mri_common)
1886 (symbol_mri_common_p, symbol_mark_written, symbol_clear_written)
1887 (symbol_written_p, symbol_mark_resolved, symbol_resolved_p)
1888 (symbol_equated_reloc_p, dot_symbol_init)
1889 (print_symbol_value_1): Adjust.
1893 * config/obj-macho.c (obj_mach_o_weak): Remove.
1894 (obj_mach_o_common_parse): Set symbol qualifiers.
1895 (LAZY, REFE): New macros.
1896 (obj_mach_o_symbol_type): New enum.
1897 (obj_mach_o_set_symbol_qualifier): New.
1898 (obj_mach_o_sym_qual): New.
1899 (mach_o_pseudo_table): Add symbol qualifiers, set indirect_symbol to
1901 (obj_mach_o_type_for_symbol): New.
1902 (obj_macho_frob_label): New.
1903 (obj_macho_frob_symbol): New.
1904 * config/obj-macho.h (S_SET_ALIGN): Amend temorary var name.
1905 (obj_frob_label, obj_macho_frob_label): Declare.
1906 (obj_frob_symbol, obj_macho_frob_symbol): Declare.
1910 * config/tc-mips.c (s_tls_rel_directive): Call mips_clear_insn_labels.
1915 * config/tc-mips.c (mips_move_labels): Take the list of labels and
1916 textness as parameters.
1917 (mips_move_text_labels): New function.
1918 (append_insn): Use it instead of mips_move_labels.
1919 (mips_emit_delays, start_noreorder): Likewise.
1920 (mips_align): Take the labels rather than just one label.
1921 Move all labels to after the .align.
1922 (s_align): Change the last argument to mips_align.
1924 (s_float_cons): Likewise.
1925 (s_gpword): Likewise.
1926 (s_gpdword): Likewise.
1930 * config/tc-i386.c: Update copyright year.
1931 (lex_got): Also defined for Mach-O.
1932 Add a guard for non-ELF configuration.
1933 (md_longopts): Also handle -64 for Mach-O.
1934 (md_parse_option): Likewise.
1935 (i386_target_format): Adjust for x86_64-darwin.
1939 * config/obj-macho.c (obj_mach_o_segT_from_bfd_name): Tidy definition.
1940 (obj_mach_o_get_section_names): New (split from obj_mach_o_section).
1941 (obj_mach_o_make_or_get_sect): Likewise.
1942 (obj_mach_o_section): Split out the functionality shared with zerofill.
1943 (obj_mach_o_zerofill): New.
1944 (obj_mach_o_common_parse): Ensure whitespace is skipped.
1945 (mach_o_pseudo_table): Add .zerofill.
1949 * config/obj-macho.c (obj_macho_process_stab): New.
1950 * config/obj-macho.h (OBJ_PROCESS_STAB): Define.
1951 (obj_macho_process_stab): Declare.
1953 For older changes see ChangeLog-2011
1955 Copyright (C) 2012 Free Software Foundation, Inc.
1957 Copying and distribution of this file, with or without modification,
1958 are permitted in any medium without royalty provided the copyright
1959 notice and this notice are preserved.
1965 version-control: never