3 * config/tc-i386.c (md_show_usage): Add -mmnemonic, -msyntax,
4 -mindex-reg, -mnaked-reg and -mold-gcc.
8 * config/tc-hppa.h (DWARF2_CIE_DATA_ALIGNMENT): Wrap negative
13 * config/tc-i386.c (set_intel_mnemonic): New.
14 (intel_mnemonic): Likewise.
16 (OPTION_MMNEMONIC): Likewise.
17 (OPTION_MSYNTAX): Likewise.
18 (OPTION_MINDEX_REG): Likewise.
19 (OPTION_MNAKED_REG): Likewise.
20 (OPTION_MOLD_GCC): Likewise.
21 (md_pseudo_table): Add .intel_mnemonic and .att_mnemonic.
22 (match_template): Don't allow AT&T/Intel mnemonic if Intel/AT&T
23 mnemonic is specified. Don't allow old gcc support if old_gcc
25 (md_longopts): Add -mmnemonic, -msyntax, -mindex-reg,
26 -mmnaked-reg and -mold-gcc.
27 (md_parse_option): Handle OPTION_MMNEMONIC, OPTION_MSYNTAX,
28 OPTION_MINDEX_REG, OPTION_MNAKED_REG and OPTION_MOLD_GCC.
30 * doc/c-i386.texi: Docoument -mmnemonic, -msyntax, --mnaked-reg
31 and AT&T mnemonic vs. Intel mnemonic.
35 * config/tc-xtensa.c (xtensa_elf_cons): Set frag flags for
36 expressions without suffixes.
37 (get_frag_property_flags): Preserve is_no_transform flag for frags
38 not marked as either instructions or literals.
42 * config/tc-i386.c (output_insn): Use ARRAY_SIZE.
47 * config/tc-i386.c (output_insn): Use FRAG_APPEND_1_CHAR
48 instead of frag_more/md_number_to_chars.
49 (md_short_jump_size): Removed.
50 (md_long_jump_size): Likewise.
51 (md_create_short_jump): Likewise.
52 (md_create_long_jump): Likewise.
56 * config/tc-xtensa.c (xg_symbolic_immeds_fit): Relax for weak
57 references but not weak definitions.
61 * config/tc-xtensa.c (xg_symbolic_immeds_fit): Do not relax calls to
62 weak symbols if longcalls are disabled.
67 * config/tc-xtensa.c (frag_format_size): Handle frags that expand to
69 (get_aligned_diff): For RELAX_ALIGN_NEXT_OPCODE, skip to the next
70 non-empty frag to find the LOOP instruction. Change comma typo to
72 (relax_frag_immed, convert_frag_immed): Rename wide_insn variable to
77 * config/tc-m32r.c (md_begin): Mark .sbss as being bss style section.
81 * config/tc-mips.h (mips_nop_opcode): Declare.
83 (mips_segment_info): New structure.
84 (TC_SEGMENT_INFO_TYPE): Use it instead of insn_label_list.
85 * config/tc-mips.c (label_list): Adjust for new TC_SEGMENT_INFO_TYPE.
86 (mips_record_mips16_mode): New function.
87 (install_insn): Call it.
88 (mips_align): Likewise. Turn the fill argument into an "int *".
89 Use frag_align_code for code segments if no fill data is given.
90 (s_align): Adjust call accordingly.
91 (mips_nop_opcode): New function.
92 (mips_handle_align): Use the first variable byte to decide which
93 nop sequence is needed. Use md_number_to_chars and mips16_nop_insn.
97 * config/tc-xtensa.c (O_pcrel): Define.
98 (suffix_relocs): Add pcrel suffix.
99 (md_pseudo_table): Add 4byte and 2byte directives.
100 (xtensa_elf_cons): Pass correct pcrel argument to fix_new_exp.
101 (xg_assemble_literal): Likewise. Check for O_pcrel.
102 (expression_maybe_register): Reorganize. Handle BFD_RELOC_32_PCREL.
103 (xg_valid_literal_expression): Allow O_pcrel.
104 (md_pcrel_from, md_apply_fix): Handle BFD_RELOC_32_PCREL.
105 (tc_gen_reloc): Fix punctuation in error message.
109 * config/tc-xtensa.c (xg_force_frag_space): Delete.
110 (xg_finish_frag, xg_assemble_literal_space): Replace calls to it.
111 (xtensa_create_property_segments, xtensa_create_xproperty_segments):
112 Set output_section for new property sections. Use subseg_set and
113 seg_info instead of retrieve_segment_info. Adjust arguments to
114 add_xt_block_frags and add_xt_prop_frags. Use standard functions
115 to create frags and fix records.
116 (retrieve_segment_info): Delete.
117 (add_xt_block_frags, add_xt_prop_frags): Replace calls to
118 retrieve_segment_info. Remove unused xt_block_sec arguments.
122 * config/tc-ppc.c (ppc_tc): Allow a space between toc symbol
127 * config/tc-xtensa.h (md_allow_eh_opt): Define.
131 * config/tc-mips.c (mips_cpu_info_table): Add loongson2e
132 and loongson2f entries.
133 * doc/c-mips.texi: Document -march=loongson{2e,2f} options.
137 * config/tc-s390.c (md_begin): If the -mesa option is specified
138 add zarch opcodes to the hash table only if there is no variant
139 that is available for the esa mode as well.
143 * config/tc-alpha.c (assemble_insn): Don't segv on NULL reloc_operand.
147 * config/xtensa-istack.h (tinsn_struct): Replace linenum field
148 with loc_directive_seen and debug_line.
149 * config/tc-xtensa.c: Include xtensa-istack.h after dwarf2dbg.h.
150 (xg_build_to_insn): Copy the new fields instead of linenum.
151 (xg_build_token_insn): Likewise. Abort on INSTR_LABEL_DEF and move
152 common code out of the switch.
153 (md_assemble): Set new tinsn fields from DWARF information. Call
154 dwarf2_consume_line_info.
155 (xg_assemble_vliw_tokens): Update the code to select the "best" line
156 number to use new information. Call dwarf2_gen_line_info instead
161 * dwarf2dbg.h (dwarf2_loc_directive_seen): New.
162 * dwarf2dbg.c (loc_directive_seen): Make external and rename to...
163 (dwarf2_loc_directive_seen): ...this.
164 (dwarf2_emit_insn, dwarf2_consume_line_info)
165 (dwarf2_emit_label, dwarf2_directive_loc): Use new name.
169 * dwarf2dbg.c (dwarf2_emit_label): Use dwarf2_consume_line_info.
173 * dwarf2dbg.c (dwarf2_consume_line_info): New.
174 (dwarf2_emit_insn): Use it here.
175 (dwarf2_directive_loc): Fix check for consecutive .loc directives
176 when debug_type is DEBUG_DWARF2.
177 * dwarf2dbg.h (dwarf2_consume_line_info): New prototype.
178 * config/tc-ia64.c (ia64_flush_insns): Call dwarf2_consume_line_info.
179 (md_assemble): Likewise.
183 * config/tc-mips.c (md_parse_option): Match mips_optimize to the -O
184 option supplied, but still keep mips_optimize == 2 as default value.
188 * doc/as.texinfo: Document the new attribute value.
192 * config/tc-avr.c (mcu_types): Add ATmega32HVB device.
193 * doc/c-avr.texi: Likewise.
197 * config/tc-avr.c (mcu_types): Add ATmega1284P device.
198 * doc/c-avr.texi: Likewise.
202 * config/tc-ia64.c (AR_RUC): Defined.
204 (specify_resource): Handle AR_RUC like AR_ITC.
208 * config/tc-mn10300.c (mn10300_force_relocation): Force a reloc to
209 be generated for alignment fixups.
210 * config/tc-mn10300.h (TC_FORCE_RELOCATION): Call
211 mn10300_force_relocation.
216 * config/tc-frv.c (md_show_usage): Rewrite usage description to
217 make it easier to translate.
218 * gas/po/gas.pot: Regenerate.
222 * config/tc-ppc.c (md_assemble): If -mregnames, when parsing
223 PPC_OPERAND_CR always parse as expression to allow register name
224 followed by an expression.
228 * config/tc-i386.c (match_template): Re-order suffix check.
232 * config/tc-xtensa.c (relaxable_section): Check for .eh_frame.
236 * config/tc-avr.c (mcu_types): Add ATtiny88 device.
237 * doc/c-avr.texi: Likewise.
241 * config/tc-avr.c (mcu_types): Add new devices: ATmega48P,
242 ATmega88P, ATmega168P, Atmega328P
243 * doc/c-avr.texi: Document new devices.
247 * config/tc-ppc.c (md_apply_fix): For PPC_TOC16 on XCOFF, uses
248 offset within the TOC instead of the VMA.
252 * config/tc-arm.c (do_mull): Allow overlapping Rm for armv6.
256 * ehopt.c (check_eh_frame): If md_allow_eh_opt is defined, invoke
257 it to see if the optimizations should be applied.
258 * config/tc-mn10300.h (md_allow_eh_opt): Define. Only allow call
259 frame optimization if linker relaxation is not enabled.
263 * read.c (ALIGN_LIMIT): Rename to ...
264 (TC_ALIGN_LIMIT): Guard against prior definition.
265 * config/tc-i386.h (TC_ALIGN_LIMIT)[TE_PE]: Define.
269 * config/tc-xtensa.c (xtensa_symbol_new_hook): New.
270 (xtensa_mark_difference_of_two_symbols): New.
271 (xtensa_post_relax_hook): Call xtensa_mark_difference_of_two_symbols.
272 * config/tc-xtensa.h (xtensa_symfield_type): Add next_expr_symbol.
273 (tc_symbol_new_hook): Define.
277 * config/tc-i386.c (md_assemble): Replace no_xsuf with
279 (match_template): Likewise.
283 * config/tc-i386.h (LONG_DOUBLE_MNEM_SUFFIX): Use a non-ascii
288 * config/tc-i386.c (process_suffix): Check addrprefixop0 to
289 see if the address size override prefix changes the size of the
291 (check_byte_reg): Don't warn if byteokintel is set.
292 (check_long_reg): Set i.suffix to QWORD_MNEM_SUFFIX if toqword
294 (check_qword_reg): Set i.suffix to LONG_MNEM_SUFFIX if todword
299 * config/tc-avr.c (mcu_types): Remove devices that were never produced:
300 attiny10, atmega83, atmega85, atmega603.
301 * doc/c-avr.texi: Likewise.
305 * config/tc-mn10300.c (tc_gen_reloc): Fix test that decides when
306 sym_diff relocs should be generated.
307 (md_apply_fix): Skip R_MN10300_ALIGN relocs.
308 (mn10300_fix_adjustable): Do not adjust R_MN10300_ALIGN relocs.
309 (mn10300_handle_align): New function. Generate R_MN10300_ALIGN
310 relocs to record alignment requests.
311 * config/tc-mn10300.h (TC_FORCE_RELOCATION_SUB_SAME): Also force
312 R_MN10300_ALIGN relocs.
313 (HANDLE_ALIGN): Define. Call mn10300_handle_align.
317 * doc/as.texinfo (Section): Replace "subsegment" with
323 * config/obj-elf.c (obj_elf_section): Handle optional
324 parameters for .pushsection.
326 * doc/as.texinfo: Document optional parameters for
331 * configure.in: Move AM_PROG_LIBTOOL after AC_GNU_SOURCE.
332 * configure: Regenerated.
336 * Makefile.am (INCLUDES, DEP_INCLUDES): Remove -D_GNU_SOURCE.
338 * configure.in: Invoke AC_GNU_SOURCE.
339 * Makefile.in: Regenerate.
340 * config.in: Regenerate.
341 * configure: Regenerate.
345 * expr.c (expr): Test md_allow_local_subtract (if defined) before
346 allowing the evaluation of an expression involving two symbols
347 defined in the same section.
348 * doc/internals.texi (md_allow_local_subtract): Document the new
350 * config/tc-mn10300.h (md_allow_local_subtract): Define.
351 (RELAX_EXPANSION_POSSIBLE): Define.
352 (MAX_RELOC_EXPANSION): Define.
353 (TC_FRAG_TYPE): Define.
354 * config/tc-mn10300.c (md_assemble): Mark fragments as containing code.
355 (tc_gen_reloc): Return an array of relocs. If necessary generate
356 two relocs to handle an expressions involving the difference of
358 (mn10300_fix_adjustable): Do not test TC_FORCE_RELOCATION_LOCAL
359 when then fixup is not pc-relative.
360 (mn10300_allow_local_subtract): New function. Determine when it
361 is safe to compute the difference between two symbols at assemble
366 * config/tc-ppc.c (ppc_parse_name): Skip leading '%'.
367 (md_assemble): When parsing PPC_OPERAND_CR, add '%' to set of
368 chars that can start a name.
372 * config/tc-hppa.c (pa_ip): Fix comment typo.
378 * config/tc-arc.c (md_estimate_size_before_relax): Change error
380 (md_convert_frag): Just call abort.
381 * config/tc-i860.c (md_estimate_size_before_relax): Change error
383 * config/tc-i860.h (md_convert_frag): Just call abort.
384 * config/tc-ip2k.c (md_estimate_size_before_relax): Change error
386 (md_convert_frag): Just call abort.
387 * config/tc-m68k.c (m68k_ip): Do not attempt translation of
390 * config/tc-arm.c: Fix formatting and spelling errors.
392 * config/tc-xc16x.c: Fix formatting and internationalization.
393 * po/gas.pot: Regenerate.
398 * as.h (ieee_md_atof, vax_md_atof): New prototypes.
399 * read.c (s_float_space): Allow a zero length return from md_atof
400 if the error message has been set.
401 (float_cons): Likewise.
402 * config/atof-ieee.c (ieee_md_atof): New function. Performs the
403 md_atof() function in a generic way for IEEE using targets.
404 * config/atof-vax.c (md_atof): Rename to vax_md_atof. Use the
405 same error message as ieee_md_atof.
406 * tc-alpha.c (md_atof): Use ieee_md_atof. Remove #define of vax_md_atof.
407 * tc-arc.c (md_atof): Use ieee_md_atof.
408 * tc-arm.c (md_atof): Use sizeof (LITTLENUM_TYPE) instead of the
409 constant 2. Use a precision of 5 for the 'x' and 'p' types.
410 * tc-avr.c (md_atof): Use ieee_md_atof.
411 * tc-bfin.c (md_atof): Use ieee_md_atof.
412 * tc-cr16.c (md_atof): Use ieee_md_atof.
413 * tc-crx.c (md_atof): Use ieee_md_atof.
414 * tc-d10v.c (md_atof): Use ieee_md_atof.
415 * tc-d30v.c (md_atof): Use ieee_md_atof.
416 * tc-dlx.c (md_atof): Use ieee_md_atof.
417 * tc-fr30.c (md_atof): Use ieee_md_atof.
418 * tc-frv.c (md_atof): Use ieee_md_atof.
419 * tc-h8300.c (md_atof): Use ieee_md_atof.
420 * tc-hppa.c (md_atof): Use ieee_md_atof.
421 * tc-i370.c (md_atof): Use ieee_md_atof.
422 (i370_dc): Convert the 'E' type to 'f' before calling md_atof.
423 * tc-i386.c (md_atof): Use ieee_md_atof.
424 * tc-i860.c (md_atof): Use ieee_md_atof.
425 * tc-i960.c (md_atof): Use ieee_md_atof.
426 * tc-ia64.c (md_atof): Use the same error message as ieee_md_atof.
427 * tc-ip2k.c (md_atof): Use ieee_md_atof.
428 * tc-iq2000.c (md_atof): Use ieee_md_atof.
429 * tc-m32c.c (md_atof): Use ieee_md_atof.
430 * tc-m32r.c (md_atof): Use ieee_md_atof.
431 * tc-m68hc11.c (md_atof): Use ieee_md_atof.
432 * tc-m68k.c (md_atof): Use ieee_md_atof.
433 * tc-maxq.c (md_atof): Use ieee_md_atof.
434 * tc-mcore.c (md_atof): Use ieee_md_atof.
435 * tc-mep.c (md_atof): Use ieee_md_atof.
436 * tc-mips.c (md_atof): Use ieee_md_atof.
437 * tc-mmix.c (md_atof): Use ieee_md_atof.
438 * tc-mn10200.c (md_atof): Use ieee_md_atof.
439 * tc-mn10300.c (md_atof): Use ieee_md_atof.
440 * tc-msp430.c (md_atof): Use ieee_md_atof.
441 * tc-mt.c (md_atof): Use ieee_md_atof.
442 * tc-ns32k.c (md_atof): Use ieee_md_atof.
443 * tc-openrisc.c (md_atof): Use ieee_md_atof.
444 * tc-or32.c (md_atof): Use ieee_md_atof.
445 * tc-pdp11.c (md_atof): New function. Call vax_md_atof.
446 * tc-pj.c (md_atof): Use ieee_md_atof.
447 * tc-ppc.c (md_atof): Use ieee_md_atof.
448 * tc-s390.c (md_atof): Use ieee_md_atof.
449 * tc-score.c (md_atof): Use ieee_md_atof.
450 * tc-sh.c (md_atof): Use ieee_md_atof.
451 * tc-sparc.c (md_atof): Use ieee_md_atof.
452 * tc-spu.c (md_atof): Use ieee_md_atof.
453 * tc-tic30.c (md_atof): Use the same error message as ieee_md_atof.
454 * tc-tic4x.c (md_atof): Use the same error message as ieee_md_atof.
455 * tc-tic54.c (md_atof): Use ieee_md_atof.
456 * tc-v850.c (md_atof): Use ieee_md_atof.
457 * tc-vax.c (md_atof): New function. Call vax_md_atof.
458 * tc-xc16x.c (md_atof): Use ieee_md_atof.
459 * tc-xstormy16.c (md_atof): Use ieee_md_atof.
460 * tc-xtensa.c (md_atof): Use ieee_md_atof.
461 * tc-z8k.c (md_atof): Use ieee_md_atof.
462 * doc/internals.texi: Update description of md_atof function.
463 * po/gas.pot: Regenerate.
467 * doc/as.texinfo (Overview): Add Xtensa --rename-section option.
471 * config/obj-elf.c (obj_elf_type): Accept "common" as a valid
473 * doc/as.texinfo (.type): Document the types accepted by the
474 type pseudo op, including "common".
478 * config/tc-ppc.c (ppc_setup_opcodes): Verify instructions are sorted
479 according to major opcode number.
483 * read.c (do_s_func): Check asprintf return status.
484 * stabs.c (stabs_generate_asm_func): Likewise.
485 (stabs_generate_asm_endfunc): Likewise.
489 * config/tc-i386.c (process_operands): Simplify implicit xmm0
494 * config/tc-i386.c (process_operands): Check the firstxmm0
495 field in opcode_modifier for instruction with a implicit
496 xmm0 as the first operand.
500 * config/tc-avr.c (mcu_types): Add new devices: AT90PWM2B,
502 * doc/c-avr.texi: Document new devices.
506 * config/tc-cr16.c: Update the md_relax_table for 1 word b<cc>
507 instruction range information.
511 * doc/as.texinfo (Object Attributes): New chapter.
512 (Pseudo Ops): Document .gnu_attribute.
513 (LNS directives): Correct .loc_mark_labels documentation.
517 * config/obj-elf.c (obj_elf_section): When pushing a section, if
518 there is a comma then the following argument must be a subsection
523 * doc/c-i386.texi: Update which instruction's operands are
529 * config/tc-ia64.c: Allow for translations of error and warning
531 * po/gas.pot: Regenerate.
534 * config/tc-h8300.c (tc_gen_reloc): Allow for translation of error
536 * po/gas.pot: Regenerate.
539 * config/tc-msp430.c: Fix spelling typos.
543 * doc/as.texinfo (Type): Fix typo: STT_FUNC not STT_FUNCTION.
547 * config/tc-mips.c (AT): Rename to...
549 (AT): New definition.
550 (mips_set_options): Rename "noat" to "at"; change the type.
551 (mips_opts): Update accordingly.
552 (append_insn): Likewise.
553 (macro_build_ldst_constoffset): Likewise.
554 (load_address): Likewise.
555 (macro, macro2): Likewise.
556 (s_mipsset): Handle ".set at=REG". Update handling of ".set at"
561 * doc/as.texinfo (Previous): Clarify explanation of the behaviour
562 of this pseudo-op and add a couple of examples.
566 PR gas/5121 gas/5122 gas/5123
567 * Makefile.am (CFILES): Add cgen.c
568 (TARGET_CPU_CFILES): Add tc-iq2000.c, tc-maxq.c, tc-mt.c,
569 tc-tic4x.c and xtensa-relax.c.
570 (TARGET_CPU_HFILES): Add tc-iq2000.h, tc-maxq.h, tc-mt.h,
571 tc-tic4x.h and xtensa-relax.h.
572 (TARG_ENV_HFILES): Remove te-aux.h, te-delta.h, te-delt88.h,
573 te-ic960.h, te-linux.h. Add te-aix5.h, te-armeabi.h,
574 te-freebsd.h, te-gnu.h, te-interix.h, te-vxworks.h.
575 (CONFIG_ATOF_CFILES): New variable.
576 (POTFILES): Add CONFIG_ATOF_CFILES to dependencies. Fix typo with
577 dependency upon TARG_ENV_HFILES.
578 (DEPTC): Do not put "#include opcodes/<foo>-desc.h" into
579 cgen-desc.h when foo-desc.h does not exit.
581 * Makefile.in: Regenerate.
582 * doc/Makefile.in: Regenerate.
583 * po/POTFILES.in: Regenerate.
585 * po/es.po: Regenerate.
586 * po/fr.po: Regenerate.
587 * po/gas.pot: Regenerate.
588 * po/rw.po: Regenerate.
589 * po/tr.po: Regenerate.
590 * config/obj-elf.c (obj_elf_vtable_inherit): Allow for translation
593 * config/obj-som.c: Likewise.
595 * config/tc-arc.c: Likewise.
597 * config/tc-arm.c: Likewise.
599 * config/tc-bfin.c: Likewise.
601 * config/tc-frv.c: Likewise.
603 * config/tc-dlx.c: Likewise.
607 * config/tc-avr.c (mcu_types): Add new devices: ATtiny43U,
608 ATtiny48, AT90PWM216, AT90PWM316.
609 * doc/c-avr.texi: Document new devices.
614 * config/tc-arm.c (md_apply_fix): Correct error message.
616 * config/tc-arm.c (md_apply_fix): Likewise.
618 * config/tc-bfin.c (md_apply_fix): Fix error message.
620 (Expr_Node_Gen_Reloc_R): Fix spelling typos in error messages.
624 * config/tc-i386.c (build_modrm_byte): Check the first 2 8bit
625 immediate operands directly for instructions with 4 operands.
630 * config/tc-i386.c (process_suffix): Clear QWORD suffix if it
631 is ignored in Intel mode.
635 * read.c (potable): Add string8, string16, string32 and string64.
636 Add bit size for stringer function.
637 (stringer_append_char): New.
638 (stringer): Use stringer_append_char().
639 * config/obj-coff.c (obj_coff_ident): Add bit size for stringer function.
640 * config/obj-elf.c (obj_elf_ident): Likewise.
641 * config/tc-alpha.c (s_alpha_stringer): Likewise.
642 * config/tc-dlx.c (dlx_pseudo_table): Likewise.
643 * config/tc-hppa.c (pa_stringer): Likewise.
644 * config/tc-ia64.c (md_pseudo_table, pseudo_opcode): Likewise.
645 * config/tc-m68hc11.c (md_pseudo_table): Likewise.
646 * config/tc-mcore.c (md_pseudo_table): Likewise.
647 * config/tc-mips.c (mips_pseudo_table): Likewise.
648 * config/tc-spu.c (md_pseudo_table): Likewise.
649 * config/tc-s390.c (md_pseudo_table): Likewise. Replace '2' by '1'.
650 * doc/as.texinfo (ABORT): Fix identing.
651 (String): Document new string8, string16, string32, string64
653 * NEWS: Mention the new feature.
658 * config/tc-avr.c (avr_get_constant): Extend error message to
659 mention that the constant must be positive.
663 * config/tc-avr.c (avr_get_constant):
665 * config/tc-arm.c (s_arm_unwind_handlerdata): Fix spelling typo.
667 (md_assemble): Fix spelling typo.
672 * stabs.c (aout_process_stab): Set BSF_DEBUGGING.
676 * config/tc-cr16.c: Replaced 'tabs' with white spaces and
677 added R_CR16_DISP8 as default reloc type for b<cc> instructions.
682 * config/tc-i386.c (check_long_reg): Also handle cvttss2si.
683 (check_qword_reg): Also handle cvttsd2si.
687 * config/m68k-parse.h (m68k_register): Use MBO instead of MBB.
688 (last_movec_reg): Change to MBO.
689 * config/tc-m68k.c (fido_ctrl): Use MBO instead of MBB.
690 (m68k_ip): Use MBO instead of MBO.
691 (init_table): Use MBO instead of MBO. Add an entry for mbo.
695 * config/tc-i386.c (build_modrm_byte): Also check for RegEip
696 when considering IP-relative addressing.
700 * config/tc-i386.h (md_register_arithmetic): Define.
701 * config/tc-ia64.h (md_register_arithmetic): Likewise.
702 * doc/internals.texi: Document md_register_arithmetic.
703 * expr.c (make_expr_symbol): Force O_register expressions into
705 (expr): Provide default for md_register_arithmetic. Don't resolve
706 adding/subtracting constants to/from registers if
707 md_register_arithmetic is zero.
711 * dw2gencfi.c: Conditionalize whole body upon TARGET_USE_CFIPOP.
712 (cfi_finish): Add second empty instance.
716 * config/tc-ia64.c (dot_pred_rel): Replace specialized handling
717 with simple call to parse_operand.
721 * config/tc-i386.c (NUM_FLAG_CODE): Remove.
725 * as.c (itbl_parse): Remove #define.
726 (struct itbl_file_list): Move down and ...
727 (itbl_files): .. conditionalize upon HAVE_ITBL_CPU.
728 (show_usage): Conditionalize printing of --itbl option upon
730 (parse_args): Conditionalize handling of -t/--itbl options upon
731 HAVE_ITBL_CPU. Remove OPTION_INSTTBL and replace its use with
736 * config/tc-i386.c (output_insn): Use i.tm.opcode_length to
741 * config/tc-m68k.c (LONG_BRANCH_VIA_COND): New.
742 (BRANCHBWPL, FRAG_VAR_SIZE): New.
743 (md_relax_table): Add BRANCHBWPL entries.
744 (m68k_ip): Choose BRANCHBWPL relaxation if necessary.
745 (md_assemble): Use FRAG_VAR_SIZE.
746 (md_convert_frag_1): Add BRANCHBWPL cases.
747 (md_estimate_size_before_relaz): Likewise.
751 * config/tc-mips.c (s_align): Set max_alignment to 28.
756 * config/tc-i386.c (SCALE1_WHEN_NO_INDEX): Removed.
757 (set_allow_index_reg): New.
758 (allow_index_reg): Likewise.
759 (md_pseudo_table): Add "allow_index_reg" and
760 "disallow_index_reg".
761 (build_modrm_byte): Set i.sib.index to NO_INDEX_REGISTER for
762 fake index registers.
763 (i386_scale): Updated.
764 (i386_index_check): Support fake index registers.
765 (parse_real_register): Return NULL on eiz/riz if fake index
766 registers aren't allowed.
770 * config/tc-h8300.c (md_apply_fix): Do not abort or handle 8 byte
775 * doc/c-xtensa.texi (Xtensa Immediate Relaxation): Fix "addi" typo.
779 * config/bfin-parse.y (asm_1): Slightly improve error messages
785 * read.c (emit_expr): Only use long long if required and available.
789 * config/tc-i386.c (baseindex): Removed.
790 (build_modrm_byte): Check reg_num for RIP register instead of
792 (i386_index_check): Likewise.
797 * config/obj-coff.c (obj_coff_endef): Remove checking size of
798 def_symbol_in_progress.
803 * read.c (emit_expr): Use unsigned long long values in warning
804 message about truncated expressions.
808 * config/tc-i386.c (intel_e04): Revert the last change.
812 * po/es.po: Updated Spanish translation.
817 * config/tc-i386.c (intel_e04): Return 1 if cur_token.code is
822 * config/tc-i386.c (build_modrm_byte): Adjust comment line
827 * config/tc-i386.c (build_modrm_byte): Use (A || B) instead
832 * config/tc-i386.c (build_modrm_byte): Adjust indentation.
838 * NEWS: Add SSE5 support to NEWS file.
840 * config/tc-i386.h (drex_byte): Add fields to allow process_drex
841 and build_modrm_byte to communicate.
842 (DREX_OC0): New SSE5 macro.
843 (DREX_OC0_MASK): Ditto.
845 (DREX_OC1_MASK): Ditto.
846 (DREX_XMEM_X1_X2_X2): Ditto.
847 (DREX_X1_XMEM_X2_X2): Ditto.
848 (DREX_X1_XMEM_X2_X1: Ditto.
849 (DREX_X1_X2_XMEM_X1: Ditto.
850 (DREX_XMEM_X1_X2): Ditto.
851 (DREX_X1_XMEM_X2): Ditto.
852 (drex_byte): New structure to describe the DREX byte.
854 * config/tc-i386.c (process_drex): New function to handle SSE5
856 (build_modrm_byte): Use the information cached away in
857 process_drex in the case of DREX instructions.
858 (i386_insn): Add drex field.
859 (pi): Add debugging of drex field.
860 (md_assemble): Treat SSE5 like SSE3 in instructions with an
861 immediate byte. Move REX field to DREX if this is a DREX
863 (process_operands): Add SSE5 support.
864 (build_modrm_byte): Ditto.
865 (output_insn): Ditto.
867 (i386_align_code): Ditto.
871 * config/tc-i386.c (md_assemble): Move handling of extrq/insertq
872 after generic operand swapping, and swap only the immediate operands.
876 * config/tc-m68k.c (m68k_ip): Add mcfisa_c case.
877 (m68k_elf_final_processing): Add EF_M68K_CF_ISA_C_NODIV.
881 * tc-i386.c (output_insn): Only check SSE4.2 and ABM for 3
886 * config/tc-i386.c (cpu_flags_check_x64): Renamed to ...
887 (cpu_flags_check_cpu64): This. Inline.
888 (uints_all_zero): New.
889 (uints_set): Likewise
890 (uints_equal): Likewise
891 (UINTS_ALL_ZERO): Likewise
892 (UINTS_SET): Likewise
893 (UINTS_CLEAR): Likewise
894 (UINTS_EQUAL): Likewise
895 (cpu_flags_and): Likewise.
896 (cpu_flags_or): Likewise.
897 (operand_type_and): Likewise.
898 (operand_type_or): Likewise.
899 (operand_type_xor): Likewise.
900 (cpu_flags_not): Inline and use switch instead of loop.
901 (cpu_flags_match): Updated.
902 (operand_type_match): Likewise.
903 (smallest_imm_type): Likewise.
904 (set_cpu_arch): Likewise.
906 (md_assemble): Likewise.
907 (parse_insn): Likewise.
908 (optimize_imm): Likewise.
909 (match_template): Likewise.
910 (process_suffix): Likewise.
911 (update_imm): Likewise.
912 (finalize_imm): Likewise.
913 (process_operands): Likewise.
914 (build_modrm_byte): Likewise.
915 (i386_immediate): Likewise.
916 (i386_displacement): Likewise.
917 (i386_index_check): Likewise.
918 (i386_operand): Likewise.
919 (i386_target_format): Likewise.
920 (intel_e11): Likewise.
921 (operand_type): Remove implicitregister.
922 (operand_type_check): Updated. Inline.
923 (cpu_flags_all_zero): Removed.
924 (operand_type_all_zero): Likewise.
925 (i386_array_biop): Likewise.
926 (cpu_flags_biop): Likewise.
927 (operand_type_biop): Likewise.
931 * Makefile.am: Run "make dep-am".
932 * Makefile.in: Regenerate.
936 * configure.in (AC_CHECK_HEADERS): Add limits.h.
937 * configure: Regenerated.
938 * config.in: Likewise.
940 * config/tc-i386.c: Include "opcodes/i386-init.h".
941 (_i386_insn): Use i386_operand_type for types.
942 (cpu_arch_flags): Updated to new types with bitfield.
943 (cpu_arch_tune_flags): Likewise.
944 (cpu_arch_isa_flags): Likewise.
945 (cpu_arch): Likewise.
946 (i386_align_code): Likewise.
947 (set_code_flag): Likewise.
948 (set_16bit_gcc_code_flag): Likewise.
949 (set_cpu_arch): Likewise.
950 (md_assemble): Likewise.
951 (parse_insn): Likewise.
952 (process_operands): Likewise.
953 (output_branch): Likewise.
954 (output_jump): Likewise.
955 (parse_real_register): Likewise.
956 (mode_from_disp_size): Likewise.
957 (smallest_imm_type): Likewise.
959 (type_names): Likewise.
962 (swap_2_operands): Likewise.
963 (optimize_imm): Likewise.
964 (optimize_disp): Likewise.
965 (match_template): Likewise.
966 (check_string): Likewise.
967 (process_suffix): Likewise.
968 (check_byte_reg): Likewise.
969 (check_long_reg): Likewise.
970 (check_qword_reg): Likewise.
971 (check_word_reg): Likewise.
972 (finalize_imm): Likewise.
973 (build_modrm_byte): Likewise.
974 (output_insn): Likewise.
975 (disp_size): Likewise.
976 (imm_size): Likewise.
977 (output_disp): Likewise.
978 (output_imm): Likewise.
980 (i386_immediate): Likewise.
981 (i386_displacement): Likewise.
982 (i386_index_check): Likewise.
983 (i386_operand): Likewise.
984 (parse_real_register): Likewise.
985 (i386_intel_operand): Likewise.
986 (intel_e09): Likewise.
987 (intel_bracket_expr): Likewise.
988 (intel_e11): Likewise.
989 (cpu_arch_flags_not): New.
990 (cpu_flags_check_x64): Likewise.
991 (cpu_flags_all_zero): Likewise.
992 (cpu_flags_not): Likewise.
993 (i386_cpu_flags_biop): Likewise.
994 (cpu_flags_biop): Likewise.
995 (cpu_flags_match); Likewise.
999 (reg16_inoutportreg): Likewise.
1002 (disp32s): Likewise.
1003 (disp16_32): Likewise.
1004 (anydisp): Likewise.
1005 (baseindex): Likewise.
1013 (imm16_32): Likewise.
1014 (imm16_32s): Likewise.
1015 (imm16_32_32s): Likewise.
1016 (operand_type): Likewise.
1017 (operand_type_check): Likewise.
1018 (operand_type_match): Likewise.
1019 (operand_type_register_match): Likewise.
1020 (update_imm): Likewise.
1021 (set_code_flag): Also update cpu_arch_flags_not.
1022 (set_16bit_gcc_code_flag): Likewise.
1023 (md_begin): Likewise.
1024 (parse_insn): Use cpu_flags_check_x64 to check 64bit support.
1025 Use cpu_flags_match to match instructions.
1026 (i386_target_format): Update cpu_arch_isa_flags and
1027 cpu_arch_tune_flags to i386_cpu_flags type with bitfield.
1028 (smallest_imm_type): Check cpu_arch_tune to tune for i486.
1029 (match_template): Don't initialize overlap0, overlap1,
1030 overlap2, overlap3 and operand_types.
1031 (process_suffix): Handle crc32 with 64bit register.
1033 (CONSISTENT_REGISTER_MATCH): Likewise.
1035 * config/tc-i386.h (arch_entry): Updated to i386_cpu_flags
1040 * config/tc-i386.c (match_template): Handle invlpga, vmload,
1041 vmrun and vmsave in SVME.
1042 (process_suffix): Likewise.
1046 * config/tc-i386.c (i386_index_check): Don't use RegRex
1047 on the reg_type field.
1048 (parse_real_register): Use `||' instead of `|'.
1052 * config/tc-i386.c (process_operands): Remove segment override
1053 check on SVME instructions.
1054 (i386_index_check): Remove memory operand check on SVME
1059 * config/tc-spu.c (struct spu_insn): Delete "flag". Add "reloc".
1060 (md_assemble): Update init of insn. Use insn.reloc instead of
1061 calculating from flag.
1062 (get_imm): Set reloc rather than flag.
1063 (calcop): Formatting.
1067 * dwarf2dbg.c (dwarf2_directive_loc): Emit duplicate .loc directives.
1071 * doc/c-arc.texi: Fix typo.
1075 * config/tc-i386.c (process_suffix): Handle cmpxchg8b in
1080 * config/tc-m68k.c (mcf52235_ctrl): Add cache registers.
1081 (mcf5253_ctrl): Add RAMBAR, MBAR, MBAR2.
1082 (mcf5407_ctrl): New.
1083 (m68k_cpus): Adjust 5407 entry.
1087 * config/tc-m68k.c (mcf51qe_ctrl): Define 51QE control registers.
1088 (m68k_cpus): Define 51QE cpu.
1093 * as.c (main): Flush stderr before printing listings to ensure
1094 consistent output order across platforms.
1098 * configure.tgt: Add support for i[3-7]86-*-dragonfly*.
1104 * as.h (remap_debug_filename, add_debug_prefix_map): Declare.
1105 * as.c (show_usage): Document --debug-prefix-map option.
1106 (parse_args): Handle --debug-prefix-map.
1107 * dwarf2dbg.c (out_file_list, out_debug_info): Remap debug paths.
1108 * stabs.c (stabs_generate_asm_file): Remap debug paths.
1109 * Makefile.am (GAS_CFILES): Add remap.c
1110 (GENERIC_OBJS): Add remap.o.
1111 Regenerate dependencies.
1112 * Makefile.in: Regenerate.
1113 * doc/as.texinfo (--debug-prefix-map): Document.
1117 * config/tc-arm.c (md_apply_fix): Cast bfd_vma values to long
1118 before printing them.
1123 * config/tc-i386.c (lex_got): Don't scan past a comma.
1127 * config/tc-ppc.c (parse_cpu): Handle "750cl".
1128 (pre_defined_registers): Add "gqr0" to "gqr7", "gqr.0" to "gqr.7".
1129 (md_show_usage): Document -m750cl.
1130 (md_assemble): Handle two delimiters in succession (eg. `),').
1131 * doc/c-ppc.texi (PowerPC-Opts): Document -m750cl.
1135 * doc/c-arm.texi (ARM Directives): Move brackets out of @vars.
1140 * config/tc-i386.c (x86_cons): Complain about invalid @got etc.
1142 (i386_immediate): Detect and complain about more cases of
1143 invalid immediate expressions. Return failure rather than
1144 converting them to zero.
1145 (i386_displacement): Likewise.
1149 * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
1153 * config/tc-ia64.c (tc_gen_reloc): Return NULL if relocation is
1158 * doc/Makefile.am (AM_MAKEINFOFLAGS, TEXI2DVI): Include
1159 $(top_srcdir)/../../bfd/doc.
1160 * doc/Makefile.in: Regenerate.
1164 * NEWS: Add a marker for the 2.18 features.
1168 * config/tc-arm.c (relaxed_symbol_addr): Compensate for alignment.
1172 * config/tc-i386.c (check_byte_reg): Support pextrb and pinsrb.
1176 * config/tc-i386.c (check_long_reg): Allow cvtss2si to convert
1177 DWORD memory to Reg64 in Intel synax.
1178 (check_qword_reg): Allow cvtsd2si to convert QWORD memory to
1179 Reg32 in Intel syntax.
1183 * config/tc-xtensa.c (xtensa_extui_opcode): New.
1184 (xg_expand_assembly_insn): Check for invalid extui operands.
1185 (md_begin): Initialize xtensa_extui_opcode.
1189 * config/tc-mep.h (skip_whitespace): Remove definition.
1193 * config/tc-i386.c (cpu_arch): Change i386 to PROCESSOR_I386.
1196 (f32_patt): Remove f32_15.
1197 (f16_patt): Likewise.
1198 (i386_align_code): Updated to alt_long_patt for 64bit by
1201 * config/tc-i386.h (processor_type): Add PROCESSOR_I386.
1205 * config/tc-i386.c (i386_align_code): Enable alignment up to
1206 MAX_MEM_FOR_RS_ALIGN_CODE bytes. Remove special treatment
1209 * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Changed to 31.
1213 * app.c (do_scrub_chars): Provide a one character buffer to hold a
1214 pushed back newline at the end of an unterminated quoted string.
1218 * config/tc-arm.c (create_register_alias): Return a boolean rather
1220 Check the return value of insert_reg_alias and do not continue to
1221 create aliases once an insertion has failed.
1222 (s_unreq): Delete the all-upper-case and all-lower-case
1223 alternatives as well.
1227 * symbols.c: Print bfd_hostptr_t to file via fprintf_vma.
1228 * write.c: Likewise.
1232 * config/tc-mips.c (mips_dwarf2_format, mips_dwarf2_addr_size): Use
1237 * config/tc-mips.c (mips_cpu_info_table): Add new entries for
1238 {24k,24ke,34k,74k}f{2_1,1_1,x}. Also add an entry for 74kf3_2.
1239 Deprecate *x and *fx.
1240 * doc/c-mips.texi: Document the new CPU arguments. Deprecate
1245 * config/obj-coff.h (x86_64_target_format): Renamed to ...
1246 (i386_target_format): This
1247 (TARGET_FORMAT): Use i386_target_format.
1249 * config/tc-i386.c (x86_64_target_format): Removed.
1250 (i386_target_format): Handle PE formats.
1254 * symbols.c (symbol_relc_make_value): Use bfd_sprintf_vma in order
1255 to get the right length of printed value.
1259 * COPYING: Replace with GPLv3 text.
1260 * app.c: Update copyright notice to refer to GPLv3.
1261 * as.c, as.h, asintl.h, atof_generic.c, bignum.h, bit_fix.h,
1262 cgen.c, cond.c, debug.c, depend.c, dw2gencfi.c, dw2gencfi.h,
1263 dwarf2dbg.c, dwarf2dbg.h, ecoff.c, ecoff.h, ehopt.c, emul.h,
1264 emul_target.h, expr.c, expr.h, flonum-copy.c, flonum.h,
1265 flonum-konst.c, frags.c, frags.h, hash.c, hash.h, input-file.c,
1266 input-file.h, input-scrub.c, ibtl-lex.h, itbl-lex.l, itbl-ops.c,
1267 itbl-ops.h, itbl-parse.y, listing.c, listing.h, literal.c,
1268 macro.c, messages.c, obj.h, output-file.c, output-file.h, read.c,
1269 read.h, sb.c, sb,h, stabs.c, struc-symbol.h, subsegs.c, subsegs.h,
1270 symbols.c, symbols.h, tc.h, write.c, write.h, config/aout_gnu.h,
1271 config/config/atof-ieee.c, config/atof-vax.c, config/bfin-aux.h,
1272 config/bfin-defs.h, config/bfin-lex.l, config/bfin-parse.y,
1273 config/itbl-mips.h, config/m68k-parse.h, config/m68k-parse.y,
1274 config/obj-aout.c, config/obj-aout.h, config/obj-coff.c,
1275 config/obj-coff.h, config/obj-ecoff.c, config/obj-ecoff.h,
1276 config/obj-elf.c, config/obj-elf.h, config/obj-evax.c,
1277 config/obj-evax.h, config/obj-multi.h, config/obj-som.c,
1278 config/obj-som.h, config/tc-alpha.c, config/tc-alpha.h,
1279 config/tc-arc.c, config/tc-arc.h, config/tc-arm.c,
1280 config/tc-arm.h, config/tc-avr.c, config/tc-avr.h,
1281 config/tc-bfin.c, config/tc-bfin.h, config/tc-cr16.c,
1282 config/tc-cr16.h, config/tc-cris.c, config/tc-cris.h,
1283 config/tc-crx.c, config/tc-crx.h, config/tc-d10v.c,
1284 config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h,
1285 config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.c,
1286 config/tc-fr30.h, config/tc-frv.c, config/tc-frv.h,
1287 config/tc-generic.c, config/tc-generic.h, config/tc-h8300.c,
1288 config/tc-h8300.h, config/tc-hppa.c, config/tc-hppa.h,
1289 config/tc-i370.c, config/tc-i370.h, config/tc-i386.c,
1290 config/tc-i386.h, config/tc-i860.c, config/tc-i860.h,
1291 config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c,
1292 config/tc-ia64.h, config/tc-ip2k.c, config/tc-ip2k.h,
1293 config/tc-iq2000.c, config/tc-iq2000.h, config/tc-m32c.c,
1294 config/tc-m32c.h, config/tc-m32r.c, config/tc-m32r.h,
1295 config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c,
1296 config/tc-m68k.h, config/tc-maxq.c, config/tc-maxq.h,
1297 config/tc-mcore.c, config/tc-mcore.h, config/tc-mep.c,
1298 config/tc-mep.h, config/tc-mips.c, config/tc-mips.h,
1299 config/tc-mmix.c, config/tc-mmix.h, config/tc-mn10200.c,
1300 config/tc-mn10200.h, config/tc-mn10300.c, config/tc-mn10300.h,
1301 config/tc-msp430.c, config/tc-msp430.h, config/tc-mt.c,
1302 config/tc-mt.h, config/tc-ns32k.c, config/tc-ms32k.h,
1303 config/tc-openrisc.c, config/tc-openrisc.h, config/tc-or32.c,
1304 config/tc-or32.h, config/tc-pdp11.c, config/tc-pdp11.h,
1305 config/tc-pj.c, config/tc-pj.h, config/tc-ppc.c, config/tc-ppc.h,
1306 config/tc-s390.c, config/tc-s390.h, config/tc-score.c,
1307 config/tc-score.h, config/tc-sh64.c, config/tc-sh64.h,
1308 config/tc-sh.c, config/tc-sh.h, config/tc-sparc.c,
1309 config/tc-sparc.h, config/tc-spu.c, config/tc-spu.h,
1310 config/tc-tic30.c, config/tc-tic30.h, config/tc-tic4x.c,
1311 config/tc-tic4x.h, config/tc-tic54x.c, config/tc-tic54x.h,
1312 config/tc-v850.c, config/tc-v850.h, config/tc-vax.c,
1313 config/tc-vax.h, config/tc-xc16x.c, config/tc-x16x.h,
1314 config/tc-xstormy16.c, config/tc-xstormy16.h, config/tc-xtensa.c,
1315 config/tc-xtensa.h, config/tc-z80.c, config/tc-z80.h,
1316 config/tc-z8k.c, config/tc-z8k.h, config/te-386bsd.h,
1317 config/te-freebsd.h, config/te-hppa.h, config/te-irix.h,
1318 config/te-netware.h, config/te-sparcaout.h, config/te-tmips.h,
1319 config/te-vxworks.h, config/vax-inst.h, config/xtensa-istack.h,
1320 config/xtensa-relax.c, config/xtensa-relax.h: Likewise.
1322 * flonum-mult.c: Likewise, and also correct typo referring to
1323 non-existant GNU Assembler General Public License.
1324 * config/tc-m68851.h: Likewise.
1325 * NEWS: Mention the new license. Also note where the 2.17 release
1327 * config/e-crisaout.c: Add copyright header.
1328 * config/e-criself.c, config/e-i386aout.c, config/e-i386coff.c,
1329 config/e-i386elf.c, config/e-mipscoff.c, config/e-mipself.c,
1330 config/obj-multi.c, config/te-aix5.h, config/te-armeabi.h,
1331 config/te-armlinuxeabi.h, config/te-dynix.h, config/te-epoc-pe.h,
1332 config/te-generic.h, config/te-gnu.h, config/te-go32.h,
1333 config/te-hppa64.h, config/te-hppalinux64.h, config/te-hpux.h,
1334 config/te-i386aix.h, config/te-ia64aix.h, config/te-interix.h,
1335 config/te-linux.h, config/te-lnews.h, config/te-lynx.h,
1336 config/te-mach.h, config/te-macos.h, config/te-nbsd532.h,
1337 config/te-nbsd.h, config/te-pc532mach.h, config/te-pe.h,
1338 config/te-pep.h, config/te-psos.h, config/te-riscix.h,
1339 config/te-sun3.h, config/te-svr4.h, config/te-symbian.h,
1340 config/te-wince-pe.h: Likewise.
1344 * config/tc-m68k.c (m68k_ip): Add j & K operand types.
1345 (install_operand): Add E encoding.
1346 (md_begin): Check and skip initial '.' arg character.
1347 (get_num): Add 0..511 case.
1352 * config/obj-elf.c (elf_ecoff_set_ext): Make static when OBJ_MAYBE_ELF.
1353 * config/obj-elf.h (obj_ecoff_set_ext): Comment.
1358 * app.c (do_scrub_chars <state 5>): Check for output buffer full
1363 * config/tc-mips.c (s_dtprelword, s_dtpreldword,
1364 s_dtprel_internal): New.
1365 (mips_pseudo_table): Add .dtprelword and .dtpreldword.
1366 (md_apply_fix): Handle BFD_RELOC_MIPS_TLS_DTPREL32 and
1367 BFD_RELOC_MIPS_TLS_DTPREL64.
1371 * Makefile.am: Run "make dep-am".
1372 * Makefile.in: Regenerate.
1373 * aclocal.m4: Regenerate.
1374 * config.in: Regenerate.
1375 * doc/Makefile.in: Regenerate.
1376 * po/POTFILES.in: Regenerate.
1377 * po/gas.pot: Regenerate.
1381 * config/tc-ppc.c (ppc_pe_section): Comment out code assigning
1382 coff section flag values to bfd section flag.
1386 * aclocal.m4: Regenerated.
1387 * doc/Makefile.in: Likewise.
1388 * Makefile.in: Likewise.
1392 * as.c (main): Only call create_obj_attrs_section if IS_ELF.
1396 * as.c (create_obj_attrs_section): New.
1397 (main): Call create_obj_attrs_section for ELF.
1398 * read.c (s_gnu_attribute, skip_whitespace, skip_past_char,
1399 skip_past_comma, s_vendor_attribute): New.
1400 (potable): Add gnu_attribute for ELF.
1401 * read.h (s_vendor_attribute): Declare.
1402 * config/tc-arm.c (s_arm_eabi_attribute): Replace by wrapper
1403 round s_vendor_attribute.
1404 (aeabi_set_public_attributes): Update for new attributes
1406 (arm_md_end): Remove attributes contents setting now done
1411 * Makefile.am: Add CR16 related entry.
1412 * Makefile.in: Regenerate.
1413 * config/tc-cr16.h: New file
1414 * config/tc-cr16.c: New file
1415 * doc/c-cr16.texi: New file for cr16
1416 * doc/all.texi: Entry for cr16
1417 * doc/Makefile.am: Added c-cr16.texi
1418 * doc/Makefile.in: Regenerate
1419 * doc/as.texinfo: Entry for CR16 target
1420 * NEWS: Announce the support for the new target.
1424 * config/tc-arm.c (parse_operands): Accept generic coprocessor regs
1426 (reg_names): Add fpinst, pfinst2, mvfr0 and mvfr1.
1430 * config/tc-i386.c (process_operands): Replace regKludge
1435 * config/tc-mips.h (TC_SYMFIELD_TYPE): New.
1436 * config/tc-mips.c (append_insn): Record which symbols have
1437 R_MIPS16_26 relocations against them.
1438 (mips_fix_adjustable): Don't reduce relocations against such symbols.
1442 * config/tc-xtensa.c (xg_assembly_relax): Comment termination rules.
1443 (frag_format_size): Handle RELAX_IMMED_STEP3.
1444 (xtensa_relax_frag, md_convert_frag): Likewise.
1445 * config/tc-xtensa.h (xtensa_relax_statesE): Add RELAX_IMMED_STEP3.
1446 (RELAX_IMMED_MAXSTEPS): Adjust.
1447 * config/xtensa-relax.c (widen_spec_list): Add transitions from
1448 wide branches to branch-over-jumps.
1449 (build_transition): Handle wide branches in transition patterns.
1453 * config/tc-i386.c (disp_size): New.
1454 (imm_size): Likewise.
1455 (output_disp): Use disp_size and imm_size.
1456 (output_imm): Use imm_size.
1460 * config/tc-xtensa.h (struct xtensa_frag_type): Update comment about
1461 use of literal_frag field.
1462 * config/tc-xtensa.c (xtensa_mark_literal_pool_location): Record frag
1463 in the literal_frag field.
1464 (xtensa_move_literals): Use it here instead of searching. Update
1465 literal_frag field with new value.
1469 * config/tc-arm.c (do_t_mov_cmp): Handle shift by register and
1470 narrow shift by immediate.
1474 * Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.
1476 * acinclude.m4: Don't include m4 files.
1477 (BFD_BINARY_FOPEN): Removed.
1478 Remove libtool kludge.
1480 * Makefile.in: Regenerated.
1481 * doc/Makefile.in: Likewise.
1482 * aclocal.m4: Likewise.
1483 * configure: Likewise.
1488 * config/tc-xtensa.c (XTENSA_PROP_INSN_NO_TRANSFORM): Renamed to...
1489 (XTENSA_PROP_NO_TRANSFORM): ...this.
1490 (frag_flags_struct): Move is_no_transform out of the insn sub-struct.
1491 (xtensa_mark_frags_for_org): New.
1492 (xtensa_handle_align): Set RELAX_ORG frag subtype for rs_org.
1493 (xtensa_post_relax_hook): Call xtensa_mark_frags_for_org.
1494 (get_frag_property_flags): Adjust reference to is_no_transform flag.
1495 (xtensa_frag_flags_combinable): Likewise.
1496 (frag_flags_to_number): Likewise. Use XTENSA_PROP_NO_TRANSFORM.
1497 * config/tc-xtensa.h (xtensa_relax_statesE): Add RELAX_ORG.
1501 * config/tc-arm.c (s_align): Pad code sections appropriately.
1505 * config/tc-arm.c (insns): Correct Thumb-2 ldrd/strd opcodes.
1510 * config/tc-sparc.c (sparc_ip): Terminate tls_ops array.
1514 * config/tc-spu.c (spu_cons): Use deferred_expression. Handle
1516 (tc_gen_reloc): Abort if neither addsy or subsy is set.
1517 (md_apply_fix): Don't attempt to resolve SPU_PPU relocs.
1518 * config/tc-spu.h (md_operand): Handle @ppu without sym.
1522 * config/tc-arm.c (insns): Allow strex on M profile cores.
1528 * config/tc-sparc.c (md_apply_fix): Fix relocation overflow checks
1529 for BFD_RELOC_SPARC_WDISP16 and BFD_RELOC_SPARC_WDISP19.
1533 * config/tc-spu.h: Wrap in #ifndef/#endif. Delete coff macros.
1537 * config/tc-ppc.c: Convert to ISO C.
1538 * config/tc-ppc.c: Likewise.
1542 * write.h (EXEC_MACHINE_TYPE): Delete.
1543 (string_byte_count, section_alignment): Delete.
1547 * app.c (do_scrub_chars): Cope with \ at end of buffer.
1551 * config/tc-ppc.c (ppc_insert_operand): Truncate sign bits in
1552 top 32 bits of 64 bit value if so doing results in passing
1553 range check. Rewrite sign extension fudges similarly. Enable
1554 fudges for powerpc64 too. Report user value if range check
1555 fails rather than fudged value. Negate PPC_OPERAND_NEGATIVE
1556 range rather than value, also to report user value on failure.
1560 * config/tc-arm.c (T2_SUBS_PC_LR): Define.
1561 (do_t_add_sub): Correctly encode subs pc, lr, #const.
1562 (do_t_mov_cmp): Correctly encode movs pc, lr.
1566 * Makefile.in: Regnerate.
1567 * configure: Regenerate.
1568 * aclocal.m4: Regenerate.
1569 * doc/Makefile.in: Regenerate.
1573 * doc/c-xtensa.texi (Xtensa Automatic Alignment): Remove statements
1574 and index entries about automatic alignment of ENTRY instructions.
1578 * doc/as.texinfo: Use @copying around the copyright notice.
1582 * config/tc-mips.c (s_mipsset): Use generic s_set for directives
1589 * doc/as.texinfo: Document new directives: .cfi_restore,
1590 .cfi_undefined, .cfi_same_value, .cfi_return_column,
1591 .cfi_remember_state and .cfi_restore_state.
1595 * config/tc-m68k.c (md_apply_fix): Show value of out of range
1596 fixups in error message.
1597 (md_conver_frag_1): Propagate the fix source location and use
1598 as_bad_where rather than fatal, for better error messages.
1602 * config/tc-arm.c (v7m_psrs): Add uppercase PSR names and xpsr.
1606 * app.c (do_scrub_chars): Don't damage \@ pseudo-variables.
1611 * config/tc-m68k.c (relaxable_symbol): Make sure that the correct
1612 addend is stored for relocs against weak symbols.
1613 (md_apply_fix): So not loose track of addend for relocs against
1618 * config/tc-mips.c (md_parse_option): Fix parsing of -O option.
1622 * config/tc-score.c (data_op2, validate_immediate): Fix bug for
1623 addri, addri.c, subi, and subi.c when immediate number is hex.
1624 (score_insns): Remove subis and subis.c.
1625 (do_sub_rdi16): Delete.
1629 * config/tc-spu.c (md_pseudo_table): Add int, long, quad. Call
1631 (md_assemble): Tidy use of insn.flag.
1632 (get_imm): Likewise. Handle uppercase input too.
1633 (spu_cons): New function.
1634 * config/tc-spu.h (tc_fix_adjustable): Don't adjust SPU_PPU relocs.
1635 (TC_FORCE_RELOCATION): Don't resolve them either.
1639 * config/tc-arm.c (md_apply_fix): Generate more accurate
1640 diagnostic when 8-bit immediate range is exceeded for
1641 BFD_RELOC_ARM_OFFSET_IMM8.
1646 * config/tc-i386.c (lex_got): Don't replace the reloc token with
1647 a space if we already have a space.
1651 * config/tc-i386.c (match_template): Don't explicitly check
1652 suffix for crc32 in Intel mode.
1653 (process_suffix): Issue an error for crc32 if the operand size
1660 * config/tc-m68k.c (relaxable_symbol): Do not relax weak symbols.
1661 (tc_gen_reloc): Adjust the addend of relocs against weak symbols.
1662 (md_apply_fix): Put zero values into the frags referencing weak
1668 * config/tc-ppc.c (ppc_insert_operand): Don't increase min for
1673 * config/tc-i386.c (match_template): Check suffix for crc32 in
1675 (process_suffix): Default the suffix of 8bit crc32 to
1677 (check_byte_reg): Skip check for 8bit crc32.
1681 * config/tc-i386.c (md_assemble): Use register_prefix in
1682 error/warning message.
1683 (check_byte_reg): Likewise.
1684 (check_long_reg): Likewise.
1685 (check_qword_reg): Likewise.
1686 (check_word_reg): Likewise.
1687 (process_operands): Likewise.
1692 * config/tc-ppc.c (ppc_insert_operand): Disable range check if
1697 * config/tc-mips.c: Fix comment.
1701 * config/tc-avr.c (mcu_types): Add support for atmega8hva and
1702 atmega16hva devices. Move at90usb82 device to 'avr5' architecture.
1703 * doc/c-avr.texi: Document new devices.
1707 * Makefile.am: Run "make dep-am".
1708 * Makefile.in: Regenerate.
1712 * config/tc-m68k.c (mcf54455_ctrl): New.
1713 (HAVE_LONG_DISP, HAVE_LONG_CALL, HAVE_LONG_COND): New.
1714 (m68k_archs): Add isac.
1715 (m68k_cpus): Add 54455 family.
1716 (m68k_ip): Split Bg into Bb, Bs, Bg.
1717 (m68k_elf_final_processing): Add ISA_C.
1718 * doc/c-m68k.texi (M680x0 Options): Add isac.
1722 * read.c (read_a_source_file): Skip multiple spaces to
1723 cover hack in mmix md_start_line_hook which overwrites a
1724 colon with a space. Delete sermon and needless assertion.
1728 * config/atof-vax.c (atof_vax_sizeof): Change return type to unsigned.
1729 (md_atof): Make number_of_chars unsigned. Revert last change.
1730 * config/tc-or32.c (md_apply_fix): Delete bogus assertions.
1731 * config/tc-sh.c (sh_optimize_expr): Only define for OBJ_ELF.
1732 * config/tc-sh.h (md_optimize_expr): Likewise.
1733 * config/tc-sh64.c (shmedia_md_pcrel_from_section): Delete bogus
1735 * config/tc-xtensa.c (convert_frag_immed_finish_loop): Likewise.
1739 * config/atof-vax.c (md_atof): Fix comparison inside know().
1741 * config/tc-ia64.c (emit_one_bundle): Fix typo.
1745 * expr.c (expr): Assert on rankarg, not rank which can be unsigned.
1746 * read.c (read_a_source_file): Remove buffer_limit[-1] assertion.
1747 Don't skip over NUL char.
1748 (pseudo_set): Set X_op for registers to O_register.
1749 * symbols.c (symbol_clone): Remove assertion that sym is defined.
1750 (resolve_symbol_value): Resolve O_register symbols.
1751 * config/tc-i386.c (parse_real_register): Don't use i386_float_regtab.
1752 Instead find st(0) by hash lookup.
1753 * config/tc-ppc.c (ppc_macro): Warning fix.
1755 * as.h (ENABLE_CHECKING): Default define to 0.
1756 (know): Assert if ENABLE_CHECKING.
1757 (struct relax_type): Remove superfluous declaration.
1758 * configure.in (--enable-checking): New.
1759 * configure: Regenerate.
1760 * config.in: Regenerate.
1761 * config/tc-ppc.c (ppc_setup_opcodes): Do checks when ENABLE_CHECKING.
1762 Check for duplicate powerpc_operands entries.
1766 * config/tc-m68k.c (mcf5253_ctrl): New.
1767 (mcf52223_ctrl): New.
1768 (m68k_cpus): Add 5253, 52221, 52223.
1770 * config/m68k-parse.h (RAMBAR_ALT): New.
1771 * config/tc-m68k.c (mcf5206_ctrl, mcf5307_ctrl): New.
1772 (mcf_ctrl, mcf5208_ctrl, mcf5210a_ctrl, mcf5213_ctrl, mcf52235_ctrl,
1773 mcf5225_ctrl, mcf5235_ctrl, mcf5271_ctrl, mcf5275_ctrl,
1774 mcf5282_ctrl, mcf5329_ctrl, mcf5373_ctrl, mcfv4e_ctrl,
1775 mcf5475_ctrl, mcf5485_ctrl): Add RAMBAR synonym for
1777 (mcf5272_ctrl): Add RAMBAR0, replace add RAMBAR with RAMBAR_ALT.
1778 (m68k_cpus): Adjust 5206, 5206e & 5307 entries.
1779 (m68k_ip) <Case J>: Detect when RAMBAR_ALT should be used. Add it
1780 to control register mapping.
1784 * messages.c (as_internal_value_out_of_range): Fix typo in
1785 error message. Return after printing domain error.
1786 * config/tc-ppc.c (ppc_insert_operand): Preserve low zero bits
1787 in max when shifting right.
1791 * messages.c (as_internal_value_out_of_range): Extend to report
1792 errors for values with invalid low bits set.
1793 * config/tc-ppc.c (ppc_setup_opcodes): Check powerpc_operands bitm
1794 fields. Check that operands and opcode fields are disjoint.
1795 (ppc_insert_operand): Check operands using mask rather than bit
1796 count. Check low bits too. Handle PPC_OPERAND_PLUS1. Adjust
1798 (md_apply_fix): Adjust for struct powerpc_operand change.
1802 * config/tc-arm.c (md_assemble): Only allow 16-bit instructions on
1803 Thumb-1. Add sanity check for bogus relaxations.
1807 * config/tc-arm.c (insns): Allow rsb and rsbs on Thumb-1.
1811 * Makefile.am: Run "make dep-am".
1812 * Makefile.in: Regenerate.
1816 * doc/c-ppc.texi (PowerPC-Opts): Document -me500, -me500x2, -mspe.
1820 * doc/c-i386.texi; Document .ssse3, .sse4.1, .sse4.2 and .sse4.
1824 * config/tc-i386.c (cpu_arch): Add .sse4.2 and .sse4.
1825 (match_template): Handle operand size for crc32 in SSE4.2.
1826 (process_suffix): Handle operand type for crc32 in SSE4.2.
1827 (output_insn): Support SSE4.2.
1831 * config/tc-i386.c (cpu_arch): Add .sse4.1.
1832 (process_operands): Adjust implicit operand for blendvpd,
1833 blendvps and pblendvb in SSE4.1.
1834 (output_insn): Support SSE4.1.
1838 * config/tc-arm.c (do_t_rsb): Use 16-bit encoding when possible.
1842 * config/tc-sh.c (sh_handle_align): Call as_bad_where instead
1843 of as_warn_where for misaligned data.
1847 * config/tc-sh.c (align_test_frag_offset_fixed_p): Handle
1852 * Makefile.am: Add ACLOCAL_AMFLAGS.
1853 * Makefile.in: Regenerate.
1857 * config/tc-sh.c (align_test_frag_offset_fixed_p): New.
1858 (sh_optimize_expr): Likewise.
1859 * config/tc-sh.h (md_optimize_expr): Define.
1860 (sh_optimize_expr): Prototype.
1864 * config/tc-vax.c (vax_cons): Added to support %pcrel{8,16,32}(exp)
1865 to emit pcrel relocations by DWARF2 in non-code sections. Borrowed
1866 heavily from tc-sparc.c. (vax_cons_fix_new): Likewise.
1870 * config/tc-m68k.c (HAVE_LONG_BRANCH): Add fido_a.
1874 * config/tc-arm.c (do_neon_ext): Enforce immediate range.
1875 (insns): Use I15 for vext.
1879 * configure.tgt: Loosen checks for arm uclinux eabi targets.
1883 * config/tc-xtensa.c (xtensa_flush_pending_output): Check
1884 outputting_stabs_line_debug.
1888 * config/tc-avr.c (mcu_types): Add support for at90pwm1, at90usb82,
1889 at90usb162, atmega325p, atmega329p, atmega3250p and atmega3290p
1891 * doc/c-avr.texi: Document new devices.
1895 * doc/as.texinfo: Add -mvxworks-pic to the list of MIPS options.
1896 * doc/c-mips.texi (-KPIC, -mvxworks-pic): Document.
1897 * config/tc-mips.c (md_show_usage): Mention -mvxworks-pic.
1902 * config/tc-xtensa.c (xtensa_move_labels): Remove loops_ok argument.
1903 Do not check is_loop_target flag.
1904 (xtensa_frob_label): Adjust calls to xtensa_move_labels.
1905 (xg_assemble_vliw_tokens): Likewise. Also avoid calling
1906 xtensa_move_labels for alignment of loop opcodes.
1910 * config/tc-i386.c (process_suffix): Reindent a bit.
1914 * config/tc-arm.c (encode_thumb2_ldmstm): New function.
1915 (do_t_ldmstm): Generate 16-bit push/pop. Use encode_thumb2_ldmstm.
1916 (do_t_push_pop): Use encode_thumb2_ldmstm.
1920 * config/tc-m32c.c (rl_for, relaxable): Protect argument.
1921 (md_relax_table): Add entries for ADJNZ macros.
1922 (M32C_Macros): Add ADJNZ macros.
1923 (subtype_mappings): Add entries for ADJNZ macros.
1924 (insn_to_subtype): Check for adjnz and sbjnz insns.
1925 (md_estimate_size_before_relax): Pass insn to insn_to_subtype.
1926 (md_convert_frag): Convert adjnz and sbjnz.
1930 * itbl-ops.c (itbl_entry): Remove unnecessary and excessively long
1932 * itbl-ops.h (enum e_processor): Initialise the e_nprocs field
1933 using ITBL_NUMBER_OF_PROCESSORS.
1934 * itbl-parse.y (yyerror): Remove use of redundant macro PARAMS.
1938 * config/tc-i386.c (build_modrm_byte): For instructions with 2
1939 register operands, encode destination in i.rm.regmem if its
1945 * doc/as.texinfo: Put the contents after the title page rather
1946 than at the end of the document.
1950 * NEWS: Mention ".reloc".
1954 * config/tc-xtensa.c (xg_translate_idioms): Allow assembly idioms
1955 in FLIX instructions.
1959 * config/tc-arm.c (arm_it): Add immisfloat field.
1960 (parse_qfloat_immediate): Disallow integer syntax for floating-point
1961 immediates. Fix hex immediates, handle 0.0 and -0.0 specially.
1962 (parse_neon_mov): Set immisfloat bit for operand if it parsed as a
1964 (neon_cmode_for_move_imm): Reject non-float immediates for float
1966 (neon_move_immediate): Pass immisfloat bit to neon_cmode_for_move_imm.
1970 * doc/c-arm.texi: Add documentation for .dn/.qn directives.
1974 * doc/as.texinfo (Reloc): Document.
1975 * read.c (potable): Add "reloc".
1976 (s_reloc): New function.
1977 * write.c (reloc_list): New global var.
1978 (resolve_reloc_expr_symbols): New function.
1979 (write_object_file): Call it.
1980 (write_relocs): Process reloc_list.
1981 * write.h (struct reloc_list): New.
1982 (reloc_list): Declare.
1986 * config/tc-arm.c (do_t_ldmstm): Error on Thumb-2 addressing modes.
1991 * config/tc-arm.c (operand_parse_code): Add OP_oRRw.
1992 (parse_operands): Don't expect comma if first operand missing.
1994 (do_srs): Encode register number, checking it is r13. Update comment.
1995 (insns): Update SRS entries to take a register.
1999 * config/tc-i386.c (md_begin): Allow '.' in mnemonic.
2003 * config/tc-arm.c (md_apply_fix): Turn CBZ instructions that
2004 attempt to jump to the next instruction into NOPs.
2008 * config/tc-spu.c: Don't include opcode/spu.h.
2009 (md_assemble): Set tc_fix_data.insn_tag and arg_format.
2010 (md_apply_fix): Adjust.
2011 * config/tc-spu.h: Include opcode/spu.h.
2012 (struct tc_fix_info): New.
2013 (TC_FIX_TYPE, TC_INIT_FIX_DATA): Adjust.
2014 (TC_FORCE_RELOCATION): Define.
2018 * doc/as.texinfo: Include VERSION_PACKAGE when reporting version.
2022 * config/tc-i386.c (process_suffix): Check 0x90 instead of
2023 xchg for xchg %rax,%rax.
2027 * config/tc-i386.c: Replace REX_MODE64, REX_EXTX, REX_EXTY
2028 and REX_EXTZ with REX_W, REX_R, REX_X and REX_B respectively.
2033 * config/tc-i386.c (match_template): Properly handle 64bit mode
2039 * config/tc-alpha.c (emit_ustX): Fix ustq code generation.
2043 * Makefile.am: Run dep-am.
2044 * Makefile.in: Regenerated.
2046 * config/tc-i386.c: Don't include "opcodes/i386-opc.h".
2048 * config/tc-i386.h: Include "opcodes/i386-opc.h".
2049 (NOP_OPCODE): Removed.
2050 (template): Likewise.
2054 * config/tc-i386.h (NOP_OPCODE): Restore.
2058 * config/tc-arm.c (do_mul): Don't warn about overlapping
2059 Rd and Rm operands when assembling for v6 or above.
2060 Correctly capitalize register names in the messages.
2061 (do_mlas): Likewise. Delete spurious blank line.
2065 * config/tc-m68k.c (m68k_cpus): Add an entry for fidoa.
2069 * config/tc-i386.c (md_begin): Use i386_regtab_size to scan
2071 (parse_register): Use i386_regtab_size instead of ARRAY_SIZE
2077 * app.c (do_scrub_chars): PUT after setting states.
2081 * Makefile.am: Run "make dep-am".
2082 * Makefile.in: Regenerated.
2084 * config/tc-i386.c: Include "opcodes/i386-opc.h" instead of
2086 (md_begin): Check reg_name != NULL for the last entry in
2089 * config/tc-i386.h: Move many entries to opcode/i386.h and
2092 * configure.in (need_opcodes): Set true for i386.
2093 * configure: Regenerated.
2097 * Makefile.am (REPORT_BUGS_TO): Removed.
2098 (INCLUDES): Remove -DREPORT_BUGS_TO.
2099 * Makefile.in: Regenerated.
2101 * configure.in (--with-bugurl): Removed.
2102 * configure: Regenerated.
2104 * doc/Makefile.am (as_TEXINFOS): Remove gasver.texi.
2105 (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc.
2106 (TEXI2DVI): Likewise.
2107 (gasver.texi): Removed.
2108 (MOSTLYCLEANFILES): Remove gasver.texi.
2109 (as.1): Don't depend on gasver.texi.
2110 * doc/Makefile.in: Regenerated.
2112 * doc/as.texi: Include bfdver.texi instead of gasver.texi.
2116 * config/tc-arm.c (arm_copy_symbol_attributes): New.
2117 * config/tc-arm.h (arm_copy_symbol_attributes): Declare.
2118 (TC_COPY_SYMBOL_ATTRIBUTES): Define.
2119 * gas/symbols.c (copy_symbol_attributes): Use
2120 TC_COPY_SYMBOL_ATTRIBUTES.
2124 * config/tc-arm.c (T16_32_TAB): Fix dec_sp encoding.
2129 * write.c (relax_segment): Insert extra alignment padding
2130 to break infinite relax loop when given impossible
2131 gcc_except_table assembly.
2135 * config/tc-i386.c (md_assemble): Use Opcode_XXX instead of XXX
2136 on i.tm.base_opcode.
2137 (match_template): Likewise.
2138 (process_operands): Use ~0x3 mask to match MOV_AX_DISP32.
2140 * config/tc-i386.h (Opcode_D): New.
2141 (Opcode_FloatR): Likewise.
2142 (Opcode_FloatD): Likewise.
2145 (FloatMF): Likewise.
2151 * app.c (do_scrub_chars): Recognize comments after # line "file".
2152 * read.c (get_linefile_number): New.
2153 (s_app_line): Accept ill-formed .linefile lines as comments.
2157 * config/tc-i386.h (WORKING_DOT_WORD): Define.
2161 * app.c (do_scrub_chars): Turn #<line>"file"flags into .linefile.
2162 * as.h (new_logical_line_flags): New.
2163 * input-scrub.c (new_logical_line): Turned into wrapper for...
2164 (new_logical_line_flags): this. Handle flags.
2165 * read.c (potable): Add linefile. Adjust appline argument.
2166 (s_app_file): Fake .appfiles no more.
2167 (s_app_line): For .linefile, accept file name and flags.
2171 * symbols.c (symbol_relc_make_sym): Comment typo fixes.
2175 * Makefile.am: Run "make dep-am".
2176 * Makefile.in: Regenerate.
2177 * po/POTFILES.in: Regenerate.
2181 * configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of
2183 * doc/Makefile.am (gasver.texi): Define BUGURL.
2184 * doc/as.texinfo: Use BUGURL.
2185 * Makefile.in, configure, doc/Makefile.in: Regenerate.
2189 * config/tc-s390.c (md_parse_option): z9-ec option added.
2193 * config/tc-arm.c (relax_immediate): Always return positive values.
2194 (relaxed_symbol_addr): New function.
2195 (relax_adr, relax_branch): Use it.
2196 (arm_relax_frag): Pass strect argument. Adjust infinite loop check.
2200 * as.c (parse_args): Update copyright date.
2204 * configure.tgt (sh-*-uclinux, sh[12]-*-uclinux): Specify as elf.
2209 * config/tc-d10v.c (do_assemble): Do not generate error messages,
2210 just return -1 whenever a problem is encountered.
2211 (md_assemble): If do_assemble returns -1 generate a non-fatal
2212 error message and return.
2215 * config/tc-msp430.c (line_separator_char): Change to '{'.
2219 * config/tc-m68hc11.c (fixup24): Correct fixup size.
2220 (build_jump_insn): Likewise.
2221 (build_insn): Likewise.
2222 (s_m68hc11_relax): Likewise.
2226 * config/obj-elf.c (elf_frob_file): frag_wane any new frags.
2230 * config/tc-arm.c (do_vfp_nsyn_pop): Use fldmias/fldmiad.
2234 * config/tc-mn10300.c (md_convert_frag): Correct fixup size.
2235 (md_assemble): Likewise.
2239 * write.c (size_seg): Always clear SEC_RELOC here.
2240 (install_reloc): New function, extracted from..
2241 (write_relocs): ..here. Combine RELOC_EXPANSION_POSSIBLE code
2242 with !RELOC_EXPANSION_POSSIBLE code. Don't add fr_offset when
2243 testing frag size. Set SEC_RELOC here.
2248 * config/tc-avr.h (TC_FX_SIZE_SLACK): Define.
2252 * doc/c-mips.texi: Document 74kc, 74kf, 74kx.
2256 * config/tc-mips.c (mips_cpu_info_table): Add 74K configurations.
2261 * config/tc-mips.c (mips_set_options, mips_opts, file_ase_dspr2,
2262 ISA_SUPPORTS_DSPR2_ASE, MIPS_CPU_ASE_DSPR2): Add DSP R2 ASE support.
2263 (macro_build): Add case '2'.
2264 (macro): Expand M_BALIGN to nop, packrl.ph or balign.
2265 (validate_mips_insn): Add support for balign instruction.
2266 (mips_ip): Handle DSP R2 instructions. Support balign instruction.
2267 (OPTION_DSPR2, OPTION_NO_DSPR2, OPTION_COMPAT_ARCH_BASE,
2268 md_parse_option, mips_after_parse_args): Add -mdspr2 and -mno-dspr2
2269 command line options.
2270 (s_mipsset): Add support for .set dspr2 and .set nodspr2 directives.
2271 (md_show_usage): Add -mdspr2 and -mno-dspr2 help output.
2272 * doc/c-mips.texi, doc/as.texinfo: Document -mdspr2, -mno-dspr2,
2273 .set dspr2, .set nodspr2.
2277 * config/tc-m68k.c (mcf5210a_ctrl, mcf52235_ctrl, mcf5225_ctrl): New.
2278 (m68k_cpus): Add 5210a..5211a, 52230..52235 5224..5225.
2282 * write.c (TC_FX_SIZE_SLACK): Define.
2283 (write_relocs): Reinstate check for fixup within frag.
2284 * config/tc-bfin.h (TC_FX_SIZE_SLACK): Define.
2285 * config/tc-h8300.h (TC_FX_SIZE_SLACK): Define.
2286 * config/tc-mmix.h (TC_FX_SIZE_SLACK): Define.
2287 * config/tc-sh.h (TC_FX_SIZE_SLACK): Define.
2288 * config/tc-xstormy16.h (TC_FX_SIZE_SLACK): Define.
2295 * configure.in (--with-bugurl): New option.
2296 * configure: Regenerate.
2297 * dep-in.sed: Remove bin-bugs.h.
2298 * Makefile.am (REPORT_BUGS_TO): Define.
2299 (INCLUDES): Define REPORT_BUGS_TO.
2300 (DEP_INCLUDES): Likewise.
2301 ($(OBJS)): No longer depend on bin-bugs.h.
2302 * Makefile.in: Regenerate.
2303 * doc/Makefile.in: Regenerate.
2304 * as.c (show_usage): Don't print empty REPORT_BUGS_TO.
2305 * as.h: Remove include of bin-bugs.h.
2309 * write.c: White space fixes.
2310 (fixup_segment): Move symbol_mri_common_p adjustments..
2311 (write_relocs): ..and symbol_equated_reloc_p adjustments..
2312 (adjust_reloc_syms): ..to here.
2316 * subsegs.c (subseg_change, subseg_get): Use xcalloc rather than
2317 xmalloc, memset. Don't bother assigning NULL to known zero mem.
2318 (subseg_set_rest): Remove unnecessary cast.
2319 * write.c: Include libbfd.h. Replace PTR with void * throughout.
2320 Remove unnecessary forward declarations and casts.
2321 (set_symtab): Delete extern bfd_alloc.
2322 (fixup_segment): Move.
2326 * config/m68k-parse.h (m68k_register): Add ROMBAR0, ASID.
2327 * config/tc-m68k.c (mcfv4e_ctrl): Add ColdFire specific names.
2328 (mcf5475_ctrl, mcf5485_ctrl): New.
2329 (m68k_cpus): Use mcf5485_ctrl and mcf5485_ctrl for those families.
2330 (m68k_ip): Add ASID, MMUBAR, ROMBAR0 handling.
2331 (init_table): Add asid, mmubar, adjust rombar0.
2335 * config/tc-i386.h (Seg2ShortForm, Seg3ShortForm): Delete.
2336 * config/tc-i386.c: Wrap overly long lines, whitespace fixes.
2337 (process_operands): Move old Seg2ShortForm and Seg3ShortForm
2338 code, and test for these insns using a combination of
2339 opcode_modifier and operand_types.
2343 * configure.tgt: Add arm*-*-uclinux-*eabi.
2358 * Makefile.am (CPU_TYPES): Add mep.
2359 (TARGET_CPU_CFILES): Add tc-mep.c.
2360 (TARGET_CPU_HFILES): Add tc-mep.h.
2361 (DEPTC_mep_elf): New variable.
2362 (DEPTC_mep_coff): Likewise.
2363 (DEPOBJ_mep_coff, DEPOBJ_mep_elf, DEP_mep_coff, DEP_mep_elf): Likewise.
2364 * configure.in: Support mep.
2365 * configure.tgt: Likewise.
2366 * config/tc-mep.c: New file.
2367 * config/obj-elf.c: New file.
2368 * config/tc-mep.c: New file.
2369 * config/tc-mep.h: New file.
2370 * Makefile.in: Regenerate.
2371 * configure: Regenerate.
2375 * cgen.c (gas_cgen_install_complex_reloc): Removed.
2376 (complex_reloc_installation_howto): Removed.
2385 * symbols.c (use_complex_relocs_for): New, to decide
2386 when to use complex relocs. Add signed RELC support.
2387 (resolve_symbol_value): Call use_complex_relocs_for. Unconditionally
2388 encode expression symbols as mangled complex relocation symbols (when
2389 compiled with -DOBJ_COMPLEX_RELOC).
2390 (symbol_relc_make_sym,value,expr): New traversal/conversion routines.
2391 * cgen.c (gas_cgen_md_apply_fix3): Only set signed_p if RELC. Call
2392 encode_addend with new args. Modify to get start, length from
2393 ifield whenever it is set. Also change condition on which
2394 self-describing relocs are encoded. Add hook into
2395 gas_cgen_encode_addend.
2396 (queue_fixup_recursively): Add signed RELC support. Change from masked
2397 expr to trunc flag. Restore assignment of sub-field value to
2398 temporary in fixups array. Reflect changed meaning of last arg to
2399 queue_fixup_recursively.
2400 (fixup): Add cgen_maybe_multi_ifield member.
2401 (make_right_shifted_expr): New function.
2402 (queue_fixup): Change to recursive function that fragments
2403 fixups if operand has a multi-ifield.
2404 (gas_cgen_parse_operand): Add RELC code to wrap expressions in
2405 symbols, call weak_operand_overflow_check, and fragment call
2406 queue_fixup with operand fields.
2407 (gas_cgen_finish_insn) Modify to manage ifield pointer.
2408 (weak_operand_overflow_check): New function to try to select
2410 (gas_cgen_encode_addend): New function for relc.
2411 (gas_cgen_install_complex_reloc): Likewise.
2412 (gas_cgen_tc_gen_reloc): Add hook into gas_cgen_install_complex_reloc.
2413 * write.h (struct fix): Add msb_field_p to fx_cgen sub-struct. Add
2414 cgen_maybe_multi_ifield field to fx_cgen substructure.
2415 * cgen.h (GAS_CGEN_MAX_FIXUPS): Bump from 3 up to 32.
2416 * symbols.h (symbol_relc_make_sym,value,expr): New prototypes.
2420 * config/tc-m32c.c (m32c_cons_fix_new): New. Added to support 3
2422 * config/tc-m32c.h (TC_CONS_FIX_NEW): Define.
2423 (m32c_cons_fix_new): Prototype.
2427 * config/tc-xtensa.c (xg_build_to_insn): Use tinsn_init.
2428 (xg_expand_assembly_insn, istack_push_space, istack_pop): Likewise.
2432 * config/tc-xtensa.c (SUFFIX_MAP, suffix_relocs): New.
2433 (xtensa_elf_suffix): Use suffix_relocs instead of local mapping table.
2434 (map_suffix_reloc_to_operator): New.
2435 (map_operator_to_reloc): New.
2436 (expression_maybe_register): Fix incorrect test of return value from
2437 xtensa_elf_suffix. Rearrange to use map_suffix_reloc_to_operator.
2438 (xg_assemble_literal, convert_frag_immed): Use map_operator_to_reloc.
2442 * config/xtensa-istack.h (struct tinsn_struct): Delete fixup field.
2443 (tinsn_get_tok): Delete prototype.
2444 * config/tc-xtensa.c (tinsn_get_tok): Delete.
2448 * config/xtensa-relax.h (struct build_instr): Delete id field.
2449 * config/xtensa-relax.c (widen_spec_list): Remove zeros from LITERAL
2451 (append_literal_op, append_label_op): Remove litnum/labnum arguments;
2452 set op_data fields to zero.
2453 (parse_id_constant): Delete.
2454 (build_transition): Remove code to handle numbered literals and labels.
2458 * config/xtensa-relax.c (build_transition): Remove code after as_fatal.
2459 (build_transition_table): Likewise.
2463 * config/tc-xtensa.c (xg_add_opcode_fix, md_apply_fix): Delete use of
2465 * config/tc-xtensa.h (TC_FORCE_RELOCATION_LOCAL): Remove.
2469 * write.h (struct fix <fx_pcrel_adjust, fx_size>): Move.
2470 (struct fix <fx_plt>): Rename to tcbit2.
2471 * write.c (fix_new_internal): Adjust.
2472 (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt.
2473 * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2474 * config/tc-cris.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2475 * config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2476 * config/tc-i960.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2477 * config/tc-sh.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2478 * config/tc-sh64.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2479 * config/tc-sparc.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2480 * config/tc-msp430.c (msp430_force_relocation_local): Likewise.
2481 * config/tc-ia64.c (emit_one_bundle): Don't set fx_plt.
2482 * config/tc-ia64.h (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt.
2483 Instead, compare fx_r_type.
2484 * config/tc-xtensa.c (xg_add_opcode_fix, md_apply_fix): Use
2485 fx_tcbit in place of fx_plt.
2486 * config/tc-xtensa.h (TC_FORCE_RELOCATION_LOCAL): Define.
2487 * doc/internals.texi (TC_FORCE_RELOCATION_LOCAL): Remove reference
2492 * as.c (main): Mark symbols created via the --defsym command line
2493 option as volatile so that they can be overridden later on by a
2494 .set directive. This maintains compatibility with the behaviour
2495 of earlier versions of the assembler.
2496 * doc/as.texinfo (--defsym): Document that the defined symbol's
2497 value can be overridden via a .set directive.
2501 * config/tc-i386.c (swap_imm_operands): Renamed to ...
2502 (swap_2_operands): This. Take 2 ints.
2503 (md_assemble): Updated.
2504 (swap_operands): Call swap_2_operands to swap 2 operands.
2508 * config/tc-m32c.c (md_pseudo_table): Add .3byte.
2513 * tc-score.c: Remove unnecessary uses of _().
2514 Make the err_msg[] a file level local array in order to save
2516 Remove unnecessary sprintf()s.
2521 * config/tc-score.c : Using _() for const string.
2522 Do not assign inst.error with a local string pointer.
2523 (md_section_align): Pad section.
2527 * config/tc-i386.c (build_modrm_byte): Check number of operands
2528 when procssing memory/register operand.
2533 * macro.c (expand_irp): Do not ignore spaces inside quoted
2538 * config/tc-spu.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
2539 * config/tc-m32r.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
2540 * config/tc-mn10300.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
2541 (TC_FORCE_RELOCATION): Define.
2542 (TC_FORCE_RELOCATION_LOCAL): Define.
2543 * config/tc-mn10300.c (mn10300_fix_adjustable): Adjust.
2547 * input-file.c (input_file_open): Check fgets return.
2551 * config/tc-arm.c (do_t_add_sub): Use Rd and Rs.
2556 * config/tc-arm.c (md_begin): Cope with an NULL mcpu_fpu_opt
2559 * config/tc-mcore.c (md_number_to_chars): Use
2560 number_to_chars_{big|little}endian.
2564 * config/tc-m68k.c (m68k_archs, m68k_cpus): Treat Fido as an
2565 architecture by itself.
2566 (m68k_ip): Don't issue a warning for tbl instructions on fido.
2567 (m68k_elf_final_processing): Treat Fido as an architecture by
2572 * configure.tgt: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*
2576 * config/tc-i386.c (set_intel_syntax): Update set_intel_syntax
2577 depending on allow_naked_reg.
2581 * config/tc-arm.c (do_cpsi): Set mmod bit for 2 argument form.
2586 * config/tc-i386.c (register_prefix): New.
2587 (set_intel_syntax): Set set_intel_syntax to "" if register
2588 prefix isn't needed.
2589 (check_byte_reg): Use register_prefix for error message.
2590 (check_long_reg): Likewise.
2591 (check_qword_reg): Likewise.
2592 (check_word_reg): Likewise.
2596 * config/tc-arm.c (do_neon_shl_imm): Swap rN, rM.
2597 (do_neon_qshl_imm): Likewise.
2598 (do_neon_rshl): New function. Handle rounding variants of
2599 v{q}shl-by-register.
2600 (insns): Use do_neon_rshl for vrshl, vqrshl.
2604 * config/tc-arm.c (NEON_ENC_TAB): Fix encoding of vclt, vcle, vaclt
2609 * config/tc-i386.c (swap_operands): Remove branches.
2613 * config/tc-i386.c: Update copyright year.
2614 * config/tc-i386.h: Likewise.
2618 * config/tc-i386.c (smallest_imm_type): Return unsigned int
2623 * config/tc-i386.c: Convert to ISO C90 formatting
2624 * config/tc-i386.h: Likewise.
2628 * config/tc-mips.c (md_show_usage): Clean up -mno-shared
2631 For older changes see ChangeLog-2006
2637 version-control: never