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.
1132 * testsuite/gas/ppc/ppc.exp: Run ppc70ps dump tests.
1133 * testsuite/gas/ppc/ppc750ps.s: New file.
1134 * testsuite/gas/ppc/ppc750ps.d: Likewise.
1138 * doc/c-arm.texi (ARM Directives): Move brackets out of @vars.
1143 * config/tc-i386.c (x86_cons): Complain about invalid @got etc.
1145 (i386_immediate): Detect and complain about more cases of
1146 invalid immediate expressions. Return failure rather than
1147 converting them to zero.
1148 (i386_displacement): Likewise.
1152 * po/Make-in: Add --msgid-bugs-address to xgettext invocation.
1156 * config/tc-ia64.c (tc_gen_reloc): Return NULL if relocation is
1161 * doc/Makefile.am (AM_MAKEINFOFLAGS, TEXI2DVI): Include
1162 $(top_srcdir)/../../bfd/doc.
1163 * doc/Makefile.in: Regenerate.
1167 * NEWS: Add a marker for the 2.18 features.
1171 * config/tc-arm.c (relaxed_symbol_addr): Compensate for alignment.
1175 * config/tc-i386.c (check_byte_reg): Support pextrb and pinsrb.
1179 * config/tc-i386.c (check_long_reg): Allow cvtss2si to convert
1180 DWORD memory to Reg64 in Intel synax.
1181 (check_qword_reg): Allow cvtsd2si to convert QWORD memory to
1182 Reg32 in Intel syntax.
1186 * config/tc-xtensa.c (xtensa_extui_opcode): New.
1187 (xg_expand_assembly_insn): Check for invalid extui operands.
1188 (md_begin): Initialize xtensa_extui_opcode.
1192 * config/tc-mep.h (skip_whitespace): Remove definition.
1196 * config/tc-i386.c (cpu_arch): Change i386 to PROCESSOR_I386.
1199 (f32_patt): Remove f32_15.
1200 (f16_patt): Likewise.
1201 (i386_align_code): Updated to alt_long_patt for 64bit by
1204 * config/tc-i386.h (processor_type): Add PROCESSOR_I386.
1208 * config/tc-i386.c (i386_align_code): Enable alignment up to
1209 MAX_MEM_FOR_RS_ALIGN_CODE bytes. Remove special treatment
1212 * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Changed to 31.
1216 * app.c (do_scrub_chars): Provide a one character buffer to hold a
1217 pushed back newline at the end of an unterminated quoted string.
1221 * config/tc-arm.c (create_register_alias): Return a boolean rather
1223 Check the return value of insert_reg_alias and do not continue to
1224 create aliases once an insertion has failed.
1225 (s_unreq): Delete the all-upper-case and all-lower-case
1226 alternatives as well.
1230 * symbols.c: Print bfd_hostptr_t to file via fprintf_vma.
1231 * write.c: Likewise.
1235 * config/tc-mips.c (mips_dwarf2_format, mips_dwarf2_addr_size): Use
1240 * config/tc-mips.c (mips_cpu_info_table): Add new entries for
1241 {24k,24ke,34k,74k}f{2_1,1_1,x}. Also add an entry for 74kf3_2.
1242 Deprecate *x and *fx.
1243 * doc/c-mips.texi: Document the new CPU arguments. Deprecate
1248 * config/obj-coff.h (x86_64_target_format): Renamed to ...
1249 (i386_target_format): This
1250 (TARGET_FORMAT): Use i386_target_format.
1252 * config/tc-i386.c (x86_64_target_format): Removed.
1253 (i386_target_format): Handle PE formats.
1257 * symbols.c (symbol_relc_make_value): Use bfd_sprintf_vma in order
1258 to get the right length of printed value.
1262 * COPYING: Replace with GPLv3 text.
1263 * app.c: Update copyright notice to refer to GPLv3.
1264 * as.c, as.h, asintl.h, atof_generic.c, bignum.h, bit_fix.h,
1265 cgen.c, cond.c, debug.c, depend.c, dw2gencfi.c, dw2gencfi.h,
1266 dwarf2dbg.c, dwarf2dbg.h, ecoff.c, ecoff.h, ehopt.c, emul.h,
1267 emul_target.h, expr.c, expr.h, flonum-copy.c, flonum.h,
1268 flonum-konst.c, frags.c, frags.h, hash.c, hash.h, input-file.c,
1269 input-file.h, input-scrub.c, ibtl-lex.h, itbl-lex.l, itbl-ops.c,
1270 itbl-ops.h, itbl-parse.y, listing.c, listing.h, literal.c,
1271 macro.c, messages.c, obj.h, output-file.c, output-file.h, read.c,
1272 read.h, sb.c, sb,h, stabs.c, struc-symbol.h, subsegs.c, subsegs.h,
1273 symbols.c, symbols.h, tc.h, write.c, write.h, config/aout_gnu.h,
1274 config/config/atof-ieee.c, config/atof-vax.c, config/bfin-aux.h,
1275 config/bfin-defs.h, config/bfin-lex.l, config/bfin-parse.y,
1276 config/itbl-mips.h, config/m68k-parse.h, config/m68k-parse.y,
1277 config/obj-aout.c, config/obj-aout.h, config/obj-coff.c,
1278 config/obj-coff.h, config/obj-ecoff.c, config/obj-ecoff.h,
1279 config/obj-elf.c, config/obj-elf.h, config/obj-evax.c,
1280 config/obj-evax.h, config/obj-multi.h, config/obj-som.c,
1281 config/obj-som.h, config/tc-alpha.c, config/tc-alpha.h,
1282 config/tc-arc.c, config/tc-arc.h, config/tc-arm.c,
1283 config/tc-arm.h, config/tc-avr.c, config/tc-avr.h,
1284 config/tc-bfin.c, config/tc-bfin.h, config/tc-cr16.c,
1285 config/tc-cr16.h, config/tc-cris.c, config/tc-cris.h,
1286 config/tc-crx.c, config/tc-crx.h, config/tc-d10v.c,
1287 config/tc-d10v.h, config/tc-d30v.c, config/tc-d30v.h,
1288 config/tc-dlx.c, config/tc-dlx.h, config/tc-fr30.c,
1289 config/tc-fr30.h, config/tc-frv.c, config/tc-frv.h,
1290 config/tc-generic.c, config/tc-generic.h, config/tc-h8300.c,
1291 config/tc-h8300.h, config/tc-hppa.c, config/tc-hppa.h,
1292 config/tc-i370.c, config/tc-i370.h, config/tc-i386.c,
1293 config/tc-i386.h, config/tc-i860.c, config/tc-i860.h,
1294 config/tc-i960.c, config/tc-i960.h, config/tc-ia64.c,
1295 config/tc-ia64.h, config/tc-ip2k.c, config/tc-ip2k.h,
1296 config/tc-iq2000.c, config/tc-iq2000.h, config/tc-m32c.c,
1297 config/tc-m32c.h, config/tc-m32r.c, config/tc-m32r.h,
1298 config/tc-m68hc11.c, config/tc-m68hc11.h, config/tc-m68k.c,
1299 config/tc-m68k.h, config/tc-maxq.c, config/tc-maxq.h,
1300 config/tc-mcore.c, config/tc-mcore.h, config/tc-mep.c,
1301 config/tc-mep.h, config/tc-mips.c, config/tc-mips.h,
1302 config/tc-mmix.c, config/tc-mmix.h, config/tc-mn10200.c,
1303 config/tc-mn10200.h, config/tc-mn10300.c, config/tc-mn10300.h,
1304 config/tc-msp430.c, config/tc-msp430.h, config/tc-mt.c,
1305 config/tc-mt.h, config/tc-ns32k.c, config/tc-ms32k.h,
1306 config/tc-openrisc.c, config/tc-openrisc.h, config/tc-or32.c,
1307 config/tc-or32.h, config/tc-pdp11.c, config/tc-pdp11.h,
1308 config/tc-pj.c, config/tc-pj.h, config/tc-ppc.c, config/tc-ppc.h,
1309 config/tc-s390.c, config/tc-s390.h, config/tc-score.c,
1310 config/tc-score.h, config/tc-sh64.c, config/tc-sh64.h,
1311 config/tc-sh.c, config/tc-sh.h, config/tc-sparc.c,
1312 config/tc-sparc.h, config/tc-spu.c, config/tc-spu.h,
1313 config/tc-tic30.c, config/tc-tic30.h, config/tc-tic4x.c,
1314 config/tc-tic4x.h, config/tc-tic54x.c, config/tc-tic54x.h,
1315 config/tc-v850.c, config/tc-v850.h, config/tc-vax.c,
1316 config/tc-vax.h, config/tc-xc16x.c, config/tc-x16x.h,
1317 config/tc-xstormy16.c, config/tc-xstormy16.h, config/tc-xtensa.c,
1318 config/tc-xtensa.h, config/tc-z80.c, config/tc-z80.h,
1319 config/tc-z8k.c, config/tc-z8k.h, config/te-386bsd.h,
1320 config/te-freebsd.h, config/te-hppa.h, config/te-irix.h,
1321 config/te-netware.h, config/te-sparcaout.h, config/te-tmips.h,
1322 config/te-vxworks.h, config/vax-inst.h, config/xtensa-istack.h,
1323 config/xtensa-relax.c, config/xtensa-relax.h: Likewise.
1325 * flonum-mult.c: Likewise, and also correct typo referring to
1326 non-existant GNU Assembler General Public License.
1327 * config/tc-m68851.h: Likewise.
1328 * NEWS: Mention the new license. Also note where the 2.17 release
1330 * config/e-crisaout.c: Add copyright header.
1331 * config/e-criself.c, config/e-i386aout.c, config/e-i386coff.c,
1332 config/e-i386elf.c, config/e-mipscoff.c, config/e-mipself.c,
1333 config/obj-multi.c, config/te-aix5.h, config/te-armeabi.h,
1334 config/te-armlinuxeabi.h, config/te-dynix.h, config/te-epoc-pe.h,
1335 config/te-generic.h, config/te-gnu.h, config/te-go32.h,
1336 config/te-hppa64.h, config/te-hppalinux64.h, config/te-hpux.h,
1337 config/te-i386aix.h, config/te-ia64aix.h, config/te-interix.h,
1338 config/te-linux.h, config/te-lnews.h, config/te-lynx.h,
1339 config/te-mach.h, config/te-macos.h, config/te-nbsd532.h,
1340 config/te-nbsd.h, config/te-pc532mach.h, config/te-pe.h,
1341 config/te-pep.h, config/te-psos.h, config/te-riscix.h,
1342 config/te-sun3.h, config/te-svr4.h, config/te-symbian.h,
1343 config/te-wince-pe.h: Likewise.
1347 * config/tc-m68k.c (m68k_ip): Add j & K operand types.
1348 (install_operand): Add E encoding.
1349 (md_begin): Check and skip initial '.' arg character.
1350 (get_num): Add 0..511 case.
1355 * config/obj-elf.c (elf_ecoff_set_ext): Make static when OBJ_MAYBE_ELF.
1356 * config/obj-elf.h (obj_ecoff_set_ext): Comment.
1361 * app.c (do_scrub_chars <state 5>): Check for output buffer full
1366 * config/tc-mips.c (s_dtprelword, s_dtpreldword,
1367 s_dtprel_internal): New.
1368 (mips_pseudo_table): Add .dtprelword and .dtpreldword.
1369 (md_apply_fix): Handle BFD_RELOC_MIPS_TLS_DTPREL32 and
1370 BFD_RELOC_MIPS_TLS_DTPREL64.
1374 * Makefile.am: Run "make dep-am".
1375 * Makefile.in: Regenerate.
1376 * aclocal.m4: Regenerate.
1377 * config.in: Regenerate.
1378 * doc/Makefile.in: Regenerate.
1379 * po/POTFILES.in: Regenerate.
1380 * po/gas.pot: Regenerate.
1384 * config/tc-ppc.c (ppc_pe_section): Comment out code assigning
1385 coff section flag values to bfd section flag.
1389 * aclocal.m4: Regenerated.
1390 * doc/Makefile.in: Likewise.
1391 * Makefile.in: Likewise.
1395 * as.c (main): Only call create_obj_attrs_section if IS_ELF.
1399 * as.c (create_obj_attrs_section): New.
1400 (main): Call create_obj_attrs_section for ELF.
1401 * read.c (s_gnu_attribute, skip_whitespace, skip_past_char,
1402 skip_past_comma, s_vendor_attribute): New.
1403 (potable): Add gnu_attribute for ELF.
1404 * read.h (s_vendor_attribute): Declare.
1405 * config/tc-arm.c (s_arm_eabi_attribute): Replace by wrapper
1406 round s_vendor_attribute.
1407 (aeabi_set_public_attributes): Update for new attributes
1409 (arm_md_end): Remove attributes contents setting now done
1414 * Makefile.am: Add CR16 related entry.
1415 * Makefile.in: Regenerate.
1416 * config/tc-cr16.h: New file
1417 * config/tc-cr16.c: New file
1418 * doc/c-cr16.texi: New file for cr16
1419 * doc/all.texi: Entry for cr16
1420 * doc/Makefile.am: Added c-cr16.texi
1421 * doc/Makefile.in: Regenerate
1422 * doc/as.texinfo: Entry for CR16 target
1423 * NEWS: Announce the support for the new target.
1427 * config/tc-arm.c (parse_operands): Accept generic coprocessor regs
1429 (reg_names): Add fpinst, pfinst2, mvfr0 and mvfr1.
1433 * config/tc-i386.c (process_operands): Replace regKludge
1438 * config/tc-mips.h (TC_SYMFIELD_TYPE): New.
1439 * config/tc-mips.c (append_insn): Record which symbols have
1440 R_MIPS16_26 relocations against them.
1441 (mips_fix_adjustable): Don't reduce relocations against such symbols.
1445 * config/tc-xtensa.c (xg_assembly_relax): Comment termination rules.
1446 (frag_format_size): Handle RELAX_IMMED_STEP3.
1447 (xtensa_relax_frag, md_convert_frag): Likewise.
1448 * config/tc-xtensa.h (xtensa_relax_statesE): Add RELAX_IMMED_STEP3.
1449 (RELAX_IMMED_MAXSTEPS): Adjust.
1450 * config/xtensa-relax.c (widen_spec_list): Add transitions from
1451 wide branches to branch-over-jumps.
1452 (build_transition): Handle wide branches in transition patterns.
1456 * config/tc-i386.c (disp_size): New.
1457 (imm_size): Likewise.
1458 (output_disp): Use disp_size and imm_size.
1459 (output_imm): Use imm_size.
1463 * config/tc-xtensa.h (struct xtensa_frag_type): Update comment about
1464 use of literal_frag field.
1465 * config/tc-xtensa.c (xtensa_mark_literal_pool_location): Record frag
1466 in the literal_frag field.
1467 (xtensa_move_literals): Use it here instead of searching. Update
1468 literal_frag field with new value.
1472 * config/tc-arm.c (do_t_mov_cmp): Handle shift by register and
1473 narrow shift by immediate.
1477 * Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.
1479 * acinclude.m4: Don't include m4 files.
1480 (BFD_BINARY_FOPEN): Removed.
1481 Remove libtool kludge.
1483 * Makefile.in: Regenerated.
1484 * doc/Makefile.in: Likewise.
1485 * aclocal.m4: Likewise.
1486 * configure: Likewise.
1491 * config/tc-xtensa.c (XTENSA_PROP_INSN_NO_TRANSFORM): Renamed to...
1492 (XTENSA_PROP_NO_TRANSFORM): ...this.
1493 (frag_flags_struct): Move is_no_transform out of the insn sub-struct.
1494 (xtensa_mark_frags_for_org): New.
1495 (xtensa_handle_align): Set RELAX_ORG frag subtype for rs_org.
1496 (xtensa_post_relax_hook): Call xtensa_mark_frags_for_org.
1497 (get_frag_property_flags): Adjust reference to is_no_transform flag.
1498 (xtensa_frag_flags_combinable): Likewise.
1499 (frag_flags_to_number): Likewise. Use XTENSA_PROP_NO_TRANSFORM.
1500 * config/tc-xtensa.h (xtensa_relax_statesE): Add RELAX_ORG.
1504 * config/tc-arm.c (s_align): Pad code sections appropriately.
1508 * config/tc-arm.c (insns): Correct Thumb-2 ldrd/strd opcodes.
1513 * config/tc-sparc.c (sparc_ip): Terminate tls_ops array.
1517 * config/tc-spu.c (spu_cons): Use deferred_expression. Handle
1519 (tc_gen_reloc): Abort if neither addsy or subsy is set.
1520 (md_apply_fix): Don't attempt to resolve SPU_PPU relocs.
1521 * config/tc-spu.h (md_operand): Handle @ppu without sym.
1525 * config/tc-arm.c (insns): Allow strex on M profile cores.
1531 * config/tc-sparc.c (md_apply_fix): Fix relocation overflow checks
1532 for BFD_RELOC_SPARC_WDISP16 and BFD_RELOC_SPARC_WDISP19.
1536 * config/tc-spu.h: Wrap in #ifndef/#endif. Delete coff macros.
1540 * config/tc-ppc.c: Convert to ISO C.
1541 * config/tc-ppc.c: Likewise.
1545 * write.h (EXEC_MACHINE_TYPE): Delete.
1546 (string_byte_count, section_alignment): Delete.
1550 * app.c (do_scrub_chars): Cope with \ at end of buffer.
1554 * config/tc-ppc.c (ppc_insert_operand): Truncate sign bits in
1555 top 32 bits of 64 bit value if so doing results in passing
1556 range check. Rewrite sign extension fudges similarly. Enable
1557 fudges for powerpc64 too. Report user value if range check
1558 fails rather than fudged value. Negate PPC_OPERAND_NEGATIVE
1559 range rather than value, also to report user value on failure.
1563 * config/tc-arm.c (T2_SUBS_PC_LR): Define.
1564 (do_t_add_sub): Correctly encode subs pc, lr, #const.
1565 (do_t_mov_cmp): Correctly encode movs pc, lr.
1569 * Makefile.in: Regnerate.
1570 * configure: Regenerate.
1571 * aclocal.m4: Regenerate.
1572 * doc/Makefile.in: Regenerate.
1576 * doc/c-xtensa.texi (Xtensa Automatic Alignment): Remove statements
1577 and index entries about automatic alignment of ENTRY instructions.
1581 * doc/as.texinfo: Use @copying around the copyright notice.
1585 * config/tc-mips.c (s_mipsset): Use generic s_set for directives
1592 * doc/as.texinfo: Document new directives: .cfi_restore,
1593 .cfi_undefined, .cfi_same_value, .cfi_return_column,
1594 .cfi_remember_state and .cfi_restore_state.
1598 * config/tc-m68k.c (md_apply_fix): Show value of out of range
1599 fixups in error message.
1600 (md_conver_frag_1): Propagate the fix source location and use
1601 as_bad_where rather than fatal, for better error messages.
1605 * config/tc-arm.c (v7m_psrs): Add uppercase PSR names and xpsr.
1609 * app.c (do_scrub_chars): Don't damage \@ pseudo-variables.
1614 * config/tc-m68k.c (relaxable_symbol): Make sure that the correct
1615 addend is stored for relocs against weak symbols.
1616 (md_apply_fix): So not loose track of addend for relocs against
1621 * config/tc-mips.c (md_parse_option): Fix parsing of -O option.
1625 * config/tc-score.c (data_op2, validate_immediate): Fix bug for
1626 addri, addri.c, subi, and subi.c when immediate number is hex.
1627 (score_insns): Remove subis and subis.c.
1628 (do_sub_rdi16): Delete.
1632 * config/tc-spu.c (md_pseudo_table): Add int, long, quad. Call
1634 (md_assemble): Tidy use of insn.flag.
1635 (get_imm): Likewise. Handle uppercase input too.
1636 (spu_cons): New function.
1637 * config/tc-spu.h (tc_fix_adjustable): Don't adjust SPU_PPU relocs.
1638 (TC_FORCE_RELOCATION): Don't resolve them either.
1642 * config/tc-arm.c (md_apply_fix): Generate more accurate
1643 diagnostic when 8-bit immediate range is exceeded for
1644 BFD_RELOC_ARM_OFFSET_IMM8.
1649 * config/tc-i386.c (lex_got): Don't replace the reloc token with
1650 a space if we already have a space.
1654 * config/tc-i386.c (match_template): Don't explicitly check
1655 suffix for crc32 in Intel mode.
1656 (process_suffix): Issue an error for crc32 if the operand size
1663 * config/tc-m68k.c (relaxable_symbol): Do not relax weak symbols.
1664 (tc_gen_reloc): Adjust the addend of relocs against weak symbols.
1665 (md_apply_fix): Put zero values into the frags referencing weak
1671 * config/tc-ppc.c (ppc_insert_operand): Don't increase min for
1676 * config/tc-i386.c (match_template): Check suffix for crc32 in
1678 (process_suffix): Default the suffix of 8bit crc32 to
1680 (check_byte_reg): Skip check for 8bit crc32.
1684 * config/tc-i386.c (md_assemble): Use register_prefix in
1685 error/warning message.
1686 (check_byte_reg): Likewise.
1687 (check_long_reg): Likewise.
1688 (check_qword_reg): Likewise.
1689 (check_word_reg): Likewise.
1690 (process_operands): Likewise.
1695 * config/tc-ppc.c (ppc_insert_operand): Disable range check if
1700 * config/tc-mips.c: Fix comment.
1704 * config/tc-avr.c (mcu_types): Add support for atmega8hva and
1705 atmega16hva devices. Move at90usb82 device to 'avr5' architecture.
1706 * doc/c-avr.texi: Document new devices.
1710 * Makefile.am: Run "make dep-am".
1711 * Makefile.in: Regenerate.
1715 * config/tc-m68k.c (mcf54455_ctrl): New.
1716 (HAVE_LONG_DISP, HAVE_LONG_CALL, HAVE_LONG_COND): New.
1717 (m68k_archs): Add isac.
1718 (m68k_cpus): Add 54455 family.
1719 (m68k_ip): Split Bg into Bb, Bs, Bg.
1720 (m68k_elf_final_processing): Add ISA_C.
1721 * doc/c-m68k.texi (M680x0 Options): Add isac.
1725 * read.c (read_a_source_file): Skip multiple spaces to
1726 cover hack in mmix md_start_line_hook which overwrites a
1727 colon with a space. Delete sermon and needless assertion.
1731 * config/atof-vax.c (atof_vax_sizeof): Change return type to unsigned.
1732 (md_atof): Make number_of_chars unsigned. Revert last change.
1733 * config/tc-or32.c (md_apply_fix): Delete bogus assertions.
1734 * config/tc-sh.c (sh_optimize_expr): Only define for OBJ_ELF.
1735 * config/tc-sh.h (md_optimize_expr): Likewise.
1736 * config/tc-sh64.c (shmedia_md_pcrel_from_section): Delete bogus
1738 * config/tc-xtensa.c (convert_frag_immed_finish_loop): Likewise.
1742 * config/atof-vax.c (md_atof): Fix comparison inside know().
1744 * config/tc-ia64.c (emit_one_bundle): Fix typo.
1748 * expr.c (expr): Assert on rankarg, not rank which can be unsigned.
1749 * read.c (read_a_source_file): Remove buffer_limit[-1] assertion.
1750 Don't skip over NUL char.
1751 (pseudo_set): Set X_op for registers to O_register.
1752 * symbols.c (symbol_clone): Remove assertion that sym is defined.
1753 (resolve_symbol_value): Resolve O_register symbols.
1754 * config/tc-i386.c (parse_real_register): Don't use i386_float_regtab.
1755 Instead find st(0) by hash lookup.
1756 * config/tc-ppc.c (ppc_macro): Warning fix.
1758 * as.h (ENABLE_CHECKING): Default define to 0.
1759 (know): Assert if ENABLE_CHECKING.
1760 (struct relax_type): Remove superfluous declaration.
1761 * configure.in (--enable-checking): New.
1762 * configure: Regenerate.
1763 * config.in: Regenerate.
1764 * config/tc-ppc.c (ppc_setup_opcodes): Do checks when ENABLE_CHECKING.
1765 Check for duplicate powerpc_operands entries.
1769 * config/tc-m68k.c (mcf5253_ctrl): New.
1770 (mcf52223_ctrl): New.
1771 (m68k_cpus): Add 5253, 52221, 52223.
1773 * config/m68k-parse.h (RAMBAR_ALT): New.
1774 * config/tc-m68k.c (mcf5206_ctrl, mcf5307_ctrl): New.
1775 (mcf_ctrl, mcf5208_ctrl, mcf5210a_ctrl, mcf5213_ctrl, mcf52235_ctrl,
1776 mcf5225_ctrl, mcf5235_ctrl, mcf5271_ctrl, mcf5275_ctrl,
1777 mcf5282_ctrl, mcf5329_ctrl, mcf5373_ctrl, mcfv4e_ctrl,
1778 mcf5475_ctrl, mcf5485_ctrl): Add RAMBAR synonym for
1780 (mcf5272_ctrl): Add RAMBAR0, replace add RAMBAR with RAMBAR_ALT.
1781 (m68k_cpus): Adjust 5206, 5206e & 5307 entries.
1782 (m68k_ip) <Case J>: Detect when RAMBAR_ALT should be used. Add it
1783 to control register mapping.
1787 * messages.c (as_internal_value_out_of_range): Fix typo in
1788 error message. Return after printing domain error.
1789 * config/tc-ppc.c (ppc_insert_operand): Preserve low zero bits
1790 in max when shifting right.
1794 * messages.c (as_internal_value_out_of_range): Extend to report
1795 errors for values with invalid low bits set.
1796 * config/tc-ppc.c (ppc_setup_opcodes): Check powerpc_operands bitm
1797 fields. Check that operands and opcode fields are disjoint.
1798 (ppc_insert_operand): Check operands using mask rather than bit
1799 count. Check low bits too. Handle PPC_OPERAND_PLUS1. Adjust
1801 (md_apply_fix): Adjust for struct powerpc_operand change.
1805 * config/tc-arm.c (md_assemble): Only allow 16-bit instructions on
1806 Thumb-1. Add sanity check for bogus relaxations.
1810 * config/tc-arm.c (insns): Allow rsb and rsbs on Thumb-1.
1814 * Makefile.am: Run "make dep-am".
1815 * Makefile.in: Regenerate.
1819 * doc/c-ppc.texi (PowerPC-Opts): Document -me500, -me500x2, -mspe.
1823 * doc/c-i386.texi; Document .ssse3, .sse4.1, .sse4.2 and .sse4.
1827 * config/tc-i386.c (cpu_arch): Add .sse4.2 and .sse4.
1828 (match_template): Handle operand size for crc32 in SSE4.2.
1829 (process_suffix): Handle operand type for crc32 in SSE4.2.
1830 (output_insn): Support SSE4.2.
1834 * config/tc-i386.c (cpu_arch): Add .sse4.1.
1835 (process_operands): Adjust implicit operand for blendvpd,
1836 blendvps and pblendvb in SSE4.1.
1837 (output_insn): Support SSE4.1.
1841 * config/tc-arm.c (do_t_rsb): Use 16-bit encoding when possible.
1845 * config/tc-sh.c (sh_handle_align): Call as_bad_where instead
1846 of as_warn_where for misaligned data.
1850 * config/tc-sh.c (align_test_frag_offset_fixed_p): Handle
1855 * Makefile.am: Add ACLOCAL_AMFLAGS.
1856 * Makefile.in: Regenerate.
1860 * config/tc-sh.c (align_test_frag_offset_fixed_p): New.
1861 (sh_optimize_expr): Likewise.
1862 * config/tc-sh.h (md_optimize_expr): Define.
1863 (sh_optimize_expr): Prototype.
1867 * config/tc-vax.c (vax_cons): Added to support %pcrel{8,16,32}(exp)
1868 to emit pcrel relocations by DWARF2 in non-code sections. Borrowed
1869 heavily from tc-sparc.c. (vax_cons_fix_new): Likewise.
1873 * config/tc-m68k.c (HAVE_LONG_BRANCH): Add fido_a.
1877 * config/tc-arm.c (do_neon_ext): Enforce immediate range.
1878 (insns): Use I15 for vext.
1882 * configure.tgt: Loosen checks for arm uclinux eabi targets.
1886 * config/tc-xtensa.c (xtensa_flush_pending_output): Check
1887 outputting_stabs_line_debug.
1891 * config/tc-avr.c (mcu_types): Add support for at90pwm1, at90usb82,
1892 at90usb162, atmega325p, atmega329p, atmega3250p and atmega3290p
1894 * doc/c-avr.texi: Document new devices.
1898 * doc/as.texinfo: Add -mvxworks-pic to the list of MIPS options.
1899 * doc/c-mips.texi (-KPIC, -mvxworks-pic): Document.
1900 * config/tc-mips.c (md_show_usage): Mention -mvxworks-pic.
1905 * config/tc-xtensa.c (xtensa_move_labels): Remove loops_ok argument.
1906 Do not check is_loop_target flag.
1907 (xtensa_frob_label): Adjust calls to xtensa_move_labels.
1908 (xg_assemble_vliw_tokens): Likewise. Also avoid calling
1909 xtensa_move_labels for alignment of loop opcodes.
1913 * config/tc-i386.c (process_suffix): Reindent a bit.
1917 * config/tc-arm.c (encode_thumb2_ldmstm): New function.
1918 (do_t_ldmstm): Generate 16-bit push/pop. Use encode_thumb2_ldmstm.
1919 (do_t_push_pop): Use encode_thumb2_ldmstm.
1923 * config/tc-m32c.c (rl_for, relaxable): Protect argument.
1924 (md_relax_table): Add entries for ADJNZ macros.
1925 (M32C_Macros): Add ADJNZ macros.
1926 (subtype_mappings): Add entries for ADJNZ macros.
1927 (insn_to_subtype): Check for adjnz and sbjnz insns.
1928 (md_estimate_size_before_relax): Pass insn to insn_to_subtype.
1929 (md_convert_frag): Convert adjnz and sbjnz.
1933 * itbl-ops.c (itbl_entry): Remove unnecessary and excessively long
1935 * itbl-ops.h (enum e_processor): Initialise the e_nprocs field
1936 using ITBL_NUMBER_OF_PROCESSORS.
1937 * itbl-parse.y (yyerror): Remove use of redundant macro PARAMS.
1941 * config/tc-i386.c (build_modrm_byte): For instructions with 2
1942 register operands, encode destination in i.rm.regmem if its
1948 * doc/as.texinfo: Put the contents after the title page rather
1949 than at the end of the document.
1953 * NEWS: Mention ".reloc".
1957 * config/tc-xtensa.c (xg_translate_idioms): Allow assembly idioms
1958 in FLIX instructions.
1962 * config/tc-arm.c (arm_it): Add immisfloat field.
1963 (parse_qfloat_immediate): Disallow integer syntax for floating-point
1964 immediates. Fix hex immediates, handle 0.0 and -0.0 specially.
1965 (parse_neon_mov): Set immisfloat bit for operand if it parsed as a
1967 (neon_cmode_for_move_imm): Reject non-float immediates for float
1969 (neon_move_immediate): Pass immisfloat bit to neon_cmode_for_move_imm.
1973 * doc/c-arm.texi: Add documentation for .dn/.qn directives.
1977 * doc/as.texinfo (Reloc): Document.
1978 * read.c (potable): Add "reloc".
1979 (s_reloc): New function.
1980 * write.c (reloc_list): New global var.
1981 (resolve_reloc_expr_symbols): New function.
1982 (write_object_file): Call it.
1983 (write_relocs): Process reloc_list.
1984 * write.h (struct reloc_list): New.
1985 (reloc_list): Declare.
1989 * config/tc-arm.c (do_t_ldmstm): Error on Thumb-2 addressing modes.
1994 * config/tc-arm.c (operand_parse_code): Add OP_oRRw.
1995 (parse_operands): Don't expect comma if first operand missing.
1997 (do_srs): Encode register number, checking it is r13. Update comment.
1998 (insns): Update SRS entries to take a register.
2002 * config/tc-i386.c (md_begin): Allow '.' in mnemonic.
2006 * config/tc-arm.c (md_apply_fix): Turn CBZ instructions that
2007 attempt to jump to the next instruction into NOPs.
2011 * config/tc-spu.c: Don't include opcode/spu.h.
2012 (md_assemble): Set tc_fix_data.insn_tag and arg_format.
2013 (md_apply_fix): Adjust.
2014 * config/tc-spu.h: Include opcode/spu.h.
2015 (struct tc_fix_info): New.
2016 (TC_FIX_TYPE, TC_INIT_FIX_DATA): Adjust.
2017 (TC_FORCE_RELOCATION): Define.
2021 * doc/as.texinfo: Include VERSION_PACKAGE when reporting version.
2025 * config/tc-i386.c (process_suffix): Check 0x90 instead of
2026 xchg for xchg %rax,%rax.
2030 * config/tc-i386.c: Replace REX_MODE64, REX_EXTX, REX_EXTY
2031 and REX_EXTZ with REX_W, REX_R, REX_X and REX_B respectively.
2036 * config/tc-i386.c (match_template): Properly handle 64bit mode
2042 * config/tc-alpha.c (emit_ustX): Fix ustq code generation.
2046 * Makefile.am: Run dep-am.
2047 * Makefile.in: Regenerated.
2049 * config/tc-i386.c: Don't include "opcodes/i386-opc.h".
2051 * config/tc-i386.h: Include "opcodes/i386-opc.h".
2052 (NOP_OPCODE): Removed.
2053 (template): Likewise.
2057 * config/tc-i386.h (NOP_OPCODE): Restore.
2061 * config/tc-arm.c (do_mul): Don't warn about overlapping
2062 Rd and Rm operands when assembling for v6 or above.
2063 Correctly capitalize register names in the messages.
2064 (do_mlas): Likewise. Delete spurious blank line.
2068 * config/tc-m68k.c (m68k_cpus): Add an entry for fidoa.
2072 * config/tc-i386.c (md_begin): Use i386_regtab_size to scan
2074 (parse_register): Use i386_regtab_size instead of ARRAY_SIZE
2080 * app.c (do_scrub_chars): PUT after setting states.
2084 * Makefile.am: Run "make dep-am".
2085 * Makefile.in: Regenerated.
2087 * config/tc-i386.c: Include "opcodes/i386-opc.h" instead of
2089 (md_begin): Check reg_name != NULL for the last entry in
2092 * config/tc-i386.h: Move many entries to opcode/i386.h and
2095 * configure.in (need_opcodes): Set true for i386.
2096 * configure: Regenerated.
2100 * Makefile.am (REPORT_BUGS_TO): Removed.
2101 (INCLUDES): Remove -DREPORT_BUGS_TO.
2102 * Makefile.in: Regenerated.
2104 * configure.in (--with-bugurl): Removed.
2105 * configure: Regenerated.
2107 * doc/Makefile.am (as_TEXINFOS): Remove gasver.texi.
2108 (AM_MAKEINFOFLAGS): Add -I ../../bfd/doc.
2109 (TEXI2DVI): Likewise.
2110 (gasver.texi): Removed.
2111 (MOSTLYCLEANFILES): Remove gasver.texi.
2112 (as.1): Don't depend on gasver.texi.
2113 * doc/Makefile.in: Regenerated.
2115 * doc/as.texi: Include bfdver.texi instead of gasver.texi.
2119 * config/tc-arm.c (arm_copy_symbol_attributes): New.
2120 * config/tc-arm.h (arm_copy_symbol_attributes): Declare.
2121 (TC_COPY_SYMBOL_ATTRIBUTES): Define.
2122 * gas/symbols.c (copy_symbol_attributes): Use
2123 TC_COPY_SYMBOL_ATTRIBUTES.
2127 * config/tc-arm.c (T16_32_TAB): Fix dec_sp encoding.
2132 * write.c (relax_segment): Insert extra alignment padding
2133 to break infinite relax loop when given impossible
2134 gcc_except_table assembly.
2138 * config/tc-i386.c (md_assemble): Use Opcode_XXX instead of XXX
2139 on i.tm.base_opcode.
2140 (match_template): Likewise.
2141 (process_operands): Use ~0x3 mask to match MOV_AX_DISP32.
2143 * config/tc-i386.h (Opcode_D): New.
2144 (Opcode_FloatR): Likewise.
2145 (Opcode_FloatD): Likewise.
2148 (FloatMF): Likewise.
2154 * app.c (do_scrub_chars): Recognize comments after # line "file".
2155 * read.c (get_linefile_number): New.
2156 (s_app_line): Accept ill-formed .linefile lines as comments.
2160 * config/tc-i386.h (WORKING_DOT_WORD): Define.
2164 * app.c (do_scrub_chars): Turn #<line>"file"flags into .linefile.
2165 * as.h (new_logical_line_flags): New.
2166 * input-scrub.c (new_logical_line): Turned into wrapper for...
2167 (new_logical_line_flags): this. Handle flags.
2168 * read.c (potable): Add linefile. Adjust appline argument.
2169 (s_app_file): Fake .appfiles no more.
2170 (s_app_line): For .linefile, accept file name and flags.
2174 * symbols.c (symbol_relc_make_sym): Comment typo fixes.
2178 * Makefile.am: Run "make dep-am".
2179 * Makefile.in: Regenerate.
2180 * po/POTFILES.in: Regenerate.
2184 * configure.in (REPORT_BUGS_TEXI): Define to Texinfo version of
2186 * doc/Makefile.am (gasver.texi): Define BUGURL.
2187 * doc/as.texinfo: Use BUGURL.
2188 * Makefile.in, configure, doc/Makefile.in: Regenerate.
2192 * config/tc-s390.c (md_parse_option): z9-ec option added.
2196 * config/tc-arm.c (relax_immediate): Always return positive values.
2197 (relaxed_symbol_addr): New function.
2198 (relax_adr, relax_branch): Use it.
2199 (arm_relax_frag): Pass strect argument. Adjust infinite loop check.
2203 * as.c (parse_args): Update copyright date.
2207 * configure.tgt (sh-*-uclinux, sh[12]-*-uclinux): Specify as elf.
2212 * config/tc-d10v.c (do_assemble): Do not generate error messages,
2213 just return -1 whenever a problem is encountered.
2214 (md_assemble): If do_assemble returns -1 generate a non-fatal
2215 error message and return.
2218 * config/tc-msp430.c (line_separator_char): Change to '{'.
2222 * config/tc-m68hc11.c (fixup24): Correct fixup size.
2223 (build_jump_insn): Likewise.
2224 (build_insn): Likewise.
2225 (s_m68hc11_relax): Likewise.
2229 * config/obj-elf.c (elf_frob_file): frag_wane any new frags.
2233 * config/tc-arm.c (do_vfp_nsyn_pop): Use fldmias/fldmiad.
2237 * config/tc-mn10300.c (md_convert_frag): Correct fixup size.
2238 (md_assemble): Likewise.
2242 * write.c (size_seg): Always clear SEC_RELOC here.
2243 (install_reloc): New function, extracted from..
2244 (write_relocs): ..here. Combine RELOC_EXPANSION_POSSIBLE code
2245 with !RELOC_EXPANSION_POSSIBLE code. Don't add fr_offset when
2246 testing frag size. Set SEC_RELOC here.
2251 * config/tc-avr.h (TC_FX_SIZE_SLACK): Define.
2255 * doc/c-mips.texi: Document 74kc, 74kf, 74kx.
2259 * config/tc-mips.c (mips_cpu_info_table): Add 74K configurations.
2264 * config/tc-mips.c (mips_set_options, mips_opts, file_ase_dspr2,
2265 ISA_SUPPORTS_DSPR2_ASE, MIPS_CPU_ASE_DSPR2): Add DSP R2 ASE support.
2266 (macro_build): Add case '2'.
2267 (macro): Expand M_BALIGN to nop, packrl.ph or balign.
2268 (validate_mips_insn): Add support for balign instruction.
2269 (mips_ip): Handle DSP R2 instructions. Support balign instruction.
2270 (OPTION_DSPR2, OPTION_NO_DSPR2, OPTION_COMPAT_ARCH_BASE,
2271 md_parse_option, mips_after_parse_args): Add -mdspr2 and -mno-dspr2
2272 command line options.
2273 (s_mipsset): Add support for .set dspr2 and .set nodspr2 directives.
2274 (md_show_usage): Add -mdspr2 and -mno-dspr2 help output.
2275 * doc/c-mips.texi, doc/as.texinfo: Document -mdspr2, -mno-dspr2,
2276 .set dspr2, .set nodspr2.
2280 * config/tc-m68k.c (mcf5210a_ctrl, mcf52235_ctrl, mcf5225_ctrl): New.
2281 (m68k_cpus): Add 5210a..5211a, 52230..52235 5224..5225.
2285 * write.c (TC_FX_SIZE_SLACK): Define.
2286 (write_relocs): Reinstate check for fixup within frag.
2287 * config/tc-bfin.h (TC_FX_SIZE_SLACK): Define.
2288 * config/tc-h8300.h (TC_FX_SIZE_SLACK): Define.
2289 * config/tc-mmix.h (TC_FX_SIZE_SLACK): Define.
2290 * config/tc-sh.h (TC_FX_SIZE_SLACK): Define.
2291 * config/tc-xstormy16.h (TC_FX_SIZE_SLACK): Define.
2298 * configure.in (--with-bugurl): New option.
2299 * configure: Regenerate.
2300 * dep-in.sed: Remove bin-bugs.h.
2301 * Makefile.am (REPORT_BUGS_TO): Define.
2302 (INCLUDES): Define REPORT_BUGS_TO.
2303 (DEP_INCLUDES): Likewise.
2304 ($(OBJS)): No longer depend on bin-bugs.h.
2305 * Makefile.in: Regenerate.
2306 * doc/Makefile.in: Regenerate.
2307 * as.c (show_usage): Don't print empty REPORT_BUGS_TO.
2308 * as.h: Remove include of bin-bugs.h.
2312 * write.c: White space fixes.
2313 (fixup_segment): Move symbol_mri_common_p adjustments..
2314 (write_relocs): ..and symbol_equated_reloc_p adjustments..
2315 (adjust_reloc_syms): ..to here.
2319 * subsegs.c (subseg_change, subseg_get): Use xcalloc rather than
2320 xmalloc, memset. Don't bother assigning NULL to known zero mem.
2321 (subseg_set_rest): Remove unnecessary cast.
2322 * write.c: Include libbfd.h. Replace PTR with void * throughout.
2323 Remove unnecessary forward declarations and casts.
2324 (set_symtab): Delete extern bfd_alloc.
2325 (fixup_segment): Move.
2329 * config/m68k-parse.h (m68k_register): Add ROMBAR0, ASID.
2330 * config/tc-m68k.c (mcfv4e_ctrl): Add ColdFire specific names.
2331 (mcf5475_ctrl, mcf5485_ctrl): New.
2332 (m68k_cpus): Use mcf5485_ctrl and mcf5485_ctrl for those families.
2333 (m68k_ip): Add ASID, MMUBAR, ROMBAR0 handling.
2334 (init_table): Add asid, mmubar, adjust rombar0.
2338 * config/tc-i386.h (Seg2ShortForm, Seg3ShortForm): Delete.
2339 * config/tc-i386.c: Wrap overly long lines, whitespace fixes.
2340 (process_operands): Move old Seg2ShortForm and Seg3ShortForm
2341 code, and test for these insns using a combination of
2342 opcode_modifier and operand_types.
2346 * configure.tgt: Add arm*-*-uclinux-*eabi.
2361 * Makefile.am (CPU_TYPES): Add mep.
2362 (TARGET_CPU_CFILES): Add tc-mep.c.
2363 (TARGET_CPU_HFILES): Add tc-mep.h.
2364 (DEPTC_mep_elf): New variable.
2365 (DEPTC_mep_coff): Likewise.
2366 (DEPOBJ_mep_coff, DEPOBJ_mep_elf, DEP_mep_coff, DEP_mep_elf): Likewise.
2367 * configure.in: Support mep.
2368 * configure.tgt: Likewise.
2369 * config/tc-mep.c: New file.
2370 * config/obj-elf.c: New file.
2371 * config/tc-mep.c: New file.
2372 * config/tc-mep.h: New file.
2373 * testsuite/gas/mep: New testsuite with content.
2374 * Makefile.in: Regenerate.
2375 * configure: Regenerate.
2379 * cgen.c (gas_cgen_install_complex_reloc): Removed.
2380 (complex_reloc_installation_howto): Removed.
2389 * symbols.c (use_complex_relocs_for): New, to decide
2390 when to use complex relocs. Add signed RELC support.
2391 (resolve_symbol_value): Call use_complex_relocs_for. Unconditionally
2392 encode expression symbols as mangled complex relocation symbols (when
2393 compiled with -DOBJ_COMPLEX_RELOC).
2394 (symbol_relc_make_sym,value,expr): New traversal/conversion routines.
2395 * cgen.c (gas_cgen_md_apply_fix3): Only set signed_p if RELC. Call
2396 encode_addend with new args. Modify to get start, length from
2397 ifield whenever it is set. Also change condition on which
2398 self-describing relocs are encoded. Add hook into
2399 gas_cgen_encode_addend.
2400 (queue_fixup_recursively): Add signed RELC support. Change from masked
2401 expr to trunc flag. Restore assignment of sub-field value to
2402 temporary in fixups array. Reflect changed meaning of last arg to
2403 queue_fixup_recursively.
2404 (fixup): Add cgen_maybe_multi_ifield member.
2405 (make_right_shifted_expr): New function.
2406 (queue_fixup): Change to recursive function that fragments
2407 fixups if operand has a multi-ifield.
2408 (gas_cgen_parse_operand): Add RELC code to wrap expressions in
2409 symbols, call weak_operand_overflow_check, and fragment call
2410 queue_fixup with operand fields.
2411 (gas_cgen_finish_insn) Modify to manage ifield pointer.
2412 (weak_operand_overflow_check): New function to try to select
2414 (gas_cgen_encode_addend): New function for relc.
2415 (gas_cgen_install_complex_reloc): Likewise.
2416 (gas_cgen_tc_gen_reloc): Add hook into gas_cgen_install_complex_reloc.
2417 * write.h (struct fix): Add msb_field_p to fx_cgen sub-struct. Add
2418 cgen_maybe_multi_ifield field to fx_cgen substructure.
2419 * cgen.h (GAS_CGEN_MAX_FIXUPS): Bump from 3 up to 32.
2420 * symbols.h (symbol_relc_make_sym,value,expr): New prototypes.
2424 * config/tc-m32c.c (m32c_cons_fix_new): New. Added to support 3
2426 * config/tc-m32c.h (TC_CONS_FIX_NEW): Define.
2427 (m32c_cons_fix_new): Prototype.
2431 * config/tc-xtensa.c (xg_build_to_insn): Use tinsn_init.
2432 (xg_expand_assembly_insn, istack_push_space, istack_pop): Likewise.
2436 * config/tc-xtensa.c (SUFFIX_MAP, suffix_relocs): New.
2437 (xtensa_elf_suffix): Use suffix_relocs instead of local mapping table.
2438 (map_suffix_reloc_to_operator): New.
2439 (map_operator_to_reloc): New.
2440 (expression_maybe_register): Fix incorrect test of return value from
2441 xtensa_elf_suffix. Rearrange to use map_suffix_reloc_to_operator.
2442 (xg_assemble_literal, convert_frag_immed): Use map_operator_to_reloc.
2446 * config/xtensa-istack.h (struct tinsn_struct): Delete fixup field.
2447 (tinsn_get_tok): Delete prototype.
2448 * config/tc-xtensa.c (tinsn_get_tok): Delete.
2452 * config/xtensa-relax.h (struct build_instr): Delete id field.
2453 * config/xtensa-relax.c (widen_spec_list): Remove zeros from LITERAL
2455 (append_literal_op, append_label_op): Remove litnum/labnum arguments;
2456 set op_data fields to zero.
2457 (parse_id_constant): Delete.
2458 (build_transition): Remove code to handle numbered literals and labels.
2462 * config/xtensa-relax.c (build_transition): Remove code after as_fatal.
2463 (build_transition_table): Likewise.
2467 * config/tc-xtensa.c (xg_add_opcode_fix, md_apply_fix): Delete use of
2469 * config/tc-xtensa.h (TC_FORCE_RELOCATION_LOCAL): Remove.
2473 * write.h (struct fix <fx_pcrel_adjust, fx_size>): Move.
2474 (struct fix <fx_plt>): Rename to tcbit2.
2475 * write.c (fix_new_internal): Adjust.
2476 (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt.
2477 * config/tc-arm.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2478 * config/tc-cris.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2479 * config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2480 * config/tc-i960.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2481 * config/tc-sh.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2482 * config/tc-sh64.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2483 * config/tc-sparc.h (TC_FORCE_RELOCATION_LOCAL): Likewise.
2484 * config/tc-msp430.c (msp430_force_relocation_local): Likewise.
2485 * config/tc-ia64.c (emit_one_bundle): Don't set fx_plt.
2486 * config/tc-ia64.h (TC_FORCE_RELOCATION_LOCAL): Don't test fx_plt.
2487 Instead, compare fx_r_type.
2488 * config/tc-xtensa.c (xg_add_opcode_fix, md_apply_fix): Use
2489 fx_tcbit in place of fx_plt.
2490 * config/tc-xtensa.h (TC_FORCE_RELOCATION_LOCAL): Define.
2491 * doc/internals.texi (TC_FORCE_RELOCATION_LOCAL): Remove reference
2496 * as.c (main): Mark symbols created via the --defsym command line
2497 option as volatile so that they can be overridden later on by a
2498 .set directive. This maintains compatibility with the behaviour
2499 of earlier versions of the assembler.
2500 * doc/as.texinfo (--defsym): Document that the defined symbol's
2501 value can be overridden via a .set directive.
2505 * config/tc-i386.c (swap_imm_operands): Renamed to ...
2506 (swap_2_operands): This. Take 2 ints.
2507 (md_assemble): Updated.
2508 (swap_operands): Call swap_2_operands to swap 2 operands.
2512 * config/tc-m32c.c (md_pseudo_table): Add .3byte.
2517 * tc-score.c: Remove unnecessary uses of _().
2518 Make the err_msg[] a file level local array in order to save
2520 Remove unnecessary sprintf()s.
2525 * config/tc-score.c : Using _() for const string.
2526 Do not assign inst.error with a local string pointer.
2527 (md_section_align): Pad section.
2531 * config/tc-i386.c (build_modrm_byte): Check number of operands
2532 when procssing memory/register operand.
2537 * macro.c (expand_irp): Do not ignore spaces inside quoted
2542 * config/tc-spu.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
2543 * config/tc-m32r.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
2544 * config/tc-mn10300.h (TC_RELOC_RTSYM_LOC_FIXUP): Delete.
2545 (TC_FORCE_RELOCATION): Define.
2546 (TC_FORCE_RELOCATION_LOCAL): Define.
2547 * config/tc-mn10300.c (mn10300_fix_adjustable): Adjust.
2551 * input-file.c (input_file_open): Check fgets return.
2555 * config/tc-arm.c (do_t_add_sub): Use Rd and Rs.
2560 * config/tc-arm.c (md_begin): Cope with an NULL mcpu_fpu_opt
2563 * config/tc-mcore.c (md_number_to_chars): Use
2564 number_to_chars_{big|little}endian.
2568 * config/tc-m68k.c (m68k_archs, m68k_cpus): Treat Fido as an
2569 architecture by itself.
2570 (m68k_ip): Don't issue a warning for tbl instructions on fido.
2571 (m68k_elf_final_processing): Treat Fido as an architecture by
2576 * configure.tgt: Renamed target x86_64-*-mingw64 to x86_64-*-mingw*
2580 * config/tc-i386.c (set_intel_syntax): Update set_intel_syntax
2581 depending on allow_naked_reg.
2585 * config/tc-arm.c (do_cpsi): Set mmod bit for 2 argument form.
2590 * config/tc-i386.c (register_prefix): New.
2591 (set_intel_syntax): Set set_intel_syntax to "" if register
2592 prefix isn't needed.
2593 (check_byte_reg): Use register_prefix for error message.
2594 (check_long_reg): Likewise.
2595 (check_qword_reg): Likewise.
2596 (check_word_reg): Likewise.
2600 * config/tc-arm.c (do_neon_shl_imm): Swap rN, rM.
2601 (do_neon_qshl_imm): Likewise.
2602 (do_neon_rshl): New function. Handle rounding variants of
2603 v{q}shl-by-register.
2604 (insns): Use do_neon_rshl for vrshl, vqrshl.
2608 * config/tc-arm.c (NEON_ENC_TAB): Fix encoding of vclt, vcle, vaclt
2613 * config/tc-i386.c (swap_operands): Remove branches.
2617 * config/tc-i386.c: Update copyright year.
2618 * config/tc-i386.h: Likewise.
2622 * config/tc-i386.c (smallest_imm_type): Return unsigned int
2627 * config/tc-i386.c: Convert to ISO C90 formatting
2628 * config/tc-i386.h: Likewise.
2632 * config/tc-mips.c (md_show_usage): Clean up -mno-shared
2635 For older changes see ChangeLog-2006
2641 version-control: never