3 * expr.c (operand): Rewrite handling of operands starting with "0f".
4 If atof_generic only parses "-" or "+", treat as expression.
9 * expr.c (integer_constant): Return O_absent expression if eol.
10 (operand): For targets with both LOCAL_LABELS_FB and
11 NUMBERS_WITH_SUFFIX set, treat "0b" not followed by binary
12 digits as a local label reference. Correct handling of 0b prefix.
13 If a suffix is not allowed, error on 0B.
17 * doc/as.texinfo (Local Labels): Allowed range of N in local
18 labels is non-negative integers, not positive integers.
22 * config/tc-xtensa.c (struct litpool_frag, struct litpool_seg):
24 (xtensa_maybe_create_literal_pool_frag): New function.
25 (litpool_seg_list, auto_litpools, auto_litpool_limit)
26 (litpool_buf, litpool_slotbuf): New static variables.
27 (option_auto_litpools, option_no_auto_litpools)
28 (option_auto_litpool_limit): New enum identifiers.
29 (md_longopts): Add entries for auto-litpools, no-auto-litpools
30 and auto-litpool-limit.
31 (md_parse_option): Handle option_auto_litpools,
32 option_no_auto_litpools and option_auto_litpool_limit.
33 (md_show_usage): Add help for --[no-]auto-litpools and
35 (xtensa_mark_literal_pool_location): Record a place for literal
36 pool with a call to xtensa_maybe_create_literal_pool_frag.
37 (get_literal_pool_location): Find highest priority literal pool
38 or convert candidate to literal pool when auto-litpools are used.
39 (xg_assemble_vliw_tokens): Create literal pool after jump
41 (xtensa_check_frag_count): Create candidate literal pool every
42 auto_litpool_limit frags.
43 (xtensa_relax_frag): Add jump around literals to non-empty
45 (xtensa_move_literals): Estimate literal pool addresses and move
46 unreachable literals closer to their users, converting candidate
47 to literal pool if needed.
48 (xtensa_switch_to_non_abs_literal_fragment): Only emit error
49 about missing .literal_position in case auto-litpools are not
51 * config/tc-xtensa.h (xtensa_relax_statesE): New relaxation
52 state: RELAX_LITERAL_POOL_CANDIDATE_BEGIN.
53 * doc/as.texinfo (Xtensa options): Document --auto-litpools and
54 --no-auto-litpools options.
55 * doc/c-xtensa.texi (Xtensa options): Likewise.
59 * config/tc-mips.c (move_register): Change to use 'or' only.
60 (s_cpload, s_cpsetup, s_cprestore, s_cpreturn): Update to
65 * config/tc-aarch64.c (reloc_table): New relocation modifiers
67 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
68 (aarch64_force_relocation): Likewise.
72 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
73 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
74 (aarch64_force_relocation): Likewise.
78 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
79 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
80 (aarch64_force_relocation): Likewise.
85 * config/tc-arm.c (move_or_literal_pool): Use U suffix to remove
86 compile time warnings about constant expressions being shifted
88 (do_iwmmxt_wldstd): Likewise.
89 (do_iwmmxt_wrwrwr_or_imm5): Likewise.
90 (md_assemble): Likewise.
93 * config/tc-msp430.c (msp430_operands): Rewrite if statements to
94 remove redundant checks.
95 (md_apply_fix): Likewise.
98 * config/tc-mmix.c (md_assemble): Fix typo checking operands with
99 a numeric constant value.
102 * config/tc-tic4x.c (tic4x_insn_check): Fix typo.
105 * config/xtensa-relax.c (same_operand_name): Fix typo.
109 * tc-arm.c (double_to_single, is_double_a_single): Append ULL to
110 0xFFFFFFFFFFFFF to avoid errors on 32-bit hosts.
114 * doc/c-aarch64.texi (.xword): Document directive.
118 * doc/as.texinfo (Overview): Add --hash-size to the synopsis and
119 fix typo in its entry: @kindex -> @item.
123 * config/tc-mips.c (mips_cpu_info_table): Add m5100 and m5101 entries.
124 * doc/c-mips.texi: Document m5100 and m5101 for -march=.
128 * config/tc-mips.c (mips_cpu_info_table): Add interaptiv entry.
129 * doc/c-mips.text: Document -march=interaptiv.
133 * configure: Regenerated.
137 * config/tc-rl78.c (rl78_abs_sym): New local variable.
138 (md_begin): Initialise the new symbol.
139 (OPIMM): Define the value to be relative to the new symbol and not
140 the absolute section symbol.
145 * input-scrub.c (input_scrub_next_buffer): Rearrange and simplify
146 loop. Don't drop lines at end of file lacking a newline, add a
147 newline instead. Ensure partial_size is zero whenever
148 partial_where is NULL. Adjust buffer size for extra char.
149 (input_scrub_push, input_scrub_begin): Adjust buffer size here too.
153 * NEWS: Mention corrected spelling of armv6kz.
154 * config/tc-arm.c (arm_cpus): Replace ARM_ARCH_V6ZK with
156 (arm_archs): Likewise. Also add "armv6kz" and "armv6kzt2".
157 * doc/c-arm.texi: Replace "armv6zk" with "armv6kz".
161 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
162 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
163 (aarch64_force_relocation): Ditto.
167 * config/tc-arm.c (arm_fpus): Add crypto-neon-fp-armv8.1.
168 * doc/c-arm.texi (-mfpu=): Likewise. Correct the entry for
173 * config/tc-arm.c (md_assemble): Rephrase the "selected processor does
174 not support ARM mode" error messages.
178 * config/tc-i386.c (flag_compress_debug): Replace
179 COMPRESS_DEBUG_GNU_ZLIB with COMPRESS_DEBUG_GABI_ZLIB.
183 * as.c (parse_args): Make --compress-debug-sections and
184 --compress-debug-sections=zlib the same as
185 --compress-debug-sections=zlib-gabi.
186 * doc/as.texinfo: Change --compress-debug-sections and
187 --compress-debug-sections=zlib to zlib-gabi.
191 * config/tc-mips.c (check_fpabi): Handle
192 VAL_GNU_MIPS_ABI_FP_NAN2008.
196 * doc/as.texinfo: Clarify case requirements for pseudo ops.
200 * config/tc-avr.c (tc_gen_reloc): Change 32 bit relocation to
201 32 bit PC relative and update offset if the fixup is pc-relative.
202 * config/tc-avr.h (DIFF_EXPR_OK): Define to enable PC relative diff
207 * config/tc-ppc.c (md_show_usage): Add -m821, -m850, -m860.
208 * doc/c-ppc.texi (PowerPC-Opts): Likewise.
213 * config/tc-nios2.c (nios2_min_align): New.
214 (nop): Replace with....
215 (nop_r1, nop_r2, nop_r2_cdx, nop32, nop16): New.
216 (nios2_align): Handle alignment on 2-byte boundaries when CDX
217 instructions may be present.
218 (s_nios2_align): Adjust reference to nop.
219 (CDXBRANCH, IS_CDXBRANCH): New.
220 (CDX_UBRANCH_SUBTYPE, CDX_CBRANCH_SUBTYPE): New.
221 (nios2_relax_subtype_size): Handle 2-byte CDX branches.
222 (nios2_relax_frag): Likewise.
223 (md_convert_frag): Handle R2 encodings.
224 (nios2_check_overflow): Check that low-order bits are zero
225 before applying rightshift from howto.
226 (nios2_check_overflow): Correct negative overflow calculation.
227 (nios2_diagnose_overflow): Handle signed_immed12_overflow. Issue
228 generic overflow messages for miscellaneous instruction formats.
229 (md_apply_fix): Recognize new R2 relocations. For pc_relative
230 relocations, store fixup in *valP.
231 (nios2_reglist_mask, nios2_reglist_dir): New.
232 (nios2_parse_reglist): New.
233 (nios2_parse_base_register): New.
234 (nios2_assemble_expression): Handle constant expressions designated
236 (nios2_assemble_reg3): New.
237 (nios2_assemble_arg_c): Handle R2 instruction formats.
238 (nios2_assemble_arg_d): Likewise.
239 (nios2_assemble_arg_s): Likewise.
240 (nios2_assemble_arg_t): Likewise.
241 (nios2_assemble_arg_D): New.
242 (nios2_assemble_arg_S): New.
243 (nios2_assemble_arg_T): New.
244 (nios2_assemble_arg_i): Handle R2 instruction formats.
245 (nios2_assemble_arg_I): New.
246 (nios2_assemble_arg_u): Handle R2 instruction formats.
247 (nios2_assemble_arg_U): New.
248 (nios2_assemble_arg_V): New.
249 (nios2_assemble_arg_W): New.
250 (nios2_assemble_arg_X): New.
251 (nios2_assemble_arg_Y): New.
252 (nios2_assemble_arg_o): Handle R2 instruction formats.
253 (nios2_assemble_arg_O): New.
254 (nios2_assemble_arg_P): New.
255 (nios2_assemble_arg_j): Handle R2 instruction formats.
256 (nios2_assemble_arg_k): New.
257 (nios2_assemble_arg_l): Handle R2 instruction formats.
258 (nios2_assemble_arg_m): Likewise.
259 (nios2_assemble_arg_M): New.
260 (nios2_assemble_arg_N): New.
261 (nios2_assemble_arg_e): New.
262 (nios2_assemble_arg_f): New.
263 (nios2_assemble_arg_g): New.
264 (nios2_assemble_arg_h): New.
265 (nios2_assemble_arg_R): New.
266 (nios2_assemble_arg_B): New.
267 (nios2_assemble_args): Handle new argument letters.
268 (nios2_consume_arg): Likewise.
269 (nios2_translate_pseudo_insn): Avoid dereferencing null pointer
271 (nios2_ps_insn_info_structs): Add nop.n.
272 (output_ubranch): Handle CDX branches.
273 (output_cbranch): Likewise.
274 (output_call): Handle R2 encodings.
275 (output_movia): Likewise.
276 (md_begin): Initialize nios2_min_align.
277 (md_assemble): Align to nios2_min_align. Adjust nios2_min_align
278 if a 16-bit instruction is seen.
279 (nios2_cons_align): Use appropriate nop pattern.
284 * config/tc-nios2.c: Adjust includes.
285 (OPTION_MARCH): Define.
286 (md_longopts): Add -march option.
287 (nios2_architecture): New.
288 (nios2_use_arch): New.
289 (md_parse_option): Handle OPTION_MARCH.
290 (md_show_usage): Document -march.
291 (md_begin): Set arch in BFD.
292 (nios2_elf_final_processing): New.
293 * config/tc-nios2.h (elf_tc_final_processing): Define.
294 (nios2_elf_final_processing): New.
295 * doc/c-nios2.texi (-march): Add documentation.
299 * config/tc-i386.c (cpu_arch): Add .mwaitx.
300 (process_immext): Check operands for monitorx/mwaitx instructions.
301 * doc/c-i386.texi: Document mwaitx.
305 * as.c (parse_args): Replace COMPRESS_DEBUG_ZLIB with
306 COMPRESS_DEBUG_GNU_ZLIB.
307 * config/tc-i386.c (flag_compress_debug): Likewise.
311 * doc/as.texinfo (.cfi_lsda): Remove the extra @section.
315 * config/tc-ppc.c (md_assemble): Use ppc_optional_operand_value.
316 Allow for optional operands without insert functions.
321 * config/tc-arm.c (md_apply_fix): Add support for ADR in thumb
322 mode against a nearby symbol.
327 * config/tc-arm.c (tc_gen_reloc): Include BFD_RELOC_ARM_TLS_LE32
328 in the same case as BFD_RELOC_ARM_TLS_IS32.
332 * config/tc-arm.c (is_double_a_single): Make conditional upon the
333 availablity of a 64-bit type. Use this type for the argument and
335 (double_to_single): Likewise.
336 * config/tc-arm.c (move_or_literal_pool): Use a 64-bit type for
337 the constant value, if available. Generate a 64-bit value from a
338 bignum if supported. Only perform the second optimization for
339 PR 18500 if the 64-bit type is available.
344 * config/tc-arm.c (is_double_a_single): New function.
345 (double_to_single): New function.
346 (move_or_literal_pool): Add support for converting VLDR to VMOV.
349 * config/tc-arm.c (move_or_literal_pool): Add support for LDR Rx,=
350 to MOV.w or MVN.w for Thumb2.
354 * as.c (show_usage): Document --sectname-subst.
355 (parse_args): Add --sectname-subst.
356 * as.h (flag_sectname_subst): New.
357 * config/obj-elf.c (obj_elf_section_name): Add %S substitution.
358 * doc/as.texinfo: Document it.
362 * config/tc-aarch64.c (reloc_table): New relocation modifier.
363 (md_apply_fix): Support BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
364 (aarch64_force_relocation): Ditto
368 * dwarf2dbg.c (out_header): Document EXPR->X_add_number value,
369 out_debug_aranges depends on it.
370 (out_debug_aranges): Track size of header to properly pad header
371 for address alignment.
376 * gas/config/tc-hppa.c (last_label_symbol): Declare.
377 (pa_get_label): Return last label in current space/segment or NULL.
378 (pa_define_label): Record last label and add to root.
379 (pa_undefine_label): Remove last label from root.
383 * config/tc-rx.c (rx_op): Correct handling of integer bignums.
387 * NEWS: Mention ARMv8.1 support in the Aarch64 port.
388 * config/tc-aarch64.c (aarch64_arch_option_table): Add "armv8.1-a".
389 * doc/c-aarch64.texi (-march): Add "armv8.1-a".
393 * config/tc-arm.c (arm_init_frag): Use frag's thumb_mode information
398 * config/tc-h8300.c (md_section_align): Fix compile time warning
399 about left shifting a negative value.
403 * config/tc-arm.c (arm_archs): Add "armv8.1-a".
404 * doc/c-arm.texi (ARM Options, -march): Add "armv8.1-a".
405 * NEWS: Mention ARMv8.1 support.
409 * config/tc-arm.c (arm_ext_pan): New.
410 (do_setpan): New, encode an ARM SETPAN instruction.
411 (do_t_setpan): New, encode a Thumb SETPAN instruction.
412 (insns): Add "setpan".
413 (arm_extensions): Add "pan".
414 * doc/c-arm.texi (ARM Options): Add "pan" to list of -mcpu processor
419 * config/tc-aarch64.c (aarch64_features): Add "rdma".
420 * doc/c-aarch64.texi (AArch64 Extensions): Add "rdma".
424 * config/tc-aarch64.c (aarch64_features): Add "lor".
425 * doc/c-aarch64.c (Aarch64 Extensions): Add "lor" to list of
426 architecture extensions.
430 * config/tc-aarch64.c (parse_sys_reg): New parameter. Check target
431 support. Fix whitespace.
432 (parse_operands): Update for parse_sys_reg changes.
433 (aarch64_features): Add "pan".
434 * doc/c-aarch64.texi (Aarch64 Extensions): Add "pan".
438 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
439 (md_apply_fix): Support BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
440 (aarch64_force_relocation): Ditto.
444 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
445 (md_apply_fix): Support BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
446 (aarch64_force_relocation): Ditto.
453 * config/tc-alpha.c (all_cfi_sections): Declare.
454 (s_alpha_ent): Initialize all_cfi_sections.
455 (alpha_elf_md_end): Invoke cfi_set_sections.
456 * config/tc-mips.c (md_apply_fix): Handle BFD_RELOC_NONE.
457 (s_ehword): Use BFD_RELOC_32_PCREL.
458 (mips_fix_adjustable): Handle BFD_RELOC_32_PCREL.
459 (mips_cfi_reloc_for_encoding): New function.
460 * tc-mips.h (DWARF2_FDE_RELOC_SIZE): Redefine.
461 (DWARF2_FDE_RELOC_ENCODING): Define.
462 (tc_cfi_reloc_for_encoding): Define.
463 (mips_cfi_reloc_for_encoding): Define.
464 (tc_compact_eh_opcode_stop): Define.
465 (tc_compact_eh_opcode_pad): Define.
466 * doc/as.texinfo: Document Compact EH extensions.
467 * doc/internals.texi: Likewise.
468 * dw2gencfi.c (EH_FRAME_LINKONCE): Redefine.
469 (tc_cfi_reloc_for_encoding): Provide default.
470 (compact_eh): Declare.
471 (emit_expr_encoded): New function.
472 (get_debugseg_name): Add Compact EH support.
473 (alloc_debugseg_item): Likewise.
474 (cfi_set_sections): New function.
475 (dot_cfi_fde_data): New function.
476 (dot_cfi_personality_id): New function.
477 (dot_cfi_inline_lsda): New function.
478 (cfi_pseudo_table): Add cfi_fde_data, cfi_personality_id,
480 (dot_cfi_personality): Add Compact EH support.
481 (dot_cfi_lsda): Likewise.
482 (dot_cfi_sections): Likewise.
483 (dot_cfi_startproc): Likewise.
484 (get_cfi_seg): Likewise.
485 (output_compact_unwind_data): New function.
486 (output_cfi_insn): Add Compact EH support.
487 (output_cie): Likewise.
488 (output_fde): Likewise.
489 (cfi_finish): Likewise.
490 (cfi_emit_eh_header): New function.
491 (output_eh_header): New function.
492 * dw2gencfi.h (cfi_set_sections): Declare.
493 (SUPPORT_COMPACT_EH): Define.
494 (MULTIPLE_FRAME_SECTIONS): Define.
495 New enumeration to describe the Compact EH header format.
496 (fde_entry): Add new fields personality_id, eh_header_type, eh_data_size,
497 eh_data, eh_loc and sections.
498 (CFI_EMIT_eh_frame, CFI_EMIT_debug_frame, CFI_EMIT_target,
499 CFI_EMIT_eh_frame_compact): Define.
503 * config/tc-xtensa.c (xtensa_move_literals): Check that
504 search_frag is non-NULL. Report error if literal frag is not
510 * read.c (output_big_sleb128): Use U suffix to prevent compile
515 * config/tc-aarch64.c (process_movw_reloc_info): Sort relocation case
516 labels alphabetically.
517 (md_apply_fix): Ditto.
518 (aarch64_force_relocation): Ditto.
523 * config/tc-i386.c (OPTION_MAMD64): New.
524 (OPTION_MINTEL64): Likewise.
525 (md_longopts): Add -mamd64 and -mintel64.
526 (md_parse_option): Handle OPTION_MAMD64 and OPTION_MINTEL64.
527 (md_show_usage): Add -mamd64 and -mintel64.
528 * doc/c-i386.texi: Document -mamd64 and -mintel64.
532 * config/tc-i386.c (shared): New.
533 (OPTION_MSHARED): Likewise.
534 (elf_symbol_resolved_in_segment_p): Add relocation argument.
535 Check PLT relocations and shared.
536 (md_estimate_size_before_relax): Pass fragP->fr_var to
537 elf_symbol_resolved_in_segment_p.
538 (md_longopts): Add -mshared.
539 (md_show_usage): Likewise.
540 (md_parse_option): Handle OPTION_MSHARED.
541 * doc/c-i386.texi: Document -mshared.
545 * write.c (compress_debug): Don't write the zlib header, which
546 is handled by bfd_update_compression_header.
550 * config/tc-xtensa.c (xtensa_relax_frag): Allow trampoline to be
551 closer than J_RANGE / 2 to jump frag.
555 * configure.tgt (arch): Set to iamcu for i386-*-elfiamcu target.
556 * config/tc-i386.c (i386_mach): Support iamcu.
557 (i386_target_format): Likewise.
561 * config/tc-i386.c (cpu_arch): Add iamcu.
562 (i386_align_code): Handle PROCESSOR_IAMCU.
563 (i386_arch): Likewise.
564 (i386_mach): Likewise.
565 (i386_target_format): Likewise.
566 (valid_iamcu_cpu_flags): New function.
567 (check_cpu_arch_compatible): Only allow Intel MCU instructions
568 when targeting Intel MCU.
569 (set_cpu_arch): Call valid_iamcu_cpu_flags to check if CPU flags
570 are valid for Intel MCU.
571 (md_parse_option): Likewise.
572 * tc-i386.h (ELF_TARGET_IAMCU_FORMAT): New.
573 (processor_type): Add PROCESSOR_IAMCU.
574 * doc/c-i386.texi: Document iamcu.
579 * config/tc-arm.h (TC_EQUAL_IN_INSN): Define.
580 * config/tc-arm.c (arm_tc_equal_in_insn): New function. Move
581 the symbol name checking code to here from...
582 (md_undefined_symbo): ... here.
586 * config/tc-i386.c (elf_symbol_resolved_in_segment_p): New.
587 (md_estimate_size_before_relax): Use it.
591 * config/tc-sparc.c: Typo in comment fixed.
595 * config/tc-sparc.c (sparc_ip): Support the %ncc "natural"
597 * doc/c-sparc.texi (Sparc-Regs): Document %ncc.
601 * doc/as.texinfo (Dollar Local Labels): Note that these are only
602 supported on some targets.
606 * config/tc-aarch64.c (mapping_state): Recording alignment before exit.
610 * config/tc-aarch64.c (aarch64_init_frag): Always generate mapping
615 * config/tc-msp430.c (MAX_OP_LEN): Increase to 4096.
616 (msp430_make_init_symbols): New function.
617 (msp430_section): Call it.
618 (msp430_frob_section): Likewise.
622 * config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs.
623 (struct cached_fixup, struct fixup_cache): New structures.
624 (fixup_order, xtensa_make_cached_fixup),
625 (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups),
626 (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup),
627 (xtensa_add_cached_fixup): New functions.
628 (xtensa_relax_frag): Cache fixups pointing at potentially
629 oversized jumps at the beginning of every relaxation pass. Only
630 check subset of this cache in the reach of single jump from the
631 trampoline frag currently being relaxed.
635 * config/rl78-parse.y (MULU): Remove ISA_G14.
636 (MULH, DIVHU, DIVWU, MACHI, MACH): Update error strings.
640 * config/tc-i386.c (i386_elf_emit_arch_note): Removed.
641 * config/tc-i386.h (md_end): Likewise.
642 (i386_elf_emit_arch_note): Likewise.
646 * configure.tgt: Support i386-*-elf*.
650 * config/rl78-defs.h (rl78_isa_g10): New.
653 * config/rl78-parse.y (ISA_G10): New.
656 (MULHU, MULH, MULU, DIVHU, DIVWU, MACHU, MACH): Use them.
657 * config/tc-rl78.c (rl78_isa_g10): New.
663 * config/tc-i386.c (i386_target_format): Use "else if" on
669 * config/tc-arm.c (md_undefined_symbol): Issue a warning message
670 (if enabled) when the user creates a symbol with the same name as
672 (flag_warn_syms): New static variable.
673 (arm_opts): Add mwarn-syms and mno-warn-syms.
674 * doc/c-arm.texi (ARM Options): Document the -m[no-]warn-syms
678 * doc/as.texinfo (Zero): Add documentation of the .zero pseudo-op.
683 * config/tc-arm.c (encode_arm_cp_address): Issue an error message
684 if the operand is neither a register nor a vector.
688 * doc/as.texinfo (Set): Note that a symbol cannot be set multiple
689 times if the expression is not constant and the target uses linker
694 * config/tc-arm.c (arm_init_frag): Always emit mapping symbols.
699 * cond.c (s_if): Stop compile time warning about stopc being used
705 * config/tc-aarch64.c (s_aarch64_inst): Don't align code for non-text
707 (md_assemble): Likewise, move the align code outside the loop.
711 * config/tc-aarch64.c (aarch64_cpus): Add CRC and CRYPTO features
716 * config/tc-arm.h (arm_min): New function.
717 (SUB_SEGMENT_ALIGN): Define.
721 * config/tc-mips.c (macro): State the recommended way of creating
722 32-bit or 64-bit addresses.
726 * config/tc-i386.c (match_mem_size): Also allow no size
727 specification when broadcasting.
731 * doc/as.texinfo (Bundle directives): Shorten menu entry and
733 (CFI directives): Use @subsection.
734 (SH-Dependent, SH64-Dependent): Moved after SCORE-Dependent.
735 * doc/c-i386.texi (i386-Mnemonics): Use @subsection.
739 * config/tc-avr.c (create_record_for_frag): Rename link to
745 --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
749 * as.h (compressed_debug_section_type): Removed.
753 * config/tc-rl78.h (TC_LINKRELAX_FIXUP): Define.
754 (TC_FORCE_RELOCATION_SUB_SAME): Define.
755 (DWARF2_USE_FIXED_ADVANCE_PC): Define.
760 * doc/c-arm.texi (ARM Options): Add a note about the interaction of
761 the -EB option with the linker's --be8 option.
765 * doc/c-rx.texi: Fix markup typos in last change.
769 * config/tc-rx.c (enum options): Add OPTION_DISALLOW_STRING_INSNS.
770 (md_longopts): Add -mno-allow-string-insns.
771 (md_parse_option): Handle -mno-allow-string-insns.
772 (md_show_usage): Mention -mno-allow-string-insns.
773 (rx_note_string_insn_use): New function. Produces an error
774 message if a string insn is used when it is not allowed.
775 * config/rx-parse.y (SCMPU): Call rx_note_string_insn_use.
776 (SMOVU, SMOVB, SMOVF, SUNTIL, SWHILE, RMPA): Likewise.
777 * config/rx-defs.h (rx_note_string_insn_use): Prototype.
778 * doc/c-rx.texi: Document -mno-allow-string-insns.
782 * as.c (show_usage): Update --compress-debug-sections.
783 (std_longopts): Use optional_argument on compress-debug-sections.
785 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
786 * as.h (compressed_debug_section_type): New.
787 (flag_compress_debug): Change type to compressed_debug_section_type.
788 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
789 * write.c (compress_debug): Set BFD_COMPRESS_GABI for
790 --compress-debug-sections=zlib-gabi. Call
791 bfd_get_compression_header_size to get compression header size.
792 Don't rename section name for --compress-debug-sections=zlib-gabi.
793 * config/tc-i386.c (compressed_debug_section_type): Set to
795 * doc/as.texinfo: Document
796 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
800 * config/tc-aarch64.c (mapping_state): Use subseg_text_p.
801 (s_aarch64_inst): Likewise.
802 (md_assemble): Likewise.
806 * write.c (compress_debug): Use bfd_putb64 to write uncompressed
811 * write.c (compress_debug): Don't write the zlib header if
812 compressed section size is the same as before compression.
817 * config/tc-microblaze.c (parse_imm): Use offsetT as the type for
818 min and max parameters. Sign extend values before testing.
822 * config/tc-aarch64.c (mapping_state): Emit MAP_DATA within text section in order.
823 (mapping_state_2): Don't emit MAP_DATA here.
824 (s_aarch64_inst): Align frag during state transition.
825 (md_assemble): Likewise.
829 * config/tc-aarch64.c (set_error_kind): Delete.
830 (set_error_message): Delete.
834 * configure: Regenerated.
838 * config/tc-aarch64.c: Add support for Samsung Exynos M1.
839 * doc/c-aarch64.texi (-mcpu=): Add "exynos-m1".
843 * config/tc-arm.c: Add support for Samsung Exynos M1.
844 * doc/c-arm.texi (-mcpu=): Add "exynos-m1".
848 * configure: Regenerated.
852 * configure.tgt (fmt): Set to elf for *-*-cloudabi*.
856 * configure.ac: Revert the AM_ZLIB change.
857 * Makefile.in: Regenerated.
858 * aclocal.m4: Likewise.
859 * configure: Likewise.
863 * Makefile.am (ZLIBINC): New.
864 (AM_CFLAGS): Add $(ZLIBINC).
865 * as.c: (show_usage): Don't check HAVE_ZLIB_H.
866 (parse_args): Likewise.
867 * compress-debug.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
868 (compress_init): Don't check HAVE_ZLIB_H.
869 (compress_data): Likewise.
870 (compress_finish): Likewise.
871 * configure.ac (AM_ZLIB): Removed.
872 (zlibinc): New. AC_SUBST.
873 Add --with-system-zlib.
874 * Makefile.in: Regenerated.
875 * config.in: Likewise.
876 * configure: Likewise.
877 * doc/Makefile.in: Likewise.
881 * config/tc-i386.c (cpu_flags_set): Removed.
885 * config/tc-aarch64.c (mapping_state): Remove first MAP_DATA emitting
887 (mapping_state_2): Emit first MAP_DATA symbol here.
892 * write.c (compress_debug): Don't write the zlib header if
893 compression didn't make the section smaller.
897 * config/tc-arm.c (no_cpu_selected): Use new macro to compare
899 (parse_psr): Likewise.
900 (do_t_mrs): Likewise.
901 (do_t_msr): Likewise.
902 (static const arm_feature_set arm_ext_*): Defined with new macros.
903 (static const arm_feature_set arm_cext_*): Likewise.
904 (static const arm_feature_set fpu_fpa_ext_*): Likewise.
905 (static const arm_feature_set fpu_vfp_ext_*): Likewise.
906 (deprecated_coproc_regs): Likewise.
907 (UL_BARRIER): Likewise.
908 (barrier_opt_names): Likewise.
909 (arm_cpus): Likewise.
910 (arm_extensions): Likewise.
914 * config/tc-i386.c (i386_align_code): Limit multi-byte nop
915 instructions to 10 bytes.
919 * config/tc-rl78.c (enum options): Add G13 and G14.
920 (md_longopts): Add -mg13 and -mg14.
921 (md_parse_option): Handle -mg13 and -mg14.
922 (md_show_usage): List -mg13 and -mg14.
923 * doc/c-rl78.texi: Add description of -mg13 and -mg14 options.
929 * doc/as.texinfo: Note that when gas compresses debug sections the
930 compression is only performed if it makes the section smaller.
931 * write.c (compress_debug): Do not compress a debug section if
932 doing so would make it larger.
936 * config/tc-i386.c (cpu_arch): Add PROCESSOR_ZNVER flags.
937 (i386_align_code): Add PROCESSOR_ZNVER cases.
938 * config/tc-i386.h (processor_type): Add PROCESSOR_ZNVER.
939 * doc/c-i386.texi: Add znver1 and clzero.
943 * dwarf2dbg.c (out_header): Remove spurious #if 1.
947 * config/tc-aarch64.c (warn_unpredictable_ldst): Don't warn on reg
952 * config/tc-aarch64.h (SUB_SEGMENT_ALIGN): Define to be zero.
956 * config/tc-mips.c (mips_cpu_info_table): Add i6400 entry.
957 * doc/c-mips.texi: Document i6400 -march option.
962 * config/tc-arm.h (MD_APPLY_SYM_VALUE): Pass the current segment
963 to arm_apply_sym_value. Update prototype.
964 * config/tc-arm.c (arm_apply_sym_value): Add segment argument.
965 Do not apply the value if the symbol is in a different segment to
970 * config/tc-ppc.c (md_assemble): Don't abort on 8 byte insn fixups.
971 (md_apply_fix): Report an error on data-only fixups used with insns.
975 * config/tc-s390.c (md_gather_operands): Check for valid
976 length field operands.
980 * config/tc-arm.c (parse_operands): Fix bug setting writeback
981 values for '^' on OP_REGLSTs.
982 (do_push_pop): Add new writeback constraint.
986 * config/tc-arm.c (mapping_state): Remove first MAP_DATA emitting code.
987 (mapping_state_2): Emit first MAP_DATA symbol here.
991 * config/tc-aarch64.c (mapping_state): Set minimum alignment for
997 * config/tc-arm.c (md_begin): Ensure that selected_cpu is
998 initialised when CPU_DEFAULT is defined.
1002 * config/tc-v850.c (md_parse_option): Fix code to set or clear
1003 EF_RH850_DATA_ALIGN8 bit in ELF header, based upon the use of the
1004 -m8byte-align and -m4byte-align command line options.
1009 * config/tc-aarch64.c (process_movw_reloc_info): Allow
1010 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
1015 * write.c (SUB_SEGMENT_ALIGN): Don't pad non-code sections at
1016 end to their alignment.
1020 * config/tc-aarch64.c (reloc_table_entry): Generate
1021 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
1022 (md_apply_fix, aarch64_force_relocation): Handle
1023 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
1027 * config/tc-aarch64.c (reloc_table_entry): Generate
1028 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
1029 (md_apply_fix, aarch64_force_relocation): Handle
1030 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
1034 * config/tc-aarch64.c (reloc_table_entry): Generate
1035 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
1036 (md_apply_fix, aarch64_force_relocation): Handle
1037 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
1041 * config/tc-aarch64.c (reloc_table_entry): Add ld_literal_type.
1042 (reloc_table): Likewise.
1043 (parse_address_main): Use ld_literal_type.
1047 * config/tc-aarch64.c (reloc_table_entry): Add adr_type.
1048 (reloc_table): Likewise.
1049 (parse_address_main): Use adr_type.
1053 * config/tc-aarch64.c (aarch64_arch_any, aarch64_arch_node): Remove.
1057 * config/tc-avr.c: Add elf32-avr.h include.
1058 (struct avr_property_record_link): New structure.
1059 (avr_output_property_section_header): New function.
1060 (avr_record_size): New function.
1061 (avr_output_property_record): New function.
1062 (avr_create_property_section): New function.
1063 (avr_handle_align): New function.
1064 (exclude_section_from_property_tables): New function.
1065 (create_record_for_frag): New function.
1066 (append_records_for_section): New function.
1067 (avr_create_and_fill_property_section): New function.
1068 (avr_post_relax_hook): New function.
1069 * config/tc-avr.h (md_post_relax_hook): Define.
1070 (avr_post_relax_hook): Declare.
1071 (HANDLE_ALIGN): Define.
1072 (avr_handle_align): Declare.
1073 (strut avr_frag_data): New structure.
1074 (TC_FRAG_TYPE): Define.
1078 * doc/c-arm.texi (-mcpu=): Add cortex-a53, cortex-a57 and
1083 * config/tc-v850.c (soft_float): New variable.
1084 (v850_data_8): New variable.
1085 (md_show_usage): Add -msoft-float/-mhard-float.
1086 (md_parse_option): Likewise.
1087 (md_begin): Set the default value of soft_float.
1088 (v850_md_end): New function. Creates a note section.
1089 * config/tc-v850.h (md_end): Define.
1090 * doc/c-v850.texi: Document -msoft-float/-mhard-float.
1094 * config/tc-h8300.c (line_separater_chars): Add a version for
1095 h8300-linux that includes a separator.
1096 (default_mach): New variable.
1098 (md_longopts): Add '--march' option.
1099 (md_parse_option): Parse the new option.
1100 * config/tc-h8300.h (TARGET_FORMAT): Add elf32-h8300-linux.
1101 * configure.tgt: Add h8300-*-linux
1102 * doc/c-h8300.texi: Document --march.
1107 * dwarf2dbg.c (out_header): When generating dwarf sections use
1108 real symbols not temps for the start and end symbols.
1109 * config/tc-msp430.h (TC_FORCE_RELOCATION_SUB_SAME): Also prevent
1110 adjustments to relocations in debug sections.
1111 (TC_LINKRELAX_FIXUP): Likewise.
1115 * doc/as.texinfo (Local Symbol Names): Don't use ':' in pxref.
1116 * doc/c-i386.texi: Reorder i386-Bugs after i386-Arch.
1120 * config/tc-aarch64.c (aarch64_cpus): Fix code formatting.
1124 * config/tc-arm.c: Add support for Cortex-A72.
1128 * config/tc-arm.c (warn_deprecated_sp): Use as_tsktsk instead
1129 of as_warn for deprecation messages.
1130 (encode_arm_addr_mode_2): Likewise.
1131 (check_obsolete): Likewise.
1132 (do_rd_rm_rn): Likewise.
1133 (do_co_reg): Likewise.
1134 (do_setend): Likewise.
1135 (do_t_mov_cmp): Likewise.
1136 (do_neon_ldr_str): Likewise.
1137 (opcode_lookup): Likewise.
1138 (if_fsm_post_encode): Likewise.
1139 (md_assemble): Likewise.
1143 * dw2gencfi.c (select_cie_for_fde): Also bail on CFI_label.
1144 (cfi_change_reg_numbers): Also do nothing for CFI_label.
1145 (cfi_pseudo_table): Also handle .cfi_label when not supporting
1150 * config/tc-msp430.c (md_assemble): Correct size passed to
1151 extract_cmd. Remove index check.
1155 * config/tc-aarch64.c (aarch64_cpus): Add support for Cortex-A72.
1156 * doc/c-aarch64.texi (-mcpu=): Add "cortex-a72".
1160 * config/rl78-parse.y (addsubw): Fix encoding of [HL] variant of
1165 * doc/c-aarch64.texi (.arch): Document the directive.
1166 (.arch_extension): Likewise.
1170 * config/tc-rl78.h (TC_PARSE_CONS_EXPRESSION): Define.
1174 * Makefile.am: Add FT32 files.
1175 * config/tc-ft32.c: New file.
1176 * config/tc-ft32.h: New file.
1177 * configure.tgt: Add FT32 support.
1178 * Makefile.in: Regenerate.
1179 * po/POTFILES.in: Regenerate.
1183 * config/tc-nds32.c (do_pseudo_la_internal): Limit the second argument
1184 of instruction la to a symbol.
1188 * config/tc-nds32.c (nds32_parse_name): Ignore when the input is
1193 * read.c (s_reloc): Match BFD_RELOC_NONE, BFD_RELOC{8,16,32,64}.
1194 * write.c (get_frag_for_reloc): Allow match just past end of frag.
1198 * config/tc-s390.c (struct pd_reg): Remove.
1199 (pre_defined_registers): Remove.
1200 (REG_NAME_CNT): Remove.
1201 (reg_name_search): Calculate the register number instead of doing
1203 (register_name, tc_s390_regname_to_dw2regnum): Adopt to the new
1204 reg_name_search signature.
1205 (s390_parse_cpu): Support the new arch string z13.
1206 (s390_insert_operand): Support for vector registers with the extra
1207 field for the fifth bit of each vector register operand.
1208 (md_gather_operand): Adjust to the new handling of optional
1211 * doc/as.texinfo: Document the z13 cpu string.
1215 * config/tc-arm.c (parse_ifimm_zero): Accept #0x0 as a synonym for
1216 #0, restoring previous behaviour.
1220 * gas/dw2gencfi.c (cfi_add_label, dot_cfi_label): New.
1221 (cfi_pseudo_table): Add "cfi_label".
1222 (output_cfi_insn): Handle CFI_label.
1223 (select_cie_for_fde): Als terminate CIE when encountering
1225 * dw2gencfi.h (cfi_add_label): Declare.
1226 (struct cfi_insn_data): New member "sym_name".
1228 * read.c (read_symbol_name): Drop "static".
1229 * read.h (read_symbol_name): Declare.
1233 * gas/config/tc-arm.c (do_neon_shl_imm): Check immediate range.
1234 (do_neon_qshl_imm): Likewise.
1238 * read.c (s_altmacro, s_reloc): Make definition static.
1242 * config/tc-avr.c (md_apply_fix): Update the contents of VALP for
1247 * config/tc-arm.c (arm_cpus): Add support for APM X-Gene 1 and
1249 * doc/c-arm.texi (ARM Options): Mention xgene1 and xgene2.
1253 * config/tc-arm.c (struct arm_option_extension_value_table):
1254 Split field "value" into fields "merge_value" and "clear_value".
1255 (arm_extensions): Adjust initializer accordingly.
1259 * as.c (parse_args): Just print current year.
1263 Update year range in copyright notice of all files.
1265 For older changes see ChangeLog-2014
1267 Copyright (C) 2015 Free Software Foundation, Inc.
1269 Copying and distribution of this file, with or without modification,
1270 are permitted in any medium without royalty provided the copyright
1271 notice and this notice are preserved.
1277 version-control: never