7 * config/tc-arm.c (struct arm_it): Make size, size_req, cond and
9 (parse_vfp_reg_list): Make setmask unsigned, vpr_str_len size_t.
10 (parse_big_immediate): Cast generic_bignum elements to unsigned.
11 (encode_thumb32_immediate): Shift left 0xffU.
12 (double_to_single): Make sign unsigned. Tidy.
13 (move_or_literal_pool): Cast LITTLE_NUM elements to uint64_t or
15 (vfp_or_neon_is_neon): Adjust inst.uncond_value expression.
16 (md_assemble): Likewise.
17 (handle_pred_state): Make cond unsigned.
18 (thumb32_negate_data_op): Make variables unsigned.
19 (md_apply_fix): Make value and newval unsigned, adjust uses.
24 * config/tc-z8k.c (buffer): Use unsigned char.
25 (apply_fix): Use unsigned char* pointers.
26 (build_bytes): Likewise and mask nibbles when packing.
31 * config/tc-v850.c (parse_register_list): Shift 1u left.
36 * config/tc-tic6x.c (md_apply_fix): Use unsigned variables.
41 * config/tc-sh.c (assemble_ppi): Use unsigned variables.
46 * config/tc-score.c (s3_apply_fix): Use unsigned variables.
47 * config/tc-score7.c (s7_apply_fix): Likewise.
52 * config/tc-nios2.c (nios2_parse_reglist): Shift 1UL left.
57 * config/tc-nios2.c (md_chars_to_number): Cast buf[i] before shifting.
64 * config/tc-mips.c (operand_reg_mask): Shift 1u left.
65 (load_register): Shift 0xffffU left.
70 * config/tc-metag.c (md_chars_to_number): Make retval unsigned.
75 * config/tc-mep.c (md_convert_frag): Use uint32_t for addend and
81 * config/tc-riscv.c (riscv_ip): Cast X_add_number passed to
82 VALID_* macros to unsigned.
86 * config/tc-crx.c: Formatting.
87 (CRX_PRINT): Wrap params in parentheses. Remove parens from uses
89 (reset_vars, get_register, get_copregister, get_optype, get_opbits),
90 (get_opflags, get_number_of_operands, parse_operand, gettrap),
91 (handle_LoadStor, getconstant, check_range, getreg_image),
92 (parse_operands, parse_insn, print_operand, print_constant),
93 (exponent2scale, mask_reg, process_label_constant, set_operand),
94 (assemble_insn, print_insn): Delete unnecessary forward declaration.
95 (print_insn): Make static.
96 (print_constant): Make "constant" unsigned.
97 (assemble_insn): Tidy REVERSE_MATCH index calc.
98 * expr.c (generic_bignum_to_int32): Cast elements to valueT.
103 * config/tc-z80.c (is_overflow): Use 1UL in mask shift expression.
107 * config/tc-tic4x.c (tic4x_gen_to_words): Rewrite mantissa
108 overflow test without UB. Avoid other UB shifts by making them
113 * config/tc-csky.c (csky_error_state): New member 'arg_int'.
114 (SET_ERROR_NUMBER): Rename to SET_ERROR_STRING.
115 (SET_ERROR_INTEGER): New.
116 (err_formats): Add error format for ERROR_FREG_OVER_RANGE and
117 ERROR_VREG_OVER_RANGE.
118 (csky_show_error): Pass an integer argument for some error
120 (parse_exp): Call SET_ERROR_STRING instead of SET_ERROR_NUMBER.
121 (parse_rt): Likewise.
122 (parse_type_ctrlreg): Likewise.
123 (csky_get_reg_val): Likewise.
124 (is_reglist_legal): Likewise.
125 (is_freglist_legal): Likewise.
126 (is_reglist_dash_comma_legal): Likewise.
127 (is_reg_lshift_illegal): Likewise.
128 (is_psr_bit): Likewise.
129 (parse_type_cpreg): Likewise.
130 (parse_type_cpcreg): Likewise.
131 (parse_type_areg): Likewise.
132 (parse_type_freg): Likewise.
133 (parse_ldst_imm): Likewise and call SET_ERROR_INTEGER.
134 (get_operand_value): Likewise.
135 (parse_operands_op): Likewise and call is_imm_within_range,
136 is_imm_within_range_ext and is_oimm_within_range.
137 (md_assemble): Likewise.
138 (is_imm_within_range): New.
139 (is_imm_within_range_ext): Rename from is_imm_over_range.
140 (is_oimm_within_range): Rename from is_oimm_over_range.
141 (v2_work_add_sub): Call SET_ERROR_INTEGER.
142 (csky_rolc): call is_imm_within_range instead of
147 * config/tc-csky.c (md_begin): Add warning when -mdsp and
148 -mcpu=ck803ern are both added.
149 (parse_ldst_imm): Fix error message.
153 * testsuite/gas/cr16/cbitb_test.d: Update expected output.
154 * testsuite/gas/cr16/cbitw_test.d: Likewise.
155 * testsuite/gas/cr16/sbitb_test.d: Likewise.
156 * testsuite/gas/cr16/sbitw_test.d: Likewise.
157 * testsuite/gas/cr16/storb_test.d: Likewise.
158 * testsuite/gas/cr16/storw_test.d: Likewise.
159 * testsuite/gas/cr16/tbitb_test.d: Likewise.
160 * testsuite/gas/cr16/tbitw_test.d: Likewise.
166 * config/tc-cr16.c: Include limits.h, formatting.
167 (CR16_PRINT): Wrap params in parentheses. Remove parens from uses
169 (getconstant): Handle zero nbits.
170 (print_operand): Use unsigned variables. Simplify handling of
172 (check_range): Use int32_t variables. Correct range checks.
177 * config/tc-pj.c (md_assemble): Don't loop past end of
183 * config/tc-ia64.c (parse_operands): Don't access past end of
188 * as.c (parse_args): Handle bad -gdwarf options.
192 * gas/config/tc-csky.c (md_begin): Set attributes.
193 (isa_flag): Change type to unsigned 64 bits.
194 (struct csky_cpu_info): Likewise.
195 (struct csky_macro_info): Likewise.
196 (set_csky_attribute): New.
197 * testsuite/gas/csky/802j.d: Ignore .csky.attributes section.
198 * testsuite/gas/csky/all.d: Likewise.
199 * testsuite/gas/csky/bsr1.d: Likewise.
200 * testsuite/gas/csky/csky_vdsp.d: Likewise.
201 * testsuite/gas/csky/cskyv2_all.d: Likewise.
202 * testsuite/gas/csky/cskyv2_ck803r2.d: Likewise.
203 * testsuite/gas/csky/cskyv2_ck860.d: Likewise.
204 * testsuite/gas/csky/cskyv2_dsp.d: Likewise.
205 * testsuite/gas/csky/cskyv2_elrw.d: Likewise.
206 * testsuite/gas/csky/cskyv2_float.d: Likewise.
207 * testsuite/gas/csky/enhance_dsp.d: Likewise.
208 * testsuite/gas/csky/java.d: Likewise.
209 * testsuite/gas/csky/v1_float.d: Likewise.
210 * testsuite/gas/csky/v2_float_part1.d: Likewise.
211 * testsuite/gas/csky/v2_float_part2.d: Likewise.
212 * testsuite/gas/csky/v2_tls_gd.d: Likewise.
213 * testsuite/gas/csky/v2_tls_ie.d: Likewise.
214 * testsuite/gas/csky/v2_tls_ld.d: Likewise.
215 * testsuite/gas/csky/v2_tls_le.d: Likewise.
216 * testsuite/gas/elf/elf.exp: Add handler for CSKY.
217 * testsuite/gas/elf/section2.e-csky: New.
222 * cgen.c (weak_operand_overflow_check): Handle opmask for
223 operand length zero. Use 1UL constant.
228 * config/tc-xtensa.c (xg_get_trampoline_chain): Return early
229 when n_entries is zero.
234 * symbols.c: Include limits.h.
235 (resolve_symbol_value <O_left_shift, O_right_shift>): Do an
236 unsigned shift. Warn if shift count larger than valueT size.
241 * expr.c (expr <O_left_shift>): Do an unsigned shift.
247 * config/tc-bpf.c: Add option -mxbpf to select xbpf isa.
248 * testsuite/gas/bpf/indcall-1.d: New file.
249 * testsuite/gas/bpf/indcall-1.s: Likewise.
250 * testsuite/gas/bpf/indcall-bad-1.l: Likewise.
251 * testsuite/gas/bpf/indcall-bad-1.s: Likewise.
252 * testsuite/gas/bpf/bpf.exp: Run new tests.
257 * gas/config/tc-tic54x.c (tic54x_undefined_symbol): Properly treat
258 misc_symbol_hash entries without values.
263 * tc-tic4x.c (tic4x_inst_make): Don't die on terminating insn
269 * config/tc-cr16.c (get_b_cc): Return NULL early if op isn't
270 two or three chars, and don't bother copying.
275 * config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on
281 * symbols.c (dollar_label_count, dollar_label_max): Make size_t.
282 (dollar_label_clear): Don't call memset with NULL pointer.
286 * config/tc-arc.c (declare_register_set): Avoid false positive
287 format-overflow warning.
288 * config/tc-epiphany.c (md_assemble): Likewise.
289 * config/tc-mips.c (md_begin): Likewise.
290 * config/tc-mmix.c (mmix_md_begin): Likewise.
291 * config/tc-nds32.c (nds32_elf_append_relax_relocs): Avoid false
292 positive "may be used uninitialized" warning.
296 * config/tc-csky.c (csky_archs): Add item for CK860,
297 change ck810 and ck807's arch_flag.
298 (csky_cpus): Add item for CK860.
299 (md_begin): Enable DSP for CK810 and CK807 by default.
300 (md_apply_fix): Fix CKCORE_TLS_IE32 relocation failure.
301 * gas/testsuite/gas/csky/cskyv2_all.d: Change 'sync 0'
303 * gas/testsuite/gas/csky/cskyv2_all.s: Likewise.
304 * gas/testsuite/gas/csky/cskyv2_ck860.d: New.
305 * gas/testsuite/gas/csky/cskyv2_ck860.s: New.
306 * gas/testsuite/gas/csky/enhance_dsp.d: Change plsli.u16
308 * gas/testsuite/gas/csky/enhance_dsp.s: Likewise.
312 * config/tc-tic54x.c (stag_add_field_symbols): Don't free "name"
313 in case where it isn't copied.
314 * config/tc-tic54x.h (LOCAL_LABELS_FB): Undef.
315 * testsuite/gas/tic54x/field.d: Dump section contents and symbols
316 rather than disassembling.
317 * testsuite/gas/tic54x/set.d: Adjust for newer disassembly.
321 * config/tc-aarch64.c (md_begin): Don't bother checking for
322 out of memory failure from str_htab_create.
323 * config/tc-arc.c (arc_insert_opcode, md_begin): Likewise.
324 (arc_extcorereg, arc_stralloc): Likewise.
325 * config/tc-arm.c (md_begin): Likewise.
326 * config/tc-cr16.c (initialise_reg_hash_table, md_begin): Likewise.
327 * config/tc-cris.c (md_begin): Likewise.
328 * config/tc-crx.c (md_begin): Likewise.
329 * config/tc-pdp11.c (md_begin): Likewise.
330 * config/tc-score.c (s3_build_reg_hsh, s3_begin): Likewise.
331 * config/tc-score7.c (s7_build_reg_hsh, s7_begin): Likewise.
335 * config/tc-arm.c (move_or_literal_pool): Avoid false positive
336 "may be used uninitialised".
337 (opcode_lookup): Likewise.
342 * symbols.c (local_symbol_convert): Clear out xtra.
346 * config/tc-csky.c (CSKY_ISA_803R2): New.
347 (csky_archs): Add ck803r2 series.
348 (md_begin): Fix warning about -medsp.
349 (csky_get_freg_val): Support lowercase of fpu register name.
350 * testsuite/gas/csky/cskyv2_ck803r2.s: New file.
351 * testsuite/gas/csky/cskyv2_ck803r2.d: New file.
356 * hash.h (htab_insert): Update prototype and comment.
357 (struct string_tuple): Make "value" a const void*.
358 (string_tuple_alloc): Likewise.
359 (str_hash_find, str_hash_find_n): Cast returned value.
360 (str_hash_insert): Add "replace" parameter, and return slot pointer.
361 Free alloc'd element when not inserted.
362 * hash.c (htab_insert): Likewise. Return slot when element exists,
363 otherwise return NULL.
364 * read.c (pop_insert): Insert into hash table without first searching.
365 * config/tc-avr.c (md_begin): Likewise.
366 * config/tc-msp430.c (md_begin): Likewise.
367 * config/tc-nds32.c (nds32_init_nds32_pseudo_opcodes): Likewise.
368 * config/tc-v850.c (md_begin): Likewise.
369 * macro.c (do_formals, define_macro, macro_expand_body): Likewise.
370 (delete_macro): Delete from hash table.
371 * config/tc-tic54x.c (subsym_create_or_replace): Correct logic.
373 * symbols.c (local_symbol_make, symbol_table_insert): Allow
374 replacement of hash table entries.
375 * config/obj-coff-seh.c (seh_hash_insert): Likewise.
376 * config/obj-coff.c (tag_insert): Likewise.
377 * config/tc-iq2000.c (iq2000_add_macro): Likewise.
378 * config/tc-m68k.c (md_begin): Likewise for aliases.
379 * config/tc-tic4x.c (tic4x_asg): Likewise.
380 * config/tc-tic6x.c (md_begin): Likewise.
382 * dw2gencfi.c (dwcfi_hash_find_or_make): Disallow replacement of
384 * ecoff.c (add_string, get_tag): Likewise.
385 * macro.c (expand_irp): Likewise.
386 * config/obj-elf.c (build_additional_section_info): Likewise.
387 * config/tc-aarch64.c (insert_reg_alias): Likewise.
388 (checked_hash_insert): Likewise.
389 * config/tc-alpha.c (get_alpha_reloc_tag, md_begin): Likewise.
390 * config/tc-arc.c (arc_insert_opcode, declare_register): Likewise.
391 (declare_addrtype, md_begin, arc_extcorereg): Likewise.
392 * config/tc-arm.c (insert_reg_alias): Likewise.
393 (arm_tc_equal_in_insn, md_begin): Likewise.
394 * config/tc-cr16.c (initialise_reg_hash_table, md_begin): Likewise.
395 * config/tc-cris.c (md_begin): Likewise.
396 * config/tc-crx.c (md_begin): Likewise.
397 * config/tc-csky.c (md_begin): Likewise.
398 * config/tc-d10v.c (md_begin): Likewise.
399 * config/tc-dlx.c (md_begin): Likewise.
400 * config/tc-ft32.c (md_begin): Likewise.
401 * config/tc-h8300.c (md_begin): Likewise.
402 * config/tc-hppa.c (md_begin): Likewise.
403 * config/tc-i386.c (md_begin): Likewise.
404 * config/tc-ia64.c (dot_rot, dot_entry, declare_register): Likewise.
405 (md_begin, dot_alias): Likewise.
406 * config/tc-m68hc11.c (md_begin): Likewise.
407 * config/tc-m68k.c (md_begin): Likewise.
408 * config/tc-mcore.c (md_begin): Likewise.
409 * config/tc-microblaze.c (md_begin): Likewise.
410 * config/tc-mips.c (md_begin): Likewise.
411 * config/tc-mmix.c (md_begin): Likewise.
412 * config/tc-mn10200.c (md_begin): Likewise.
413 * config/tc-mn10300.c (md_begin): Likewise.
414 * config/tc-moxie.c (md_begin): Likewise.
415 * config/tc-nds32.c (nds32_relax_hint, md_begin): Likewise.
416 * config/tc-nios2.c (md_begin): Likewise.
417 * config/tc-ns32k.c (md_begin): Likewise.
418 * config/tc-pdp11.c (md_begin): Likewise.
419 * config/tc-pj.c (fake_opcode, md_begin): Likewise.
420 * config/tc-ppc.c (ppc_setup_opcodes): Likewise.
421 * config/tc-pru.c (md_begin): Likewise.
422 * config/tc-riscv.c (init_ext_version_hash): Likewise.
423 (init_opcode_names_hash, hash_reg_name, init_opcode_hash): Likewise.
424 (riscv_init_csr_hash): Likewise.
425 * config/tc-s390.c (s390_setup_opcodes, md_begin): Likewise.
426 * config/tc-score.c (s3_insert_reg): Likewise.
427 (s3_build_score_ops_hsh, s3_build_dependency_insn_hsh): Likewise.
428 * config/tc-score7.c (s7_build_score_ops_hsh): Likewise.
429 (s7_build_dependency_insn_hsh, s7_insert_reg): Likewise.
430 * config/tc-sh.c (md_begin): Likewise.
431 * config/tc-sparc.c (md_begin): Likewise.
432 * config/tc-spu.c (md_begin): Likewise.
433 * config/tc-tic30.c (md_begin): Likewise.
434 * config/tc-tic4x.c (tic4x_inst_insert): Likewise.
435 * config/tc-tic54x.c (stag_add_field_symbols, md_begin): Likewise.
436 (tic54x_endstruct, tic54x_var, tic54x_macro_info): Likewise.
437 (subsym_substitute): Likewise.
438 * config/tc-tilegx.c (md_begin): Likewise.
439 * config/tc-tilepro.c (md_begin): Likewise.
440 * config/tc-vax.c (vip_begin): Likewise.
441 * config/tc-wasm32.c (md_begin): Likewise.
442 * config/tc-xgate.c (md_begin): Likewise.
443 * config/tc-z8k.c (md_begin): Likewise.
444 * testsuite/gas/ppc/dcbt.d,
445 * testsuite/gas/ppc/dcbt.s: New test.
446 * testsuite/gas/ppc/ppc.exp: Run it.
448 * ecoff.c (add_string): Report fatal error on duplicates.
449 * config/tc-alpha.c (md_begin): Likewise.
450 * config/tc-arc.c (arc_insert_opcode, declare_register): Likewise.
451 (declare_addrtype, md_begin, arc_extcorereg): Likewise.
452 * config/tc-cr16.c (initialise_reg_hash_table, md_begin): Likewise.
453 * config/tc-cris.c (md_begin): Likewise.
454 * config/tc-crx.c (md_begin): Likewise.
455 * config/tc-dlx.c (md_begin): Likewise.
456 * config/tc-hppa.c (md_begin): Likewise.
457 * config/tc-i386.c (md_begin): Likewise.
458 * config/tc-ia64.c (dot_rot, dot_entry, declare_register): Likewise.
459 (md_begin): Likewise.
460 * config/tc-m68k.c (md_begin): Likewise.
461 * config/tc-mips.c (md_begin): Likewise.
462 * config/tc-nios2.c (md_begin): Likewise.
463 * config/tc-ns32k.c (md_begin): Likewise.
464 * config/tc-ppc.c (ppc_setup_opcodes): Likewise.
465 * config/tc-pru.c (md_begin): Likewise.
466 * config/tc-riscv.c (init_ext_version_hash): Likewise.
467 (init_opcode_names_hash, hash_reg_name, init_opcode_hash): Likewise.
468 * config/tc-s390.c (s390_setup_opcodes, md_begin): Likewise.
469 * config/tc-sparc.c (md_begin): Likewise.
470 * config/tc-tic30.c (md_begin): Likewise.
471 * config/tc-tic4x.c (tic4x_inst_insert): Likewise.
472 * config/tc-tilegx.c (md_begin): Likewise.
473 * config/tc-tilepro.c (md_begin): Likewise.
474 * config/tc-vax.c (vip_begin): Likewise.
482 * config/tc-m68hc11.c,
484 * config/tc-microblaze.c,
489 * config/tc-score7.c,
491 * config/tc-tic54x.c,
492 * config/tc-tilegx.c,
493 * config/tc-tilepro.c,
494 * config/tc-xgate.c: Formatting.
498 * symbols.c (struct local_symbol): Add "hash" entry. Reorder fields.
499 Delete union. Adjust code throughout file.
500 (struct symbol): Add "hash", "name" and "x" entries. Reorder fields.
502 (struct xsymbol): ..this. New struct. Adjust code throughout file
503 accessing these fields.
504 (struct symbol_entry): Delete.
505 (union symbol_entry): New.
506 (hash_symbol_entry): Adjust for symbol_entry_t change.
507 (symbol_entry_find): Likewise.
508 (eq_symbol_entry): Compare hash values too.
509 (symbol_entry_alloc): Delete.
510 (local_symbol_converted_p, local_symbol_mark_converted): Delete.
511 (local_symbol_get_real_symbol, local_symbol_set_real_symbol): Delete.
512 (local_hash): Delete.
513 (abs_symbol_x, dot_symbol_x): New static var.
514 (symbol_init): New function.
515 (symbol_create): Rewrite.
516 (LOCAL_SYMBOL_CHECK): Delete. Replace uses throughout with simple
517 test of flags.local_symbol.
518 (local_symbol_make): Adjust for struct local_symbol changes.
519 (local_symbol_convert): Rewrite. Adjust all callers.
520 (symbol_table_insert): Simplify.
521 (symbol_clone): Comment on local sym cloning. Handle split symbol
523 (get_real_sym): Delete. Remove all uses.
524 (symbol_find_exact_noref): Simplify.
525 (resolve_local_symbol): Don't resolve non-locals.
526 (S_SET_SEGMENT): Don't special case reg_section.
527 (S_SET_NAME): Set both name and bsym->name.
528 (symbol_mark_resolved, symbol_resolved_p): Simplify.
529 (symbol_symbolS): Update comment.
530 (symbol_begin): Don't create local_hash. Adjust abs_symbol setup.
531 (dot_symbol_init): Adjust dot_symbol setup.
532 (symbol_print_statistics): Delete local_hash stats.
536 * symbols.c (struct symbol_flags): Rename sy_volatile to volatil,
537 and remove sy_ from other field names. Update throughout.
538 (struct symbol): Remove sy_ from field names. Delete unused
539 TARGET_SYMBOL_FIELDS. Update throughout file. Move after..
540 (struct local_symbol): ..here. Remove lsy_ from field names.
541 Delete unused TC_LOCAL_SYMFIELD_TYPE. Update throughout file.
542 (local_symbol_resolved_p, local_symbol_mark_resolved): Delete.
543 Expand uses throughout file.
544 (local_symbol_get_frag, local_symbol_set_frag): Likewise.
545 (symbol_new): Move symbol_table_frozen test to..
546 (symbol_append): ..here, and..
547 (symbol_insert): ..here.
548 (resolve_symbol_value, symbol_relc_make_expr): White space fixes.
549 (HANDLE_XADD_OPT1, HANDLE_XADD_OPT2): Likewise.
550 * config/obj-coff.h (RESOLVE_SYMBOL_REDEFINITION): Update.
554 * symbols.h (symbol_new, symbol_create, local_symbol_make),
555 (symbol_temp_new): Arrange params as section, frag, offset.
556 * symbols.c: Adjust to suit.
559 * dwarf2dbg.c: Likewise.
562 * itbl-ops.c: Likewise.
565 * subsegs.c: Likewise.
566 * config/obj-coff.c: Likewise.
567 * config/obj-elf.c: Likewise.
568 * config/obj-macho.c: Likewise.
569 * config/tc-aarch64.c: Likewise.
570 * config/tc-alpha.c: Likewise.
571 * config/tc-arc.c: Likewise.
572 * config/tc-arm.c: Likewise.
573 * config/tc-avr.c: Likewise.
574 * config/tc-cr16.c: Likewise.
575 * config/tc-cris.c: Likewise.
576 * config/tc-csky.c: Likewise.
577 * config/tc-dlx.c: Likewise.
578 * config/tc-hppa.c: Likewise.
579 * config/tc-i386.c: Likewise.
580 * config/tc-ia64.c: Likewise.
581 * config/tc-m32r.c: Likewise.
582 * config/tc-m68k.c: Likewise.
583 * config/tc-mips.c: Likewise.
584 * config/tc-mmix.c: Likewise.
585 * config/tc-mn10200.c: Likewise.
586 * config/tc-mn10300.c: Likewise.
587 * config/tc-nds32.c: Likewise.
588 * config/tc-nios2.c: Likewise.
589 * config/tc-ppc.c: Likewise.
590 * config/tc-riscv.c: Likewise.
591 * config/tc-s390.c: Likewise.
592 * config/tc-sh.c: Likewise.
593 * config/tc-tic4x.c: Likewise.
594 * config/tc-tic54x.c: Likewise.
595 * config/tc-xtensa.c: Likewise.
599 * config/tc-csky.c (csky_insn_info): Add member last_isize.
600 (md_assemble): Assign value to csky_insn.last_isize.
601 * testsuite/gas/csky/enhance_dsp.d: Test bloop's two operands form.
602 * testsuite/gas/csky/enhance_dsp.s: Likewise.
606 * NEWS: Mention --reduce-memory-overheads and --hash-size arguments
608 * as.c: Remove the options from help.
609 * doc/as.texi: Remove options.
610 * doc/internals.texi: Remove hash from documentation.
611 * hash.c (struct hash_entry): Remove.
612 (struct hash_control): Likewise.
613 (set_gas_hash_table_size): Likewise.
614 (hash_new_sized): Likewise.
615 (hash_new): Likewise.
616 (hash_die): Likewise.
617 (hash_lookup): Likewise.
618 (hash_insert): Likewise.
619 (hash_jam): Likewise.
620 (hash_replace): Likewise.
621 (hash_find): Likewise.
622 (hash_find_n): Likewise.
623 (hash_delete): Likewise.
624 (hash_traverse): Likewise.
625 (hash_print_statistics): Likewise.
627 (STATBUFSIZE): Likewise.
631 (applicatee): Likewise.
632 (whattable): Likewise.
633 * hash.h (struct hash_control): Likewise.
634 (set_gas_hash_table_size): Likewise.
635 (hash_new): Likewise.
636 (hash_new_sized): Likewise.
637 (hash_die): Likewise.
638 (hash_insert): Likewise.
639 (hash_jam): Likewise.
640 (hash_replace): Likewise.
641 (hash_find): Likewise.
642 (hash_find_n): Likewise.
643 (hash_delete): Likewise.
644 (hash_traverse): Likewise.
645 (hash_print_statistics): Likewise.
649 * config/obj-coff-seh.c (seh_hash_insert): Port to use new
651 (seh_hash_find): Likewise.
652 (seh_hash_find_or_make): Likewise.
653 * config/obj-coff.c (tag_init): Likewise.
654 (tag_insert): Likewise.
655 (tag_find): Likewise.
656 * config/obj-elf.c (struct group_list): Likewise.
657 (build_additional_section_info): Likewise.
658 (free_section_idx): Likewise.
659 (elf_adjust_symtab): Likewise.
660 (elf_frob_file_after_relocs): Likewise.
661 * config/tc-aarch64.c (INSN_SIZE): Likewise.
662 (parse_reg): Likewise.
663 (insert_reg_alias): Likewise.
664 (create_register_alias): Likewise.
666 (parse_shift): Likewise.
667 (parse_pldop): Likewise.
668 (parse_barrier): Likewise.
669 (parse_barrier_psb): Likewise.
670 (parse_bti_operand): Likewise.
671 (parse_sys_reg): Likewise.
672 (parse_sys_ins_reg): Likewise.
673 (lookup_mnemonic): Likewise.
674 (opcode_lookup): Likewise.
675 (parse_operands): Likewise.
676 (checked_hash_insert): Likewise.
677 (sysreg_hash_insert): Likewise.
678 (fill_instruction_hash_table): Likewise.
679 (md_begin): Likewise.
680 * config/tc-alpha.c (struct alpha_reloc_tag): Likewise.
681 (get_alpha_reloc_tag): Likewise.
682 (assemble_tokens_to_insn): Likewise.
683 (assemble_tokens): Likewise.
684 (md_begin): Likewise.
685 * config/tc-arc.c (arc_find_opcode): Likewise.
686 (arc_insert_opcode): Likewise.
687 (find_opcode_match): Likewise.
688 (declare_register): Likewise.
689 (declare_addrtype): Likewise.
690 (md_begin): Likewise.
691 (arc_parse_name): Likewise.
692 (tc_arc_regname_to_dw2regnum): Likewise.
693 (arc_extcorereg): Likewise.
694 * config/tc-arm.c (MVE_BAD_QREG): Likewise.
695 (arm_reg_parse_multi): Likewise.
696 (parse_reloc): Likewise.
697 (insert_reg_alias): Likewise.
698 (create_register_alias): Likewise.
700 (parse_shift): Likewise.
701 (parse_psr): Likewise.
702 (parse_cond): Likewise.
703 (parse_barrier): Likewise.
704 (do_vfp_nsyn_opcode): Likewise.
705 (opcode_lookup): Likewise.
706 (arm_tc_equal_in_insn): Likewise.
707 (md_begin): Likewise.
708 * config/tc-avr.c (md_begin): Likewise.
709 (avr_ldi_expression): Likewise.
710 (md_assemble): Likewise.
711 (avr_update_gccisr): Likewise.
712 (avr_emit_insn): Likewise.
713 * config/tc-cr16.c (get_register): Likewise.
714 (get_register_pair): Likewise.
715 (get_index_register): Likewise.
716 (get_index_register_pair): Likewise.
717 (get_pregister): Likewise.
718 (get_pregisterp): Likewise.
719 (initialise_reg_hash_table): Likewise.
720 (md_begin): Likewise.
721 (cr16_assemble): Likewise.
722 (md_assemble): Likewise.
723 * config/tc-cris.c (cris_insn_first_word_frag): Likewise.
724 (md_begin): Likewise.
725 (cris_process_instruction): Likewise.
726 * config/tc-crx.c (get_register): Likewise.
727 (get_copregister): Likewise.
728 (md_begin): Likewise.
729 (md_assemble): Likewise.
730 * config/tc-csky.c (md_begin): Likewise.
731 (parse_opcode): Likewise.
732 (get_operand_value): Likewise.
733 (v1_work_jbsr): Likewise.
734 (v2_work_rotlc): Likewise.
735 (v2_work_bgeni): Likewise.
736 (v2_work_not): Likewise.
737 * config/tc-d10v.c (sizeof): Likewise.
738 (md_begin): Likewise.
739 (do_assemble): Likewise.
740 (md_apply_fix): Likewise.
741 * config/tc-d30v.c (sizeof): Likewise.
742 (md_begin): Likewise.
743 (do_assemble): Likewise.
744 * config/tc-dlx.c (RELOC_DLX_VTENTRY): Likewise.
745 (md_begin): Likewise.
746 (machine_ip): Likewise.
747 * config/tc-ft32.c (md_begin): Likewise.
748 (md_assemble): Likewise.
749 * config/tc-h8300.c (md_begin): Likewise.
750 (md_assemble): Likewise.
751 * config/tc-hppa.c (pa_ip): Likewise.
752 (md_begin): Likewise.
753 * config/tc-i386.c (md_begin): Likewise.
754 (i386_print_statistics): Likewise.
755 (parse_insn): Likewise.
756 (process_operands): Likewise.
757 (i386_index_check): Likewise.
758 (parse_real_register): Likewise.
759 * config/tc-ia64.c (dot_rot): Likewise.
760 (dot_entry): Likewise.
761 (declare_register): Likewise.
762 (md_begin): Likewise.
763 (ia64_parse_name): Likewise.
764 (md_assemble): Likewise.
765 (dot_alias): Likewise.
766 (do_alias): Likewise.
767 (ia64_adjust_symtab): Likewise.
768 (do_secalias): Likewise.
769 (ia64_frob_file): Likewise.
770 * config/tc-m68hc11.c (m68hc11_print_statistics): Likewise.
771 (md_begin): Likewise.
772 (print_insn_format): Likewise.
773 (md_assemble): Likewise.
774 * config/tc-m68k.c (tc_gen_reloc): Likewise.
776 (md_begin): Likewise.
777 * config/tc-mcore.c (md_begin): Likewise.
778 (md_assemble): Likewise.
779 * config/tc-microblaze.c (md_begin): Likewise.
780 (md_assemble): Likewise.
781 (md_apply_fix): Likewise.
782 * config/tc-mips.c (nopic_need_relax): Likewise.
783 (md_begin): Likewise.
784 (macro_build): Likewise.
785 (mips16_macro_build): Likewise.
786 (mips_lookup_insn): Likewise.
788 (mips16_ip): Likewise.
789 * config/tc-mmix.c (sizeof): Likewise.
790 (mmix_md_begin): Likewise.
791 (md_assemble): Likewise.
792 * config/tc-mn10200.c (md_begin): Likewise.
793 (md_assemble): Likewise.
794 * config/tc-mn10300.c (HAVE_AM30): Likewise.
795 (md_begin): Likewise.
796 (md_assemble): Likewise.
797 * config/tc-moxie.c (md_begin): Likewise.
798 (md_assemble): Likewise.
799 * config/tc-msp430.c (md_begin): Likewise.
800 (msp430_operands): Likewise.
801 (md_assemble): Likewise.
802 * config/tc-nds32.c (PV_DONT_CARE): Likewise.
803 (builtin_isreg): Likewise.
804 (builtin_regnum): Likewise.
805 (nds32_init_nds32_pseudo_opcodes): Likewise.
806 (nds32_lookup_pseudo_opcode): Likewise.
807 (nds32_relax_hint): Likewise.
808 (md_begin): Likewise.
809 (nds32_find_reloc_table): Likewise.
810 (nds32_elf_append_relax_relocs_traverse): Likewise.
811 (nds32_relax_branch_instructions): Likewise.
812 (md_convert_frag): Likewise.
813 (nds32_elf_analysis_relax_hint): Likewise.
814 (tc_nds32_regname_to_dw2regnum): Likewise.
815 * config/tc-nios2.c (nios2_opcode_lookup): Likewise.
816 (nios2_reg_lookup): Likewise.
817 (nios2_ps_lookup): Likewise.
818 (md_begin): Likewise.
819 * config/tc-ns32k.c (struct hash_control): Likewise.
821 (md_begin): Likewise.
822 * config/tc-pdp11.c (md_begin): Likewise.
823 (md_assemble): Likewise.
824 * config/tc-pj.c (fake_opcode): Likewise.
826 (md_begin): Likewise.
827 (md_assemble): Likewise.
828 * config/tc-ppc.c (ppc_setup_opcodes): Likewise.
829 (md_assemble): Likewise.
830 * config/tc-pru.c (pru_opcode_lookup): Likewise.
831 (pru_reg_lookup): Likewise.
832 (md_begin): Likewise.
834 * config/tc-riscv.c (init_ext_version_hash): Likewise.
835 (riscv_get_default_ext_version): Likewise.
836 (riscv_set_arch): Likewise.
837 (init_opcode_names_hash): Likewise.
838 (opcode_name_lookup): Likewise.
839 (enum reg_class): Likewise.
840 (hash_reg_name): Likewise.
841 (riscv_init_csr_hash): Likewise.
842 (reg_csr_lookup_internal): Likewise.
843 (reg_lookup_internal): Likewise.
844 (init_opcode_hash): Likewise.
845 (md_begin): Likewise.
846 (DECLARE_CSR): Likewise.
847 (macro_build): Likewise.
848 (riscv_ip): Likewise.
849 * config/tc-s390.c (register_name): Likewise.
850 (s390_setup_opcodes): Likewise.
851 (md_begin): Likewise.
852 (md_assemble): Likewise.
853 (s390_insn): Likewise.
854 * config/tc-score.c (struct s3_reg_map): Likewise.
855 (s3_score_reg_parse): Likewise.
856 (s3_dependency_type_from_insn): Likewise.
857 (s3_parse_16_32_inst): Likewise.
858 (s3_parse_48_inst): Likewise.
859 (s3_insert_reg): Likewise.
860 (s3_build_reg_hsh): Likewise.
861 (s3_build_score_ops_hsh): Likewise.
862 (s3_build_dependency_insn_hsh): Likewise.
863 (s3_begin): Likewise.
864 * config/tc-score7.c (struct s7_reg_map): Likewise.
865 (s7_score_reg_parse): Likewise.
866 (s7_dependency_type_from_insn): Likewise.
867 (s7_parse_16_32_inst): Likewise.
868 (s7_build_score_ops_hsh): Likewise.
869 (s7_build_dependency_insn_hsh): Likewise.
870 (s7_insert_reg): Likewise.
871 (s7_build_reg_hsh): Likewise.
872 (s7_begin): Likewise.
873 * config/tc-sh.c (EMPTY): Likewise.
874 (md_begin): Likewise.
875 (find_cooked_opcode): Likewise.
876 * config/tc-sparc.c (md_begin): Likewise.
877 (sparc_ip): Likewise.
878 * config/tc-spu.c (md_begin): Likewise.
879 (md_assemble): Likewise.
880 * config/tc-tic30.c (md_begin): Likewise.
881 (tic30_operand): Likewise.
882 (tic30_parallel_insn): Likewise.
883 (md_assemble): Likewise.
884 * config/tc-tic4x.c (TIC4X_ALT_SYNTAX): Likewise.
885 (tic4x_asg): Likewise.
886 (tic4x_inst_insert): Likewise.
887 (tic4x_inst_add): Likewise.
888 (md_begin): Likewise.
889 (tic4x_operand_parse): Likewise.
890 (md_assemble): Likewise.
891 * config/tc-tic54x.c (MAX_SUBSYM_HASH): Likewise.
892 (stag_add_field_symbols): Likewise.
893 (tic54x_endstruct): Likewise.
894 (tic54x_tag): Likewise.
895 (tic54x_remove_local_label): Likewise.
896 (tic54x_clear_local_labels): Likewise.
897 (tic54x_var): Likewise.
898 (tic54x_macro_start): Likewise.
899 (tic54x_macro_info): Likewise.
900 (tic54x_macro_end): Likewise.
901 (subsym_isreg): Likewise.
902 (subsym_structsz): Likewise.
903 (md_begin): Likewise.
904 (is_mmreg): Likewise.
906 (encode_condition): Likewise.
907 (encode_cc3): Likewise.
908 (encode_cc2): Likewise.
909 (encode_operand): Likewise.
910 (tic54x_parse_insn): Likewise.
911 (tic54x_parse_parallel_insn_firstline): Likewise.
912 (subsym_create_or_replace): Likewise.
913 (subsym_lookup): Likewise.
914 (subsym_substitute): Likewise.
915 (tic54x_undefined_symbol): Likewise.
916 * config/tc-tic6x.c (md_begin): Likewise.
917 (md_assemble): Likewise.
918 * config/tc-tilegx.c (O_hw2_last_plt): Likewise.
919 (INSERT_SPECIAL_OP): Likewise.
920 (md_begin): Likewise.
921 (tilegx_parse_name): Likewise.
922 (parse_reg_expression): Likewise.
923 (md_assemble): Likewise.
924 * config/tc-tilepro.c (O_tls_ie_load): Likewise.
925 (INSERT_SPECIAL_OP): Likewise.
926 (tilepro_parse_name): Likewise.
927 (parse_reg_expression): Likewise.
928 (md_assemble): Likewise.
929 * config/tc-v850.c (md_begin): Likewise.
930 (md_assemble): Likewise.
931 * config/tc-vax.c (md_ri_to_chars): Likewise.
932 (vip_begin): Likewise.
935 (md_begin): Likewise.
936 * config/tc-wasm32.c (md_begin): Likewise.
937 (md_assemble): Likewise.
938 * config/tc-xgate.c (xgate_parse_operand): Likewise.
939 (md_begin): Likewise.
940 (md_assemble): Likewise.
941 * config/tc-z8k.c (md_begin): Likewise.
942 (md_assemble): Likewise.
946 * dw2gencfi.c (dwcfi_hash_insert): Use htab_t and str_hash_*
948 (dwcfi_hash_find): Likewise.
949 (dwcfi_hash_find_or_make): Likewise.
953 * ecoff.c (INIT_VARRAY): Use htab_t.
954 (add_string): Likewise.
955 (ecoff_read_begin_hook): Use new str_htab_create.
956 (get_tag): Use htab_t.
957 (add_file): Likewise.
961 * hash.h (struct string_tuple): New.
962 (hash_string_tuple): Likewise.
963 (eq_string_tuple): Likewise.
964 (string_tuple_alloc): Likewise.
965 (str_hash_find): Likewise.
966 (str_hash_find_n): Likewise.
967 (str_hash_delete): Likewise.
968 (str_hash_insert): Likewise.
969 (str_htab_create): Likewise.
973 * symbols.c (struct symbol_entry): New.
974 (hash_symbol_entry): Likewise.
975 (eq_symbol_entry): Likewise.
976 (symbol_entry_alloc): Likewise.
977 (symbol_entry_find): Likewise.
978 (local_symbol_make): Use htab hash table.
979 (local_symbol_convert): Likewise.
980 (symbol_table_insert): Likewise.
981 (symbol_find_exact_noref): Likewise.
982 (resolve_local_symbol): Likewise.
983 (resolve_local_symbol_values): Likewise.
984 (symbol_begin): Likewise.
985 (symbol_print_statistics): Likewise.
989 * read.c (struct po_entry): New.
990 (hash_po_entry): Likewise.
991 (eq_po_entry): Likewise.
992 (po_entry_alloc): Likewise.
993 (po_entry_find): Likewise.
994 (pop_insert): Likewise.
995 (pobegin): Use htab hash table.
996 (read_a_source_file): Likewise.
998 (read_print_statistics): Likewise.
999 * config/tc-m68k.c (m68k_conditional_pseudoop): Add const qualifier.
1000 * config/tc-m68k.h (m68k_conditional_pseudoop): Likewise.
1004 * config/tc-iq2000.c (iq2000_add_macro): Use htab hash table.
1005 * macro.c (struct hash_control): Use htab.
1006 (macro_init): Likewise.
1007 (do_formals): Likewise.
1008 (free_macro): Likewise.
1009 (define_macro): Likewise.
1010 (sub_actual): Likewise.
1011 (macro_expand_body): Likewise.
1012 (macro_expand): Likewise.
1013 (check_macro): Likewise.
1014 (delete_macro): Likewise.
1015 (expand_irp): Likewise.
1016 * macro.h (struct macro_hash_entry): New struct.
1017 (hash_macro_entry): New.
1018 (eq_macro_entry): Likewise.
1019 (macro_entry_alloc): Likewise.
1020 (macro_entry_find): Likewise.
1021 (struct formal_hash_entry): Likewise.
1022 (hash_formal_entry): Likewise.
1023 (eq_formal_entry): Likewise.
1024 (formal_entry_alloc): Likewise.
1025 (formal_entry_find): Likewise.
1029 * as.h: Include hashtab.h.
1030 * hash.c (htab_insert): New.
1031 (htab_print_statistics): Likewise.
1032 * hash.h (htab_insert): Likewise.
1033 (htab_print_statistics): Likewise.
1037 * testsuite/gas/ppc/int128.s: Correct vcmpuq.
1038 * testsuite/gas/ppc/int128.d: Update.
1039 * testsuite/gas/ppc/xvtlsbb.d: Update.
1043 * testsuite/gas/ppc/vsx4.s: Update test to use new mnemonic.
1044 * testsuite/gas/ppc/vsx4.d: Likewise.
1048 * config/obj-elf.c (obj_elf_change_section): When repurposing an
1049 existing symbol, ensure that we set sy_value as per other (fresh)
1051 * testsuite/gas/elf/elf.exp: Add new test.
1052 * testsuite/gas/elf/section-symbol-redef.d: New test.
1053 * testsuite/gas/elf/section-symbol-redef.s: Input for test.
1058 * config/obj-som.c (obj_som_init_stab_section): Do nothing if the
1059 $GDB_DEBUG$ section has already been created.
1063 * config/tc-arm.c (do_neon_cvt_1): Parse vcvtne as vcvt-ne for
1064 NS_FD shape when MVE is present
1065 * testsuite/gas/arm/mve-vcvtne-it-bad.d: New test.
1066 * testsuite/gas/arm/mve-vcvtne-it-bad.l: New test.
1067 * testsuite/gas/arm/mve-vcvtne-it-bad.s: New test.
1068 * testsuite/gas/arm/mve-vcvtne-it.d: New test.
1069 * testsuite/gas/arm/mve-vcvtne-it.s: New test.
1073 * testsuite/gas/aarch64/mpam-bad.d: New test.
1074 * testsuite/gas/aarch64/mpam-bad.l: Error output.
1075 * testsuite/gas/aarch64/mpam-bad.s: Input.
1076 * testsuite/gas/aarch64/mpam.d: New test.
1077 * testsuite/gas/aarch64/mpam.s: Input.
1082 * doc/c-riscv.texi (RISC-V-Options): Fix typo in the description
1083 of the -mno-csr-check option.
1087 * po/ru.po: Updated Russian translation.
1091 * config/tc-aarch64.c (parse_sys_reg): Don't assert when parsing
1092 a long system register.
1093 (parse_sys_ins_reg): Likewise.
1094 (sysreg_hash_insert): New.
1095 (md_begin): Use sysreg_hash_insert() to ensure all system
1096 registers are no longer than the maximum length at startup.
1097 * testsuite/gas/aarch64/invalid-sysreg-assert.d: New test.
1098 * testsuite/gas/aarch64/invalid-sysreg-assert.l: Error output.
1099 * testsuite/gas/aarch64/invalid-sysreg-assert.s: Input.
1103 * config/tc-aarch64.c (parse_sys_reg): Call to
1104 aarch64_sys_ins_reg_supported_p instead of
1105 aarch64_sys_reg_supported_p.
1106 (parse_sys_ins_reg): Add aarch64_sys_reg_deprecated_p check.
1107 * testsuite/gas/aarch64/illegal-sysreg-5.d: New test.
1108 * testsuite/gas/aarch64/illegal-sysreg-5.l: New test.
1109 * testsuite/gas/aarch64/sysreg-5.s: New test.
1113 * testsuite/gas/ppc/power8.d,
1114 * testsuite/gas/ppc/power8.s: Add miso.
1115 * testsuite/gas/ppc/power9.d,
1116 * testsuite/gas/ppc/power8.s: Add exser, msgsndu, msgclru.
1120 * testsuite/gas/ppc/power8.d: Update.
1121 * testsuite/gas/ppc/vsx2.d: Update.
1125 * config/tc-ppc.c (md_assemble): Error for lmw, stmw, lswi, lswx,
1126 stswi, or stswx in little-endian mode.
1127 * testsuite/gas/ppc/476.d,
1128 * testsuite/gas/ppc/476.s: Delete lmw, stmw, lswi, lswx, stswi, stswx.
1129 * testsuite/gas/ppc/a2.d,
1130 * testsuite/gas/ppc/a2.s: Move lmw, stmw, lswi, lswx, stswi, stswx..
1131 * testsuite/gas/ppc/be.d,
1132 * testsuite/gas/ppc/be.s: ..to here, new big-endian only test.
1133 * testsuite/gas/ppc/le_error.d,
1134 * testsuite/gas/ppc/le_error.l: New little-endian test.
1135 * testsuite/gas/ppc/ppc.exp: Run new tests.
1139 * read.c (read_a_source_file): Ignore rest of line on overflow
1144 * read.c (read_a_source_file): Use long for local labels, detect
1145 overflow and raise an error for overly-long labels.
1146 * testsuite/gas/all/gas.exp: Add local-label-overflow test.
1147 * testsuite/gas/all/local-label-overflow.d: New test.
1148 * testsuite/gas/all/local-label-overflow.l: Error output.
1149 * testsuite/gas/all/local-label-overflow.s: Input.
1153 * gas/testsuite/gas/z8k/inout.d: Adapt to correct encoding of
1154 "sout/soutb #imm,reg"
1158 * NEWS: Mention {disp16} pseudo prefix.
1162 * testsuite/gas/i386/x86-64-pseudos.d: Revert an accidental
1167 * dwarf2dbg.c (out_debug_abbrev): When DWARF2_VERSION >= 4, use
1168 DW_FORM_udata for DW_AT_high_pc.
1169 (out_debug_info): Use emit_leb128_expr for DW_AT_high_pc, when
1170 DWARF2_VERSION >= 4.
1171 * read.c (emit_leb128_exp): No longer static.
1172 * read.h (emit_leb128_exp): Define.
1176 * gas/dwarf2dbg.c (out_dir_and_file_list): For DWARF5 emit at
1177 least one directory if there is at least one file. Use dirs[1]
1178 if dirs[0] is not set, or if there is no dirs[1] the current
1179 working directory. Use files[1] filename, when files[0] filename
1184 * dwarf2dbg.c (out_debug_info): Emit unit type and abbrev offset
1186 * gas/testsuite/gas/elf/dwarf-4-cu.d: New file.
1187 * gas/testsuite/gas/elf/dwarf-4-cu.s: Likewise.
1188 * gas/testsuite/gas/elf/dwarf-5-cu.d: Likewise.
1189 * gas/testsuite/gas/elf/dwarf-5-cu.s: Likewise.
1190 * testsuite/gas/elf/elf.exp: Run dwarf-4-cu and dwarf-5-cu.
1194 * doc/as.texi (--gdwarf-[345]): Fix typo.
1198 * config/tc-msp430.c (OPTION_MOVE_DATA): Remove.
1199 (md_parse_option): Remove case for OPTION_MOVE_DATA.
1200 (md_longopts): Remove "md" entry.
1201 (md_show_usage): Likewise.
1206 * config/tc-i386.c (_i386_insn::disp_encoding): Add
1207 disp_encoding_16bit.
1208 (parse_insn): Check Prefix_XXX for pseudo prefixes. Handle
1210 (build_modrm_byte): Handle {disp16}.
1211 (i386_index_check): Check invalid {disp16} and {disp32} pseudo
1213 * doc/c-i386.texi: Update {disp32} documentation and document
1215 * testsuite/gas/i386/i386.exp: Run x86-64-inval-pseudo.
1216 * testsuite/gas/i386/inval-pseudo.s: Add {disp32}/{disp16}
1218 * testsuite/gas/i386/pseudos.s: Add {disp8}/{disp32} vmovaps
1219 tests with 128-byte displacement. Add {disp16} tests.
1220 * testsuite/gas/i386/x86-64-pseudos.s: Add {disp8}/{disp32}
1221 vmovaps test. Add (%r13)/(%r13d) tests.
1222 * testsuite/gas/i386/x86-64-inval-pseudo.l: New file.
1223 * testsuite/gas/i386/x86-64-inval-pseudo.s: Likewise.
1224 * testsuite/gas/i386/inval-pseudo.l: Updated.
1225 * testsuite/gas/i386/pseudos.d: Likewise.
1226 * testsuite/gas/i386/x86-64-pseudos.d: Likewise.
1230 * Makefile.am (AM_CPPFLAGS): Add LARGEFILE_CPPFLAGS.
1231 * Makefile.in, doc/Makefile.in: Regenerate.
1232 * configure: Regenerate.
1236 * testsuite/gas/elf/dwarf2-3.d:Pass --gdwarf-3 to assembler.
1237 * testsuite/gas/elf/dwarf2-5.d: Likewise.
1238 * testsuite/gas/i386/dw2-compress-3a.d: Likewise.
1239 * testsuite/gas/i386/dw2-compress-3b.d: Likewise.
1240 * testsuite/gas/i386/dw2-compressed-3a.d: Likewise.
1241 * testsuite/gas/i386/dw2-compressed-3b.d: Likewise.
1245 * as.c (dwarf_level): Initialise to 3 in case this is not set on
1250 * testsuite/gas/mips/global-local-symtab-sort-o32.d: New test.
1251 * testsuite/gas/mips/global-local-symtab-sort-o32t.d: New test.
1252 * testsuite/gas/mips/global-local-symtab-sort-n32.d: New test.
1253 * testsuite/gas/mips/global-local-symtab-sort-n32t.d: New test.
1254 * testsuite/gas/mips/global-local-symtab-sort-n64.d: New test.
1255 * testsuite/gas/mips/global-local-symtab-sort-n64t.d: New test.
1256 * testsuite/gas/mips/mips.exp: Run the new tests.
1260 * testsuite/gas/mips/global-local-symtab-o32.d: New test.
1261 * testsuite/gas/mips/global-local-symtab-o32t.d: New test.
1262 * testsuite/gas/mips/global-local-symtab-n32.d: New test.
1263 * testsuite/gas/mips/global-local-symtab-n32t.d: New test.
1264 * testsuite/gas/mips/global-local-symtab-n64.d: New test.
1265 * testsuite/gas/mips/global-local-symtab.s: New test source.
1266 * testsuite/gas/mips/mips.exp: Run the new tests.
1271 * config/tc-i386.c (build_modrm_byte): Use disp32/disp16 on
1272 (%bp)/(%ebp)/(%rbp) for {disp32}.
1273 * doc/c-i386.texi: Update {disp32} documentation.
1274 * testsuite/gas/i386/pseudos.s: Add (%bp)/(%ebp) tests.
1275 * testsuite/gas/i386/x86-64-pseudos.s: Add (%ebp)/(%rbp) tests.
1276 * testsuite/gas/i386/pseudos.d: Updated.
1277 * testsuite/gas/i386/x86-64-pseudos.d: Likewise.
1281 * doc/as.texi: Replace preceeded with preceded.
1285 * testsuite/gas/mips/jal-svr4pic-irix.d: New file.
1290 * testsuite/gas/mips/jal-svr4pic-local-irix.d: New file.
1295 * testsuite/gas/mips/jal-svr4pic-noreorder-irix.d: New file.
1304 * testsuite/gas/mips/jal-xgot-irix.d: New file.
1305 * testsuite/gas/mips/jalr2-irix.d: New file.
1306 * testsuite/gas/mips/micromips-branch-relax-insn32-pic-irix.d:
1308 * testsuite/gas/mips/micromips-branch-relax-pic-irix.d: New
1310 * testsuite/gas/mips/mips-abi32-pic2-irix.d: New file.
1311 * testsuite/gas/mips/jal-svr4pic-local.d: Don't exclude
1312 `*-*-irix*' targets. Add source file designator.
1314 `*-*-irix*' targets.
1317 * testsuite/gas/mips/jalr2.d: Add name designator.
1318 * testsuite/gas/mips/mips.exp: Use respective IRIX variants for
1319 tests involving the JALR relocation throughout.
1323 * testsuite/gas/mips/mips.exp: Use a helper variable for
1324 IRIX/non-IRIX test selection.
1328 * testsuite/gas/i386/evex-no-scale-64.d,
1329 testsuite/gas/i386/addr32.d,
1330 testsuite/gas/i386/x86-64-addr32-intel.d,
1331 testsuite/gas/i386/x86-64-addr32.d: Adjust expectations.
1335 * config/tc-csky.c (md_begin): Fix tests of arch and mach flags.
1339 * testsuite/gas/i386/evex-no-scale-32.d,
1340 testsuite/gas/i386/evex-no-scale-64.d: Add #source and #pass.
1341 * testsuite/gas/i386/evex-no-scale-32.s,
1342 testsuite/gas/i386/evex-no-scale-64.s: Rename / fold into ...
1343 * testsuite/gas/i386/evex-no-scale.s: ... this. Use .struct
1344 instead of .section.
1345 * testsuite/gas/i386/i386.exp: Move above tests out of ELF-
1350 * config/tc-mips.c (prev_reloc_op_frag): Remove variable.
1351 (my_getSmallExpression): Adjust accordingly.
1356 * config/tc-i386.c (i386_comment_chars): Drop TE_I386AIX from
1357 conditional around it.
1358 (md_begin): Insert backslash into operand_chars[] when slash is
1359 a comment character.
1360 * config/tc-i386-intel.c (i386_operator): Recognize \/, \%, and
1361 \* as operators when / may be a comment character.
1362 * testsuite/gas/i386/svr4.s, testsuite/gas/i386/svr4.d: New.
1363 * testsuite/gas/i386/i386.exp: Run new test.
1368 * app.c (last_char): Drop TC_ARM conditional around it.
1369 (struct app_save): Drop TC_ARM conditional around last_char.
1370 (app_push, app_pop): Drop TC_ARM conditional from last_char
1372 (do_scrub_chars): Likewise. Drop TC_ARM conditional from
1373 backslash-precedes-comment-character check.
1377 * config/tc-i386.c (frag_opcode_byte): New.
1378 (output_branch): Emit error when in absolute section.
1379 (output_jump, output_insn): Use frag_opcode_byte. Handle being
1380 in absolute section.
1381 (output_interseg_jump, output_disp, output_imm): Handle being in
1383 * testsuite/gas/i386/sizing.s,
1384 testsuite/gas/i386/sizing32.d,
1385 testsuite/gas/i386/sizing64.d: New.
1386 * testsuite/gas/i386/i386.exp: Run new tests.
1390 * testsuite/gas/i386/i386.exp: Include *-*-vxworks alongside
1391 is_elf_format as applicable; merely exclude iamcu tests.
1396 * config/tc-i386.c (i386_validate_fix): Change PLT32 reloc
1397 against section to PC32 reloc.
1398 * testsuite/gas/i386/relax-5.d: Updated.
1399 * testsuite/gas/i386/x86-64-relax-4.d: Likewise.
1404 * testsuite/gas/i386/evex-no-scale-64.d: Updated.
1405 * testsuite/gas/i386/addr32.d: Likewise.
1406 * testsuite/gas/i386/x86-64-addr32-intel.d: Likewise.
1407 * testsuite/gas/i386/x86-64-addr32.d: Likewise.
1411 * write.c (create_note_reloc): Add desc2_size parameter. Zero out
1412 the addend field of REL relocations. Store the full addend into
1413 the note for REL relocations.
1417 * testsuite/gas/i386/x86-64-stack.s: Adjust 32-bit push
1419 * testsuite/gas/i386/x86-64-stack-intel.d,
1420 testsuite/gas/i386/x86-64-stack-suffix.d,
1421 testsuite/gas/i386/x86-64-stack.d: Adjust expectations.
1425 * testsuite/gas/i386/disassem.d,
1426 testsuite/gas/i386/ilp32/x86-64-branch.d,
1427 testsuite/gas/i386/intel.d, testsuite/gas/i386/jump16.d,
1428 testsuite/gas/i386/lfence-load.d, testsuite/gas/i386/noreg16.d,
1429 testsuite/gas/i386/noreg32.d,
1430 testsuite/gas/i386/noreg64-rex64.d,
1431 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/notrack.d,
1432 testsuite/gas/i386/opcode.d,
1433 testsuite/gas/i386/solaris/x86-64-branch-2.d,
1434 testsuite/gas/i386/solaris/x86-64-jump.d,
1435 testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d,
1436 testsuite/gas/i386/solaris/x86-64-nop-3.d,
1437 testsuite/gas/i386/solaris/x86-64-nop-4.d,
1438 testsuite/gas/i386/solaris/x86-64-nop-5.d,
1439 testsuite/gas/i386/solaris/x86-64-relax-2.d,
1440 testsuite/gas/i386/solaris/x86-64-relax-3.d,
1441 testsuite/gas/i386/x86-64-align-branch-1a.d,
1442 testsuite/gas/i386/x86-64-align-branch-1b.d,
1443 testsuite/gas/i386/x86-64-align-branch-1c.d,
1444 testsuite/gas/i386/x86-64-align-branch-1d.d,
1445 testsuite/gas/i386/x86-64-align-branch-1e.d,
1446 testsuite/gas/i386/x86-64-align-branch-1f.d,
1447 testsuite/gas/i386/x86-64-align-branch-1g.d,
1448 testsuite/gas/i386/x86-64-align-branch-1h.d,
1449 testsuite/gas/i386/x86-64-align-branch-1i.d,
1450 testsuite/gas/i386/x86-64-align-branch-2a.d,
1451 testsuite/gas/i386/x86-64-align-branch-2b.d,
1452 testsuite/gas/i386/x86-64-align-branch-2c.d,
1453 testsuite/gas/i386/x86-64-align-branch-3.d,
1454 testsuite/gas/i386/x86-64-align-branch-4a.d,
1455 testsuite/gas/i386/x86-64-align-branch-4b.d,
1456 testsuite/gas/i386/x86-64-align-branch-5.d,
1457 testsuite/gas/i386/x86-64-align-branch-6.d,
1458 testsuite/gas/i386/x86-64-branch-2.d,
1459 testsuite/gas/i386/x86-64-branch-3.d,
1460 testsuite/gas/i386/x86-64-branch.d,
1461 testsuite/gas/i386/x86-64-disassem.d,
1462 testsuite/gas/i386/x86-64-disp32.d,
1463 testsuite/gas/i386/x86-64-gotpcrel-no-relax.d,
1464 testsuite/gas/i386/x86-64-gotpcrel.d,
1465 testsuite/gas/i386/x86-64-ifunc.d,
1466 testsuite/gas/i386/x86-64-jump.d,
1467 testsuite/gas/i386/x86-64-lfence-byte.d,
1468 testsuite/gas/i386/x86-64-lfence-indbr-a.d,
1469 testsuite/gas/i386/x86-64-lfence-indbr-b.d,
1470 testsuite/gas/i386/x86-64-lfence-indbr-c.d,
1471 testsuite/gas/i386/x86-64-lfence-load.d,
1472 testsuite/gas/i386/x86-64-lfence-ret-a.d,
1473 testsuite/gas/i386/x86-64-lfence-ret-b.d,
1474 testsuite/gas/i386/x86-64-lfence-ret-c.d,
1475 testsuite/gas/i386/x86-64-lfence-ret-d.d,
1476 testsuite/gas/i386/x86-64-lfence-ret-e.d,
1477 testsuite/gas/i386/x86-64-mpx-add-bnd-prefix.d,
1478 testsuite/gas/i386/x86-64-mpx-branch-1.d,
1479 testsuite/gas/i386/x86-64-mpx.d,
1480 testsuite/gas/i386/x86-64-nop-3.d,
1481 testsuite/gas/i386/x86-64-nop-4.d,
1482 testsuite/gas/i386/x86-64-nop-5.d,
1483 testsuite/gas/i386/x86-64-nops-7.d,
1484 testsuite/gas/i386/x86-64-notrack.d,
1485 testsuite/gas/i386/x86-64-opcode.d,
1486 testsuite/gas/i386/x86-64-relax-2.d,
1487 testsuite/gas/i386/x86-64-relax-3.d,
1488 testsuite/gas/i386/x86-64-relax-4.d,
1489 testsuite/gas/i386/x86-64-rtm.d,
1490 testsuite/gas/i386/x86-64-stack.d,
1491 testsuite/gas/i386/x86-64-unique.d,
1492 testsuite/gas/i386/x86_64-intel.d: Adjust expectations.
1497 * testsuite/gas/i386/addr32.s: Add tests for 32-bit wrapped around
1499 * testsuite/gas/i386/x86-64-addr32.s: Likewise.
1500 * testsuite/gas/i386/addr32.d: Updated.
1501 * testsuite/gas/i386/x86-64-addr32-intel.d: Likewise.
1502 * testsuite/gas/i386/x86-64-addr32.d: Likewise.
1503 * testsuite/gas/i386/ilp32/x86-64-addr32-intel.d: Likewise.
1504 * testsuite/gas/i386/ilp32/x86-64-addr32.d: Likewise.
1508 * testsuite/gas/i386/intel.s: Use dr<N> instead of db<N>.
1509 * testsuite/gas/i386/intel-intel.d: Disambiguate name.
1510 * testsuite/gas/i386/intel.d,
1511 testsuite/gas/i386/opcode-intel.d: Adjust expectations.
1515 * testsuite/gas/i386/prefix.d: Adjust expectations.
1519 * testsuite/gas/i386/x86-64-avx-intel.d,
1520 testsuite/gas/i386/x86-64-sse4_2-intel.d: Adjust expectations.
1524 * testsuite/gas/i386/movbe-suffix.d,
1525 testsuite/gas/i386/x86-64-movbe-suffix.d: New.
1526 * testsuite/gas/i386/i386.exp: Run new tests.
1530 * testsuite/gas/i386/crc32-suffix.d,
1531 testsuite/gas/i386/x86-64-crc32-suffix.d: New.
1532 * testsuite/gas/i386/i386.exp: Run new tests.
1533 * testsuite/gas/i386/arch-10-bdver1.d,
1534 testsuite/gas/i386/arch-10-bdver2.d,
1535 testsuite/gas/i386/arch-10-bdver3.d,
1536 testsuite/gas/i386/arch-10-bdver4.d,
1537 testsuite/gas/i386/arch-10-btver1.d,
1538 testsuite/gas/i386/arch-10-btver2.d,
1539 testsuite/gas/i386/arch-10-lzcnt.d,
1540 testsuite/gas/i386/arch-10-prefetchw.d,
1541 testsuite/gas/i386/arch-10.d, testsuite/gas/i386/arch-2.d,
1542 testsuite/gas/i386/arch-3.d, testsuite/gas/i386/arch-5.d,
1543 testsuite/gas/i386/arch-6.d, testsuite/gas/i386/crc32.d,
1544 testsuite/gas/i386/sse-noavx.d, testsuite/gas/i386/sse4_2.d,
1545 testsuite/gas/i386/x86-64-arch-2-bdver1.d,
1546 testsuite/gas/i386/x86-64-arch-2-bdver2.d,
1547 testsuite/gas/i386/x86-64-arch-2-bdver3.d,
1548 testsuite/gas/i386/x86-64-arch-2-bdver4.d,
1549 testsuite/gas/i386/x86-64-arch-2-btver1.d,
1550 testsuite/gas/i386/x86-64-arch-2-btver2.d,
1551 testsuite/gas/i386/x86-64-arch-2-lzcnt.d,
1552 testsuite/gas/i386/x86-64-arch-2-prefetchw.d,
1553 testsuite/gas/i386/x86-64-arch-2.d,
1554 testsuite/gas/i386/x86-64-crc32.d,
1555 testsuite/gas/i386/x86-64-pseudos.d,
1556 testsuite/gas/i386/x86-64-sse-noavx.d,
1557 testsuite/gas/i386/x86-64-sse4_2.d: Adjust expectations.
1561 * testsuite/gas/i386/x86-64-pseudos.s: Add empty-REX tests for
1562 ModR/M-encoded byte register cases.
1563 * testsuite/gas/i386/x86-64-pseudos.d,
1564 testsuite/gas/i386/x86-64-reg-intel.d,
1565 testsuite/gas/i386/x86-64-reg.d: Adjust expectations.
1569 * testsuite/gas/i386/x86-64-pseudos.s: Add empty-REX tests for
1570 not-ModR/M-encoded byte register cases.
1571 * testsuite/gas/i386/x86-64-pseudos.d: Adjust expectations.
1575 * testsuite/gas/i386/ilp32/x86-64-arch-1.d,
1576 testsuite/gas/i386/ilp32/x86-64-arch-2.d,
1577 testsuite/gas/i386/ilp32/x86-64-avx-intel.d,
1578 testsuite/gas/i386/ilp32/x86-64-avx.d,
1579 testsuite/gas/i386/ilp32/x86-64-crc32-intel.d,
1580 testsuite/gas/i386/ilp32/x86-64-crc32.d,
1581 testsuite/gas/i386/ilp32/x86-64-gotpcrel.d,
1582 testsuite/gas/i386/ilp32/x86-64-ifunc.d,
1583 testsuite/gas/i386/ilp32/x86-64-reg-intel.d,
1584 testsuite/gas/i386/ilp32/x86-64-reg.d,
1585 testsuite/gas/i386/ilp32/x86-64-rep-suffix.d,
1586 testsuite/gas/i386/ilp32/x86-64-sse4_2-intel.d,
1587 testsuite/gas/i386/ilp32/x86-64-sse4_2.d,
1588 testsuite/gas/i386/ilp32/x86-64-stack-intel.d,
1589 testsuite/gas/i386/ilp32/x86-64-stack-suffix.d,
1590 testsuite/gas/i386/ilp32/x86-64-stack.d: Reference parent dir
1595 * config/tc-i386.c (offset_in_range): Remove 32-bit sign
1600 * po/fr.po: Updated French translation.
1604 * testsuite/gas/elf/dwarf2-7.d: Remove most xfails.
1605 * testsuite/gas/elf/dwarf2-12.d: Likewise.
1606 * testsuite/gas/elf/dwarf2-13.d: Likewise.
1607 * testsuite/gas/elf/dwarf2-14.d: Likewise.
1611 * config/tc-i386.c (output_insn): Check i.xstate to set
1612 GNU_PROPERTY_X86_FEATURE_2_TMM.
1613 * testsuite/gas/i386/i386.exp: Run x86-64-property-7,
1614 x86-64-property-8 and x86-64-property-9.
1615 * testsuite/gas/i386/x86-64-property-7.d: New file.
1616 * testsuite/gas/i386/x86-64-property-7.s: Likewise.
1617 * testsuite/gas/i386/x86-64-property-8.d: Likewise.
1618 * testsuite/gas/i386/x86-64-property-8.s: Likewise.
1619 * testsuite/gas/i386/x86-64-property-9.d: Likewise.
1620 * testsuite/gas/i386/x86-64-property-9.s: Likewise.
1624 * config/tc-i386.c (_i386_insn): Remove has_regmmx, has_regxmm,
1625 has_regymm, has_regzmm and has_regtmm. Add xstate.
1626 (md_assemble): Set i.xstate from operand types in instruction
1628 (build_modrm_byte): Updated.
1629 (output_insn): Check i.xstate.
1630 * testsuite/gas/i386/i386.exp: Run property-6 and
1632 * testsuite/gas/i386/property-6.d: New file.
1633 * testsuite/gas/i386/property-6.s: Updated.
1634 * testsuite/gas/i386/x86-64-property-6.d: Likewise.
1638 * testsuite/gas/i386/property-5.d: Correct test name.
1642 * NEWS: Mention support for Intel AMX instructions.
1643 * config/tc-i386.c (i386_error): Add invalid_sib_address.
1644 (cpu_arch): Add .amx_int8, .amx_bf16 and .amx_tile.
1645 (cpu_noarch): Add noamx_int8, noamx_bf16 and noamx_tile.
1646 (match_simd_size): Add tmmword check.
1647 (operand_type_match): Add tmmword.
1648 (type_names): Add rTMM.
1649 (i386_error): Add invalid_tmm_register_set.
1650 (check_VecOperands): Handle invalid_sib_address and
1651 invalid_tmm_register_set.
1652 (match_template): Handle invalid_sib_address.
1653 (build_modrm_byte): Handle non-vector SIB and zmmword.
1654 (i386_index_check): Disallow RegIP for non-vector SIB.
1655 (check_register): Handle zmmword.
1656 * doc/c-i386.texi: Document amx_int8, amx_bf16 and amx_tile.
1657 * testsuite/gas/i386/i386.exp: Add AMX new tests.
1658 * testsuite/gas/i386/intel-regs.d: Add tmm.
1659 * testsuite/gas/i386/intel-regs.s: Add tmm.
1660 * testsuite/gas/i386/x86-64-amx-intel.d: New.
1661 * testsuite/gas/i386/x86-64-amx-inval.l: New.
1662 * testsuite/gas/i386/x86-64-amx-inval.s: New.
1663 * testsuite/gas/i386/x86-64-amx.d: New.
1664 * testsuite/gas/i386/x86-64-amx.s: New.
1665 * testsuite/gas/i386/x86-64-amx-bad.d: New.
1666 * testsuite/gas/i386/x86-64-amx-bad.s: New.
1670 * testsuite/gas/elf/dwarf2-11.d: Update expected output from
1671 readelf's line table decoding.
1672 * testsuite/gas/elf/dwarf2-12.d: Likewise.
1673 * testsuite/gas/elf/dwarf2-13.d: Likewise.
1674 * testsuite/gas/elf/dwarf2-14.d: Likewise.
1675 * testsuite/gas/elf/dwarf2-15.d: Likewise.
1676 * testsuite/gas/elf/dwarf2-16.d: Likewise.
1677 * testsuite/gas/elf/dwarf2-17.d: Likewise.
1678 * testsuite/gas/elf/dwarf2-18.d: Likewise.
1679 * testsuite/gas/elf/dwarf2-19.d: Likewise.
1680 * testsuite/gas/elf/dwarf2-5.d: Likewise.
1681 * testsuite/gas/elf/dwarf2-6.d: Likewise.
1682 * testsuite/gas/elf/dwarf2-7.d: Likewise.
1686 * config/tc-i386.c (output_insn): Set YMM/ZMM features for
1687 VEX/EVEX vector instructions.
1688 * testsuite/gas/i386/property-4.d: New file.
1689 * testsuite/gas/i386/property-4.s: Likewise.
1690 * testsuite/gas/i386/property-5.d: Likewise.
1691 * testsuite/gas/i386/property-5.s: Likewise.
1692 * testsuite/gas/i386/x86-64-property-4.d: Likewise.
1693 * testsuite/gas/i386/x86-64-property-5.d: Likewise.
1697 * NEWS: Mention --enable-x86-used-note.
1698 * configure.ac: Configure with --enable-x86-used-note by default
1700 * configure: Regenerated.
1704 * config/obj-coff.h: Remove TE_PE support.
1705 * config/tc-ppc.c: Likewise.
1706 * config/tc-ppc.h: Likewise.
1707 * configure.tgt: Remove powerpc PE and powerpc lynxos.
1708 * testsuite/gas/cfi/cfi.exp (cfi-common-6): Remove powerpc PE
1710 * testsuite/gas/macros/macros.exp: Don't xfail powerpc PE.
1714 * testsuite/gas/i386/fma4-lig.d, testsuite/gas/i386/xop-lig.d:
1716 * testsuite/gas/i386/i386.exp: Run new tests.
1720 * config/tc-arc.c (find_opcode_match): Add error messages.
1721 * testsuite/gas/arc/add_s-err.s: Update test.
1722 * testsuite/gas/arc/asm-errors.err: Likewise.
1723 * testsuite/gas/arc/cpu-em-err.s: Likewise.
1724 * testsuite/gas/arc/hregs-err.s: Likewise.
1725 * testsuite/gas/arc/warn.s: Likewise.
1730 * doc/c-i386.texi: Remove an incorrect AVX2 entry.
1734 * testsuite/gas/all/gas.exp: Use is_xcoff_format.
1735 * testsuite/gas/ppc/ppc.exp: Likewise.
1736 * testsuite/gas/all/weakref1l.d: Likewise.
1740 * testsuite/gas/arm/cde-missing-fp.l: Fix spelling mistake in
1745 * testsuite/gas/i386/x86-64-avx512bw-wig1.d,
1746 testsuite/gas/i386/x86-64-avx512bw-wig1-intel.d,
1747 testsuite/gas/i386/x86-64-evex-wig1.d,
1748 testsuite/gas/i386/x86-64-evex-wig1-intel.d: Adjust
1753 * testsuite/gas/i386/avx512f-opts.s: Add EVEX movq tests.
1754 * testsuite/gas/i386/x86-64-avx512f-opts.s: Add blank line.
1755 * testsuite/gas/i386/avx512f-opts-intel.d,
1756 testsuite/gas/i386/avx512f-opts.d
1757 testsuite/gas/i386/x86-64-avx512f-opts-intel.d
1758 testsuite/gas/i386/x86-64-avx512f-opts.d: Adjust expectations.
1763 * config/tc-arm.c: Fix spelling mistake.
1764 * config/tc-riscv.c: Likewise.
1765 * config/tc-z80.c: Likewise.
1766 * po/gas.pot: Regenerate.
1770 * po/uk.po: Updated Ukranian translation.
1774 * configure: Regenerate.
1775 * po/gas.pot: Regenerate.
1779 * version.m4: Change version number to 2.35.50.
1780 * configure: Regenerate.
1781 * po/bfd.pot: Regenerate.
1785 Binutils 2.35 branch created.
1790 * testsuite/gas/ia64/unwind-ilp32.d: Add -T to readelf options.
1794 * config/tc-i386.c (build_modrm_byte): Check vexswapsources to
1795 swap two source operands.
1799 * testsuite/gas/all/fill-1.d: Skip for MeP targets.
1803 * config/tc-aarch64.c (reg_name_p): Fix cast so that we don't
1804 segfault on negative chars.
1805 * testsuite/gas/aarch64/reglike-label-unicode-segv.d: New test.
1806 * testsuite/gas/aarch64/reglike-label-unicode-segv.s: Input.
1811 * testsuite/gas/ia64/group-2.d: Add -T option to readelf
1813 * testsuite/gas/ia64/unwind.d: Likewise.
1814 * testsuite/gas/mmix/bspec-1.d: Likewise.
1815 * testsuite/gas/mmix/bspec-2.d: Likewise.
1816 * testsuite/gas/mmix/comment-1.d: Likewise.
1817 * testsuite/gas/tic6x/scomm-directive-4.d: Likewise.
1821 * config/tc-xc16x.c (md_apply_fix): Add FIXME.
1825 * testsuite/gas/all/eqv-dot.d: xfail targets that set linkrelax
1826 in data sections, and mep.
1830 * NEWS: Mention x86 NaCl target support removal.
1831 * config/tc-i386.c: Remove x86 NaCl target support.
1832 * config/tc-i386.h: Likewise.
1833 * configure.tgt: Likewise.
1834 * testsuite/gas/i386/i386.exp: Likewise.
1835 * testsuite/gas/i386/iamcu-1.d: Likewise.
1836 * testsuite/gas/i386/iamcu-2.d: Likewise.
1837 * testsuite/gas/i386/iamcu-3.d: Likewise.
1838 * testsuite/gas/i386/iamcu-4.d: Likewise.
1839 * testsuite/gas/i386/iamcu-5.d: Likewise.
1840 * testsuite/gas/i386/k1om.d: Likewise.
1841 * testsuite/gas/i386/l1om.d: Likewise.
1845 * config/tc-riscv.c (riscv_csr_class_check): Removed. Move the
1846 checking into riscv_csr_address.
1847 (riscv_csr_version_check): Likewise.
1848 (riscv_csr_address): New function. Return the suitable CSR address
1849 after checking the ISA dependency and versions. Issue warnings if
1850 we find any conflict and -mcsr-check is set. CSR_CLASS_F and
1851 CSR_CLASS_DEBUG are unprivileged CSR for now, so don't check the
1852 priv spec versions for them.
1853 (reg_csr_lookup_internal): Call riscv_csr_address to find the
1854 suitable CSR address.
1855 * testsuite/gas/riscv/priv-reg-fail-fext.d: Remove -mpriv-spec=1.11.
1856 * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
1857 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
1858 * testsuite/gas/riscv/priv-reg-fail-fext.l: We don't care the
1859 priv spec warnings here. These warnings are added by accident.
1860 Remove them and only focus on the ISA dependency warnings.
1861 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
1862 * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
1863 * testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Updated since
1864 dscratch0 and dscratch1 are regarded as the unprivileged CSR rather
1865 than the privileged ones.
1866 * testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise.
1867 * testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
1868 * testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
1869 * testsuite/gas/riscv/priv-reg.s: Likewise. Add missing debug CSR.
1870 * testsuite/gas/riscv/priv-reg-version-1p9.d: Likewise.
1871 * testsuite/gas/riscv/priv-reg-version-1p9p1.d: Likewise.
1872 * testsuite/gas/riscv/priv-reg-version-1p10.d: Likewise.
1873 * testsuite/gas/riscv/priv-reg-version-1p11.d: Likewise.
1874 * testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
1875 * testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
1879 * tc-i386.c (build_vex_prefix): Support VEX base opcode length > 1.
1880 (md_assemble): Don't process ImmExt without operands.
1885 * config/tc-mmix.c (md_assemble) <fixup for
1886 BFD_RELOC_MMIX_BASE_PLUS_OFFSET>: This fixup affects 1 byte, not 8.
1887 Also, set its fx_no_overflow.
1888 (md_convert_frag) <case ENCODE_RELAX (STATE_PUSHJSTUB, STATE_ZERO)>:
1889 Similarly this fixup affects 4 bytes, not 8 and needs its
1891 * config/tc-mmix.h (TC_FX_SIZE_SLACK): Don't define.
1892 * testsuite/gas/mmix/pr25331.d, testsuite/gas/mmix/pr25331.s: New test.
1896 * config/tc-s12z.c: Use C style comments.
1897 * config/tc-z80.c: Likewise.
1898 * config/tc-xtensa.c (emit_ld_r_n): Remove commented out code.
1902 * config/tc-i386.c (md_assemble): Process ImmExt without
1907 * config/tc-i386.c (check_VecOperands): Replace vecsib with sib.
1908 Replace VecSIB128, VecSIB256 and VecSIB512 with VECSIB128,
1909 VECSIB256 and VECSIB512, respectively.
1910 (build_modrm_byte): Replace vecsib with sib.
1914 * testsuite/gas/i386/nop-1-suffix.d: New.
1915 * testsuite/gas/i386/i386.exp: Run new test.
1919 * config/tc-m68k.c (m68k_elf_gnu_attribute): New function.
1920 (md_pseudo_table): Handle "gnu_attribute".
1921 * doc/as.texi: Document GNU attribute for M68K.
1926 * config/tc-arm.c (arm_force_relocation): Force resolution of
1927 BFD_RELOC_THUMB_PCREL_BRANCH12 relocations.
1928 * testsuite/gas/arm/plt-1.d: Adjust expected disassembly.
1932 * config/tc-i386.c (md_assemble): Move call to process_immext()
1934 (process_operands): ... here.
1938 * config/tc-i386.c (process_suffix): Skip ambiguous operand size
1939 diagnostic when there is a sizing prefix. Switch to word/dword/
1940 qword encoding when there is a sizing prefix and no (explicit or
1942 (update_imm): Handle presence of a sizing prefix.
1943 * testsuite/gas/i386/noreg16-data32.d,
1944 testsuite/gas/i386/noreg32-data16.d,
1945 testsuite/gas/i386/noreg32-data16.e,
1946 testsuite/gas/i386/noreg64-data16.d,
1947 testsuite/gas/i386/noreg64-data16.e,
1948 testsuite/gas/i386/noreg64-rex64.d: New.
1949 * testsuite/gas/i386/i386.exp: Run new tests.
1950 * testsuite/gas/i386/noreg32.s, testsuite/gas/i386/noreg64.s:
1951 Introduce and use pfx* macros.
1952 * testsuite/gas/i386/noreg16.s: Likewise. Replace 32-bit
1954 * testsuite/gas/i386/noreg16.d: Adjust expectations.
1958 * testsuite/gas/i386/avx-16bit.d,
1959 testsuite/gas/i386/avx-scalar.d, testsuite/gas/i386/avx.d,
1960 testsuite/gas/i386/avx512f-16bit.d,
1961 testsuite/gas/i386/avx512f.d,
1962 testsuite/gas/i386/evex-lig256.d,
1963 testsuite/gas/i386/evex-lig512.d
1964 testsuite/gas/i386/evex-wig1.d, testsuite/gas/i386/katmai.d,
1965 testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg32.d,
1966 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/simd.d,
1967 testsuite/gas/i386/sse2-16bit.d,
1968 testsuite/gas/i386/sse2.d, testsuite/gas/i386/sse2avx.d: Adjust
1973 * config/tc-i386.c (md_assemble): Also reject explicit REX
1974 prefixes with VEX and alike encoded insns. Zap consumed bits
1976 (output_insn): Don't ignore REX prefix for VEX and alike
1977 encodings; abort() instead if encountered.
1978 * testsuite/gas/i386/x86-64-pseudos.s: Move REX-with-VEX cases
1980 * testsuite/gas/i386/x86-64-pseudos-bad.s: ... here.
1981 * testsuite/gas/i386/x86-64-pseudos.d,
1982 testsuite/gas/i386/x86-64-pseudos-bad.l: Adjust expectations.
1986 * config/tc-i386.c (process_operands): Translate explicit REX
1987 prefix into i.rex for SSE2AVX templates.
1988 (set_rex_vrex): New helper.
1989 (build_modrm_byte): Use it.
1990 * testsuite/gas/i386/x86-64-sse2avx.s: Add cases with explict
1992 * testsuite/gas/i386/x86-64-sse2avx.d: Adjust expectations.
1996 * config/tc-i386.c (cpu_flags_match): Only match SSE2AVX
1997 templates when there's no data size prefix.
1998 (md_assemble): Reject data size prefix also for legacy encoded
2000 * testsuite/gas/i386/prefix32.s, testsuite/gas/i386/prefix64.s:
2001 Uncomment previously not working line.
2002 * testsuite/gas/i386/sse2avx.s: Add ldmxcsr/stmxcsr cases with
2004 * testsuite/gas/i386/prefix32.l, testsuite/gas/i386/prefix64.l,
2005 testsuite/gas/i386/sse2avx.d: Adjust expectations.
2009 * config/tc-i386.c (build_evex_prefix): Drop early setting of
2014 * config/tc-riscv.c (explicit_priv_attr): Rename explicit_csr to
2015 explicit_priv_attr. It used to indicate CSR or priv instructions are
2017 (riscv_is_priv_insn): Return True if it is a privileged instruction.
2018 (riscv_ip): Call riscv_is_priv_insn to check whether the instruction
2019 is privileged or not. If it is, then set explicit_priv_attr to TRUE.
2020 (riscv_write_out_attrs): Clarification of when to generate the elf
2021 priv spec attributes.
2022 * testsuite/gas/riscv/attribute-11.s: Add comments.
2023 * testsuite/gas/riscv/attribute-14.s: New testcase. Use symbol
2024 `priv_insn_<n>` to decide which priv instruction is expected to used.
2026 * testsuite/gas/riscv/attribute-14a.d: Likewise.
2027 * testsuite/gas/riscv/attribute-14b.d: Likewise.
2028 * testsuite/gas/riscv/attribute-14c.d: Likewise.
2029 * testsuite/gas/riscv/attribute-14d.d: Likewise.
2030 * testsuite/gas/riscv/attribute-14e.d: Likewise.
2034 * config/tc-riscv.c (buf_size, buf): Remove the unused variables.
2035 (riscv_set_default_priv_spec): Get the priv spec version from the
2036 priv spec attributes by riscv_get_priv_spec_class_from_numbers.
2040 * configure.tgt: Set bfd_gas for all SH targets.
2044 * testsuite/gas/i386/arch-13.s: Add alternative VMGEXIT case.
2045 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
2050 * config/tc-i386.c (cpu_arch): Correct noavx512_vp2intersect
2051 cpu_arch to CPU_ANY_VP2INTERSECT_FLAGS.
2052 * doc/c-i386.texi: Add avx512_vp2intersect.
2056 * config/tc-i386.c (md_assemble): Drop SSE4a from SSE check
2058 * testsuite/gas/i386/sse-check.s: Adjust comment.
2059 * testsuite/gas/i386/sse-check-error.l,
2060 testsuite/gas/i386/sse-check-warn.e,
2061 testsuite/gas/i386/x86-64-sse-check-error.l: Adjust
2066 * config/tc-tic30.h: Remove OBJ_AOUT support.
2067 * configure.tgt: Delete tic30-*-*aout* entry.
2071 * config/tc-xtensa.c (XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New
2073 (elf32xtensa_abi): New declaration.
2074 (option_abi_windowed, option_abi_call0): New enum constants.
2075 (md_longopts): Add entries for --abi-windowed and --abi-call0.
2076 (md_parse_option): Add handlers for --abi-windowed and
2078 (xtensa_add_config_info): Use xtensa_abi_choice instead of
2079 XSHAL_ABI to format ABI tag.
2080 * doc/as.texi (Target Xtensa options): Add --abi-windowed and
2081 --abi-call0 to the list of options.
2082 * doc/c-xtensa.texi: Add description for options --abi-windowed
2084 * testsuite/gas/xtensa/abi-call0.d: New test definition.
2085 * testsuite/gas/xtensa/abi-windowed.d: New test definition.
2086 * testsuite/gas/xtensa/abi.s: New test source.
2091 * testsuite/gas/i386/tsxldtrk.d: Replace xsuspldtrk with
2093 * testsuite/gas/i386/tsxldtrk.s: Likewise.
2094 * testsuite/gas/i386/x86-64-tsxldtrk.d: Likewise.
2095 * testsuite/gas/i386/x86-64-tsxldtrk.s: Likewise.
2099 * testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Removed.
2100 * testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise.
2101 * testsuite/gas/riscv/priv-reg-version-1p9.d: Likewise.
2105 * doc/c-avr.texi: Improve wording.
2109 * testsuite/gas/i386/x86-64-pseudos-bad.s,
2110 testsuite/gas/i386/x86-64-pseudos-bad.l: New.
2114 * testsuite/gas/i386/prefix.s: Add bogus prefix-with-VEX/EVEX
2116 * testsuite/gas/i386/prefix.d: Adjust expectations.
2120 * testsuite/gas/i386/prefix.s: Add bogus REP / EVEX.W prefix
2121 with VEX/EVEX encoding tests.
2122 * testsuite/gas/i386/prefix.d: Adjust expectations.
2126 * config/tc-i386.c (process_suffix): Restrict defaulting to 'q'
2128 * testsuite/gas/i386/noreg64.s: Add lcall/ljmp cases.
2129 * testsuite/gas/i386/noreg64.d: Adjust expectations.
2130 * testsuite/gas/i386/noreg-intel64.d,
2131 testsuite/gas/i386/noreg-intel64.l,
2132 testsuite/gas/i386/noreg-intel64.s: New.
2133 * testsuite/gas/i386/i386.exp: Run new tests.
2137 * config/tc-i386.c (vex_encoding_error): New enumerator.
2138 (VEX_check_operands): Rename to VEX_check_encoding. Check
2139 for vex_encoding_error. Move Imm4 handling ...
2140 (check_VecOperands): ... here.
2141 (match_template): Call VEX_check_encoding when there are no
2142 operands. Split construct calling check_VecOperands and
2143 VEX_check_encoding (when there are operands).
2144 (check_register): Don't blindly set vex_encoding_evex.
2145 * testsuite/gas/i386/pseudos-bad.s,
2146 testsuite/gas/i386/pseudos-bad.l: New.
2147 * testsuite/gas/i386/i386.exp: Run new test.
2148 * testsuite/gas/i386/xmmhi64.s: Drop {vex2}.
2152 * config/tc-arm.c (insns): Add dfb.
2153 * testsuite/gas/arm/dfb.d: New test.
2154 * testsuite/gas/arm/dfb.s: Input for test.
2158 * testsuite/gas/cfi/cfi-i386-2.d: Skip for PE based targets.
2162 * config/tc-i386.c (pi): Add checks for RegMask and RegBND.
2166 * config/tc-i386.c (check_byte_reg): Drop dead conditional
2171 * config/tc-i386.c (check_register): Split RegTR handling, to
2172 fail recognition also in 64-bit mode as well as with i586 or
2173 i686 explicitly enabled.
2174 * testsuite/gas/i386/x86_64.s: Add insns referencing tr<N>.
2175 * testsuite/gas/i386/x86_64-intel.d,
2176 testsuite/gas/i386/x86_64.d: Adjust expectations.
2180 * testsuite/gas/cfi/cfi-i386-2.d: Adjust expectations.
2181 * testsuite/gas/cfi/cfi.exp: Run this test.
2185 * config/tc-i386.c (parse_real_register): Add allow_pseudo_reg
2186 check to %st(N) parsing logic.
2187 * testsuite/gas/cfi/cfi-i386.s: Set "generic32" arch.
2191 * config/tc-i386.c (bad_reg): New.
2192 (check_VecOperations, i386_att_operand, i386_parse_name): Check
2194 (check_register): New, broken out from ...
2195 (parse_real_register): ... here. Call it.
2196 (parse_register): Call it, and error upon failure.
2197 * testsuite/gas/i386/equ-bad.s, testsuite/gas/i386/equ-bad.l,
2198 testsuite/gas/i386/x86-64-equ-bad.s,
2199 testsuite/gas/i386/x86-64-equ-bad.l: New.
2200 * testsuite/gas/i386/i386.exp: Run new tests.
2204 * config/tc-ppc.c (md_show_usage): Mention -mpower10 and -mpwr10.
2205 * doc/c-ppc.texi: Likewise.
2209 * config/tc-ppc.c: Update throughout for reloc renaming.
2213 * config/tc-bpf.c (md_apply_fix): Avoid GCC 10 warning
2218 * config/tc-riscv.c (explicit_csr): New static boolean.
2219 Used to indicate CSR are explictly used.
2220 (riscv_ip): Set explicit_csr to TRUE if any CSR is used.
2221 (riscv_write_out_attrs): If we already have set elf priv
2222 attributes, then generate them. Otherwise, don't generate
2223 them when no CSR are used.
2224 * testsuite/gas/riscv/attribute-01.d: Remove the priv attributes.
2225 * testsuite/gas/riscv/attribute-02.d: Likewise.
2226 * testsuite/gas/riscv/attribute-03.d: Likewise.
2227 * testsuite/gas/riscv/attribute-04.d: Likewise.
2228 * testsuite/gas/riscv/attribute-05.d: Likewise.
2229 * testsuite/gas/riscv/attribute-06.d: Likewise.
2230 * testsuite/gas/riscv/attribute-07.d: Likewise.
2231 * testsuite/gas/riscv/attribute-08.d: Likewise.
2232 * testsuite/gas/riscv/attribute-09.d: Likewise.
2233 * testsuite/gas/riscv/attribute-10.d: Likewise.
2234 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
2235 * testsuite/gas/riscv/attribute-11.s: New testcase.
2236 * testsuite/gas/riscv/attribute-11.d: New testcase. The CSR is
2237 used, so we should output the ELF priv attributes.
2238 * testsuite/gas/riscv/attribute-12.d: New testcase. The CSR is
2239 used, so output the priv attributes according to the -mpriv-spec.
2240 * testsuite/gas/riscv/attribute-13.d: New testcase. The CSR isn't
2241 used, so ignore the -mpriv-spec setting.
2245 * config/tc-ip2k. (ip2k_apply_fix): Pass endianness to
2246 cgen_get_insn_value.
2247 * config/tc-xstormy16.c (xstormy16_md_apply_fix): Pass
2248 endianness to cgen_get_insn_value and cgen_put_insn_value.
2252 * config/tc-bpf.c (md_apply_fix): Simplify and avoid using
2253 cgen_put_insn_value.
2257 * config/tc-bpf.c (md_begin): Pass CGEN_CPU_OPEN_INSN_ENDIAN to
2259 (md_assemble): Remove no longer needed hack.
2263 * cgen.c (gas_cgen_finish_insn): Pass the endianness to
2264 cgen_put_insn_value.
2265 (gas_cgen_md_apply_fix): Likewise.
2266 (gas_cgen_md_apply_fix): Likewise.
2267 * config/tc-bpf.c (md_apply_fix): Pass data endianness to
2268 cgen_put_insn_value.
2269 * config/tc-mep.c (mep_check_ivc2_scheduling): Pass endianness to
2270 cgen_put_insn_value.
2274 * testsuite/config/default.exp: Remove global directive outside
2276 * testsuite/gas/mep/complex-relocs.exp: Likewise.
2277 * testsuite/gas/microblaze/relax_size.exp: Likewise.
2278 * testsuite/gas/microblaze/reloc_sym.exp: Likewise.
2279 * testsuite/gas/mt/relocs.exp: Likewise.
2280 * testsuite/gas/rx/rx.exp: Likewise.
2284 * doc/c-riscv.texi (RISC-V-Options): Fix non-ASCII apostrophe.
2290 * doc/c-riscv.texi (RISC-V-Formats): Add missing I format using
2291 simm12(rs1). Correct S format to use simm12(rs1). Drop SB and B
2292 formats using simm12(rs1). Correct SB and B to use rs1 and rs2.
2293 Move B before SB. Move J before UJ.
2297 * write.c (relax_segment): Fix handling of negative offset when
2298 relaxing an rs_org frag.
2299 * testsuite/gas/aarch64/org-neg.d: New test.
2300 * testsuite/gas/aarch64/org-neg.l: Error output for test.
2301 * testsuite/gas/aarch64/org-neg.s: Input for test.
2302 * testsuite/gas/arm/org-neg.d: New test.
2303 * testsuite/gas/arm/org-neg.l: Error output for test.
2304 * testsuite/gas/arm/org-neg.s: Input for test.
2308 Fix unexpected failures in gas testsuite for pdp11-aout target.
2309 These are caused by the PDP11's mix of little-endian octets in
2310 shorts but shorts in big endian order for long or quad.
2312 * config/tc-pdp11.c (md_number_to_chars): Implement .quad
2313 * testsuite/gas/all/gas.exp: Select alternate test scripts for
2314 pdp11, skip octa test completely.
2315 * testsuite/gas/all/eqv-dot-pdp11.s: Identical to eqv-dot.s
2316 * testsuite/gas/all/eqv-dot-pdp11.d: Match different octet order.
2317 * testsuite/gas/all/cond-pdp11.l: Match different octet order.
2321 * frags.c (frag_grow): Fix comment.
2326 * config/tc-pdp11.c (parse_reg): Distinguish register names from
2327 symbols that begin with a register name.
2328 * testsuite/gas/pdp11/pdp11.exp: Add test of such symbols.
2329 * testsuite/gas/pdp11/pr26001.s: Likewise.
2330 * testsuite/gas/pdp11/pr26001.d: Likewise.
2334 * config/tc-riscv.c (riscv_init_csr_hash): NULL initilize next
2335 pointer when creating struct riscv_csr_extra.
2339 * testsuite/gas/i386/align-branch-9.d: Updated for PECOFF.
2340 * testsuite/gas/i386/inval-avx512f.s: Add .p2align for PECOFF.
2341 * testsuite/gas/i386/inval-avx512f.l: Updated.
2345 * testsuite/gas/s390/zarch-z13.d: Add regexp checks for vector
2346 load/store instruction variants with alignment hints.
2347 * testsuite/gas/s390/zarch-z13.s: Emit new vector load/store
2348 instruction variants with alignment hints.
2353 * config/tc-xgate.c (md_apply_fix): Check BFD_RELOC_XGATE_PCREL_X
2354 instead of R_XGATE_PCREL_X.
2355 (xgate_parse_operand): Replace R_XGATE_PCREL_X with
2356 BFD_RELOC_XGATE_PCREL_X.
2361 * config/tc-visium.c (md_convert_frag): Replace fragP->fr_literal
2362 with &fragP->fr_literal[0].
2367 * config/tc-vax.c (md_estimate_size_before_relax): Replace
2368 fragP->fr_literal with &fragP->fr_literal[0].
2369 (md_convert_frag): Likewise.
2374 * config/tc-v850.c (md_convert_frag): Replace fragP->fr_literal
2375 with &fragP->fr_literal[0].
2380 * config/tc-crx.c (getreg_image): Change argument type to int.
2381 (md_convert_frag): Replace fragP->fr_literal with
2382 &fragP->fr_literal[0].
2387 * onfig/tc-score.c (s3_do_macro_bcmp): Replace overlapping
2388 sprintf with memmove.
2392 * config/tc-mcore.c (md_convert_frag): Replace fragP->fr_literal
2393 with &fragP->fr_literal[0].
2398 * config/tc-cr16.c (md_assemble): Use memmove to concatenate
2399 2 overlapping strings.
2403 * config/tc-cr16.c (md_convert_frag): Replace fragP->fr_literal
2404 with &fragP->fr_literal[0].
2408 * config/tc-csky.c (md_convert_frag): Replace fragp->fr_literal
2409 with &fragp->fr_literal[0].
2410 * config/tc-microblaze.c (md_apply_fix): Likewise.
2411 * config/tc-sh.c (md_convert_frag): Likewise.
2416 * config/tc-riscv.c (riscv_pre_output_hook): Change s type from const
2417 asection to segT. New locals seg and subseg. Call subseg_set before
2418 fix_new_exp. Call subseg_set after loop to restore original values.
2422 * atof-generic.c: Replace "if (x) free (x)" with "free (x)"
2424 * config/obj-elf.c: Likewise.
2425 * config/tc-aarch64.c: Likewise.
2426 * config/tc-arm.c: Likewise.
2427 * config/tc-m68k.c: Likewise.
2428 * config/tc-nios2.c: Likewise.
2429 * config/tc-tic30.c: Likewise.
2430 * ecoff.c: Likewise.
2432 * stabs.c: Likewise.
2433 * symbols.c: Likewise.
2434 * testsuite/gas/all/test-gen.c: Likewise.
2438 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: Updated.
2439 * config/tc-riscv.c (default_arch_with_ext, default_isa_spec):
2440 Static variables which are used to set the ISA extensions. You can
2441 use -march (or ELF build attributes) and -misa-spec to set them,
2443 (ext_version_hash): The hash table used to handle the extensions
2445 (init_ext_version_hash): Initialize the ext_version_hash according
2446 to riscv_ext_version_table.
2447 (riscv_get_default_ext_version): The callback function of
2448 riscv_parse_subset_t. According to the choosed ISA spec,
2449 get the default version for the specific extension.
2450 (riscv_set_arch): Set the callback function.
2451 (enum options, struct option md_longopts): Add new option -misa-spec.
2452 (md_parse_option): Do not call riscv_set_arch for -march. We will
2453 call it later in riscv_after_parse_args. Call riscv_get_isa_spec_class
2454 to set default_isa_spec class.
2455 (riscv_after_parse_args): Call init_ext_version_hash to initialize the
2456 ext_version_hash, and then call riscv_set_arch to set the architecture
2457 with versions according to default_arch_with_ext.
2458 * testsuite/gas/riscv/attribute-02.d: Set 0p0 as default version for
2460 * testsuite/gas/riscv/attribute-03.d: Likewise.
2461 * testsuite/gas/riscv/attribute-09.d: New testcase. For i-ext, we
2462 already set it's version to 2p1 by march, so no need to use the default
2463 2p2 version. For m-ext, we do not set the version by -march and ELF arch
2464 attribute, so set the default 2p0 to it. For zicsr, it is not defined in
2465 ISA spec 2p2, so set 0p0 to it.
2466 * testsuite/gas/riscv/attribute-10.d: New testcase. The version of
2467 zicsr is 2p0 according to ISA spec 20191213.
2468 * config/tc-riscv.c (DEFAULT_RISCV_ARCH_WITH_EXT)
2469 (DEFAULT_RISCV_ISA_SPEC): Default configure option settings.
2470 You can set them by configure options --with-arch and
2471 --with-isa-spec, respectively.
2472 (riscv_set_default_isa_spec): New function used to set the
2474 (md_parse_option): Call riscv_set_default_isa_spec rather than
2475 call riscv_get_isa_spec_class directly.
2476 (riscv_after_parse_args): If the -isa-spec is not set, then we
2477 set the default ISA spec according to DEFAULT_RISCV_ISA_SPEC by
2478 calling riscv_set_default_isa_spec.
2479 * testsuite/gas/riscv/attribute-01.d: Add -misa-spec=2.2, since
2480 the --with-isa-spec may be set to different ISA spec.
2481 * testsuite/gas/riscv/attribute-02.d: Likewise.
2482 * testsuite/gas/riscv/attribute-03.d: Likewise.
2483 * testsuite/gas/riscv/attribute-04.d: Likewise.
2484 * testsuite/gas/riscv/attribute-05.d: Likewise.
2485 * testsuite/gas/riscv/attribute-06.d: Likewise.
2486 * testsuite/gas/riscv/attribute-07.d: Likewise.
2487 * configure.ac: Add configure options, --with-arch and
2489 * configure: Regenerated.
2490 * config.in: Regenerated.
2491 * config/tc-riscv.c (default_priv_spec): Static variable which is
2492 used to check if the CSR is valid for the chosen privilege spec. You
2493 can use -mpriv-spec to set it.
2494 (enum reg_class): We now get the CSR address from csr_extra_hash rather
2495 than reg_names_hash. Therefore, move RCLASS_CSR behind RCLASS_MAX.
2496 (riscv_init_csr_hashes): Only need to initialize one hash table
2498 (riscv_csr_class_check): Change the return type to void. Don't check
2499 the ISA dependency if -mcsr-check isn't set.
2500 (riscv_csr_version_check): New function. Check and find the CSR address
2501 from csr_extra_hash, according to default_priv_spec. Report warning
2502 for the invalid CSR if -mcsr-check is set.
2503 (reg_csr_lookup_internal): Updated.
2504 (reg_lookup_internal): Likewise.
2505 (md_begin): Updated since DECLARE_CSR and DECLARE_CSR_ALIAS are changed.
2506 (enum options, struct option md_longopts): Add new GAS option -mpriv-spec.
2507 (md_parse_option): Call riscv_set_default_priv_version to set
2509 (riscv_after_parse_args): If -mpriv-spec isn't set, then set the default
2510 privilege spec to the newest one.
2511 (enum riscv_csr_class, struct riscv_csr_extra): Move them to
2512 include/opcode/riscv.h.
2513 * testsuite/gas/riscv/priv-reg-fail-fext.d: This test case just want
2514 to check the ISA dependency for CSR, so fix the spec version by adding
2516 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise. There are some
2517 version warnings for the test case.
2518 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
2519 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
2520 * gas/testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
2521 * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
2522 * gas/testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
2523 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.d: New test case.
2524 Check whether the CSR is valid when privilege version 1.9 is choosed.
2525 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9.l: Likewise.
2526 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: New test case.
2527 Check whether the CSR is valid when privilege version 1.9.1 is choosed.
2528 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p9p1.l: Likewise.
2529 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.d: New test case.
2530 Check whether the CSR is valid when privilege version 1.10 is choosed.
2531 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p10.l: Likewise.
2532 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.d: New test case.
2533 Check whether the CSR is valid when privilege version 1.11 is choosed.
2534 * gas/testsuite/gas/riscv/priv-reg-fail-version-1p11.l: Likewise.
2535 * config/tc-riscv.c (DEFAULT_RISCV_ISA_SPEC): Default configure option
2536 setting. You can set it by configure option --with-priv-spec.
2537 (riscv_set_default_priv_spec): New function used to set the default
2539 (md_parse_option): Call riscv_set_default_priv_spec rather than
2540 call riscv_get_priv_spec_class directly.
2541 (riscv_after_parse_args): If -mpriv-spec isn't set, then we set the
2542 default privilege spec according to DEFAULT_RISCV_PRIV_SPEC by
2543 calling riscv_set_default_priv_spec.
2544 * testsuite/gas/riscv/csr-dw-regnums.d: Add -mpriv-spec=1.11, since
2545 the --with-priv-spec may be set to different privilege spec.
2546 * testsuite/gas/riscv/priv-reg.d: Likewise.
2547 * configure.ac: Add configure option --with-priv-spec.
2548 * configure: Regenerated.
2549 * config.in: Regenerated.
2550 * config/tc-riscv.c (explicit_attr): Rename explicit_arch_attr to
2551 explicit_attr. Set it to TRUE if any ELF attribute is found.
2552 (riscv_set_default_priv_spec): Try to set the default_priv_spec if
2553 the priv attributes are set.
2554 (md_assemble): Set the default_priv_spec according to the priv
2555 attributes when we start to assemble instruction.
2556 (riscv_write_out_attrs): Rename riscv_write_out_arch_attr to
2557 riscv_write_out_attrs. Update the arch and priv attributes. If we
2558 don't set the corresponding ELF attributes, then try to output the
2560 (riscv_set_public_attributes): If any ELF attribute or -march-attr
2561 options is set (explicit_attr is TRUE), then call riscv_write_out_attrs
2562 to update the arch and priv attributes.
2563 (s_riscv_attribute): Make sure all arch and priv attributes are set
2564 before any instruction.
2565 * testsuite/gas/riscv/attribute-01.d: Update the priv attributes if any
2566 ELF attribute or -march-attr is set. If the priv attributes are not
2567 set, then try to update them by the default setting (-mpriv-spec or
2569 * testsuite/gas/riscv/attribute-02.d: Likewise.
2570 * testsuite/gas/riscv/attribute-03.d: Likewise.
2571 * testsuite/gas/riscv/attribute-04.d: Likewise.
2572 * testsuite/gas/riscv/attribute-06.d: Likewise.
2573 * testsuite/gas/riscv/attribute-07.d: Likewise.
2574 * testsuite/gas/riscv/attribute-08.d: Likewise.
2575 * testsuite/gas/riscv/attribute-09.d: Likewise.
2576 * testsuite/gas/riscv/attribute-10.d: Likewise.
2577 * testsuite/gas/riscv/attribute-unknown.d: Likewise.
2578 * testsuite/gas/riscv/attribute-05.d: Likewise. Also, the priv spec
2579 set by priv attributes must be supported.
2580 * testsuite/gas/riscv/attribute-05.s: Likewise.
2581 * testsuite/gas/riscv/priv-reg-fail-version-1p9.d: Likewise. Updated
2582 priv attributes according to the -mpriv-spec option.
2583 * testsuite/gas/riscv/priv-reg-fail-version-1p9p1.d: Likewise.
2584 * testsuite/gas/riscv/priv-reg-fail-version-1p10.d: Likewise.
2585 * testsuite/gas/riscv/priv-reg-fail-version-1p11.d: Likewise.
2586 * testsuite/gas/riscv/priv-reg.d: Removed.
2587 * testsuite/gas/riscv/priv-reg-version-1p9.d: New test case. Dump the
2588 CSR according to the priv spec 1.9.
2589 * testsuite/gas/riscv/priv-reg-version-1p9p1.d: New test case. Dump the
2590 CSR according to the priv spec 1.9.1.
2591 * testsuite/gas/riscv/priv-reg-version-1p10.d: New test case. Dump the
2592 CSR according to the priv spec 1.10.
2593 * testsuite/gas/riscv/priv-reg-version-1p11.d: New test case. Dump the
2594 CSR according to the priv spec 1.11.
2595 * config/tc-riscv.c (md_show_usage): Add descriptions about
2596 the new GAS options.
2597 * doc/c-riscv.texi: Likewise.
2601 * testsuite/gas/ppc/power9.s <dcbf, dcbfl, dcbflp>: Add tests.
2602 * testsuite/gas/ppc/power9.d: Likewise.
2603 * testsuite/gas/ppc/power10.s <dcbf, dcbfps, dcbstps, hwsync, lwsync,
2604 pause_short, phwsync, plwsync, ptesync, stcisync, stncisync, stsync,
2605 sync, wait, waitrsv>: Add tests.
2606 * testsuite/gas/ppc/power10.d: Likewise.
2611 * config/tc-arm.c : Add arm_ext_v8r feature.
2612 (it_fsm_post_encode): Check arm_ext_v8r feature.
2613 (get_aeabi_cpu_arch_from_fset): Check arm_ext_v8r feature.
2617 * write.c (write_contents): Use bfd_get_filename rather than
2618 accessing bfd->filename directly. Use bfd_section_name rather
2619 than accessing section->name directly.
2623 * symbols.c (local_symbol_make): Init all of lsy_flags.
2627 * symbols.c (resolve_symbol_value): Invoke LOCAL_SYMBOL_CHECK
2628 before looking at add_symbol->sy_flags.
2632 * config/tc-i386.c: Not handle lret/iret.
2633 * testsuite/gas/i386/lfence-ret-a.d: Adjust testcase.
2634 * testsuite/gas/i386/lfence-ret-b.d: Ditto.
2635 * testsuite/gas/i386/lfence-ret-c.d: Ditto.
2636 * testsuite/gas/i386/lfence-ret-d.d: Ditto.
2637 * testsuite/gas/i386/lfence-ret.s: Ditto.
2638 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Ditto.
2639 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Ditto.
2640 * testsuite/gas/i386/x86-64-lfence-ret-c.d: Ditto.
2641 * testsuite/gas/i386/x86-64-lfence-ret-d.d: Ditto.
2642 * testsuite/gas/i386/x86-64-lfence-ret-e.d: Ditto.
2643 * testsuite/gas/i386/x86-64-lfence-ret.s: Ditto.
2644 * testsuite/gas/i386/x86-64-lfence-ret.e: Deleted.
2649 * symbols.c (struct local_symbol): Update comment.
2650 (resolve_symbol_value): For resolved symbols equated to other
2651 symbols, verify that the referenced symbol is not a local_symbol
2652 before accessing sy_value. Don't leave symbol loops during
2653 finalize_syms resolution.
2654 * testsuite/gas/all/assign-bad-recursive.d: New test.
2655 * testsuite/gas/all/assign-bad-recursive.l: Error output for test.
2656 * testsuite/gas/all/assign-bad-recursive.s: Assembly for test.
2657 * testsuite/gas/all/gas.exp: Run it.
2661 * po/sv.po: Updated Swedish translation.
2665 * testsuite/gas/ppc/scalarquad.d,
2666 * testsuite/gas/ppc/scalarquad.s: New test.
2667 * testsuite/gas/ppc/ppc.exp: Run it.
2671 * testsuite/gas/ppc/rightmost.d,
2672 * testsuite/gas/ppc/rightmost.s: New test.
2673 * testsuite/gas/ppc/ppc.exp: Run it.
2677 * testsuite/gas/ppc/xvtlsbb.d,
2678 * testsuite/gas/ppc/xvtlsbb.s: New test.
2679 * testsuite/gas/ppc/ppc.exp: Run it.
2683 * testsuite/gas/ppc/stringop.d,
2684 * testsuite/gas/ppc/stringop.s: New test.
2685 * testsuite/gas/ppc/ppc.exp: Run it.
2689 * testsuite/gas/ppc/set_bool.d,
2690 * testsuite/gas/ppc/set_bool.s: New test.
2691 * testsuite/gas/ppc/ppc.exp: Run it.
2695 * testsuite/gas/ppc/bitmanip.d,
2696 * testsuite/gas/ppc/bitmanip.s: New test.
2697 * testsuite/gas/ppc/ppc.exp: Run it.
2701 * testsuite/gas/ppc/genpcv.d,
2702 * testsuite/gas/ppc/genpcv.s: New test.
2703 * testsuite/gas/ppc/ppc.exp: Run it.
2707 * testsuite/gas/ppc/maskmanip.d,
2708 * testsuite/gas/ppc/maskmanip.s: New test.
2709 * testsuite/gas/ppc/ppc.exp: Run it.
2714 * config/tc-ppc.c (pre_defined_registers): Add accumulators.
2715 (md_assemble): Check acc specified in correct operand.
2716 * testsuite/gas/ppc/outerprod.d,
2717 * testsuite/gas/ppc/outerprod.s,
2718 * testsuite/gas/ppc/vsx4.d,
2719 * testsuite/gas/ppc/vsx4.s: New tests.
2720 * testsuite/gas/ppc/ppc.exp: Run them.
2724 * testsuite/gas/ppc/simd_perm.d,
2725 * testsuite/gas/ppc/simd_perm.s: New test.
2726 * testsuite/gas/ppc/ppc.exp: Run it.
2730 * testsuite/gas/ppc/int128.d,
2731 * testsuite/gas/ppc/int128.s: New test.
2732 * testsuite/gas/ppc/ppc.exp: Run it.
2736 * testsuite/gas/ppc/vsx_32byte.d,
2737 * testsuite/gas/ppc/vsx_32byte.s: New test.
2738 * testsuite/gas/ppc/ppc.exp: Run it.
2742 * testsuite/gas/ppc/vec_mul.s,
2743 * testsuite/gas/ppc/vec_mul.d: New test.
2744 * testsuite/gas/ppc/ppc.exp: Run it.
2748 * testsuite/gas/ppc/byte_rev.d,
2749 * testsuite/gas/ppc/byte_rev.s: New test.
2750 * testsuite/gas/ppc/ppc.exp: Run it.
2754 * testsuite/gas/ppc/power10.d: Add paste. tests.
2755 * testsuite/gas/ppc/power10.s: Likewise.
2759 * testsuite/gas/ppc/power10.s: New test.
2760 * testsuite/gas/ppc/power10.d: Likewise.
2761 * testsuite/gas/ppc/ppc.exp: Run it.
2765 * config/tc-ppc.c (md_assemble): Update for PPC_OPCODE_POWER10
2767 * testsuite/gas/ppc/prefix-align.d: Use -mpower10/-Mpower10 in
2768 place of -mfuture/-Mfuture.
2769 * testsuite/gas/ppc/prefix-pcrel.d: Likewise.
2770 * testsuite/gas/ppc/prefix-reloc.d: Likewise.
2774 * po/sv.po: Updated Swedish translation.
2779 * doc/as.texi (Preprocessing): Replace cross reference to not
2780 existant document with a URL to the equivalent page in the GCC
2785 * dwarf2dbg.c (out_dir_and_file_list): Add comments describing the
2786 construction of a DWARF-5 directory name table.
2787 * testsuite/gas/elf/pr25917.d: Update expected output.
2791 * config/tc-rx.c (elf_flags): Initialize for non-linux targets.
2792 (md_parse_option): Remove initialization of elf_flags.
2797 * config/tc-arm.c (do_mve_vmull): Fix scalar and NEON parsing of vmul.
2798 * testsuite/gas/arm/mve-scalar-vmult-it.d: New test.
2799 * testsuite/gas/arm/mve-scalar-vmult-it.s: New test.
2804 * dwarf2dbg.c (out_dir_and_file_list): Check for the directory
2805 table's existence before looking at its entries.
2806 Also do not emit a default directory entry if there are no
2809 * testsuite/gas/elf/pr25917.s: New test source file.
2810 * testsuite/gas/elf/pr25917.d: New test driver.
2811 * testsuite/gas/elf/elf.exp (run_elf_list_test): Run the new test.
2815 * config/tc-aarch64.c (fix_insn): Implement for
2816 AARCH64_OPND_UNDEFINED.
2817 (parse_operands): Implement for AARCH64_OPND_UNDEFINED.
2818 * testsuite/gas/aarch64/udf.s: New.
2819 * testsuite/gas/aarch64/udf.d: New.
2820 * testsuite/gas/aarch64/udf-invalid.s: New.
2821 * testsuite/gas/aarch64/udf-invalid.l: New.
2822 * testsuite/gas/aarch64/udf-invalid.d: New.
2826 * config/tc-rx.c (elf_flags): Reset default value.
2827 (md_parse_option): For rx-elf Initialize elf_flags with RX_ABI.
2831 * config/tc-xtensa.c (XTENSA_MARCH_EARLIEST): Define macro as 0
2832 if it's not defined.
2833 (microarch_earliest): New static variable.
2834 (xg_translate_idioms): Translate "simcall" to "simcall 0" when
2835 simcall opcode has mandatory parameter.
2836 (xg_init_global_config): Initialize microarch_earliest.
2841 * config/tc-sh.c (build_Mytes): Change operand type IMM0_8 to
2842 IMM0_8S and add support for IMM0_8U.
2843 * testsuite/gas/sh/sh4a.s: Add test of a logical insn using an
2844 unsigned 8-bit immediate.
2845 * testsuite/gas/sh/sh4a.d: Extended expected disassembly.
2846 * testsuite/gas/sh/sh4al-dsp.d: Update expected disassembly.
2850 * NEWS: Add news entry for big-obj.
2851 * config/tc-i386.c (i386_target_format): Support new format.
2852 * doc/c-i386.texi: Add i386 support.
2853 * testsuite/gas/pe/big-obj.d: Rename test to not be x64 specific.
2854 * testsuite/gas/pe/pe.exp (big-obj): Make test run on i386 as well.
2859 * dwarf2dbg.c (struct file_entry): Add auto_assigned field.
2860 (assign_file_to_slot): New function. Fills in an entry in the
2862 (allocate_filenum): Use new function.
2863 (allocate_filename_to_slot): Use new function. If the specified
2864 slot entry is already in use, but was chosen automatically then
2865 reassign the automatic entry.
2869 * config/tc-i386.c (lfence_before_ret_shl): New member.
2870 (load_insn_p): implict load for POP/POPA/POPF/XLATB, no load
2872 (insert_after_load): Issue warning for REP CMPS/SCAS.
2873 (insert_before_before): Handle iret, Handle
2874 -mlfence-before-ret=shl, Adjust operand size of or/not/shl to ret's,
2875 (md_parse_option): Change -mlfence-before-ret=[none|not|or] to
2876 -mlfence-before-ret=[none/not/or/shl/yes].
2877 Enable -mlfence-before-ret=shl when
2878 -mlfence-beofre-indirect-branch=all and no explict -mlfence-before-ret option.
2879 (md_show_usage): Ditto.
2880 * doc/c-i386.texi: Ditto.
2881 * testsuite/gas/i386/i386.exp: Add new testcases.
2882 * testsuite/gas/i386/lfence-load-b.d: New.
2883 * testsuite/gas/i386/lfence-load-b.e: New.
2884 * testsuite/gas/i386/lfence-load.d: Modified.
2885 * testsuite/gas/i386/lfence-load.e: New.
2886 * testsuite/gas/i386/lfence-load.s: Modified.
2887 * testsuite/gas/i386/lfence-ret-a.d: Modified.
2888 * testsuite/gas/i386/lfence-ret-b.d: Modified.
2889 * testsuite/gas/i386/lfence-ret-c.d: New.
2890 * testsuite/gas/i386/lfence-ret-d.d: New.
2891 * testsuite/gas/i386/lfence-ret.s: Modified.
2892 * testsuite/gas/i386/x86-64-lfence-load-b.d: New.
2893 * testsuite/gas/i386/x86-64-lfence-load.d: Modified.
2894 * testsuite/gas/i386/x86-64-lfence-load.s: Modified.
2895 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Modified.
2896 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Modified.
2897 * testsuite/gas/i386/x86-64-lfence-ret-c.d: New.
2898 * testsuite/gas/i386/x86-64-lfence-ret-d.d: New
2899 * testsuite/gas/i386/x86-64-lfence-ret-e.d: New.
2900 * testsuite/gas/i386/x86-64-lfence-ret.e: New.
2901 * testsuite/gas/i386/x86-64-lfence-ret.s: New.
2906 * config/tc-xtensa.c (md_apply_fix): Replace
2907 BFD_RELOC_XTENSA_DIFF{8,16,32} generation with
2908 BFD_RELOC_XTENSA_PDIFF{8,16,32} and
2909 BFD_RELOC_XTENSA_NDIFF{8,16,32} generation.
2910 * testsuite/gas/xtensa/loc.d: Replace BFD_RELOC_XTENSA_DIFF16
2911 with BFD_RELOC_XTENSA_PDIFF16 in the expected output.
2915 * config/obj-elf.c (elf_frob_symbol): Unconditionally remove
2916 symbol for ".symver .. remove".
2917 * doc/as.texi (.symver): Update.
2918 * testsuite/gas/symver/symver11.s: Make foo weak.
2919 * testsuite/gas/symver/symver11.d: Expect an error.
2920 * testsuite/gas/symver/symver7.d: Allow other random symbols.
2924 * testsuite/gas/symver/symver11.s: Add ".balign 8".
2929 * testsuite/gas/m68k/operands.s: Add tests for cmpi.
2930 * testsuite/gas/m68k/operands.d: Update.
2931 * testsuite/gas/m68k/op68000.d: Update for new error messages.
2936 * testsuite/gas/arm/pr24753.d: New test.
2937 * testsuite/gas/arm/pr24753.s: New test.
2943 * NEWS: Mention .symver extension.
2944 * config/obj-elf.c (obj_elf_find_and_add_versioned_name): New
2946 (obj_elf_symver): Call obj_elf_find_and_add_versioned_name to
2947 add a version name. Add local, hidden and remove visibility
2949 (elf_frob_symbol): Handle the list of version names. Update the
2950 original symbol to local, hidden or remove it from the symbol
2952 (elf_frob_file_before_adjust): Handle the list of version names.
2953 * config/obj-elf.h (elf_visibility): New.
2954 (elf_versioned_name_list): Likewise.
2955 (elf_obj_sy): Change local to bitfield. Add rename, bad_version
2956 and visibility. Change versioned_name pointer to struct
2957 elf_versioned_name_list.
2958 * doc/as.texi: Update .symver directive.
2959 * testsuite/gas/symver/symver.exp: Run all *.d tests. Add more
2960 error checking tests.
2961 * testsuite/gas/symver/symver6.d: New file.
2962 * testsuite/gas/symver/symver7.d: Likewise.
2963 * testsuite/gas/symver/symver7.s: Likewise.
2964 * testsuite/gas/symver/symver8.d: Likewise.
2965 * testsuite/gas/symver/symver8.s: Likewise.
2966 * testsuite/gas/symver/symver9.s: Likewise.
2967 * testsuite/gas/symver/symver9a.d: Likewise.
2968 * testsuite/gas/symver/symver9b.d: Likewise.
2969 * testsuite/gas/symver/symver10.s: Likewise.
2970 * testsuite/gas/symver/symver10a.d: Likewise.
2971 * testsuite/gas/symver/symver10b.d: Likewise.
2972 * testsuite/gas/symver/symver11.d: Likewise.
2973 * testsuite/gas/symver/symver11.s: Likewise.
2974 * testsuite/gas/symver/symver12.d: Likewise.
2975 * testsuite/gas/symver/symver12.s: Likewise.
2976 * testsuite/gas/symver/symver13.d: Likewise.
2977 * testsuite/gas/symver/symver13.s: Likewise.
2978 * testsuite/gas/symver/symver14.d: Likewise.
2979 * testsuite/gas/symver/symver14.l: Likewise.
2980 * testsuite/gas/symver/symver15.d: Likewise.
2981 * testsuite/gas/symver/symver15.l: Likewise.
2982 * testsuite/gas/symver/symver6.l: Removed.
2983 * testsuite/gas/symver/symver6.s: Updated.
2987 * config/tc-aarch64.c (parse_barrier_psb): Update error messages
2989 * testsuite/gas/aarch64/system-2.d: Update -march and new tsb tests.
2990 * testsuite/gas/aarch64/system-2.s: Add new tsb tests.
2991 * testsuite/gas/aarch64/system.d: Update.
2995 * testsuite/gas/aarch64/bti.d: Update -march option.
2996 * testsuite/gas/aarch64/illegal-bti.d: Remove.
2997 * testsuite/gas/aarch64/illegal-bti.l: Remove.
2998 * testsuite/gas/aarch64/illegal-ras-1.l: Remove esb.
2999 * testsuite/gas/aarch64/illegal-ras-1.s: Remove esb.
3003 * config/tc-bfin.h (TC_EQUAL_IN_INSN): Allow assignment to dot.
3009 * config/obj-elf.c (obj_elf_type): Reject ifunc symbols on MIPS
3011 * testsuite/gas/elf/elf.exp: Add MIPS targets to the list to skip
3012 for the type-2 test.
3013 * testsuite/gas/elf/type-noifunc.e: Update to allow for MIPS
3014 targets running this test.
3018 * testsuite/gas/bpf/bpf.exp: Run jump32 tests.
3019 * testsuite/gas/bpf/jump32.s: New file.
3020 * testsuite/gas/bpf/jump32.d: Likewise.
3024 * doc/c-i386.texi: Correct -mlfence-before-indirect-branch=
3029 * config/tc-moxie.h (MD_PCREL_FROM_SECTION): Delete define.
3030 (md_pcrel_from): Remove prototytpe.
3031 * config/tc-m32c.h (MD_PCREL_FROM_SECTION): Delete duplicate
3033 (md_pcrel_from_section): Remove duplicate prototype.
3034 * tc.h (md_pcrel_from_section): Add prototype.
3035 * config/tc-aarch64.h (md_pcrel_from_section): Remove prototype.
3036 * config/tc-arc.h (md_pcrel_from_section): Likewise.
3037 * config/tc-arm.h (md_pcrel_from_section): Likewise.
3038 * config/tc-avr.h (md_pcrel_from_section): Likewise.
3039 * config/tc-bfin.h (md_pcrel_from_section): Likewise.
3040 * config/tc-bpf.h (md_pcrel_from_section): Likewise.
3041 * config/tc-csky.h (md_pcrel_from_section): Likewise.
3042 * config/tc-d10v.h (md_pcrel_from_section): Likewise.
3043 * config/tc-d30v.h (md_pcrel_from_section): Likewise.
3044 * config/tc-epiphany.h (md_pcrel_from_section): Likewise.
3045 * config/tc-fr30.h (md_pcrel_from_section): Likewise.
3046 * config/tc-frv.h (md_pcrel_from_section): Likewise.
3047 * config/tc-iq2000.h (md_pcrel_from_section): Likewise.
3048 * config/tc-lm32.h (md_pcrel_from_section): Likewise.
3049 * config/tc-m32c.h (md_pcrel_from_section): Likewise.
3050 * config/tc-m32r.h (md_pcrel_from_section): Likewise.
3051 * config/tc-mcore.h (md_pcrel_from_section): Likewise.
3052 * config/tc-mep.h (md_pcrel_from_section): Likewise.
3053 * config/tc-metag.h (md_pcrel_from_section): Likewise.
3054 * config/tc-microblaze.h (md_pcrel_from_section): Likewise.
3055 * config/tc-mmix.h (md_pcrel_from_section): Likewise.
3056 * config/tc-moxie.h (md_pcrel_from_section): Likewise.
3057 * config/tc-msp430.h (md_pcrel_from_section): Likewise.
3058 * config/tc-mt.h (md_pcrel_from_section): Likewise.
3059 * config/tc-or1k.h (md_pcrel_from_section): Likewise.
3060 * config/tc-ppc.h (md_pcrel_from_section): Likewise.
3061 * config/tc-rl78.h (md_pcrel_from_section): Likewise.
3062 * config/tc-rx.h (md_pcrel_from_section): Likewise.
3063 * config/tc-s390.h (md_pcrel_from_section): Likewise.
3064 * config/tc-sh.h (md_pcrel_from_section): Likewise.
3065 * config/tc-xc16x.h (md_pcrel_from_section): Likewise.
3066 * config/tc-xstormy16.h (md_pcrel_from_section): Likewise.
3067 * config/tc-microblaze.h (md_begin, md_assemble, md_undefined_symbol,
3068 md_show_usage, md_convert_frag, md_operand, md_number_to_chars,
3069 md_estimate_size_before_relax, md_section_align, tc_gen_reloc,
3070 md_apply_fix3): Delete prototypes.
3074 * NEWS: Mention support for Intel SERIALIZE and TSXLDTRK
3079 * doc/c-z80.texi: Fix @xref warnings.
3083 * config/tc-i386.c (cpu_arch): Add .TSXLDTRK.
3084 (cpu_noarch): Likewise.
3085 * doc/c-i386.texi: Document TSXLDTRK.
3086 * testsuite/gas/i386/i386.exp: Run TSXLDTRK tests.
3087 * testsuite/gas/i386/tsxldtrk.d: Likewise.
3088 * testsuite/gas/i386/tsxldtrk.s: Likewise.
3089 * testsuite/gas/i386/x86-64-tsxldtrk.d: Likewise.
3093 * config/tc-i386.c (cpu_arch): Add .serialize.
3094 (cpu_noarch): Likewise.
3095 * doc/c-i386.texi: Document serialize.
3096 * testsuite/gas/i386/i386.exp: Run serialize tests
3097 * testsuite/gas/i386/serialize.d: Likewise.
3098 * testsuite/gas/i386/x86-64-serialize.d: Likewise.
3099 * testsuite/gas/i386/serialize.s: Likewise.
3103 * testsuite/gas/elf/section12a.d: Use notarget instead of xfail.
3104 * testsuite/gas/elf/section12b.d: Likewise.
3105 * testsuite/gas/elf/section16a.d: Likewise.
3106 * testsuite/gas/elf/section16b.d: Likewise.
3110 * config/tc-m68k.c (m68k_ip): Fix range check for index register
3111 with a suppressed address register.
3116 * config/tc-i386.h (TC_FORCE_RELOCATION_ABS): New.
3117 * testsuite/gas/i386/localpic.s: Add a test for relocation
3118 against local absolute symbol.
3119 * testsuite/gas/i386/x86-64-localpic.s: Likewise.
3120 * testsuite/gas/i386/localpic.d: Updated.
3121 * testsuite/gas/i386/x86-64-localpic.d: Likewise.
3122 * testsuite/gas/i386/ilp32/x86-64-localpic.d: Likewise.
3127 * testsuite/gas/i386/solaris/x86-64-branch-2.d: New file.
3128 * testsuite/gas/i386/solaris/x86-64-branch-3.d: New file.
3129 * testsuite/gas/i386/solaris/x86-64-jump.d: Incorporate changes to
3130 testsuite/gas/i386/x86-64-jump.d.
3131 * gas/testsuite/gas/i386/solaris/x86-64-mpx-branch-1.d:
3132 Incorporate changes to
3133 gas/testsuite/gas/i386/x86-64-mpx-branch-1.d.
3134 * testsuite/gas/i386/solaris/x86-64-mpx-branch-2.d : Incorporate
3135 changes to testsuite/gas/i386/x86-64-mpx-branch-2.d.
3136 * testsuite/gas/i386/x86-64-branch-2.d: Skip on *-*-solaris*.
3137 * testsuite/gas/i386/x86-64-branch-3.d: Likewise.
3143 * dwarf2dbg.c: Do not include "bignum.h".
3147 * testsuite/gas/riscv/alias-csr.d: Move this to priv-reg-pseudo.
3148 * testsuite/gas/riscv/alias-csr.s: Likewise.
3149 * testsuite/gas/riscv/no-aliases-csr.d: Move this
3150 to priv-reg-pseudo-noalias.
3151 * testsuite/gas/riscv/bad-csr.d: Rename to priv-reg-fail-nonexistent.
3152 * testsuite/gas/riscv/bad-csr.l: Likewise.
3153 * testsuite/gas/riscv/bad-csr.s: Likewise.
3154 * testsuite/gas/riscv/satp.d: Removed. Already included in priv-reg.
3155 * testsuite/gas/riscv/satp.s: Likewise.
3156 * testsuite/gas/riscv/priv-reg-pseudo.d: New testcase for all pseudo
3157 csr instruction, including alias-csr testcase.
3158 * testsuite/gas/riscv/priv-reg-pseudo.s: Likewise.
3159 * testsuite/gas/riscv/priv-reg-pseudo-noalias.d: New testcase for all
3160 pseudo instruction with objdump -Mno-aliases.
3161 * testsuite/gas/riscv/priv-reg-fail-nonexistent.d: New testcase.
3162 * testsuite/gas/riscv/priv-reg-fail-nonexistent.l: Likewise.
3163 * testsuite/gas/riscv/priv-reg-fail-nonexistent.s: Likewise.
3164 * testsuite/gas/riscv/priv-reg.d: Update CSR to 1.11.
3165 * testsuite/gas/riscv/priv-reg.s: Likewise.
3166 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
3167 * testsuite/gas/riscv/csr-dw-regnums.d: Likewise.
3168 * testsuite/gas/riscv/csr-dw-regnums.s: Likewise.
3172 * config/obj-coff.c (obj_coff_section): Set the bss flag on
3173 sections with the "b" attribute.
3177 * testsuite/gas/s12z/truncated.d: Update expected output.
3182 * config/tc-z80.c (md_pseudo_table): Add xdef anf xref pseudo ops.
3183 * doc/c-z80.texi: Update documentation.
3190 Fix disassembling ED+A4/AC/B4/BC opcodes.
3191 Fix assembling lines containing colonless label and instruction
3192 with first operand inside parentheses.
3193 Fix registration of unsupported by target CPU registers.
3194 * config/tc-z80.c: See above.
3195 * config/tc-z80.h: See above.
3196 * testsuite/gas/z80/colonless.d: Update test.
3197 * testsuite/gas/z80/colonless.s: Likewise.
3198 * testsuite/gas/z80/ez80_adl_all.d: Likewise.
3199 * testsuite/gas/z80/ez80_unsup_regs.d: Likewise.
3200 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
3201 * testsuite/gas/z80/gbz80_unsup_regs.d: Likewise.
3202 * testsuite/gas/z80/r800_unsup_regs.d: Likewise.
3203 * testsuite/gas/z80/unsup_regs.s: Likewise.
3204 * testsuite/gas/z80/z180_unsup_regs.d: Likewise.
3205 * testsuite/gas/z80/z80.exp: Likewise.
3206 * testsuite/gas/z80/z80_strict_unsup_regs.d: Likewise.
3207 * testsuite/gas/z80/z80_unsup_regs.d: Likewise.
3208 * testsuite/gas/z80/z80n_unsup_regs.d: Likewise.
3213 * config/tc-arm.c (operand_parse_code): Add OP_RNSDMQR and OP_oRNSDMQ.
3214 (parse_operands): Handle new operand codes.
3215 (do_neon_dyadic_long): Make shape check accept the scalar variants.
3216 (asm_opcode_insns): Fix operand codes for vaddl and vsubl.
3217 * testsuite/gas/arm/mve-vaddsub-it.s: New test.
3218 * testsuite/gas/arm/mve-vaddsub-it.d: New test.
3219 * testsuite/gas/arm/mve-vaddsub-it-bad.s: New test.
3220 * testsuite/gas/arm/mve-vaddsub-it-bad.l: New test.
3221 * testsuite/gas/arm/mve-vaddsub-it-bad.d: New test.
3222 * testsuite/gas/arm/nomve-vaddsub-it.d: New test.
3226 * NEWS: Mention x86 assembler options for CVE-2020-0551.
3230 * testsuite/gas/i386/i386.exp: Run new tests.
3231 * testsuite/gas/i386/lfence-byte.d: New file.
3232 * testsuite/gas/i386/lfence-byte.e: Likewise.
3233 * testsuite/gas/i386/lfence-byte.s: Likewise.
3234 * testsuite/gas/i386/lfence-indbr-a.d: Likewise.
3235 * testsuite/gas/i386/lfence-indbr-b.d: Likewise.
3236 * testsuite/gas/i386/lfence-indbr-c.d: Likewise.
3237 * testsuite/gas/i386/lfence-indbr.e: Likewise.
3238 * testsuite/gas/i386/lfence-indbr.s: Likewise.
3239 * testsuite/gas/i386/lfence-load.d: Likewise.
3240 * testsuite/gas/i386/lfence-load.s: Likewise.
3241 * testsuite/gas/i386/lfence-ret-a.d: Likewise.
3242 * testsuite/gas/i386/lfence-ret-b.d: Likewise.
3243 * testsuite/gas/i386/lfence-ret.s: Likewise.
3244 * testsuite/gas/i386/x86-64-lfence-byte.d: Likewise.
3245 * testsuite/gas/i386/x86-64-lfence-byte.e: Likewise.
3246 * testsuite/gas/i386/x86-64-lfence-byte.s: Likewise.
3247 * testsuite/gas/i386/x86-64-lfence-indbr-a.d: Likewise.
3248 * testsuite/gas/i386/x86-64-lfence-indbr-b.d: Likewise.
3249 * testsuite/gas/i386/x86-64-lfence-indbr-c.d: Likewise.
3250 * testsuite/gas/i386/x86-64-lfence-indbr.e: Likewise.
3251 * testsuite/gas/i386/x86-64-lfence-indbr.s: Likewise.
3252 * testsuite/gas/i386/x86-64-lfence-load.d: Likewise.
3253 * testsuite/gas/i386/x86-64-lfence-load.s: Likewise.
3254 * testsuite/gas/i386/x86-64-lfence-ret-a.d: Likewise.
3255 * testsuite/gas/i386/x86-64-lfence-ret-b.d: Likewise.
3259 * config/tc-i386.c (lfence_after_load): New.
3260 (lfence_before_indirect_branch_kind): New.
3261 (lfence_before_indirect_branch): New.
3262 (lfence_before_ret_kind): New.
3263 (lfence_before_ret): New.
3266 (insert_lfence_after): New.
3267 (insert_lfence_before): New.
3268 (md_assemble): Call insert_lfence_before and insert_lfence_after.
3270 (OPTION_MLFENCE_AFTER_LOAD): New.
3271 (OPTION_MLFENCE_BEFORE_INDIRECT_BRANCH): New.
3272 (OPTION_MLFENCE_BEFORE_RET): New.
3273 (md_longopts): Add -mlfence-after-load=,
3274 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
3275 (md_parse_option): Handle -mlfence-after-load=,
3276 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
3277 (md_show_usage): Display -mlfence-after-load=,
3278 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
3279 (i386_cons_align): New.
3280 * config/tc-i386.h (i386_cons_align): New.
3281 (md_cons_align): New.
3282 * doc/c-i386.texi: Document -mlfence-after-load=,
3283 -mlfence-before-indirect-branch= and -mlfence-before-ret=.
3289 * dwarf2dbg.c (DWARF2_FILE_TIME_NAME): Default to -1.
3290 (DWARF2_FILE_SIZE_NAME): Default to -1.
3291 (DWARF2_LINE_VERSION): Default to the current dwarf level or 3,
3292 whichever is higher.
3293 (DWARF2_LINE_MAX_OPS_PER_INSN): Provide a default value of 1.
3294 (NUM_MD5_BYTES): Define.
3295 (struct file entry): Add md5 field.
3296 (get_filenum): Delete and replace with...
3297 (get_basename): New function.
3298 (get_directory_table_entry): New function.
3299 (allocate_filenum): New function.
3300 (allocate_filename_to_slot): New function.
3301 (dwarf2_where): Use new functions.
3302 (dwarf2_directive_filename): Add support for extended .file
3304 (dwarf2_directive_loc): Allow the use of file number zero with
3306 (out_file_list): Rename to...
3307 (out_dir_and_file_list): Add DWARF 5 support.
3308 (out_debug_line): Emit extra values into the section header for
3310 (out_debug_str): Allow for file 0 to be used with DWARF 5.
3311 * doc/as.texi (.file): Update the description of this pseudo-op.
3312 * testsuite/gas/elf-dwarf-5-file0.s: Add more lines.
3313 * testsuite/gas/elf-dwarf-5-file0.d: Update expected dump output.
3314 * testsuite/gas/lns/lns-diag-1.l: Update expected error message.
3315 * NEWS: Mention the new feature.
3319 * config/tc-csky.c (get_operand_value): Rewrite 1 << 31 expressions
3320 to avoid signed overflow.
3321 * config/tc-mcore.c (md_assemble): Likewise.
3322 * config/tc-mips.c (gpr_read_mask, gpr_write_mask): Likewise.
3323 * config/tc-nds32.c (SET_ADDEND): Likewise.
3324 * config/tc-nios2.c (nios2_assemble_arg_R): Likewise.
3328 * testsuite/gas/i386/avx.s: Add long-form VCMP[PS][SD] pseudos.
3329 * testsuite/gas/i386/avx.d, testsuite/gas/i386/avx-16bit.d,
3330 testsuite/gas/i386/avx-intel.d: Adjust expectations.
3334 * testsuite/gas/elf/dwarf-5-file0.s: Don't start directives in
3340 * dwarf2dbg.c (dwarf2_directive_filename): Allow a file number of
3341 0 if the dwarf_level is 5 or more. Complain if a filename follows
3343 * testsuite/gas/elf/dwarf-5-file0.s: New test.
3344 * testsuite/gas/elf/dwarf-5-file0.d: New test driver.
3345 * testsuite/gas/elf/elf.exp: Run the new test.
3348 * config/tc-ia64.h (DWARF2_VERISION): Fix typo.
3349 * doc/as.texi: Fix another typo.
3354 * as.c (dwarf_level): Define.
3355 (show_usage): Add --gdwarf-3, --gdwarf-4 and --gdwarf-5.
3356 (parse_args): Add support for the new options.
3357 as.h (dwarf_level): Prototype.
3358 * dwarf2dbg.c (DWARF2_VERSION): Use dwarf_level as default version
3360 * config/tc-ia64.h (DWARF2_VERISION): Update definition.
3361 (DWARF2_LINE_VERSION): Remove definition.
3362 * doc/as.texi: Document the new options.
3367 * as.c (main): Allow matching input and outputs when they are
3372 * config/tc-i386.c (match_mem_size): Generalize broadcast special
3374 (check_VecOperands): Zap xmmword/ymmword/zmmword when more than
3375 one of byte/word/dword/qword is set alongside a SIMD register in
3376 a template's operand.
3380 * config/tc-i386.c (match_template): Extend code in logic
3381 rejecting certain suffixes in certain modes to also cover mask
3382 register use and VecSIB. Drop special casing of broadcast. Skip
3383 immediates in the check.
3387 * config/tc-i386.c (match_template): Fold duplicate code in
3388 logic rejecting certain suffixes in certain modes. Drop
3393 * config/tc-i386.c (process_suffix): Exlucde !vexw insns
3394 alongside !norex64 ones.
3395 * testsuite/gas/i386/x86-64-avx512bw.s: Test VPEXTR* and VPINSR*
3396 with both 32- and 64-bit GPR operands.
3397 * testsuite/gas/i386/x86-64-avx512f.s: Test VEXTRACTPS with both
3398 32- and 64-bit GPR operands.
3399 * testsuite/gas/i386/x86-64-avx512bw-intel.d,
3400 testsuite/gas/i386/x86-64-avx512bw.d,
3401 testsuite/gas/i386/x86-64-avx512f-intel.d,
3402 testsuite/gas/i386/x86-64-avx512f.d: Adjust expectations.
3406 * config/tc-i386.c (md_assemble): Drop use of rex64.
3407 (process_suffix): For REX.W for 64-bit CRC32.
3411 * config/tc-i386.c (i386_addressing_mode): For 32-bit
3412 addressing for MPX insns without base/index.
3413 * testsuite/gas/i386/mpx-16bit.s,
3414 * testsuite/gas/i386/mpx-16bit.d: New.
3415 * testsuite/gas/i386/i386.exp: Run new test.
3419 * testsuite/gas/i386/adx.s, testsuite/gas/i386/cet.s,
3420 testsuite/gas/i386/ept.s, testsuite/gas/i386/fsgs.s,
3421 testsuite/gas/i386/invpcid.s, testsuite/gas/i386/movdir.s,
3422 testsuite/gas/i386/ptwrite.s, testsuite/gas/i386/vmx.s,
3423 * testsuite/gas/i386/code16.s: Add CR, DR, and TR access cases
3424 as well as a BSWAP one.
3425 * testsuite/gas/i386/rdpid.s: Add 16-bit case.
3426 * testsuite/gas/i386/sse2-16bit.s: Cover more insns.
3427 * testsuite/gas/i386/adx-intel.d, testsuite/gas/i386/adx.d,
3428 testsuite/gas/i386/cet-intel.d, testsuite/gas/i386/cet.d,
3429 testsuite/gas/i386/code16.d, testsuite/gas/i386/ept-intel.d,
3430 testsuite/gas/i386/ept.d, testsuite/gas/i386/fsgs-intel.d,
3431 testsuite/gas/i386/fsgs.d, testsuite/gas/i386/invpcid-intel.d,
3432 testsuite/gas/i386/invpcid.d, testsuite/gas/i386/movdir-intel.d,
3433 testsuite/gas/i386/movdir.d, testsuite/gas/i386/ptwrite-intel.d,
3434 testsuite/gas/i386/ptwrite.d, testsuite/gas/i386/rdpid-intel.d,
3435 testsuite/gas/i386/rdpid.d, testsuite/gas/i386/sse2-16bit.d,
3436 testsuite/gas/i386/vmx.d: Adjust expectations.
3440 * config/tc-i386.c (md_assemble): Also exclude tpause and umwait
3441 from having their operands swapped.
3442 * testsuite/gas/i386/waitpkg.s,
3443 testsuite/gas/i386/x86-64-waitpkg.s: Add tpause and umwait
3444 3-operand cases as well as testing of 16-bit code generation.
3445 * testsuite/gas/i386/waitpkg.d,
3446 testsuite/gas/i386/waitpkg-intel.d,
3447 testsuite/gas/i386/x86-64-waitpkg.d,
3448 testsuite/gas/i386/x86-64-waitpkg-intel.d: Adjust expectations.
3452 * config/tc-riscv.c (percent_op_utype): Support the modifier
3454 * doc/c-riscv.texi: Add documentation.
3455 * testsuite/gas/riscv/no-relax-reloc.d: Add test case for the new
3456 modifier %got_pcrel_hi.
3457 * testsuite/gas/riscv/no-relax-reloc.s: Likewise.
3458 * testsuite/gas/riscv/relax-reloc.d: Likewise.
3459 * testsuite/gas/riscv/relax-reloc.s: Likewise.
3461 * doc/c-riscv.texi (relocation modifiers): Add documentation.
3462 (RISC-V-Formats): Update the section name from "Instruction Formats"
3463 to "RISC-V Instruction Formats".
3467 * config/tc-arm.c (md_apply_fix): Warn if a PC-relative load is
3468 detected in a section which does not have at least 4 byte
3470 * testsuite/gas/arm/armv8-ar-it-bad.s: Add alignment directive.
3471 * testsuite/gas/arm/ldr-t.s: Likewise.
3472 * testsuite/gas/arm/sp-pc-usage-t.s: Likewise.
3473 * testsuite/gas/arm/sp-pc-usage-t.d: Finish test at end of
3474 disassembly, ignoring any NOPs that may have been inserted because
3475 of section alignment.
3476 * testsuite/gas/arm/ldr-t.d: Likewise.
3480 * config/tc-i386.c (cpu_arch): Add .sev_es entry.
3481 * doc/c-i386.texi: Mention sev_es.
3482 * testsuite/gas/i386/arch-13.s: Add SEV-ES case.
3483 * testsuite/gas/i386/arch-13.d: Extend -march=. Adjust
3485 * testsuite/gas/i386/arch-13-znver1.d,
3486 testsuite/gas/i386/arch-13-znver2.d: Extend -march=.
3490 * config/tc-i386.c (match_template): Replace ignoresize and
3491 defaultsize with mnemonicsize.
3492 (process_suffix): Likewise.
3497 * config/tc-z80.c (emit_ld_rr_m): Fix invalid compilation of
3498 instruction LD IY,(HL).
3499 * testsuite/gas/z80/ez80_adl_all.d: Update expected disassembly.
3500 * testsuite/gas/z80/ez80_adl_all.s: Add tests of the instruction.
3501 * testsuite/gas/z80/ez80_z80_all.d: Update expected disassembly.
3502 * testsuite/gas/z80/ez80_z80_all.s: Add tests of the instruction.
3507 * testsuite/gas/i386/i386.exp: Run x86-64-default-suffix and
3508 x86-64-default-suffix-avx.
3509 * testsuite/gas/i386/noreg64.s: Remove cvtsi2sd, cvtsi2ss,
3510 vcvtsi2sd, vcvtsi2ss, vcvtusi2sd and vcvtusi2ss entries.
3511 * testsuite/gas/i386/noreg64.d: Updated.
3512 * testsuite/gas/i386/noreg64.l: Likewise.
3513 * testsuite/gas/i386/x86-64-default-suffix-avx.d: New file.
3514 * testsuite/gas/i386/x86-64-default-suffix.d: Likewise.
3515 * testsuite/gas/i386/x86-64-default-suffix.s: Likewise.
3520 * config/tc-z80.c (contains_register): Prevent an illegal memory
3521 access when checking an expression for a register name.
3525 * config/obj-coff.h: Remove vestiges of coff-m68k and pe-mips
3530 * config/tc-m32r.c (md_begin): Set SEC_SMALL_DATA on .scommon section.
3531 * config/tc-mips.c (s_change_sec): Set SEC_SMALL_DATA for .sdata
3533 * config/tc-score.c: Delete !BFD_ASSEMBLER code throughout.
3534 (s3_s_change_sec): Set SEC_SMALL_DATA for .sbss section.
3535 (s3_s_score_lcomm): Likewise.
3536 * config/tc-score7.c: Similarly.
3537 * read.c (bss_alloc): Set SEC_SMALL_DATA for .sbss section.
3542 * config/tc-mips.c (fix_loongson3_llsc): Compare label value
3543 to handle multi-labels.
3544 (has_label_name): New.
3548 * config/tc-arm.c (enum pred_instruction_type): Remove
3549 NEUTRAL_IT_NO_VPT_INSN predication type.
3550 (cxn_handle_predication): Modify to require condition suffixes.
3551 (handle_pred_state): Remove NEUTRAL_IT_NO_VPT_INSN cases.
3552 * testsuite/gas/arm/cde-scalar.s: Update test.
3553 * testsuite/gas/arm/cde-warnings.l: Update test.
3554 * testsuite/gas/arm/cde-warnings.s: Update test.
3558 * config/tc-arm.c (reg_expected_msgs[REG_TYPE_RNB]): Don't use
3559 N_() on empty string.
3563 * read.c (read_a_source_file): Call strncpy with length one
3564 less than size of original_case_string.
3568 * config/obj-elf.c: Indent labels correctly.
3569 * config/obj-macho.c: Likewise.
3570 * config/tc-aarch64.c: Likewise.
3571 * config/tc-alpha.c: Likewise.
3572 * config/tc-arm.c: Likewise.
3573 * config/tc-cr16.c: Likewise.
3574 * config/tc-crx.c: Likewise.
3575 * config/tc-frv.c: Likewise.
3576 * config/tc-i386-intel.c: Likewise.
3577 * config/tc-i386.c: Likewise.
3578 * config/tc-ia64.c: Likewise.
3579 * config/tc-mn10200.c: Likewise.
3580 * config/tc-mn10300.c: Likewise.
3581 * config/tc-nds32.c: Likewise.
3582 * config/tc-riscv.c: Likewise.
3583 * config/tc-s12z.c: Likewise.
3584 * config/tc-xtensa.c: Likewise.
3585 * config/tc-z80.c: Likewise.
3587 * symbols.c: Likewise.
3588 * write.c: Likewise.
3592 * config/tc-riscv.c (riscv_ip): New boolean insn_with_csr to indicate
3593 we are assembling instruction with CSR. Call riscv_csr_read_only_check
3594 after parsing all arguments.
3595 (enum csr_insn_type): New enum is used to classify the CSR instruction.
3596 (riscv_csr_insn_type, riscv_csr_read_only_check): New functions. These
3597 are used to check if we write a read-only CSR by the CSR instruction.
3598 * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: New testcase. Test
3599 all CSR for the read-only CSR checking.
3600 * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
3601 * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
3602 * testsuite/gas/riscv/priv-reg-fail-read-only-02.s: New testcase. Test
3603 all CSR instructions for the read-only CSR checking.
3604 * testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
3605 * testsuite/gas/riscv/priv-reg-fail-read-only-02.l: Likewise.
3607 * config/tc-riscv.c (struct riscv_set_options): New field csr_check.
3608 (riscv_opts): Initialize it.
3609 (reg_lookup_internal): Check the `riscv_opts.csr_check`
3610 before doing the CSR checking.
3611 (enum options): Add OPTION_CSR_CHECK and OPTION_NO_CSR_CHECK.
3612 (md_longopts): Add mcsr-check and mno-csr-check.
3613 (md_parse_option): Handle new enum option values.
3614 (s_riscv_option): Handle new long options.
3615 * doc/c-riscv.texi: Add description for the new .option and assembler
3617 * testsuite/gas/riscv/priv-reg-fail-fext.d: Add `-mcsr-check` to enable
3619 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
3621 * config/tc-riscv.c (csr_extra_hash): New.
3622 (enum riscv_csr_class): New enum. Used to decide
3623 whether or not this CSR is legal in the current ISA string.
3624 (struct riscv_csr_extra): New structure to hold all extra information
3626 (riscv_init_csr_hashes): New. According to the DECLARE_CSR and
3627 DECLARE_CSR_ALIAS, insert CSR extra information into csr_extra_hash.
3628 Call hash_reg_name to insert CSR address into reg_names_hash.
3629 (reg_csr_lookup_internal, riscv_csr_class_check): New functions.
3630 Decide whether the CSR is valid according to the csr_extra_hash.
3631 (reg_lookup_internal): Call reg_csr_lookup_internal for CSRs.
3632 (init_opcode_hash): Update 'if (hash_error != NULL)' as hash_error is
3633 not a boolean. This is same as riscv_init_csr_hash, so keep the
3635 (md_begin): Call riscv_init_csr_hashes for each DECLARE_CSR.
3636 * testsuite/gas/riscv/csr-dw-regnums.d: Add -march=rv32if option.
3637 * testsuite/gas/riscv/priv-reg.d: Add f-ext by -march option.
3638 * testsuite/gas/riscv/priv-reg-fail-fext.d: New testcase. The source
3639 file is `priv-reg.s`, and the ISA is rv32i without f-ext, so the
3640 f-ext CSR are not allowed.
3641 * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise.
3642 * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: New testcase. The
3643 source file is `priv-reg.s`, and the ISA is rv64if, so the
3644 rv32-only CSR are not allowed.
3645 * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
3649 * config/tc-pdp11.c (md_apply_fix): Handle BFD_RELOC_32.
3650 (tc_gen_reloc): Only give a BAD_CASE assertion on pcrel relocs.
3655 * config/obj-aout.c (obj_aout_frob_file_before_fix): Don't loop
3656 on section size adjustment, instead perform another write if
3657 exec header size is larger than section size.
3661 * doc/c-riscv.texi: Add the doc entries for -march-attr/
3662 -mno-arch-attr command line options.
3666 * testsuite/gas/riscv/c-add-addi.d: New testcase.
3667 * testsuite/gas/riscv/c-add-addi.s: Likewise.
3672 * config/tc-z80.c (md_parse_option): Do not use an underscore
3673 prefix for local labels in SDCC compatability mode.
3674 (z80_start_line_hook): Remove SDCC dollar label support.
3675 * testsuite/gas/z80/sdcc.d: Update expected disassembly.
3676 * testsuite/gas/z80/sdcc.s: Likewise.
3681 * config/tc-z80.c: Add -march option.
3682 * doc/as.texi: Update Z80 documentation.
3683 * doc/c-z80.texi: Likewise.
3684 * testsuite/gas/z80/ez80_adl_all.d: Update command line.
3685 * testsuite/gas/z80/ez80_adl_suf.d: Likewise.
3686 * testsuite/gas/z80/ez80_pref_dis.d: Likewise.
3687 * testsuite/gas/z80/ez80_z80_all.d: Likewise.
3688 * testsuite/gas/z80/ez80_z80_suf.d: Likewise.
3689 * testsuite/gas/z80/gbz80_all.d: Likewise.
3690 * testsuite/gas/z80/r800_extra.d: Likewise.
3691 * testsuite/gas/z80/r800_ii8.d: Likewise.
3692 * testsuite/gas/z80/r800_z80_doc.d: Likewise.
3693 * testsuite/gas/z80/sdcc.d: Likewise.
3694 * testsuite/gas/z80/z180.d: Likewise.
3695 * testsuite/gas/z80/z180_z80_doc.d: Likewise.
3696 * testsuite/gas/z80/z80_doc.d: Likewise.
3697 * testsuite/gas/z80/z80_ii8.d: Likewise.
3698 * testsuite/gas/z80/z80_in_f_c.d: Likewise.
3699 * testsuite/gas/z80/z80_op_ii_ld.d: Likewise.
3700 * testsuite/gas/z80/z80_out_c_0.d: Likewise.
3701 * testsuite/gas/z80/z80_sli.d: Likewise.
3702 * testsuite/gas/z80/z80n_all.d: Likewise.
3703 * testsuite/gas/z80/z80n_reloc.d: Likewise.
3707 * config/tc-i386.c (output_insn): Mark cvtpi2ps and cvtpi2pd
3708 with GNU_PROPERTY_X86_FEATURE_2_MMX.
3709 * testsuite/gas/i386/i386.exp: Run property-3 and
3711 * testsuite/gas/i386/property-3.d: New file.
3712 * testsuite/gas/i386/property-3.s: Likewise.
3713 * testsuite/gas/i386/x86-64-property-3.d: Likewise.
3717 * config/tc-i386.c (cpu_arch): Add .popcnt.
3718 * doc/c-i386.texi: Remove abm and .abm. Add popcnt and .popcnt.
3719 Add a tab before @samp{.sse4a}.
3723 * config/tc-i386.c (process_suffix): Don't try to guess a suffix
3724 for AddrPrefixOpReg templates. Combine the two pieces of
3725 addrprefixopreg handling. Reject 16-bit address reg in 64-bit
3731 * config/tc-i386.c (md_assemble): Also suppress operand
3732 swapping for MONITOR{,X} and MWAIT{,X}.
3733 * testsuite/gas/i386/sse3.s, testsuite/gas/i386/x86-64-sse3.s:
3734 Add Intel syntax monitor/mwait tests.
3735 * testsuite/gas/i386/sse3.d, testsuite/gas/i386/x86-64-sse3.d:
3736 Adjust expectations.
3737 *testsuite/gas/i386/sse3-intel.d,
3738 testsuite/gas/i386/x86-64-sse3-intel.d: New.
3739 * testsuite/gas/i386/i386.exp: Run new tests.
3744 * config/tc-i386.c (process_suffix): Re-work Intel-syntax
3745 [XYZ]MMWord memory operand ambiguity recognition logic (largely
3747 * testsuite/gas/i386/avx512dq-inval.s: Add vcvtqq2ps/vcvtuqq2ps
3749 * testsuite/gas/i386/inval-avx512f.s: Also test vcvtneps2bf16.
3750 * testsuite/gas/i386/avx512dq-inval.l,
3751 testsuite/gas/i386/inval-avx.l,
3752 testsuite/gas/i386/inval-avx512f.l: Adjust expectations.
3753 * testsuite/gas/i386/avx512vl-ambig.s,
3754 testsuite/gas/i386/avx512vl-ambig.l: New.
3755 * testsuite/gas/i386/i386.exp: Run new test.
3759 * config/tc-i386.c (cpu_arch): Add .sse4a and nosse4a. Restore
3761 * doc/c-i386.texi: Document sse4a and nosse4a.
3765 * doc/c-i386.texi: Remove the old movsx and movzx documentation
3771 * config/tc-i386.c (md_assemble): Move movsx/movzx special
3773 (process_suffix): ... here. Consider just the first operand
3775 (check_long_reg): Drop opcode 0x63 special case again.
3776 * testsuite/gas/i386/i386.s, testsuite/gas/i386/iamcu-1.s,
3777 testsuite/gas/i386/ilp32/x86-64.s, testsuite/gas/i386/x86_64.s:
3778 Move ambiguous operand size tests ...
3779 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
3780 testsuite/gas/i386/noreg64.s: ... here.
3781 * testsuite/gas/i386/i386.d, testsuite/gas/i386/i386-intel.d
3782 testsuite/gas/i386/iamcu-1.d, testsuite/gas/i386/ilp32/x86-64.d,
3783 testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
3784 testsuite/gas/i386/movx16.l, testsuite/gas/i386/movx32.l,
3785 testsuite/gas/i386/movx64.l, testsuite/gas/i386/noreg16.d,
3786 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
3787 testsuite/gas/i386/x86-64-movsxd.d,
3788 testsuite/gas/i386/x86-64-movsxd-intel.d,
3789 testsuite/gas/i386/x86_64.d, testsuite/gas/i386/x86_64-intel.d:
3790 Adjust expectations.
3791 * testsuite/gas/i386/movx16.s, testsuite/gas/i386/movx16.l,
3792 testsuite/gas/i386/movx32.s, testsuite/gas/i386/movx32.l,
3793 testsuite/gas/i386/movx64.s, testsuite/gas/i386/movx64.l: New.
3794 * testsuite/gas/i386/i386.exp: Run new tests.
3798 * config/tc-i386.c (process_operands): Also skip segment
3799 override prefix emission if it matches an already present one.
3800 * testsuite/gas/i386/prefix32.s: Add double segment override
3802 * testsuite/gas/i386/prefix32.l: Adjust expectations.
3806 * config/tc-i386.c (process_operands): Drop ineffectual segment
3807 overrides when optimizing.
3808 * testsuite/gas/i386/lea-optimize.d: New.
3809 * testsuite/gas/i386/i386.exp: Run new test.
3813 * config/tc-i386.c (process_operands): Also check insn prefix
3814 for ineffectual segment override warning. Don't cover possible
3815 VEX/EVEX encoded insns there.
3816 * testsuite/gas/i386/lea.s, testsuite/gas/i386/lea.d,
3817 testsuite/gas/i386/lea.e: New.
3818 * testsuite/gas/i386/i386.exp: Run new test.
3823 * doc/c-i386.texi: Document movsx, movsxd and movzx for AT&T
3830 * config/tc-i386.c (tc_i386_fix_adjustable): Don't check
3831 BFD_RELOC_386_PLT32 nor BFD_RELOC_X86_64_PLT32.
3832 * testsuite/gas/i386/i386.exp: Run relax-5 and x86-64-relax-4.
3833 * testsuite/gas/i386/relax-5.d: New file.
3834 * testsuite/gas/i386/relax-5.s: Likewise.
3835 * testsuite/gas/i386/x86-64-relax-4.d: Likewise.
3836 * testsuite/gas/i386/x86-64-relax-4.s: Likewise.
3840 * config/tc-i386.c (cpu_noarch): Use CPU_ANY_SSE4_FLAGS in
3845 * config/tc-i386.c (avx512): New (at file scope), moved from
3846 (check_VecOperands): ... here.
3847 (process_suffix): Add [XYZ]MMword operand size handling.
3848 * testsuite/gas/i386/avx512dq-inval.s: Add VFPCLASS tests.
3849 * testsuite/gas/i386/noavx512-2.s: Add Intel syntax VFPCLASS
3851 * testsuite/gas/i386/avx512dq-inval.l,
3852 testsuite/gas/i386/noavx512-2.l: Adjust expectations.
3857 * config/tc-i386.c (match_template): Apply AMD64 check to 64-bit
3859 * config/tc-i386-intel.c (i386_intel_operand): Also handle
3860 CALL/JMP in O_tbyte_ptr case.
3861 * doc/c-i386.texi: Mention far call and full pointer load ISA
3863 * testsuite/gas/i386/x86-64-branch-3.s,
3864 testsuite/gas/i386/x86-64-intel64.s: Add 64-bit far call cases.
3865 * testsuite/gas/i386/x86-64-branch-3.d,
3866 testsuite/gas/i386/x86-64-intel64.d: Adjust expectations.
3867 * testsuite/gas/i386/x86-64-branch-5.l,
3868 testsuite/gas/i386/x86-64-branch-5.s: New.
3869 * testsuite/gas/i386/i386.exp: Run new test.
3874 * config/tc-i386.c (REGISTER_WARNINGS): Delete.
3875 (check_byte_reg): Skip only source operand of CRC32. Drop Non-
3876 64-bit-only warning.
3877 (check_word_reg): Consistently error on mismatching register
3879 * testsuite/gas/i386/general.s: Replace dword GPR with word one
3880 for movw. Replace suffix / GPR for orb.
3881 * testsuite/gas/i386/inval.s: Add tests for movw with dword and
3882 byte GPRs as well as ones for inb/outb with a word accumulator.
3883 * testsuite/gas/i386/general.l, testsuite/gas/i386/intelbad.l,
3884 testsuite/gas/i386/inval.l: Adjust expectations.
3888 * config/tc-i386.c (operand_type_register_match): Also fall
3889 through initial two if()-s when the template allows for a GPR
3890 operand. Adjust comment.
3894 (struct _i386_insn): New field "short_form".
3895 (optimize_encoding): Drop setting of shortform field.
3896 (process_suffix): Set i.short_form. Replace shortform use.
3897 (process_operands): Replace shortform use.
3901 * config/tc-arm.c (vcx_handle_register_arguments): Remove `for`
3902 loop initial declaration.
3906 * config/tc-arm.c (NEON_MAX_TYPE_ELS): Increment to account for
3907 instructions that can have 5 arguments.
3908 (enum operand_parse_code): Add new operands.
3909 (parse_operands): Account for new operands.
3911 (enum neon_shape_el): Introduce P suffixes for coprocessor.
3912 (neon_select_shape): Account for P suffix.
3913 (LOW1): Move macro to global position.
3914 (HI4): Move macro to global position.
3915 (vcx_assign_vec_d): New.
3916 (vcx_assign_vec_m): New.
3917 (vcx_assign_vec_n): New.
3918 (enum vcx_reg_type): New.
3919 (vcx_get_reg_type): New.
3920 (vcx_size_pos): New.
3922 (vcx_handle_shape): New.
3923 (vcx_ensure_register_in_range): New.
3924 (vcx_handle_register_arguments): New.
3925 (vcx_handle_insn_block): New.
3926 (vcx_handle_common_checks): New.
3930 * testsuite/gas/arm/cde-missing-fp.d: New test.
3931 * testsuite/gas/arm/cde-missing-fp.l: New test.
3932 * testsuite/gas/arm/cde-missing-mve.d: New test.
3933 * testsuite/gas/arm/cde-missing-mve.l: New test.
3934 * testsuite/gas/arm/cde-mve-or-neon.d: New test.
3935 * testsuite/gas/arm/cde-mve-or-neon.s: New test.
3936 * testsuite/gas/arm/cde-mve.s: New test.
3937 * testsuite/gas/arm/cde-warnings.l:
3938 * testsuite/gas/arm/cde-warnings.s:
3939 * testsuite/gas/arm/cde.d:
3940 * testsuite/gas/arm/cde.s:
3945 * config/tc-arm.c (arm_ext_cde*): New feature sets for each
3946 CDE coprocessor that can be enabled.
3947 (enum pred_instruction_type): New pred type.
3948 (BAD_NO_VPT): New error message.
3949 (BAD_CDE): New error message.
3950 (BAD_CDE_COPROC): New error message.
3951 (enum operand_parse_code): Add new immediate operands.
3952 (parse_operands): Account for new immediate operands.
3953 (check_cde_operand): New.
3954 (cde_coproc_enabled): New.
3955 (cde_coproc_pos): New.
3956 (cde_handle_coproc): New.
3957 (cxn_handle_predication): New.
3958 (do_custom_instruction_1): New.
3959 (do_custom_instruction_2): New.
3960 (do_custom_instruction_3): New.
3973 (handle_pred_state): Define new IT block behaviour.
3974 (insns): Add newn CX*{,d}{,a} instructions.
3975 (CDE_EXTENSIONS,armv8m_main_ext_table,armv8_1m_main_ext_table):
3976 Define new cdecp extension strings.
3977 * doc/c-arm.texi: Document new cdecp extension arguments.
3978 * testsuite/gas/arm/cde-scalar.d: New test.
3979 * testsuite/gas/arm/cde-scalar.s: New test.
3980 * testsuite/gas/arm/cde-warnings.d: New test.
3981 * testsuite/gas/arm/cde-warnings.l: New test.
3982 * testsuite/gas/arm/cde-warnings.s: New test.
3983 * testsuite/gas/arm/cde.d: New test.
3984 * testsuite/gas/arm/cde.s: New test.
3989 * config/tc-i386.c (intel64): Renamed to ...
3991 (match_template): Accept Intel64 only instruction by default.
3992 (i386_displacement): Updated.
3993 (md_parse_option): Updated.
3994 * c-i386.texi: Update -mamd64/-mintel64 documentation.
3995 * testsuite/gas/i386/i386.exp: Run x86-64-sysenter. Pass
3996 -mamd64 to x86-64-sysenter-amd.
3997 * testsuite/gas/i386/x86-64-sysenter.d: New file.
4001 * config/obj-elf.c (obj_elf_change_section): Error for section
4002 type, attr or entsize changes in assembly.
4003 * testsuite/gas/elf/elf.exp: Pass -Z to gas for section5 test.
4004 * testsuite/gas/elf/section5.l: Update.
4008 * output-file.c (output_file_close): Do a normal close when
4009 flag_always_generate_output.
4010 * write.c (write_object_file): Don't stop output when
4011 flag_always_generate_output.
4016 * config/tc-z80.c: Add -gbz80 command line option to generate code
4017 for the GameBoy Z80. Add support for generating DWARF.
4018 * config/tc-z80.h: Add support for DWARF debug information
4020 * doc/c-z80.texi: Document new command line option.
4021 * testsuite/gas/z80/gbz80_all.d: New file.
4022 * testsuite/gas/z80/gbz80_all.s: New file.
4023 * testsuite/gas/z80/z80.exp: Run the new tests.
4024 * testsuite/gas/z80/z80n_all.d: New file.
4025 * testsuite/gas/z80/z80n_all.s: New file.
4026 * testsuite/gas/z80/z80n_reloc.d: New file.
4031 * config/obj-elf.c (get_section): Also check
4032 linked_to_symbol_name.
4033 (obj_elf_change_section): Also set map_head.linked_to_symbol_name.
4034 (obj_elf_parse_section_letters): Handle the 'o' flag.
4035 (build_group_lists): Renamed to ...
4036 (build_additional_section_info): This. Set elf_linked_to_section
4037 from map_head.linked_to_symbol_name.
4038 (elf_adjust_symtab): Updated.
4039 * config/obj-elf.h (elf_section_match): Add linked_to_symbol_name.
4040 * doc/as.texi: Document the 'o' flag.
4041 * testsuite/gas/elf/elf.exp: Run PR gas/25381 tests.
4042 * testsuite/gas/elf/section18.d: New file.
4043 * testsuite/gas/elf/section18.s: Likewise.
4044 * testsuite/gas/elf/section19.d: Likewise.
4045 * testsuite/gas/elf/section19.s: Likewise.
4046 * testsuite/gas/elf/section20.d: Likewise.
4047 * testsuite/gas/elf/section20.s: Likewise.
4048 * testsuite/gas/elf/section21.d: Likewise.
4049 * testsuite/gas/elf/section21.l: Likewise.
4050 * testsuite/gas/elf/section21.s: Likewise.
4054 * NEWS: Mention x86 assembler options to align branches for
4059 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique
4060 only for ELF targets.
4061 * testsuite/gas/i386/unique.d: Don't xfail.
4062 * testsuite/gas/i386/x86-64-unique.d: Likewise.
4066 * testsuite/gas/i386/unique.d: xfail for non-elf targets.
4067 * testsuite/gas/i386/x86-64-unique.d: Likewise.
4071 * testsuite/gas/elf/section12a.d: Use supports_gnu_osabi in
4072 xfail, and rename test.
4073 * testsuite/gas/elf/section12b.d: Likewise.
4074 * testsuite/gas/elf/section16a.d: Likewise.
4075 * testsuite/gas/elf/section16b.d: Likewise.
4080 * config/obj-elf.c (section_match): Removed.
4081 (get_section): Also match SEC_ASSEMBLER_SECTION_ID and
4083 (obj_elf_change_section): Replace info and group_name arguments
4084 with match_p. Also update the section ID and flags from match_p.
4085 (obj_elf_section): Handle "unique,N". Update call to
4086 obj_elf_change_section.
4087 * config/obj-elf.h (elf_section_match): New.
4088 (obj_elf_change_section): Updated.
4089 * config/tc-arm.c (start_unwind_section): Update call to
4090 obj_elf_change_section.
4091 * config/tc-ia64.c (obj_elf_vms_common): Likewise.
4092 * config/tc-microblaze.c (microblaze_s_data): Likewise.
4093 (microblaze_s_sdata): Likewise.
4094 (microblaze_s_rdata): Likewise.
4095 (microblaze_s_bss): Likewise.
4096 * config/tc-mips.c (s_change_section): Likewise.
4097 * config/tc-msp430.c (msp430_profiler): Likewise.
4098 * config/tc-rx.c (parse_rx_section): Likewise.
4099 * config/tc-tic6x.c (tic6x_start_unwind_section): Likewise.
4100 * doc/as.texi: Document "unique,N" in .section directive.
4101 * testsuite/gas/elf/elf.exp: Run "unique,N" tests.
4102 * testsuite/gas/elf/section15.d: New file.
4103 * testsuite/gas/elf/section15.s: Likewise.
4104 * testsuite/gas/elf/section16.s: Likewise.
4105 * testsuite/gas/elf/section16a.d: Likewise.
4106 * testsuite/gas/elf/section16b.d: Likewise.
4107 * testsuite/gas/elf/section17.d: Likewise.
4108 * testsuite/gas/elf/section17.l: Likewise.
4109 * testsuite/gas/elf/section17.s: Likewise.
4110 * testsuite/gas/i386/unique.d: Likewise.
4111 * testsuite/gas/i386/unique.s: Likewise.
4112 * testsuite/gas/i386/x86-64-unique.d: Likewise.
4113 * testsuite/gas/i386/i386.exp: Run unique and x86-64-unique.
4117 * testsuite/gas/elf/section13.s: Replace @nobits with %nobits.
4121 * config/tc-moxie.c (md_begin): Don't force big-endian mode.
4125 * config/tc-nios2.c (nios2_cons): Handle %gotoff as well as
4131 * config/tc-arm.c (armv8m_main_ext_table): Refactored +dsp adding.
4132 (armv8_1m_main_ext_table): Refactored +dsp adding and enabled dsp for
4134 * testsuite/gas/arm/mve_dsp.d: New test.
4138 * config/tc-s390.c (s390_elf_suffix): Return ELF_SUFFIX_NONE
4139 rather than BFD_RELOC_NONE.
4143 * config/tc-arm.c (fldmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2"
4144 to support VLDMIA instruction for MVE.
4145 (fldmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VLDMDB
4146 instruction for MVE.
4147 (fstmias): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMIA
4148 instruction for MVE.
4149 (fstmdbs): Moved inside "THUMB_VARIANT & arm_ext_v6t2" to support VSTMDB
4150 instruction for MVE.
4151 * testsuite/gas/arm/mve-ldst.d: New test.
4152 * testsuite/gas/arm/mve-ldst.s: Likewise.
4156 * po/fr.po: Updated French translation.
4157 * po/ru.po: Updated Russian translation.
4161 * testsuite/gas/aarch64/sve-bfloat-movprfx.s: Use .h rather than
4163 * testsuite/gas/aarch64/sve-bfloat-movprfx.d: Update accordingly.
4164 * testsuite/gas/aarch64/sve-movprfx_28.d,
4165 * testsuite/gas/aarch64/sve-movprfx_28.l,
4166 * testsuite/gas/aarch64/sve-movprfx_28.s: New test.
4170 * config/tc-i386.c (output_disp): Tighten base_opcode check.
4171 * testsuite/gas/i386/got.s: Add LSL, MOVLPS, and BNDCN cases.
4172 * testsuite/gas/i386/got-no-relax.d, testsuite/gas/i386/got.d:
4173 Adjust expectations.
4177 * testsuite/gas/bpf/alu.d: Update expected opcode for `neg'.
4178 * testsuite/gas/bpf/alu-be.d: Likewise.
4179 * testsuite/gas/bpf/alu32.d: Likewise for `neg32'.
4180 * testsuite/gas/bpf/alu32-be.d: Likewise.
4184 * testsuite/gas/i386/x86-64-branch-2.s,
4185 testsuite/gas/i386/x86-64-branch-4.s,
4186 testsuite/gas/i386/x86-64-branch.s: Add RETW cases.
4187 * testsuite/gas/i386/ilp32/x86-64-branch.d,
4188 testsuite/gas/i386/x86-64-branch-2.d,
4189 testsuite/gas/i386/x86-64-branch-4.l,
4190 testsuite/gas/i386/x86-64-branch.d: Adjust expectations.
4194 * config/tc-i386.c (process_suffix): .
4195 testsuite/gas/i386/noreg64.s: Add IRET and LRET cases.
4196 testsuite/gas/i386/x86-64-opcode.s: Add suffix to IRET and LRET.
4198 testsuite/gas/i386/x86-64-suffix.s: Drop IRET case without
4200 testsuite/gas/i386/x86_64.s: Add RETF cases.
4201 * testsuite/gas/i386/k1om.d, testsuite/gas/i386/l1om.d,
4202 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l,
4203 testsuite/gas/i386/x86-64-opcode.d,
4204 testsuite/gas/i386/x86-64-suffix-intel.d,
4205 testsuite/gas/i386/x86-64-suffix.d,
4206 testsuite/gas/i386/x86_64-intel.d
4207 testsuite/gas/i386/x86_64.d: Adjust expectations.
4208 * testsuite/gas/i386/x86-64-suffix.e,
4209 testsuite/gas/i386/x86_64.e: New.
4213 * config/tc-i386.c (process_suffix): Redo and move FLDENV et al
4219 * config/tc-i386.c (check_long_reg): Also convert to QWORD for
4221 * doc/c-i386.texi: Add a node for AMD64 vs. Intel64 ISA
4222 differences. Document movslq and movsxd.
4223 * testsuite/gas/i386/i386.exp: Run PR binutils/25445 tests.
4224 * testsuite/gas/i386/x86-64-movsxd-intel.d: New file.
4225 * testsuite/gas/i386/x86-64-movsxd-intel64-intel.d: Likewise.
4226 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.l: Likewise.
4227 * testsuite/gas/i386/x86-64-movsxd-intel64-inval.s: Likewise.
4228 * testsuite/gas/i386/x86-64-movsxd-intel64.d: Likewise.
4229 * testsuite/gas/i386/x86-64-movsxd-intel64.s: Likewise.
4230 * testsuite/gas/i386/x86-64-movsxd-inval.l: Likewise.
4231 * testsuite/gas/i386/x86-64-movsxd-inval.s: Likewise.
4232 * testsuite/gas/i386/x86-64-movsxd.d: Likewise.
4233 * testsuite/gas/i386/x86-64-movsxd.s: Likewise.
4237 * testsuite/gas/all/gas.exp: Replace case statements with switch
4239 * testsuite/gas/elf/elf.exp: Likewise.
4240 * testsuite/gas/macros/macros.exp: Likewise.
4241 * testsuite/lib/gas-defs.exp: Likewise.
4246 * testsuite/gas/aarch64/armv8_4-a.d: Add cfinv.
4247 * testsuite/gas/aarch64/armv8_4-a.s: Likewise.
4251 * testsuite/gas/riscv/march-ok-s.d: sx is no longer valid and
4252 s exts must be known, so rename *ok* to *fail*.
4253 * testsuite/gas/riscv/march-ok-sx.d: Likewise.
4254 * testsuite/gas/riscv/march-ok-s-with-version: Likewise.
4255 * testsuite/gas/riscv/march-fail-s.l: Expected error messages for
4257 * testsuite/gas/riscv/march-fail-sx.l: Likewise.
4258 * testsuite/gas/riscv/march-fail-sx-with-version.l: Likewise.
4263 * config/tc-i386.c (check_long_reg): Always disallow double word
4264 suffix in mnemonic with word general register.
4265 * testsuite/gas/i386/general.s: Replace word general register
4266 with double word general register for movl.
4267 * testsuite/gas/i386/inval.s: Add tests for movl with word general
4269 * testsuite/gas/i386/general.l: Updated.
4270 * testsuite/gas/i386/inval.l: Likewise.
4274 * config/tc-ppc.c (parse_tls_arg): Handle tls arg for
4275 __tls_get_addr_desc and __tls_get_addr_opt.
4279 * testsuite/gas/i386/inval-crc32.s,
4280 testsuite/gas/i386/x86-64-inval-crc32.s: Add alignment directive.
4281 * testsuite/gas/i386/inval-crc32.l,
4282 testsuite/gas/i386/x86-64-inval-crc32.l: Adjust expectations.
4286 * config/tc-i386.c (process_suffix): Merge CRC32 handling into
4287 generic code path. Deal with No_lSuf being set in a template.
4288 * testsuite/gas/i386/inval-crc32.l,
4289 testsuite/gas/i386/x86-64-inval-crc32.l: Expect warning(s)
4290 instead of error(s) when operand size is ambiguous.
4291 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
4292 testsuite/gas/i386/noreg64.s: Add CRC32 tests.
4293 * testsuite/gas/i386/noreg16.d, testsuite/gas/i386/noreg16.l,
4294 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg32.l,
4295 testsuite/gas/i386/noreg64.d, testsuite/gas/i386/noreg64.l:
4296 Adjust expectations.
4300 * config/tc-i386.c (process_suffix): Drop SYSRET special case
4301 and an intel_syntax check. Re-write lack-of-suffix processing
4303 * doc/c-i386.texi: Document operand size defaults for suffix-
4304 less AT&T syntax insns.
4305 * testsuite/gas/i386/bundle.s, testsuite/gas/i386/lock-1.s,
4306 testsuite/gas/i386/opcode.s, testsuite/gas/i386/sse3.s,
4307 testsuite/gas/i386/x86-64-avx-scalar.s,
4308 testsuite/gas/i386/x86-64-avx.s,
4309 testsuite/gas/i386/x86-64-bundle.s,
4310 testsuite/gas/i386/x86-64-intel64.s,
4311 testsuite/gas/i386/x86-64-lock-1.s,
4312 testsuite/gas/i386/x86-64-opcode.s,
4313 testsuite/gas/i386/x86-64-sse2avx.s,
4314 testsuite/gas/i386/x86-64-sse3.s: Add missing suffixes.
4315 * testsuite/gas/i386/nops.s, testsuite/gas/i386/sse-noavx.s,
4316 testsuite/gas/i386/x86-64-nops.s,
4317 testsuite/gas/i386/x86-64-ptwrite.s,
4318 testsuite/gas/i386/x86-64-simd.s,
4319 testsuite/gas/i386/x86-64-sse-noavx.s,
4320 testsuite/gas/i386/x86-64-suffix.s: Drop bogus suffix-less
4322 * testsuite/gas/i386/noreg16.s, testsuite/gas/i386/noreg32.s,
4323 testsuite/gas/i386/noreg64.s: Add further tests.
4324 * testsuite/gas/i386/ilp32/x86-64-nops.d,
4325 testsuite/gas/i386/nops.d, testsuite/gas/i386/noreg16.d,
4326 testsuite/gas/i386/noreg32.d, testsuite/gas/i386/noreg64.d,
4327 testsuite/gas/i386/sse-noavx.d,
4328 testsuite/gas/i386/x86-64-intel64.d,
4329 testsuite/gas/i386/x86-64-nops.d,
4330 testsuite/gas/i386/x86-64-opcode.d,
4331 testsuite/gas/i386/x86-64-ptwrite-intel.d,
4332 testsuite/gas/i386/x86-64-ptwrite.d,
4333 testsuite/gas/i386/x86-64-simd-intel.d,
4334 testsuite/gas/i386/x86-64-simd-suffix.d,
4335 testsuite/gas/i386/x86-64-simd.d,
4336 testsuite/gas/i386/x86-64-sse-noavx.d
4337 testsuite/gas/i386/x86-64-suffix.d,
4338 testsuite/gas/i386/x86-64-suffix-intel.d: Adjust expectations.
4339 * testsuite/gas/i386/noreg16.l, testsuite/gas/i386/noreg32.l,
4340 testsuite/gas/i386/noreg64.l: New.
4341 * testsuite/gas/i386/i386.exp: Run new tests.
4345 * testsuite/gas/i386/avx512_bf16_vl.s,
4346 testsuite/gas/i386/x86-64-avx512_bf16_vl.s: Add broadcast forms
4347 of VCVTNEPS2BF16{X,Y}. Add operand-size less Intel syntax
4348 broadcast forms of VCVTNEPS2BF16.
4349 * testsuite/gas/i386/avx512_bf16_vl.d,
4350 testsuite/gas/i386/x86-64-avx512_bf16_vl.d: Adjust expectations.
4354 * po/uk.po: Updated Ukranian translation.
4359 * config/tc-i386.c (output_insn): Add a dummy REX_OPCODE prefix
4360 for lea with R_X86_64_GOTPC32_TLSDESC relocation when generating
4362 * testsuite/gas/i386/ilp32/x32-tls.d: Updated.
4363 * testsuite/gas/i386/ilp32/x32-tls.s: Add tests for lea with
4364 R_X86_64_GOTPC32_TLSDESC relocation.
4368 * configure: Regenerate.
4369 * po/gas.pot: Regenerate.
4373 Binutils 2.34 branch created.
4377 * config/tc-i386.c (_i386_insn): Replace vex_encoding_vex2
4378 with vex_encoding_vex.
4379 (parse_insn): Likewise.
4380 * doc/c-i386.texi: Replace {vex2} with {vex}. Update {vex}
4381 and {vex3} documentation.
4382 * testsuite/gas/i386/pseudos.s: Replace 3 {vex2} tests with
4384 * testsuite/gas/i386/x86-64-pseudos.s: Likewise.
4389 * config/tc-arm.c (mve_ext, mve_fp_ext): Use CORE_HIGH.
4390 (armv8_1m_main_ext_table): Use CORE_HIGH for mve.
4391 * testsuite/arm/armv8_1-m-fpu-mve-1.s: New.
4392 * testsuite/arm/armv8_1-m-fpu-mve-1.d: New.
4393 * testsuite/arm/armv8_1-m-fpu-mve-2.s: New.
4394 * testsuite/arm/armv8_1-m-fpu-mve-2.d: New.
4398 * config/tc-i386.c (match_template): Drop found_cpu_match local
4403 * testsuite/gas/i386/avx512dq-inval.l,
4404 testsuite/gas/i386/avx512dq-inval.s: New.
4405 * testsuite/gas/i386/i386.exp: Run new test.
4409 * config/tc-msp430.c (CHECK_RELOC_MSP430): Always generate 430X
4410 relocations when the target is 430X, except when extracting part of an
4412 (msp430_srcoperand): Adjust comment.
4413 Initialize the expp member of the msp430_operand_s struct as
4415 (msp430_dstoperand): Likewise.
4416 * testsuite/gas/msp430/msp430.exp: Run new test.
4417 * testsuite/gas/msp430/reloc-lo-430x.d: New test.
4418 * testsuite/gas/msp430/reloc-lo-430x.s: New test.
4422 * configure.tgt: Add sparc-*-freebsd case.
4426 * testsuite/gas/i386/align-branch-1a.d: Updated for Darwin.
4427 * testsuite/gas/i386/align-branch-1b.d: Likewise.
4428 * testsuite/gas/i386/align-branch-1c.d: Likewise.
4429 * testsuite/gas/i386/align-branch-1d.d: Likewise.
4430 * testsuite/gas/i386/align-branch-1e.d: Likewise.
4431 * testsuite/gas/i386/align-branch-1f.d: Likewise.
4432 * testsuite/gas/i386/align-branch-1g.d: Likewise.
4433 * testsuite/gas/i386/align-branch-1h.d: Likewise.
4434 * testsuite/gas/i386/align-branch-1i.d: Likewise.
4435 * testsuite/gas/i386/align-branch-5.d: Likewise.
4436 * testsuite/gas/i386/x86-64-align-branch-1a.d: Likewise.
4437 * testsuite/gas/i386/x86-64-align-branch-1b.d: Likewise.
4438 * testsuite/gas/i386/x86-64-align-branch-1c.d: Likewise.
4439 * testsuite/gas/i386/x86-64-align-branch-1d.d: Likewise.
4440 * testsuite/gas/i386/x86-64-align-branch-1e.d: Likewise.
4441 * testsuite/gas/i386/x86-64-align-branch-1f.d: Likewise.
4442 * testsuite/gas/i386/x86-64-align-branch-1g.d: Likewise.
4443 * testsuite/gas/i386/x86-64-align-branch-1h.d: Likewise.
4444 * testsuite/gas/i386/x86-64-align-branch-1i.d: Likewise.
4445 * testsuite/gas/i386/x86-64-align-branch-5.d: Likewise.
4446 * testsuite/gas/i386/i386.exp: Skip x86-64-align-branch-2a,
4447 x86-64-align-branch-2b and x86-64-align-branch-2c on Darwin.
4452 * config/tc-z80.c: Add support for half precision, single
4453 precision and double precision floating point values.
4454 * config/tc-z80.h b/gas/config/tc-z80.h: Disable string escapes.
4455 * doc/as.texi: Add new z80 command line options.
4456 * doc/c-z80.texi: Document new z80 command line options.
4457 * testsuite/gas/z80/ez80_pref_dis.s: New test.
4458 * testsuite/gas/z80/ez80_pref_dis.d: New test driver.
4459 * testsuite/gas/z80/z80.exp: Run the new test.
4460 * testsuite/gas/z80/fp_math48.d: Use correct command line option.
4461 * testsuite/gas/z80/fp_zeda32.d: Likewise.
4462 * testsuite/gas/z80/strings.d: Update expected output.
4466 * config/tc-aarch64.c (f64mm, f32mm): Add sve as a feature
4471 * config/tc-arc.c (arc_select_cpu): Re-init the bfd if we change
4473 * config/tc-arc.h: Add header if/defs.
4474 * testsuite/gas/arc/pseudos.d: Improve matching pattern.
4478 * testsuite/gas/wasm32/allinsn.d: Update expected output.
4482 * config/tc-tic4x.c (tic4x_operands_match): Correct tic3x trap
4487 * testsuite/gas/elf/pr14891.s: Don't start directives in first column.
4488 * testsuite/gas/elf/pr21661.d: Don't run on hpux.
4493 * config/tc-z80.c (emit_ld_m_rr): Use integer types when checking
4495 (emit_ld_r_r): Likewise.
4496 (emit_ld_rr_m): Likewise.
4497 (emit_ld_rr_nn): Likewise.
4501 * config/tc-i386.c (optimize_encoding): Add
4502 is_any_vex_encoding() invocations. Drop respective
4503 i.tm.extension_opcode == None checks.
4507 * config/tc-i386.c (md_assemble): Check RegRex is clear during
4508 REX transformations. Correct comment indentation.
4512 * config/tc-i386.c (optimize_encoding): Generalize register
4513 transformation for TEST optimization.
4517 * testsuite/gas/i386/x86-64-sysenter-amd.s,
4518 testsuite/gas/i386/x86-64-sysenter-amd.d,
4519 testsuite/gas/i386/x86-64-sysenter-amd.l,
4520 testsuite/gas/i386/x86-64-sysenter-intel.d,
4521 testsuite/gas/i386/x86-64-sysenter-mixed.d: New.
4522 * testsuite/gas/i386/i386.exp: Run new tests.
4527 * doc/as.texi (Align): Document the fact that all arguments can be
4530 (P2align): Likewise.
4535 * config/obj-elf.c (obj_elf_section): Fail if the section name is
4536 already defined as a different symbol type.
4537 * testsuite/gas/elf/pr14891.s: New test source file.
4538 * testsuite/gas/elf/pr14891.d: New test driver.
4539 * testsuite/gas/elf/pr14891.s: New test expected error output.
4540 * testsuite/gas/elf/elf.exp: Run the new test.
4544 * config/tc-z8k.c (md_begin): Make idx unsigned.
4545 (get_specific): Likewise for this_index.
4549 * onfig/tc-arc.c (parse_reloc_symbol): New function.
4550 (tokenize_arguments): Clean up, use parse_reloc_symbol function.
4551 (md_operand): Set X_md to absent.
4552 (arc_parse_name): Check for X_md.
4557 * as.h (TC_STRING_ESCAPES): Provide a default definition.
4558 * app.c (do_scrub_chars): Use TC_STRING_ESCAPES instead of
4560 * read.c (next_char_of_string): Likewise.
4561 * config/tc-ppc.h (TC_STRING_ESCAPES): Define.
4562 * config/tc-z80.h (TC_STRING_ESCAPES): Define.
4566 * po/sv.po: Updated Swedish translation.
4570 * testsuite/gas/aarch64/f64mm.s: Scale index of LD1RO{H,W,D}.
4571 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
4575 * testsuite/gas/aarch64/i8mm.s: Add 128-bit form tests for
4576 by-element usdot. Add 64-bit form tests for by-element sudot.
4577 * testsuite/gas/aarch64/i8mm.d: Adjust expectations.
4581 * testsuite/gas/aarch64/f64mm.s: Drop 'i' from uzip<n>.
4582 * testsuite/gas/aarch64/f64mm.d: Adjust expectations.
4586 * testsuite/gas/aarch64/f64mm.d,
4587 testsuite/gas/aarch64/sve-movprfx-mm.d: Adjust expectations.
4591 * config/tc-z80.c: Add new architectures: Z180 and eZ80. Add
4592 support for assembler code generated by SDCC. Add new relocation
4593 types. Add z80-elf target support.
4594 * config/tc-z80.h: Add z80-elf target support. Enable dollar local
4595 labels. Local labels starts from ".L".
4596 * NEWS: Mention the new support.
4597 * testsuite/gas/all/fwdexp.d: Fix failure due to symbol conflict.
4598 * testsuite/gas/all/fwdexp.s: Likewise.
4599 * testsuite/gas/all/cond.l: Likewise.
4600 * testsuite/gas/all/cond.s: Likewise.
4601 * testsuite/gas/all/fwdexp.d: Likewise.
4602 * testsuite/gas/all/fwdexp.s: Likewise.
4603 * testsuite/gas/elf/section2.e-mips: Likewise.
4604 * testsuite/gas/elf/section2.l: Likewise.
4605 * testsuite/gas/elf/section2.s: Likewise.
4606 * testsuite/gas/macros/app1.d: Likewise.
4607 * testsuite/gas/macros/app1.s: Likewise.
4608 * testsuite/gas/macros/app2.d: Likewise.
4609 * testsuite/gas/macros/app2.s: Likewise.
4610 * testsuite/gas/macros/app3.d: Likewise.
4611 * testsuite/gas/macros/app3.s: Likewise.
4612 * testsuite/gas/macros/app4.d: Likewise.
4613 * testsuite/gas/macros/app4.s: Likewise.
4614 * testsuite/gas/macros/app4b.s: Likewise.
4615 * testsuite/gas/z80/suffix.d: Fix failure on ELF target.
4616 * testsuite/gas/z80/z80.exp: Add new tests
4617 * testsuite/gas/z80/dollar.d: New file.
4618 * testsuite/gas/z80/dollar.s: New file.
4619 * testsuite/gas/z80/ez80_adl_all.d: New file.
4620 * testsuite/gas/z80/ez80_adl_all.s: New file.
4621 * testsuite/gas/z80/ez80_adl_suf.d: New file.
4622 * testsuite/gas/z80/ez80_isuf.s: New file.
4623 * testsuite/gas/z80/ez80_z80_all.d: New file.
4624 * testsuite/gas/z80/ez80_z80_all.s: New file.
4625 * testsuite/gas/z80/ez80_z80_suf.d: New file.
4626 * testsuite/gas/z80/r800_extra.d: New file.
4627 * testsuite/gas/z80/r800_extra.s: New file.
4628 * testsuite/gas/z80/r800_ii8.d: New file.
4629 * testsuite/gas/z80/r800_z80_doc.d: New file.
4630 * testsuite/gas/z80/z180.d: New file.
4631 * testsuite/gas/z80/z180.s: New file.
4632 * testsuite/gas/z80/z180_z80_doc.d: New file.
4633 * testsuite/gas/z80/z80_doc.d: New file.
4634 * testsuite/gas/z80/z80_doc.s: New file.
4635 * testsuite/gas/z80/z80_ii8.d: New file.
4636 * testsuite/gas/z80/z80_ii8.s: New file.
4637 * testsuite/gas/z80/z80_in_f_c.d: New file.
4638 * testsuite/gas/z80/z80_in_f_c.s: New file.
4639 * testsuite/gas/z80/z80_op_ii_ld.d: New file.
4640 * testsuite/gas/z80/z80_op_ii_ld.s: New file.
4641 * testsuite/gas/z80/z80_out_c_0.d: New file.
4642 * testsuite/gas/z80/z80_out_c_0.s: New file.
4643 * testsuite/gas/z80/z80_reloc.d: New file.
4644 * testsuite/gas/z80/z80_reloc.s: New file.
4645 * testsuite/gas/z80/z80_sli.d: New file.
4646 * testsuite/gas/z80/z80_sli.s: New file.
4650 * config/tc-arm.c (parse_reg_list): Use REG_TYPE_RN instead of
4655 Update year range in copyright notice of all files.
4657 For older changes see ChangeLog-2019
4659 Copyright (C) 2020 Free Software Foundation, Inc.
4661 Copying and distribution of this file, with or without modification,
4662 are permitted in any medium without royalty provided the copyright
4663 notice and this notice are preserved.
4669 version-control: never