3 * config/rl78-parse.y: Make all branches relaxable via
4 rl78_linkrelax_branch().
5 * config/tc-rl78.c (rl78_linkrelax_branch): Mark all relaxable
7 (options): Add OPTION_NORELAX.
8 (md_longopts): Add -mnorelax.
9 (md_parse_option): Support OPTION_NORELAX.
10 (op_type_T): Add bh, sk, call, and br.
11 (rl78_opcode_type): Likewise.
12 (rl78_relax_frag): Fix not-relaxing logic. Add sk.
13 (md_convert_frag): Fix relocation handling.
14 (tc_gen_reloc): Strip relax relocs when not linker relaxing.
15 (md_apply_fix): Defer overflow handling for anything that needs a
17 * config/tc-rl78.h (TC_FORCE_RELOCATION): Force all relocations to
18 the linker when linker relaxing.
19 * doc/c-rl78.texi (norelax): Add.
23 * config/tc-ppc.c (md_apply_fix): Localize variables. Reduce casts.
28 * config/tc-arm.h (SUB_SEGMENT_ALIGN): Do not define for COFF/PE
33 * config/tc-arc.c (arc_option): Sets all internal gas options when
34 parsing .cpu directive.
35 (declare_register_set): Declare all 64 registers.
36 (md_section_align): Refactor.
37 (md_pcrel_from_section): Remove assert.
38 (pseudo_operand_match): Fix pseudo operand match.
39 (find_reloc): Use flags filed, extend matching.
40 * config/tc-arc.h (TC_VALIDATE_FIX): Don't fixup any PLT
45 * config/aout_gnu.h: Invoke aout N_* macros with pointer to
50 * config/tc-aarch64.c (aarch64_features): Add "fp16".
51 * doc/c-aarch64.texi (Architecture Extensions): Add "fp16".
55 * config/tc-arm.c (move_or_literal_pool): Do not transform ldr
56 ri,=imm into movs when ri is a high register in T1.
60 * po/fr.po: Updated French translation.
61 * po/uk.po: Updated Ukraninan translation.
62 * po/zh_CN.po: New simplified Chinese translation.
63 * configure.ac (ALL_LINGUAS): Add zh_CN.
64 * configure: Regenerate.
68 * config/tc-arm.c (arm_archs): Add "armv8.2-a".
69 * doc/c-arm.texi (-march): Add "armv8.2-a".
73 * config/tc-aarch64.c (aarch64_archs): Add "armv8.2-a".
74 * doc/c-aarch64.texi (-march): Likewise.
78 * read.c (output_big_leb128): Describe "sign" parameter.
82 * config/tc-ppc.h (SUB_SEGMENT_ALIGN): Define only for ELF.
86 * config/tc-microblaze.c (parse_imm): Add an offsetT cast.
90 * configure: Regenerate.
94 * NEWS: Add marker for 2.26.
98 * config/tc-aarch64.c (aarch64_cpus): Add cortex-a35.
99 * doc/c-aarch64.texi (-mcpu=): Likewise.
103 * config/tc-arm.c (arm_cpus): Likewise.
104 * doc/c-arm.texi (-mcpu=): Likewise.
109 * config/tc-arm.c (move_or_literal_pool): Remove redundant feature
110 check. Fix some code formatting. Drop use of MOVT. Add some
116 * doc/as.texinfo (Target PowerPC): Document -mpower9 and -mpwr9.
117 * doc/c-ppc.texi (PowerPC-Opts): Likewise.
118 * config/tc-ppc.c (md_show_usage): Likewise.
119 (md_assemble): Handle BFD_RELOC_PPC_REL16DX_HA.
120 (md_apply_fix): Likewise.
121 (ppc_handle_align): Handle power9's group ending nop.
125 * config/tc-aarch64.c (aarch64_cpus): Add qdf24xx.
126 * config/tc-arm.c (arm_cpus): Likewise.
127 * doc/c-arm.texi, doc/c-aarch64.texi: Likewise.
131 * read.c (parse_bitfield_cons): Fix left shift of negative value.
132 * config/tc-xstormy16.c (md_section_align): Likewise.
133 * config/tc-xgate.c (md_section_align): Likewise.
134 * config/tc-visium.c (md_section_align): Likewise.
135 * config/tc-v850.c (md_section_align): Likewise.
136 * config/tc-tic6x.c (md_section_align): Likewise.
137 * config/tc-sh.c (SH64PCREL32_M, SH64PCREL48_M, SH64PCREL32_M)
138 (MOVI_32_M, MOVI_48_M, MOVI_32_M, md_section_align): Likewise.
139 * config/tc-sh64.c (shmedia_md_estimate_size_before_relax): Likewise.
140 * config/tc-score.c (s3_section_align): Likewise.
141 * config/tc-score7.c (s7_section_align): Likewise.
142 * config/tc-s390.c (md_section_align): Likewise.
143 * config/tc-rx.c (md_section_align): Likewise.
144 * config/tc-rl78.c (md_section_align): Likewise.
145 * config/tc-ppc.c (md_section_align): Likewise.
146 * config/tc-or1k.c (md_section_align): Likewise.
147 * config/tc-nds32.c (md_section_align): Likewise.
148 * config/tc-mt.c (md_section_align): Likewise.
149 * config/tc-msp430.c (md_section_align): Likewise.
150 * config/tc-mn10300.c (md_section_align): Likewise.
151 * config/tc-mn10200.c (md_section_align): Likewise.
152 * config/tc-mips.c (md_section_align): Likewise.
153 * config/tc-microblaze.c (parse_imm): Likewise.
154 * config/tc-mep.c (md_section_align): Likewise.
155 * config/tc-m68k.c (md_section_align): Likewise.
156 * config/tc-m68hc11.c (md_section_align): Likewise.
157 * config/tc-m32r.c (md_section_align): Likewise.
158 * config/tc-m32c.c (md_section_align): Likewise.
159 * config/tc-lm32.c (md_section_align): Likewise.
160 * config/tc-iq2000.c (md_section_align): Likewise.
161 * config/tc-ip2k.c (md_section_align): Likewise.
162 * config/tc-ia64.c (dot_save, dot_vframe): Likewise.
163 * config/tc-i960.c (md_number_to_field, md_section_align): Likewise.
164 * config/tc-i386.c (md_section_align): Likewise.
165 * config/tc-i370.c (md_section_align): Likewise.
166 * config/tc-frv.c (md_section_align): Likewise.
167 * config/tc-fr30.c (md_section_align): Likewise.
168 * config/tc-epiphany.c (md_section_align): Likewise.
169 * config/tc-d30v.c (md_section_align): Likewise.
170 * config/tc-d10v.c (md_section_align): Likewise.
171 * config/tc-cr16.c (l_cons): Likewise.
172 * config/tc-bfin.c (md_section_align): Likewise.
173 * config/tc-arm.c (md_section_align): Likewise.
174 * config/tc-arc.c (md_section_align): Likewise.
175 * config/bfin-parse.y (expr_1): Likewise.
179 * config/rx-parse.y: Allow zero value for 5-bit displacements.
183 * config/tc-rx.c (parse_rx_section): Align parameter provides a
184 multiple of n argument, not a power of n argument.
188 * config/tc-aarch64.c (elf64_aarch64_target_format): Select the
189 cloudabi format if the TARGET_OS is cloudabi.
193 * config/tc-arm.c (insns): Guard cps by arm_ext_v6_notm instead of
198 * config/tc-arc.c (tokenize_arguments): Avoid creating unused
199 symbols when parsing relocation types.
200 (md_apply_fix): Handle TLS relocations. Fix BFD_RELOC_ARC_32_PCREL
202 (arc_check_reloc): Emit BFD_RELOC_ARC_32_PCREL relocation.
206 * config/tc-arm.c (selected_cpu_name): Increase length of array to
207 accomodate "Samsung Exynos M1".
208 (arm_parse_cpu): Add assertion and length check to prevent
209 overfilling selected_cpu_name.
213 * config/tc-msp430.c (PUSH_1X_WORKAROUND): Delete.
214 (OPTION_SILICON_ERRATA): Define.
215 (OPTION_SILICON_WARN): Define.
216 (md_parse_opton): Handle silicon errata options.
217 (md_longopts): Add silicon errata options.
218 (ms_show_usage): Report silicon errata options.
219 (msp430_srcoperand): Handle silicon errata.
220 (msp430_operands): Likewise. Improve nop insertion.
221 (msp430_fix_adjustable): Update warning generation.
222 * doc/c-msp430.texi: Document silicon errata options.
226 * configure.ac: Properly check
227 --enable-compressed-debug-sections={yes,all}.
228 * configure: Regenerated.
233 * configure.ac: Handle --enable-compressed-debug-sections=*,gas,*.
234 * configure: Regenerated.
238 * config/tc-i386.c (tc_i386_fix_adjustable): Handle
239 BFD_RELOC_X86_64_GOTPCRELX and BFD_RELOC_X86_64_REX_GOTPCRELX.
240 (tc_gen_reloc): Likewise.
241 (i386_validate_fix): Generate BFD_RELOC_X86_64_GOTPCRELX or
242 BFD_RELOC_X86_64_REX_GOTPCRELX if fx_tcbit2 is set.
243 * config/tc-i386.h (TC_FORCE_RELOCATION_LOCAL): Also return
244 true for BFD_RELOC_X86_64_GOTPCRELX and
245 BFD_RELOC_X86_64_REX_GOTPCRELX.
249 * config/tc-i386.c (tc_i386_fix_adjustable): Handle
250 BFD_RELOC_386_GOT32X.
251 (tc_gen_reloc): Likewise.
252 (match_template): Force 0x8b encoding for "mov foo@GOT, %eax".
253 (output_disp): Check for "call/jmp *mem", "mov mem, %reg",
254 "test %reg, mem" and "binop mem, %reg" where binop is one of
255 adc, add, and, cmp, or, sbb, sub, xor instructions. Set
256 fx_tcbit if the REX prefix is generated. Set fx_tcbit2 if
257 BFD_RELOC_386_GOT32X should be generated.
258 (i386_validate_fix): Generate BFD_RELOC_386_GOT32X if fx_tcbit2
264 * configure.ac: Restore --enable-compressed-debug-sections, with
265 options of all, none or gas.
266 Do not enable compressed debug sections by default for x86 Linux
268 * configure: Regenerate.
273 * NEWS: Update --enable-compressed-debug-sections=.
274 * configure.ac: Remove --enable-compressed-debug-sections.
275 (DEFAULT_FLAG_COMPRESS_DEBUG): Check
276 --enable-compressed-debug-sections={all,gas} instead of
277 --enable-compressed-debug-sections. For x86 Linux targets,
278 default to compressing debug sections.
279 * configure: Regenerated.
284 * configure.ac: Add option --enable-compressed-debug-sections.
285 This sets the default behaviour for compressing debug sections.
286 * as.c (flag_compress_debug): Define and initialise to
287 COMPRESS_DEBUG_GABI_ZLIB if DEFAULT_COMPRESS_DEBUG is set.
288 (show_usage): Indicate whether --no-compress-debug-sections
289 or --compress-debug-sections is the default.
290 * config/tc-i386.c (flag_compress_debug): Delete definition.
291 * doc/as.texinfo (--nocompress-debug-sectionas): Update
293 * NEWS: Announce the new feature.
294 * config.in: Regenerate.
295 * configure: Regenerate.
299 * config/tc-msp430.c (msp430_mcu_names): Rename to
300 msp430_mcu_data. Add fields for the ISA and hardware multiply
301 support. Update with information from the latest devices.csv
303 (md_parse_option): Make use of the new array.
307 * config/tc-avr.c (avr_output_property_record): Fix overwrite bug
308 for align and fill records.
309 (avr_handle_align): Record fill information for align frags.
310 (create_record_for_frag): Add next frag assertion, use correct
311 address for align records.
316 * read.c (next_char_of_string): Mask char after escape. Use
317 CHAR_MASK rather than 0xff.
321 * config/tc-aarch64.c (md_begin): Access field 'name' rather
326 * config/tc-arc.c: Revamped file for ARC support.
327 * config/tc-arc.h: Likewise.
328 * doc/as.texinfo: Add new ARC options.
329 * doc/c-arc.texi: Likewise.
333 * config/tc-aarch64.c (s_tlsdescadd): New.
335 (md_pseudo_table): Handle tlsdescadd and tlsdescldr pseudo ops.
336 (reloc_table): Add entries for BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC and
337 BFD_RELOC_AARCH64_TLSDESC_OFF_G0_NC.
338 (process_movw_reloc_info): Support AARCH64_TLSDESC_OFF_G1 and
339 AARCH64_TLSDESC_OFF_G0_NC.
340 (md_apply_fix): Likewise.
341 (aarch64_force_relocation): Likewise.
345 * config/tc-aarch64.c (reloc_table): Add two entries for
346 gottprel_g0_nc and gottprel_g1.
347 (process_movw_reloc_info): Add support.
348 (md_apply_fix): Likewise.
349 (aarch64_force_relocation): Likewise.
353 * config/tc-aarch64.c (reloc_table): New relocation modifier tlsgd_g0_nc.
354 (process_movw_reloc_info): Support BFD_RELOC_AARCH64_TLSGD_MOVW_G1.
355 (md_apply_fix): Likewise.
356 (aarch64_force_relocation): Likewise.
360 * config/tc-aarch64.c (reloc_table): New relocation modifier tlsgd_g1.
361 (process_movw_reloc_info): Support BFD_RELOC_AARCH64_TLSGD_MOVW_G1.
362 (md_apply_fix): Likewise.
363 (aarch64_force_relocation): Likewise.
367 * config/tc-aarch64.c (reloc_table): New relocation modifier
369 (process_movw_reloc_info): Support gotoff_g0_nc.
370 (md_apply_fix): Likewise.
374 * config/tc-aarch64.c (reloc_table): New relocation modifier
376 (process_movw_reloc_info): Support newly added modifier.
377 (md_apply_fix): Likewise.
381 * doc/c-s390.texi: Add documentation.
382 Add missing code markup.
383 * config/tc-s390.c (current_flags): New static variable.
384 (s390_parse_cpu): Parse cpu flags a la "+nohtm" etc.
385 (s390_setup_opcodes): Use cpu flags to determine the set of opcodes.
387 (md_parse_option): Call s390_parse_cpu with the new signature.
388 (s390_machine): Likewise.
389 Keep track of current_flags.
391 undefine MAX_HISTORY at end of function.
392 (s390_machinemode): undefine MAX_HISTORY at end of function.
393 Update an error message.
398 * config/tc-or1k.c (tc_gen_reloc): Correct computation of PC
400 * config/tc-or1k.h (GAS_CGEN_PRCEL_R_TYPE): Delete.
405 * configure.ac (nds32): Don't use bash == in tests.
406 * configure: Regenerate.
410 * config/tc-ppc.c (insn_validate): Cast PPC_OPSHIFT_INV to an int.
414 * config/tc-rx.c (nop_7): Recode using MAX.
418 * config/tc-avr.c (md_section_align): Append UL for -1 to avoid
419 the latest gcc's warning.
424 * config/tc-aarch64.h (TC_START_LABEL): Redefine.
425 * config/tc-arm.c (tc_start_label_without_colon): Delete params.
426 Use input_line_pointer directly.
427 * config/tc-arm.h (TC_START_LABEL): Redefine.
428 (TC_START_LABEL_WITHOUT_COLON): Redefine.
429 (tc_start_label_without_colon): Update prototype.
430 * config/tc-bfin.c (bfin_start_label): Delete ptr param. Check
432 * config/tc-bfin.h (bfin_start_label): Update prototype.
433 (TC_START_LABEL): Redefine.
434 * config/tc-d30v.h (TC_START_LABEL): Redefine.
435 * config/tc-fr30.c (restore_colon): Rewrite.
436 (fr30_is_colon_insn): Add nul_char param. Return int. Bump
437 i_l_p over quote. Update restore_colon calls.
438 * config/tc-fr30.h (TC_START_LABEL): Redefine.
439 (fr30_is_colon_insn): Update prototype.
440 * config/tc-m32c.c (restore_colon, m32c_is_colon_insn): As above.
441 * config/tc-m32c.h (TC_START_LABEL): Redefine.
442 (m32c_is_colon_insn): Update prototype.
443 * config/tc-m32r.h (TC_START_LABEL): Redefine.
444 * config/tc-mep.h (TC_START_LABEL): Redefine.
445 * config/tc-nds32.h (TC_START_LABEL): Redefine.
446 * config/tc-tic54x.c (tic54x_start_label): Replace params with
447 nul_char and next_char. Step over trailing quote.
448 * config/tc-tic54x.h (TC_START_LABEL_WITHOUT_COLON): Redefine.
449 (tic54x_start_label): Update prototype.
450 * read.c (TC_START_LABEL): Redefine. Update invocation.
451 (TC_START_LABEL_WITHOUT_COLON): Update invocation.
452 * config/tc-nios2.c (s_nios2_set): Save initial input_line_pointer
453 and restore if calling s_set. Don't restore delim again.
458 * config/tc-mn10200.c (md_assemble <mdr>): Move restore_line_pointer
459 call to where input line used to be restored.
460 * config/tc-mn10300.c (md_assemble <usp>): Remove redundant input
462 * config/tc-tilepro.c (parse_reg_expression): Add regname var.
467 * configure.ac (AS_CHECK_DECLS): Add asprintf.
468 * configure: Regenerate.
469 * config.in: Regenerate.
473 * config/tc-sparc.c (priv_reg_table): New privileged register
479 * expr.c (get_symbol_end): Rename to get_symbol_name. Add a
480 return parameter pointing to the start of the symbol. Allow
481 symbol names enclosed in double quotes.
482 (restore_line_pointer): New function. Replace the NUL character
483 inserted into the input stream with the given character. If the
484 character was a double quote, advance the input pointer.
485 * expr.h (get_symbol_end): Delete.
486 (get_symbol_name): Add prototype.
487 (restore_line_pointer): Prototype.
488 * read.h (SKIP_WHITESPACE_AFTER_NAME): New macro.
489 * doc/as.texinfo (Symbol Intro): Document that symbol names can
490 now be enclosed in double quotes.
491 * cond.c (s_ifdef): Replace get_symbol_end with get_symbol_name.
492 Use restore_line_pointer to replace the NUL in the input stream.
493 Use SKIP_WHITESPACE_AFTER_NAME to skip past the end of a symbol.
494 Check for the use of double quoted symbol names.
496 * config/obj-aout.c: Likewise.
497 * config/obj-coff-seh.c: Likewise.
498 * config/obj-coff.c: Likewise.
499 * config/obj-elf.c: Likewise.
500 * config/obj-evax.c: Likewise.
501 * config/obj-macho.c: Likewise.
502 * config/obj-som.c: Likewise.
503 * config/tc-alpha.c: Likewise.
504 * config/tc-arc.c: Likewise.
505 * config/tc-arm.c: Likewise.
506 * config/tc-dlx.c: Likewise.
507 * config/tc-h8300.c: Likewise.
508 * config/tc-hppa.c: Likewise.
509 * config/tc-i370.c: Likewise.
510 * config/tc-i386-intel.c: Likewise.
511 * config/tc-i386.c: Likewise.
512 * config/tc-i960.c: Likewise.
513 * config/tc-ia64.c: Likewise.
514 * config/tc-iq2000.c: Likewise.
515 * config/tc-m32r.c: Likewise.
516 * config/tc-m68hc11.c: Likewise.
517 * config/tc-m68k.c: Likewise.
518 * config/tc-microblaze.c: Likewise.
519 * config/tc-mips.c: Likewise.
520 * config/tc-mmix.c: Likewise.
521 * config/tc-mn10200.c: Likewise.
522 * config/tc-mn10300.c: Likewise.
523 * config/tc-nios2.c: Likewise.
524 * config/tc-ppc.c: Likewise.
525 * config/tc-s390.c: Likewise.
526 * config/tc-score.c: Likewise.
527 * config/tc-score7.c: Likewise.
528 * config/tc-sparc.c: Likewise.
529 * config/tc-tic4x.c: Likewise.
530 * config/tc-tic54x.c: Likewise.
531 * config/tc-tic6x.c: Likewise.
532 * config/tc-tilegx.c: Likewise.
533 * config/tc-tilepro.c: Likewise.
534 * config/tc-v850.c: Likewise.
535 * config/tc-xtensa.c: Likewise.
536 * config/tc-z80.c: Likewise.
537 * dw2gencfi.c: Likewise.
538 * dwarf2dbgc.: Likewise.
545 * config/tc-aarch64.c (reloc_table): New relocation types support for
547 (ldst_lo12_determine_real_reloc_type): Support
548 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12,
549 BFD_RELOC_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC,
550 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12,
551 BFD_RELOC_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC,
552 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12,
553 BFD_RELOC_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC,
554 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12,
555 BFD_RELOC_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC.
556 (parse_operands): Likewise.
557 (md_apply_fix): Likewise.
558 (aarch64_force_relocation): Likewise.
559 (process_movw_reloc_info): Likewise.
563 * config/tc-aarch64.c (reloc_table): New relocation modifiers,
564 "dtprel_hi12", "dtprel_g0", "dtprel_g0_nc", "dtprel_g1",
565 "dtprel_g1_nc", "dtprel_g2".
566 (md_apply_fix): Support new relocation types.
567 (aarch64_force_relocation): Likewise.
568 (process_movw_reloc_info): Likewise.
572 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
573 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12_NC.
574 (aarch64_force_relocation): Likewise.
578 * gas/config/tc-arm.c (s_align): Delete.
579 (md_pseudo_table): Use s_align_ptwo for "align".
580 * gas/config/tc-arm.h (TC_ALIGN_ZERO_IS_DEFAULT): Define.
581 * read.c (s_align): Modify for TC_ALIGN_ZERO_IS_DEFAULT.
585 * expr.c (operand): Rewrite handling of operands starting with "0f".
586 If atof_generic only parses "-" or "+", treat as expression.
591 * expr.c (integer_constant): Return O_absent expression if eol.
592 (operand): For targets with both LOCAL_LABELS_FB and
593 NUMBERS_WITH_SUFFIX set, treat "0b" not followed by binary
594 digits as a local label reference. Correct handling of 0b prefix.
595 If a suffix is not allowed, error on 0B.
599 * doc/as.texinfo (Local Labels): Allowed range of N in local
600 labels is non-negative integers, not positive integers.
604 * config/tc-xtensa.c (struct litpool_frag, struct litpool_seg):
606 (xtensa_maybe_create_literal_pool_frag): New function.
607 (litpool_seg_list, auto_litpools, auto_litpool_limit)
608 (litpool_buf, litpool_slotbuf): New static variables.
609 (option_auto_litpools, option_no_auto_litpools)
610 (option_auto_litpool_limit): New enum identifiers.
611 (md_longopts): Add entries for auto-litpools, no-auto-litpools
612 and auto-litpool-limit.
613 (md_parse_option): Handle option_auto_litpools,
614 option_no_auto_litpools and option_auto_litpool_limit.
615 (md_show_usage): Add help for --[no-]auto-litpools and
616 --auto-litpool-limit.
617 (xtensa_mark_literal_pool_location): Record a place for literal
618 pool with a call to xtensa_maybe_create_literal_pool_frag.
619 (get_literal_pool_location): Find highest priority literal pool
620 or convert candidate to literal pool when auto-litpools are used.
621 (xg_assemble_vliw_tokens): Create literal pool after jump
623 (xtensa_check_frag_count): Create candidate literal pool every
624 auto_litpool_limit frags.
625 (xtensa_relax_frag): Add jump around literals to non-empty
627 (xtensa_move_literals): Estimate literal pool addresses and move
628 unreachable literals closer to their users, converting candidate
629 to literal pool if needed.
630 (xtensa_switch_to_non_abs_literal_fragment): Only emit error
631 about missing .literal_position in case auto-litpools are not
633 * config/tc-xtensa.h (xtensa_relax_statesE): New relaxation
634 state: RELAX_LITERAL_POOL_CANDIDATE_BEGIN.
635 * doc/as.texinfo (Xtensa options): Document --auto-litpools and
636 --no-auto-litpools options.
637 * doc/c-xtensa.texi (Xtensa options): Likewise.
641 * config/tc-mips.c (move_register): Change to use 'or' only.
642 (s_cpload, s_cpsetup, s_cprestore, s_cpreturn): Update to
647 * config/tc-aarch64.c (reloc_table): New relocation modifiers
649 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADD_DTPREL_LO12.
650 (aarch64_force_relocation): Likewise.
654 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
655 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADD_LO12_NC.
656 (aarch64_force_relocation): Likewise.
660 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
661 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADR_PAGE21.
662 (aarch64_force_relocation): Likewise.
667 * config/tc-arm.c (move_or_literal_pool): Use U suffix to remove
668 compile time warnings about constant expressions being shifted
670 (do_iwmmxt_wldstd): Likewise.
671 (do_iwmmxt_wrwrwr_or_imm5): Likewise.
672 (md_assemble): Likewise.
675 * config/tc-msp430.c (msp430_operands): Rewrite if statements to
676 remove redundant checks.
677 (md_apply_fix): Likewise.
680 * config/tc-mmix.c (md_assemble): Fix typo checking operands with
681 a numeric constant value.
684 * config/tc-tic4x.c (tic4x_insn_check): Fix typo.
687 * config/xtensa-relax.c (same_operand_name): Fix typo.
691 * tc-arm.c (double_to_single, is_double_a_single): Append ULL to
692 0xFFFFFFFFFFFFF to avoid errors on 32-bit hosts.
696 * doc/c-aarch64.texi (.xword): Document directive.
700 * doc/as.texinfo (Overview): Add --hash-size to the synopsis and
701 fix typo in its entry: @kindex -> @item.
705 * config/tc-mips.c (mips_cpu_info_table): Add m5100 and m5101 entries.
706 * doc/c-mips.texi: Document m5100 and m5101 for -march=.
710 * config/tc-mips.c (mips_cpu_info_table): Add interaptiv entry.
711 * doc/c-mips.text: Document -march=interaptiv.
715 * configure: Regenerated.
719 * config/tc-rl78.c (rl78_abs_sym): New local variable.
720 (md_begin): Initialise the new symbol.
721 (OPIMM): Define the value to be relative to the new symbol and not
722 the absolute section symbol.
727 * input-scrub.c (input_scrub_next_buffer): Rearrange and simplify
728 loop. Don't drop lines at end of file lacking a newline, add a
729 newline instead. Ensure partial_size is zero whenever
730 partial_where is NULL. Adjust buffer size for extra char.
731 (input_scrub_push, input_scrub_begin): Adjust buffer size here too.
735 * NEWS: Mention corrected spelling of armv6kz.
736 * config/tc-arm.c (arm_cpus): Replace ARM_ARCH_V6ZK with
738 (arm_archs): Likewise. Also add "armv6kz" and "armv6kzt2".
739 * doc/c-arm.texi: Replace "armv6zk" with "armv6kz".
743 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
744 (md_apply_fix): Support BFD_RELOC_AARCH64_TLSLD_ADR_PREL21.
745 (aarch64_force_relocation): Ditto.
749 * config/tc-arm.c (arm_fpus): Add crypto-neon-fp-armv8.1.
750 * doc/c-arm.texi (-mfpu=): Likewise. Correct the entry for
755 * config/tc-arm.c (md_assemble): Rephrase the "selected processor does
756 not support ARM mode" error messages.
760 * config/tc-i386.c (flag_compress_debug): Replace
761 COMPRESS_DEBUG_GNU_ZLIB with COMPRESS_DEBUG_GABI_ZLIB.
765 * as.c (parse_args): Make --compress-debug-sections and
766 --compress-debug-sections=zlib the same as
767 --compress-debug-sections=zlib-gabi.
768 * doc/as.texinfo: Change --compress-debug-sections and
769 --compress-debug-sections=zlib to zlib-gabi.
773 * config/tc-mips.c (check_fpabi): Handle
774 VAL_GNU_MIPS_ABI_FP_NAN2008.
778 * doc/as.texinfo: Clarify case requirements for pseudo ops.
782 * config/tc-avr.c (tc_gen_reloc): Change 32 bit relocation to
783 32 bit PC relative and update offset if the fixup is pc-relative.
784 * config/tc-avr.h (DIFF_EXPR_OK): Define to enable PC relative diff
789 * config/tc-ppc.c (md_show_usage): Add -m821, -m850, -m860.
790 * doc/c-ppc.texi (PowerPC-Opts): Likewise.
795 * config/tc-nios2.c (nios2_min_align): New.
796 (nop): Replace with....
797 (nop_r1, nop_r2, nop_r2_cdx, nop32, nop16): New.
798 (nios2_align): Handle alignment on 2-byte boundaries when CDX
799 instructions may be present.
800 (s_nios2_align): Adjust reference to nop.
801 (CDXBRANCH, IS_CDXBRANCH): New.
802 (CDX_UBRANCH_SUBTYPE, CDX_CBRANCH_SUBTYPE): New.
803 (nios2_relax_subtype_size): Handle 2-byte CDX branches.
804 (nios2_relax_frag): Likewise.
805 (md_convert_frag): Handle R2 encodings.
806 (nios2_check_overflow): Check that low-order bits are zero
807 before applying rightshift from howto.
808 (nios2_check_overflow): Correct negative overflow calculation.
809 (nios2_diagnose_overflow): Handle signed_immed12_overflow. Issue
810 generic overflow messages for miscellaneous instruction formats.
811 (md_apply_fix): Recognize new R2 relocations. For pc_relative
812 relocations, store fixup in *valP.
813 (nios2_reglist_mask, nios2_reglist_dir): New.
814 (nios2_parse_reglist): New.
815 (nios2_parse_base_register): New.
816 (nios2_assemble_expression): Handle constant expressions designated
818 (nios2_assemble_reg3): New.
819 (nios2_assemble_arg_c): Handle R2 instruction formats.
820 (nios2_assemble_arg_d): Likewise.
821 (nios2_assemble_arg_s): Likewise.
822 (nios2_assemble_arg_t): Likewise.
823 (nios2_assemble_arg_D): New.
824 (nios2_assemble_arg_S): New.
825 (nios2_assemble_arg_T): New.
826 (nios2_assemble_arg_i): Handle R2 instruction formats.
827 (nios2_assemble_arg_I): New.
828 (nios2_assemble_arg_u): Handle R2 instruction formats.
829 (nios2_assemble_arg_U): New.
830 (nios2_assemble_arg_V): New.
831 (nios2_assemble_arg_W): New.
832 (nios2_assemble_arg_X): New.
833 (nios2_assemble_arg_Y): New.
834 (nios2_assemble_arg_o): Handle R2 instruction formats.
835 (nios2_assemble_arg_O): New.
836 (nios2_assemble_arg_P): New.
837 (nios2_assemble_arg_j): Handle R2 instruction formats.
838 (nios2_assemble_arg_k): New.
839 (nios2_assemble_arg_l): Handle R2 instruction formats.
840 (nios2_assemble_arg_m): Likewise.
841 (nios2_assemble_arg_M): New.
842 (nios2_assemble_arg_N): New.
843 (nios2_assemble_arg_e): New.
844 (nios2_assemble_arg_f): New.
845 (nios2_assemble_arg_g): New.
846 (nios2_assemble_arg_h): New.
847 (nios2_assemble_arg_R): New.
848 (nios2_assemble_arg_B): New.
849 (nios2_assemble_args): Handle new argument letters.
850 (nios2_consume_arg): Likewise.
851 (nios2_translate_pseudo_insn): Avoid dereferencing null pointer
853 (nios2_ps_insn_info_structs): Add nop.n.
854 (output_ubranch): Handle CDX branches.
855 (output_cbranch): Likewise.
856 (output_call): Handle R2 encodings.
857 (output_movia): Likewise.
858 (md_begin): Initialize nios2_min_align.
859 (md_assemble): Align to nios2_min_align. Adjust nios2_min_align
860 if a 16-bit instruction is seen.
861 (nios2_cons_align): Use appropriate nop pattern.
866 * config/tc-nios2.c: Adjust includes.
867 (OPTION_MARCH): Define.
868 (md_longopts): Add -march option.
869 (nios2_architecture): New.
870 (nios2_use_arch): New.
871 (md_parse_option): Handle OPTION_MARCH.
872 (md_show_usage): Document -march.
873 (md_begin): Set arch in BFD.
874 (nios2_elf_final_processing): New.
875 * config/tc-nios2.h (elf_tc_final_processing): Define.
876 (nios2_elf_final_processing): New.
877 * doc/c-nios2.texi (-march): Add documentation.
881 * config/tc-i386.c (cpu_arch): Add .mwaitx.
882 (process_immext): Check operands for monitorx/mwaitx instructions.
883 * doc/c-i386.texi: Document mwaitx.
887 * as.c (parse_args): Replace COMPRESS_DEBUG_ZLIB with
888 COMPRESS_DEBUG_GNU_ZLIB.
889 * config/tc-i386.c (flag_compress_debug): Likewise.
893 * doc/as.texinfo (.cfi_lsda): Remove the extra @section.
897 * config/tc-ppc.c (md_assemble): Use ppc_optional_operand_value.
898 Allow for optional operands without insert functions.
903 * config/tc-arm.c (md_apply_fix): Add support for ADR in thumb
904 mode against a nearby symbol.
909 * config/tc-arm.c (tc_gen_reloc): Include BFD_RELOC_ARM_TLS_LE32
910 in the same case as BFD_RELOC_ARM_TLS_IS32.
914 * config/tc-arm.c (is_double_a_single): Make conditional upon the
915 availablity of a 64-bit type. Use this type for the argument and
917 (double_to_single): Likewise.
918 * config/tc-arm.c (move_or_literal_pool): Use a 64-bit type for
919 the constant value, if available. Generate a 64-bit value from a
920 bignum if supported. Only perform the second optimization for
921 PR 18500 if the 64-bit type is available.
926 * config/tc-arm.c (is_double_a_single): New function.
927 (double_to_single): New function.
928 (move_or_literal_pool): Add support for converting VLDR to VMOV.
931 * config/tc-arm.c (move_or_literal_pool): Add support for LDR Rx,=
932 to MOV.w or MVN.w for Thumb2.
936 * as.c (show_usage): Document --sectname-subst.
937 (parse_args): Add --sectname-subst.
938 * as.h (flag_sectname_subst): New.
939 * config/obj-elf.c (obj_elf_section_name): Add %S substitution.
940 * doc/as.texinfo: Document it.
944 * config/tc-aarch64.c (reloc_table): New relocation modifier.
945 (md_apply_fix): Support BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
946 (aarch64_force_relocation): Ditto
950 * dwarf2dbg.c (out_header): Document EXPR->X_add_number value,
951 out_debug_aranges depends on it.
952 (out_debug_aranges): Track size of header to properly pad header
953 for address alignment.
958 * gas/config/tc-hppa.c (last_label_symbol): Declare.
959 (pa_get_label): Return last label in current space/segment or NULL.
960 (pa_define_label): Record last label and add to root.
961 (pa_undefine_label): Remove last label from root.
965 * config/tc-rx.c (rx_op): Correct handling of integer bignums.
969 * NEWS: Mention ARMv8.1 support in the Aarch64 port.
970 * config/tc-aarch64.c (aarch64_arch_option_table): Add "armv8.1-a".
971 * doc/c-aarch64.texi (-march): Add "armv8.1-a".
975 * config/tc-arm.c (arm_init_frag): Use frag's thumb_mode information
980 * config/tc-h8300.c (md_section_align): Fix compile time warning
981 about left shifting a negative value.
985 * config/tc-arm.c (arm_archs): Add "armv8.1-a".
986 * doc/c-arm.texi (ARM Options, -march): Add "armv8.1-a".
987 * NEWS: Mention ARMv8.1 support.
991 * config/tc-arm.c (arm_ext_pan): New.
992 (do_setpan): New, encode an ARM SETPAN instruction.
993 (do_t_setpan): New, encode a Thumb SETPAN instruction.
994 (insns): Add "setpan".
995 (arm_extensions): Add "pan".
996 * doc/c-arm.texi (ARM Options): Add "pan" to list of -mcpu processor
1001 * config/tc-aarch64.c (aarch64_features): Add "rdma".
1002 * doc/c-aarch64.texi (AArch64 Extensions): Add "rdma".
1006 * config/tc-aarch64.c (aarch64_features): Add "lor".
1007 * doc/c-aarch64.c (Aarch64 Extensions): Add "lor" to list of
1008 architecture extensions.
1012 * config/tc-aarch64.c (parse_sys_reg): New parameter. Check target
1013 support. Fix whitespace.
1014 (parse_operands): Update for parse_sys_reg changes.
1015 (aarch64_features): Add "pan".
1016 * doc/c-aarch64.texi (Aarch64 Extensions): Add "pan".
1020 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
1021 (md_apply_fix): Support BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
1022 (aarch64_force_relocation): Ditto.
1026 * config/tc-aarch64.c (reloc_table): New relocation modifiers.
1027 (md_apply_fix): Support BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
1028 (aarch64_force_relocation): Ditto.
1035 * config/tc-alpha.c (all_cfi_sections): Declare.
1036 (s_alpha_ent): Initialize all_cfi_sections.
1037 (alpha_elf_md_end): Invoke cfi_set_sections.
1038 * config/tc-mips.c (md_apply_fix): Handle BFD_RELOC_NONE.
1039 (s_ehword): Use BFD_RELOC_32_PCREL.
1040 (mips_fix_adjustable): Handle BFD_RELOC_32_PCREL.
1041 (mips_cfi_reloc_for_encoding): New function.
1042 * tc-mips.h (DWARF2_FDE_RELOC_SIZE): Redefine.
1043 (DWARF2_FDE_RELOC_ENCODING): Define.
1044 (tc_cfi_reloc_for_encoding): Define.
1045 (mips_cfi_reloc_for_encoding): Define.
1046 (tc_compact_eh_opcode_stop): Define.
1047 (tc_compact_eh_opcode_pad): Define.
1048 * doc/as.texinfo: Document Compact EH extensions.
1049 * doc/internals.texi: Likewise.
1050 * dw2gencfi.c (EH_FRAME_LINKONCE): Redefine.
1051 (tc_cfi_reloc_for_encoding): Provide default.
1052 (compact_eh): Declare.
1053 (emit_expr_encoded): New function.
1054 (get_debugseg_name): Add Compact EH support.
1055 (alloc_debugseg_item): Likewise.
1056 (cfi_set_sections): New function.
1057 (dot_cfi_fde_data): New function.
1058 (dot_cfi_personality_id): New function.
1059 (dot_cfi_inline_lsda): New function.
1060 (cfi_pseudo_table): Add cfi_fde_data, cfi_personality_id,
1061 and cfi_inline_lsda.
1062 (dot_cfi_personality): Add Compact EH support.
1063 (dot_cfi_lsda): Likewise.
1064 (dot_cfi_sections): Likewise.
1065 (dot_cfi_startproc): Likewise.
1066 (get_cfi_seg): Likewise.
1067 (output_compact_unwind_data): New function.
1068 (output_cfi_insn): Add Compact EH support.
1069 (output_cie): Likewise.
1070 (output_fde): Likewise.
1071 (cfi_finish): Likewise.
1072 (cfi_emit_eh_header): New function.
1073 (output_eh_header): New function.
1074 * dw2gencfi.h (cfi_set_sections): Declare.
1075 (SUPPORT_COMPACT_EH): Define.
1076 (MULTIPLE_FRAME_SECTIONS): Define.
1077 New enumeration to describe the Compact EH header format.
1078 (fde_entry): Add new fields personality_id, eh_header_type, eh_data_size,
1079 eh_data, eh_loc and sections.
1080 (CFI_EMIT_eh_frame, CFI_EMIT_debug_frame, CFI_EMIT_target,
1081 CFI_EMIT_eh_frame_compact): Define.
1085 * config/tc-xtensa.c (xtensa_move_literals): Check that
1086 search_frag is non-NULL. Report error if literal frag is not
1092 * read.c (output_big_sleb128): Use U suffix to prevent compile
1097 * config/tc-aarch64.c (process_movw_reloc_info): Sort relocation case
1098 labels alphabetically.
1099 (md_apply_fix): Ditto.
1100 (aarch64_force_relocation): Ditto.
1105 * config/tc-i386.c (OPTION_MAMD64): New.
1106 (OPTION_MINTEL64): Likewise.
1107 (md_longopts): Add -mamd64 and -mintel64.
1108 (md_parse_option): Handle OPTION_MAMD64 and OPTION_MINTEL64.
1109 (md_show_usage): Add -mamd64 and -mintel64.
1110 * doc/c-i386.texi: Document -mamd64 and -mintel64.
1114 * config/tc-i386.c (shared): New.
1115 (OPTION_MSHARED): Likewise.
1116 (elf_symbol_resolved_in_segment_p): Add relocation argument.
1117 Check PLT relocations and shared.
1118 (md_estimate_size_before_relax): Pass fragP->fr_var to
1119 elf_symbol_resolved_in_segment_p.
1120 (md_longopts): Add -mshared.
1121 (md_show_usage): Likewise.
1122 (md_parse_option): Handle OPTION_MSHARED.
1123 * doc/c-i386.texi: Document -mshared.
1127 * write.c (compress_debug): Don't write the zlib header, which
1128 is handled by bfd_update_compression_header.
1132 * config/tc-xtensa.c (xtensa_relax_frag): Allow trampoline to be
1133 closer than J_RANGE / 2 to jump frag.
1137 * configure.tgt (arch): Set to iamcu for i386-*-elfiamcu target.
1138 * config/tc-i386.c (i386_mach): Support iamcu.
1139 (i386_target_format): Likewise.
1143 * config/tc-i386.c (cpu_arch): Add iamcu.
1144 (i386_align_code): Handle PROCESSOR_IAMCU.
1145 (i386_arch): Likewise.
1146 (i386_mach): Likewise.
1147 (i386_target_format): Likewise.
1148 (valid_iamcu_cpu_flags): New function.
1149 (check_cpu_arch_compatible): Only allow Intel MCU instructions
1150 when targeting Intel MCU.
1151 (set_cpu_arch): Call valid_iamcu_cpu_flags to check if CPU flags
1152 are valid for Intel MCU.
1153 (md_parse_option): Likewise.
1154 * tc-i386.h (ELF_TARGET_IAMCU_FORMAT): New.
1155 (processor_type): Add PROCESSOR_IAMCU.
1156 * doc/c-i386.texi: Document iamcu.
1161 * config/tc-arm.h (TC_EQUAL_IN_INSN): Define.
1162 * config/tc-arm.c (arm_tc_equal_in_insn): New function. Move
1163 the symbol name checking code to here from...
1164 (md_undefined_symbo): ... here.
1168 * config/tc-i386.c (elf_symbol_resolved_in_segment_p): New.
1169 (md_estimate_size_before_relax): Use it.
1173 * config/tc-sparc.c: Typo in comment fixed.
1177 * config/tc-sparc.c (sparc_ip): Support the %ncc "natural"
1179 * doc/c-sparc.texi (Sparc-Regs): Document %ncc.
1183 * doc/as.texinfo (Dollar Local Labels): Note that these are only
1184 supported on some targets.
1188 * config/tc-aarch64.c (mapping_state): Recording alignment before exit.
1192 * config/tc-aarch64.c (aarch64_init_frag): Always generate mapping
1197 * config/tc-msp430.c (MAX_OP_LEN): Increase to 4096.
1198 (msp430_make_init_symbols): New function.
1199 (msp430_section): Call it.
1200 (msp430_frob_section): Likewise.
1204 * config/tc-xtensa.c (cached_fixupS, fixup_cacheS): New typedefs.
1205 (struct cached_fixup, struct fixup_cache): New structures.
1206 (fixup_order, xtensa_make_cached_fixup),
1207 (xtensa_realloc_fixup_cache, xtensa_cache_relaxable_fixups),
1208 (xtensa_find_first_cached_fixup, xtensa_delete_cached_fixup),
1209 (xtensa_add_cached_fixup): New functions.
1210 (xtensa_relax_frag): Cache fixups pointing at potentially
1211 oversized jumps at the beginning of every relaxation pass. Only
1212 check subset of this cache in the reach of single jump from the
1213 trampoline frag currently being relaxed.
1217 * config/rl78-parse.y (MULU): Remove ISA_G14.
1218 (MULH, DIVHU, DIVWU, MACHI, MACH): Update error strings.
1222 * config/tc-i386.c (i386_elf_emit_arch_note): Removed.
1223 * config/tc-i386.h (md_end): Likewise.
1224 (i386_elf_emit_arch_note): Likewise.
1228 * configure.tgt: Support i386-*-elf*.
1232 * config/rl78-defs.h (rl78_isa_g10): New.
1233 (rl78_isa_g13): New.
1234 (rl78_isa_g14): New.
1235 * config/rl78-parse.y (ISA_G10): New.
1238 (MULHU, MULH, MULU, DIVHU, DIVWU, MACHU, MACH): Use them.
1239 * config/tc-rl78.c (rl78_isa_g10): New.
1240 (rl78_isa_g13): New.
1241 (rl78_isa_g14): New.
1245 * config/tc-i386.c (i386_target_format): Use "else if" on
1251 * config/tc-arm.c (md_undefined_symbol): Issue a warning message
1252 (if enabled) when the user creates a symbol with the same name as
1254 (flag_warn_syms): New static variable.
1255 (arm_opts): Add mwarn-syms and mno-warn-syms.
1256 * doc/c-arm.texi (ARM Options): Document the -m[no-]warn-syms
1260 * doc/as.texinfo (Zero): Add documentation of the .zero pseudo-op.
1265 * config/tc-arm.c (encode_arm_cp_address): Issue an error message
1266 if the operand is neither a register nor a vector.
1270 * doc/as.texinfo (Set): Note that a symbol cannot be set multiple
1271 times if the expression is not constant and the target uses linker
1276 * config/tc-arm.c (arm_init_frag): Always emit mapping symbols.
1281 * cond.c (s_if): Stop compile time warning about stopc being used
1287 * config/tc-aarch64.c (s_aarch64_inst): Don't align code for non-text
1289 (md_assemble): Likewise, move the align code outside the loop.
1293 * config/tc-aarch64.c (aarch64_cpus): Add CRC and CRYPTO features
1298 * config/tc-arm.h (arm_min): New function.
1299 (SUB_SEGMENT_ALIGN): Define.
1303 * config/tc-mips.c (macro): State the recommended way of creating
1304 32-bit or 64-bit addresses.
1308 * config/tc-i386.c (match_mem_size): Also allow no size
1309 specification when broadcasting.
1313 * doc/as.texinfo (Bundle directives): Shorten menu entry and
1315 (CFI directives): Use @subsection.
1316 (SH-Dependent, SH64-Dependent): Moved after SCORE-Dependent.
1317 * doc/c-i386.texi (i386-Mnemonics): Use @subsection.
1321 * config/tc-avr.c (create_record_for_frag): Rename link to
1327 --compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi].
1331 * as.h (compressed_debug_section_type): Removed.
1335 * config/tc-rl78.h (TC_LINKRELAX_FIXUP): Define.
1336 (TC_FORCE_RELOCATION_SUB_SAME): Define.
1337 (DWARF2_USE_FIXED_ADVANCE_PC): Define.
1342 * doc/c-arm.texi (ARM Options): Add a note about the interaction of
1343 the -EB option with the linker's --be8 option.
1347 * doc/c-rx.texi: Fix markup typos in last change.
1351 * config/tc-rx.c (enum options): Add OPTION_DISALLOW_STRING_INSNS.
1352 (md_longopts): Add -mno-allow-string-insns.
1353 (md_parse_option): Handle -mno-allow-string-insns.
1354 (md_show_usage): Mention -mno-allow-string-insns.
1355 (rx_note_string_insn_use): New function. Produces an error
1356 message if a string insn is used when it is not allowed.
1357 * config/rx-parse.y (SCMPU): Call rx_note_string_insn_use.
1358 (SMOVU, SMOVB, SMOVF, SUNTIL, SWHILE, RMPA): Likewise.
1359 * config/rx-defs.h (rx_note_string_insn_use): Prototype.
1360 * doc/c-rx.texi: Document -mno-allow-string-insns.
1364 * as.c (show_usage): Update --compress-debug-sections.
1365 (std_longopts): Use optional_argument on compress-debug-sections.
1366 (parse_args): Handle
1367 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
1368 * as.h (compressed_debug_section_type): New.
1369 (flag_compress_debug): Change type to compressed_debug_section_type.
1370 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
1371 * write.c (compress_debug): Set BFD_COMPRESS_GABI for
1372 --compress-debug-sections=zlib-gabi. Call
1373 bfd_get_compression_header_size to get compression header size.
1374 Don't rename section name for --compress-debug-sections=zlib-gabi.
1375 * config/tc-i386.c (compressed_debug_section_type): Set to
1376 COMPRESS_DEBUG_ZLIB.
1377 * doc/as.texinfo: Document
1378 --compress-debug-sections={none|zlib|zlib-gnu|zlib-gabi}.
1382 * config/tc-aarch64.c (mapping_state): Use subseg_text_p.
1383 (s_aarch64_inst): Likewise.
1384 (md_assemble): Likewise.
1388 * write.c (compress_debug): Use bfd_putb64 to write uncompressed
1393 * write.c (compress_debug): Don't write the zlib header if
1394 compressed section size is the same as before compression.
1399 * config/tc-microblaze.c (parse_imm): Use offsetT as the type for
1400 min and max parameters. Sign extend values before testing.
1404 * config/tc-aarch64.c (mapping_state): Emit MAP_DATA within text section in order.
1405 (mapping_state_2): Don't emit MAP_DATA here.
1406 (s_aarch64_inst): Align frag during state transition.
1407 (md_assemble): Likewise.
1411 * config/tc-aarch64.c (set_error_kind): Delete.
1412 (set_error_message): Delete.
1416 * configure: Regenerated.
1420 * config/tc-aarch64.c: Add support for Samsung Exynos M1.
1421 * doc/c-aarch64.texi (-mcpu=): Add "exynos-m1".
1425 * config/tc-arm.c: Add support for Samsung Exynos M1.
1426 * doc/c-arm.texi (-mcpu=): Add "exynos-m1".
1430 * configure: Regenerated.
1434 * configure.tgt (fmt): Set to elf for *-*-cloudabi*.
1438 * configure.ac: Revert the AM_ZLIB change.
1439 * Makefile.in: Regenerated.
1440 * aclocal.m4: Likewise.
1441 * configure: Likewise.
1445 * Makefile.am (ZLIBINC): New.
1446 (AM_CFLAGS): Add $(ZLIBINC).
1447 * as.c: (show_usage): Don't check HAVE_ZLIB_H.
1448 (parse_args): Likewise.
1449 * compress-debug.c: Don't check HAVE_ZLIB_H to include <zlib.h>.
1450 (compress_init): Don't check HAVE_ZLIB_H.
1451 (compress_data): Likewise.
1452 (compress_finish): Likewise.
1453 * configure.ac (AM_ZLIB): Removed.
1454 (zlibinc): New. AC_SUBST.
1455 Add --with-system-zlib.
1456 * Makefile.in: Regenerated.
1457 * config.in: Likewise.
1458 * configure: Likewise.
1459 * doc/Makefile.in: Likewise.
1463 * config/tc-i386.c (cpu_flags_set): Removed.
1467 * config/tc-aarch64.c (mapping_state): Remove first MAP_DATA emitting
1469 (mapping_state_2): Emit first MAP_DATA symbol here.
1474 * write.c (compress_debug): Don't write the zlib header if
1475 compression didn't make the section smaller.
1479 * config/tc-arm.c (no_cpu_selected): Use new macro to compare
1481 (parse_psr): Likewise.
1482 (do_t_mrs): Likewise.
1483 (do_t_msr): Likewise.
1484 (static const arm_feature_set arm_ext_*): Defined with new macros.
1485 (static const arm_feature_set arm_cext_*): Likewise.
1486 (static const arm_feature_set fpu_fpa_ext_*): Likewise.
1487 (static const arm_feature_set fpu_vfp_ext_*): Likewise.
1488 (deprecated_coproc_regs): Likewise.
1489 (UL_BARRIER): Likewise.
1490 (barrier_opt_names): Likewise.
1491 (arm_cpus): Likewise.
1492 (arm_extensions): Likewise.
1496 * config/tc-i386.c (i386_align_code): Limit multi-byte nop
1497 instructions to 10 bytes.
1501 * config/tc-rl78.c (enum options): Add G13 and G14.
1502 (md_longopts): Add -mg13 and -mg14.
1503 (md_parse_option): Handle -mg13 and -mg14.
1504 (md_show_usage): List -mg13 and -mg14.
1505 * doc/c-rl78.texi: Add description of -mg13 and -mg14 options.
1511 * doc/as.texinfo: Note that when gas compresses debug sections the
1512 compression is only performed if it makes the section smaller.
1513 * write.c (compress_debug): Do not compress a debug section if
1514 doing so would make it larger.
1518 * config/tc-i386.c (cpu_arch): Add PROCESSOR_ZNVER flags.
1519 (i386_align_code): Add PROCESSOR_ZNVER cases.
1520 * config/tc-i386.h (processor_type): Add PROCESSOR_ZNVER.
1521 * doc/c-i386.texi: Add znver1 and clzero.
1525 * dwarf2dbg.c (out_header): Remove spurious #if 1.
1529 * config/tc-aarch64.c (warn_unpredictable_ldst): Don't warn on reg
1534 * config/tc-aarch64.h (SUB_SEGMENT_ALIGN): Define to be zero.
1538 * config/tc-mips.c (mips_cpu_info_table): Add i6400 entry.
1539 * doc/c-mips.texi: Document i6400 -march option.
1544 * config/tc-arm.h (MD_APPLY_SYM_VALUE): Pass the current segment
1545 to arm_apply_sym_value. Update prototype.
1546 * config/tc-arm.c (arm_apply_sym_value): Add segment argument.
1547 Do not apply the value if the symbol is in a different segment to
1548 the current segment.
1552 * config/tc-ppc.c (md_assemble): Don't abort on 8 byte insn fixups.
1553 (md_apply_fix): Report an error on data-only fixups used with insns.
1557 * config/tc-s390.c (md_gather_operands): Check for valid
1558 length field operands.
1562 * config/tc-arm.c (parse_operands): Fix bug setting writeback
1563 values for '^' on OP_REGLSTs.
1564 (do_push_pop): Add new writeback constraint.
1568 * config/tc-arm.c (mapping_state): Remove first MAP_DATA emitting code.
1569 (mapping_state_2): Emit first MAP_DATA symbol here.
1573 * config/tc-aarch64.c (mapping_state): Set minimum alignment for
1579 * config/tc-arm.c (md_begin): Ensure that selected_cpu is
1580 initialised when CPU_DEFAULT is defined.
1584 * config/tc-v850.c (md_parse_option): Fix code to set or clear
1585 EF_RH850_DATA_ALIGN8 bit in ELF header, based upon the use of the
1586 -m8byte-align and -m4byte-align command line options.
1591 * config/tc-aarch64.c (process_movw_reloc_info): Allow
1592 R_AARCH64_TLSLE_MOVW_TPREL_G0_NC and R_AARCH64_TLSLE_MOVW_TPREL_G1_NC
1597 * write.c (SUB_SEGMENT_ALIGN): Don't pad non-code sections at
1598 end to their alignment.
1602 * config/tc-aarch64.c (reloc_table_entry): Generate
1603 BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21.
1604 (md_apply_fix, aarch64_force_relocation): Handle
1605 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
1609 * config/tc-aarch64.c (reloc_table_entry): Generate
1610 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
1611 (md_apply_fix, aarch64_force_relocation): Handle
1612 BFD_RELOC_AARCH64_TLSGD_ADR_PREL21.
1616 * config/tc-aarch64.c (reloc_table_entry): Generate
1617 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
1618 (md_apply_fix, aarch64_force_relocation): Handle
1619 BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19.
1623 * config/tc-aarch64.c (reloc_table_entry): Add ld_literal_type.
1624 (reloc_table): Likewise.
1625 (parse_address_main): Use ld_literal_type.
1629 * config/tc-aarch64.c (reloc_table_entry): Add adr_type.
1630 (reloc_table): Likewise.
1631 (parse_address_main): Use adr_type.
1635 * config/tc-aarch64.c (aarch64_arch_any, aarch64_arch_node): Remove.
1639 * config/tc-avr.c: Add elf32-avr.h include.
1640 (struct avr_property_record_link): New structure.
1641 (avr_output_property_section_header): New function.
1642 (avr_record_size): New function.
1643 (avr_output_property_record): New function.
1644 (avr_create_property_section): New function.
1645 (avr_handle_align): New function.
1646 (exclude_section_from_property_tables): New function.
1647 (create_record_for_frag): New function.
1648 (append_records_for_section): New function.
1649 (avr_create_and_fill_property_section): New function.
1650 (avr_post_relax_hook): New function.
1651 * config/tc-avr.h (md_post_relax_hook): Define.
1652 (avr_post_relax_hook): Declare.
1653 (HANDLE_ALIGN): Define.
1654 (avr_handle_align): Declare.
1655 (strut avr_frag_data): New structure.
1656 (TC_FRAG_TYPE): Define.
1660 * doc/c-arm.texi (-mcpu=): Add cortex-a53, cortex-a57 and
1665 * config/tc-v850.c (soft_float): New variable.
1666 (v850_data_8): New variable.
1667 (md_show_usage): Add -msoft-float/-mhard-float.
1668 (md_parse_option): Likewise.
1669 (md_begin): Set the default value of soft_float.
1670 (v850_md_end): New function. Creates a note section.
1671 * config/tc-v850.h (md_end): Define.
1672 * doc/c-v850.texi: Document -msoft-float/-mhard-float.
1676 * config/tc-h8300.c (line_separater_chars): Add a version for
1677 h8300-linux that includes a separator.
1678 (default_mach): New variable.
1680 (md_longopts): Add '--march' option.
1681 (md_parse_option): Parse the new option.
1682 * config/tc-h8300.h (TARGET_FORMAT): Add elf32-h8300-linux.
1683 * configure.tgt: Add h8300-*-linux
1684 * doc/c-h8300.texi: Document --march.
1689 * dwarf2dbg.c (out_header): When generating dwarf sections use
1690 real symbols not temps for the start and end symbols.
1691 * config/tc-msp430.h (TC_FORCE_RELOCATION_SUB_SAME): Also prevent
1692 adjustments to relocations in debug sections.
1693 (TC_LINKRELAX_FIXUP): Likewise.
1697 * doc/as.texinfo (Local Symbol Names): Don't use ':' in pxref.
1698 * doc/c-i386.texi: Reorder i386-Bugs after i386-Arch.
1702 * config/tc-aarch64.c (aarch64_cpus): Fix code formatting.
1706 * config/tc-arm.c: Add support for Cortex-A72.
1710 * config/tc-arm.c (warn_deprecated_sp): Use as_tsktsk instead
1711 of as_warn for deprecation messages.
1712 (encode_arm_addr_mode_2): Likewise.
1713 (check_obsolete): Likewise.
1714 (do_rd_rm_rn): Likewise.
1715 (do_co_reg): Likewise.
1716 (do_setend): Likewise.
1717 (do_t_mov_cmp): Likewise.
1718 (do_neon_ldr_str): Likewise.
1719 (opcode_lookup): Likewise.
1720 (if_fsm_post_encode): Likewise.
1721 (md_assemble): Likewise.
1725 * dw2gencfi.c (select_cie_for_fde): Also bail on CFI_label.
1726 (cfi_change_reg_numbers): Also do nothing for CFI_label.
1727 (cfi_pseudo_table): Also handle .cfi_label when not supporting
1732 * config/tc-msp430.c (md_assemble): Correct size passed to
1733 extract_cmd. Remove index check.
1737 * config/tc-aarch64.c (aarch64_cpus): Add support for Cortex-A72.
1738 * doc/c-aarch64.texi (-mcpu=): Add "cortex-a72".
1742 * config/rl78-parse.y (addsubw): Fix encoding of [HL] variant of
1747 * doc/c-aarch64.texi (.arch): Document the directive.
1748 (.arch_extension): Likewise.
1752 * config/tc-rl78.h (TC_PARSE_CONS_EXPRESSION): Define.
1756 * Makefile.am: Add FT32 files.
1757 * config/tc-ft32.c: New file.
1758 * config/tc-ft32.h: New file.
1759 * configure.tgt: Add FT32 support.
1760 * Makefile.in: Regenerate.
1761 * po/POTFILES.in: Regenerate.
1765 * config/tc-nds32.c (do_pseudo_la_internal): Limit the second argument
1766 of instruction la to a symbol.
1770 * config/tc-nds32.c (nds32_parse_name): Ignore when the input is
1775 * read.c (s_reloc): Match BFD_RELOC_NONE, BFD_RELOC{8,16,32,64}.
1776 * write.c (get_frag_for_reloc): Allow match just past end of frag.
1780 * config/tc-s390.c (struct pd_reg): Remove.
1781 (pre_defined_registers): Remove.
1782 (REG_NAME_CNT): Remove.
1783 (reg_name_search): Calculate the register number instead of doing
1785 (register_name, tc_s390_regname_to_dw2regnum): Adopt to the new
1786 reg_name_search signature.
1787 (s390_parse_cpu): Support the new arch string z13.
1788 (s390_insert_operand): Support for vector registers with the extra
1789 field for the fifth bit of each vector register operand.
1790 (md_gather_operand): Adjust to the new handling of optional
1793 * doc/as.texinfo: Document the z13 cpu string.
1797 * config/tc-arm.c (parse_ifimm_zero): Accept #0x0 as a synonym for
1798 #0, restoring previous behaviour.
1802 * gas/dw2gencfi.c (cfi_add_label, dot_cfi_label): New.
1803 (cfi_pseudo_table): Add "cfi_label".
1804 (output_cfi_insn): Handle CFI_label.
1805 (select_cie_for_fde): Als terminate CIE when encountering
1807 * dw2gencfi.h (cfi_add_label): Declare.
1808 (struct cfi_insn_data): New member "sym_name".
1810 * read.c (read_symbol_name): Drop "static".
1811 * read.h (read_symbol_name): Declare.
1815 * gas/config/tc-arm.c (do_neon_shl_imm): Check immediate range.
1816 (do_neon_qshl_imm): Likewise.
1820 * read.c (s_altmacro, s_reloc): Make definition static.
1824 * config/tc-avr.c (md_apply_fix): Update the contents of VALP for
1829 * config/tc-arm.c (arm_cpus): Add support for APM X-Gene 1 and
1831 * doc/c-arm.texi (ARM Options): Mention xgene1 and xgene2.
1835 * config/tc-arm.c (struct arm_option_extension_value_table):
1836 Split field "value" into fields "merge_value" and "clear_value".
1837 (arm_extensions): Adjust initializer accordingly.
1841 * as.c (parse_args): Just print current year.
1845 Update year range in copyright notice of all files.
1847 For older changes see ChangeLog-2014
1849 Copyright (C) 2015 Free Software Foundation, Inc.
1851 Copying and distribution of this file, with or without modification,
1852 are permitted in any medium without royalty provided the copyright
1853 notice and this notice are preserved.
1859 version-control: never