+
+ * config/tc-csky.c (csky_cpus): Add ck803r3.
+ (CSKY_ISA_803R3): Define.
+ (CSKY_ISA_803R2): Refine, use CSKY_ISA_803R1.
+
+
+ * testsuite/gas/csky/cskyv2_dsp.d : Fix Encode of mulsws.
+
+
+ * config/tc-csky.c (struct literal): New member bignum.
+ (dump_literals): Handle big constant.
+ (enter_literal): Likewise.
+ (parse_type_freg): Handle vector register.
+
+
+ * doc/as.texi: Document the .tls_common directive.
+
+
+ PR 26420
+ PR 26421
+ PR 26425
+ PR 26427
+ * config/tc-arm.c (struct arm_it): Make size, size_req, cond and
+ uncond_value unsigned.
+ (parse_vfp_reg_list): Make setmask unsigned, vpr_str_len size_t.
+ (parse_big_immediate): Cast generic_bignum elements to unsigned.
+ (encode_thumb32_immediate): Shift left 0xffU.
+ (double_to_single): Make sign unsigned. Tidy.
+ (move_or_literal_pool): Cast LITTLE_NUM elements to uint64_t or
+ valueT.
+ (vfp_or_neon_is_neon): Adjust inst.uncond_value expression.
+ (md_assemble): Likewise.
+ (handle_pred_state): Make cond unsigned.
+ (thumb32_negate_data_op): Make variables unsigned.
+ (md_apply_fix): Make value and newval unsigned, adjust uses.
+
+
+ PR 26510
+ * config/tc-z8k.c (buffer): Use unsigned char.
+ (apply_fix): Use unsigned char* pointers.
+ (build_bytes): Likewise and mask nibbles when packing.
+
+
+ PR 26503
+ * config/tc-v850.c (parse_register_list): Shift 1u left.
+
+
+ PR 26502
+ * config/tc-tic6x.c (md_apply_fix): Use unsigned variables.
+
+
+ PR 26497
+ * config/tc-sh.c (assemble_ppi): Use unsigned variables.
+
+
+ PR 26495
+ * config/tc-score.c (s3_apply_fix): Use unsigned variables.
+ * config/tc-score7.c (s7_apply_fix): Likewise.
+
+
+ PR 26480
+ * config/tc-nios2.c (nios2_parse_reglist): Shift 1UL left.
+
+
+ PR 26479
+ * config/tc-nios2.c (md_chars_to_number): Cast buf[i] before shifting.
+
+
+ PR 26472
+ PR 26473
+ PR 26474
+ * config/tc-mips.c (operand_reg_mask): Shift 1u left.
+ (load_register): Shift 0xffffU left.
+
+
+ PR 26471
+ * config/tc-metag.c (md_chars_to_number): Make retval unsigned.
+
+
+ PR 26468
+ * config/tc-mep.c (md_convert_frag): Use uint32_t for addend and
+ other variables.
+
+
+ PR 26493
+ * config/tc-riscv.c (riscv_ip): Cast X_add_number passed to
+ VALID_* macros to unsigned.
+
+
+ * config/tc-crx.c: Formatting.
+ (CRX_PRINT): Wrap params in parentheses. Remove parens from uses
+ throughout file.
+ (reset_vars, get_register, get_copregister, get_optype, get_opbits),
+ (get_opflags, get_number_of_operands, parse_operand, gettrap),
+ (handle_LoadStor, getconstant, check_range, getreg_image),
+ (parse_operands, parse_insn, print_operand, print_constant),
+ (exponent2scale, mask_reg, process_label_constant, set_operand),
+ (assemble_insn, print_insn): Delete unnecessary forward declaration.
+ (print_insn): Make static.
+ (print_constant): Make "constant" unsigned.
+ (assemble_insn): Tidy REVERSE_MATCH index calc.
+ * expr.c (generic_bignum_to_int32): Cast elements to valueT.
+
+
+ PR 26509
+ * config/tc-z80.c (is_overflow): Use 1UL in mask shift expression.
+
+
+ * config/tc-tic4x.c (tic4x_gen_to_words): Rewrite mantissa
+ overflow test without UB. Avoid other UB shifts by making them
+ unsigned.
+
+
+ * config/tc-csky.c (csky_error_state): New member 'arg_int'.
+ (SET_ERROR_NUMBER): Rename to SET_ERROR_STRING.
+ (SET_ERROR_INTEGER): New.
+ (err_formats): Add error format for ERROR_FREG_OVER_RANGE and
+ ERROR_VREG_OVER_RANGE.
+ (csky_show_error): Pass an integer argument for some error
+ numbers.
+ (parse_exp): Call SET_ERROR_STRING instead of SET_ERROR_NUMBER.
+ (parse_rt): Likewise.
+ (parse_type_ctrlreg): Likewise.
+ (csky_get_reg_val): Likewise.
+ (is_reglist_legal): Likewise.
+ (is_freglist_legal): Likewise.
+ (is_reglist_dash_comma_legal): Likewise.
+ (is_reg_lshift_illegal): Likewise.
+ (is_psr_bit): Likewise.
+ (parse_type_cpreg): Likewise.
+ (parse_type_cpcreg): Likewise.
+ (parse_type_areg): Likewise.
+ (parse_type_freg): Likewise.
+ (parse_ldst_imm): Likewise and call SET_ERROR_INTEGER.
+ (get_operand_value): Likewise.
+ (parse_operands_op): Likewise and call is_imm_within_range,
+ is_imm_within_range_ext and is_oimm_within_range.
+ (md_assemble): Likewise.
+ (is_imm_within_range): New.
+ (is_imm_within_range_ext): Rename from is_imm_over_range.
+ (is_oimm_within_range): Rename from is_oimm_over_range.
+ (v2_work_add_sub): Call SET_ERROR_INTEGER.
+ (csky_rolc): call is_imm_within_range instead of
+ is_imm_over_range.
+
+
+ * config/tc-csky.c (md_begin): Add warning when -mdsp and
+ -mcpu=ck803ern are both added.
+ (parse_ldst_imm): Fix error message.
+
+
+ * testsuite/gas/cr16/cbitb_test.d: Update expected output.
+ * testsuite/gas/cr16/cbitw_test.d: Likewise.
+ * testsuite/gas/cr16/sbitb_test.d: Likewise.
+ * testsuite/gas/cr16/sbitw_test.d: Likewise.
+ * testsuite/gas/cr16/storb_test.d: Likewise.
+ * testsuite/gas/cr16/storw_test.d: Likewise.
+ * testsuite/gas/cr16/tbitb_test.d: Likewise.
+ * testsuite/gas/cr16/tbitw_test.d: Likewise.
+
+
+ PR 26437
+ PR 26438
+ * config/tc-cr16.c: Include limits.h, formatting.
+ (CR16_PRINT): Wrap params in parentheses. Remove parens from uses
+ throughout file.
+ (getconstant): Handle zero nbits.
+ (print_operand): Use unsigned variables. Simplify handling of
+ index regs.
+ (check_range): Use int32_t variables. Correct range checks.
+
+
+ PR 26481
+ * config/tc-pj.c (md_assemble): Don't loop past end of
+ opcode->arg array.
+
+
+ PR 26460
+ * config/tc-ia64.c (parse_operands): Don't access past end of
+ idesc->operands.
+
+
+ * as.c (parse_args): Handle bad -gdwarf options.
+
+
+ * gas/config/tc-csky.c (md_begin): Set attributes.
+ (isa_flag): Change type to unsigned 64 bits.
+ (struct csky_cpu_info): Likewise.
+ (struct csky_macro_info): Likewise.
+ (set_csky_attribute): New.
+ * testsuite/gas/csky/802j.d: Ignore .csky.attributes section.
+ * testsuite/gas/csky/all.d: Likewise.
+ * testsuite/gas/csky/bsr1.d: Likewise.
+ * testsuite/gas/csky/csky_vdsp.d: Likewise.
+ * testsuite/gas/csky/cskyv2_all.d: Likewise.
+ * testsuite/gas/csky/cskyv2_ck803r2.d: Likewise.
+ * testsuite/gas/csky/cskyv2_ck860.d: Likewise.
+ * testsuite/gas/csky/cskyv2_dsp.d: Likewise.
+ * testsuite/gas/csky/cskyv2_elrw.d: Likewise.
+ * testsuite/gas/csky/cskyv2_float.d: Likewise.
+ * testsuite/gas/csky/enhance_dsp.d: Likewise.
+ * testsuite/gas/csky/java.d: Likewise.
+ * testsuite/gas/csky/v1_float.d: Likewise.
+ * testsuite/gas/csky/v2_float_part1.d: Likewise.
+ * testsuite/gas/csky/v2_float_part2.d: Likewise.
+ * testsuite/gas/csky/v2_tls_gd.d: Likewise.
+ * testsuite/gas/csky/v2_tls_ie.d: Likewise.
+ * testsuite/gas/csky/v2_tls_ld.d: Likewise.
+ * testsuite/gas/csky/v2_tls_le.d: Likewise.
+ * testsuite/gas/elf/elf.exp: Add handler for CSKY.
+ * testsuite/gas/elf/section2.e-csky: New.
+
+
+ PR 26467
+ * cgen.c (weak_operand_overflow_check): Handle opmask for
+ operand length zero. Use 1UL constant.
+
+
+ PR 26508
+ * config/tc-xtensa.c (xg_get_trampoline_chain): Return early
+ when n_entries is zero.
+
+
+ PR 26448
+ * symbols.c: Include limits.h.
+ (resolve_symbol_value <O_left_shift, O_right_shift>): Do an
+ unsigned shift. Warn if shift count larger than valueT size.
+
+
+ PR 26447
+ * expr.c (expr <O_left_shift>): Do an unsigned shift.
+
+
+
+ * config/tc-bpf.c: Add option -mxbpf to select xbpf isa.
+ * testsuite/gas/bpf/indcall-1.d: New file.
+ * testsuite/gas/bpf/indcall-1.s: Likewise.
+ * testsuite/gas/bpf/indcall-bad-1.l: Likewise.
+ * testsuite/gas/bpf/indcall-bad-1.s: Likewise.
+ * testsuite/gas/bpf/bpf.exp: Run new tests.
+
+
+ PR 26501
+ * gas/config/tc-tic54x.c (tic54x_undefined_symbol): Properly treat
+ misc_symbol_hash entries without values.
+
+
+ PR 26500
+ * tc-tic4x.c (tic4x_inst_make): Don't die on terminating insn
+ with name = "".
+
+
+ PR 26441
+ * config/tc-cr16.c (get_b_cc): Return NULL early if op isn't
+ two or three chars, and don't bother copying.
+
+
+ PR 26426
+ * config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on
+ NS_NULL shape.
+
+
+ PR 26410
+ * symbols.c (dollar_label_count, dollar_label_max): Make size_t.
+ (dollar_label_clear): Don't call memset with NULL pointer.
+
+
+ * config/tc-arc.c (declare_register_set): Avoid false positive
+ format-overflow warning.
+ * config/tc-epiphany.c (md_assemble): Likewise.
+ * config/tc-mips.c (md_begin): Likewise.
+ * config/tc-mmix.c (mmix_md_begin): Likewise.
+ * config/tc-nds32.c (nds32_elf_append_relax_relocs): Avoid false
+ positive "may be used uninitialized" warning.
+
+
+ * config/tc-csky.c (csky_archs): Add item for CK860,
+ change ck810 and ck807's arch_flag.
+ (csky_cpus): Add item for CK860.
+ (md_begin): Enable DSP for CK810 and CK807 by default.
+ (md_apply_fix): Fix CKCORE_TLS_IE32 relocation failure.
+ * gas/testsuite/gas/csky/cskyv2_all.d: Change 'sync 0'
+ to 'sync'.
+ * gas/testsuite/gas/csky/cskyv2_all.s: Likewise.
+ * gas/testsuite/gas/csky/cskyv2_ck860.d: New.
+ * gas/testsuite/gas/csky/cskyv2_ck860.s: New.
+ * gas/testsuite/gas/csky/enhance_dsp.d: Change plsli.u16
+ to plsli.16.
+ * gas/testsuite/gas/csky/enhance_dsp.s: Likewise.
+
+
+ * config/tc-tic54x.c (stag_add_field_symbols): Don't free "name"
+ in case where it isn't copied.
+ * config/tc-tic54x.h (LOCAL_LABELS_FB): Undef.
+ * testsuite/gas/tic54x/field.d: Dump section contents and symbols
+ rather than disassembling.
+ * testsuite/gas/tic54x/set.d: Adjust for newer disassembly.
+
+
+ * config/tc-aarch64.c (md_begin): Don't bother checking for
+ out of memory failure from str_htab_create.
+ * config/tc-arc.c (arc_insert_opcode, md_begin): Likewise.
+ (arc_extcorereg, arc_stralloc): Likewise.
+ * config/tc-arm.c (md_begin): Likewise.
+ * config/tc-cr16.c (initialise_reg_hash_table, md_begin): Likewise.
+ * config/tc-cris.c (md_begin): Likewise.
+ * config/tc-crx.c (md_begin): Likewise.
+ * config/tc-pdp11.c (md_begin): Likewise.
+ * config/tc-score.c (s3_build_reg_hsh, s3_begin): Likewise.
+ * config/tc-score7.c (s7_build_reg_hsh, s7_begin): Likewise.
+
+
+ * config/tc-arm.c (move_or_literal_pool): Avoid false positive
+ "may be used uninitialised".
+ (opcode_lookup): Likewise.
+
+
+ PR 26526
+ * symbols.c (local_symbol_convert): Clear out xtra.
+
+
+ * config/tc-csky.c (CSKY_ISA_803R2): New.
+ (csky_archs): Add ck803r2 series.
+ (md_begin): Fix warning about -medsp.
+ (csky_get_freg_val): Support lowercase of fpu register name.
+ * testsuite/gas/csky/cskyv2_ck803r2.s: New file.
+ * testsuite/gas/csky/cskyv2_ck803r2.d: New file.
+
+
+ PR 26513
+ * hash.h (htab_insert): Update prototype and comment.
+ (struct string_tuple): Make "value" a const void*.
+ (string_tuple_alloc): Likewise.
+ (str_hash_find, str_hash_find_n): Cast returned value.
+ (str_hash_insert): Add "replace" parameter, and return slot pointer.
+ Free alloc'd element when not inserted.
+ * hash.c (htab_insert): Likewise. Return slot when element exists,
+ otherwise return NULL.
+ * read.c (pop_insert): Insert into hash table without first searching.
+ * config/tc-avr.c (md_begin): Likewise.
+ * config/tc-msp430.c (md_begin): Likewise.
+ * config/tc-nds32.c (nds32_init_nds32_pseudo_opcodes): Likewise.
+ * config/tc-v850.c (md_begin): Likewise.
+ * macro.c (do_formals, define_macro, macro_expand_body): Likewise.
+ (delete_macro): Delete from hash table.
+ * config/tc-tic54x.c (subsym_create_or_replace): Correct logic.
+
+ * symbols.c (local_symbol_make, symbol_table_insert): Allow
+ replacement of hash table entries.
+ * config/obj-coff-seh.c (seh_hash_insert): Likewise.
+ * config/obj-coff.c (tag_insert): Likewise.
+ * config/tc-iq2000.c (iq2000_add_macro): Likewise.
+ * config/tc-m68k.c (md_begin): Likewise for aliases.
+ * config/tc-tic4x.c (tic4x_asg): Likewise.
+ * config/tc-tic6x.c (md_begin): Likewise.
+
+ * dw2gencfi.c (dwcfi_hash_find_or_make): Disallow replacement of
+ hash table entries.
+ * ecoff.c (add_string, get_tag): Likewise.
+ * macro.c (expand_irp): Likewise.
+ * config/obj-elf.c (build_additional_section_info): Likewise.
+ * config/tc-aarch64.c (insert_reg_alias): Likewise.
+ (checked_hash_insert): Likewise.
+ * config/tc-alpha.c (get_alpha_reloc_tag, md_begin): Likewise.
+ * config/tc-arc.c (arc_insert_opcode, declare_register): Likewise.
+ (declare_addrtype, md_begin, arc_extcorereg): Likewise.
+ * config/tc-arm.c (insert_reg_alias): Likewise.
+ (arm_tc_equal_in_insn, md_begin): Likewise.
+ * config/tc-cr16.c (initialise_reg_hash_table, md_begin): Likewise.
+ * config/tc-cris.c (md_begin): Likewise.
+ * config/tc-crx.c (md_begin): Likewise.
+ * config/tc-csky.c (md_begin): Likewise.
+ * config/tc-d10v.c (md_begin): Likewise.
+ * config/tc-dlx.c (md_begin): Likewise.
+ * config/tc-ft32.c (md_begin): Likewise.
+ * config/tc-h8300.c (md_begin): Likewise.
+ * config/tc-hppa.c (md_begin): Likewise.
+ * config/tc-i386.c (md_begin): Likewise.
+ * config/tc-ia64.c (dot_rot, dot_entry, declare_register): Likewise.
+ (md_begin, dot_alias): Likewise.
+ * config/tc-m68hc11.c (md_begin): Likewise.
+ * config/tc-m68k.c (md_begin): Likewise.
+ * config/tc-mcore.c (md_begin): Likewise.
+ * config/tc-microblaze.c (md_begin): Likewise.
+ * config/tc-mips.c (md_begin): Likewise.
+ * config/tc-mmix.c (md_begin): Likewise.
+ * config/tc-mn10200.c (md_begin): Likewise.
+ * config/tc-mn10300.c (md_begin): Likewise.
+ * config/tc-moxie.c (md_begin): Likewise.
+ * config/tc-nds32.c (nds32_relax_hint, md_begin): Likewise.
+ * config/tc-nios2.c (md_begin): Likewise.
+ * config/tc-ns32k.c (md_begin): Likewise.
+ * config/tc-pdp11.c (md_begin): Likewise.
+ * config/tc-pj.c (fake_opcode, md_begin): Likewise.
+ * config/tc-ppc.c (ppc_setup_opcodes): Likewise.
+ * config/tc-pru.c (md_begin): Likewise.
+ * config/tc-riscv.c (init_ext_version_hash): Likewise.
+ (init_opcode_names_hash, hash_reg_name, init_opcode_hash): Likewise.
+ (riscv_init_csr_hash): Likewise.
+ * config/tc-s390.c (s390_setup_opcodes, md_begin): Likewise.
+ * config/tc-score.c (s3_insert_reg): Likewise.
+ (s3_build_score_ops_hsh, s3_build_dependency_insn_hsh): Likewise.
+ * config/tc-score7.c (s7_build_score_ops_hsh): Likewise.
+ (s7_build_dependency_insn_hsh, s7_insert_reg): Likewise.
+ * config/tc-sh.c (md_begin): Likewise.
+ * config/tc-sparc.c (md_begin): Likewise.
+ * config/tc-spu.c (md_begin): Likewise.
+ * config/tc-tic30.c (md_begin): Likewise.
+ * config/tc-tic4x.c (tic4x_inst_insert): Likewise.
+ * config/tc-tic54x.c (stag_add_field_symbols, md_begin): Likewise.
+ (tic54x_endstruct, tic54x_var, tic54x_macro_info): Likewise.
+ (subsym_substitute): Likewise.
+ * config/tc-tilegx.c (md_begin): Likewise.
+ * config/tc-tilepro.c (md_begin): Likewise.
+ * config/tc-vax.c (vip_begin): Likewise.
+ * config/tc-wasm32.c (md_begin): Likewise.
+ * config/tc-xgate.c (md_begin): Likewise.
+ * config/tc-z8k.c (md_begin): Likewise.
+ * testsuite/gas/ppc/dcbt.d,
+ * testsuite/gas/ppc/dcbt.s: New test.
+ * testsuite/gas/ppc/ppc.exp: Run it.
+
+ * ecoff.c (add_string): Report fatal error on duplicates.
+ * config/tc-alpha.c (md_begin): Likewise.
+ * config/tc-arc.c (arc_insert_opcode, declare_register): Likewise.
+ (declare_addrtype, md_begin, arc_extcorereg): Likewise.
+ * config/tc-cr16.c (initialise_reg_hash_table, md_begin): Likewise.
+ * config/tc-cris.c (md_begin): Likewise.
+ * config/tc-crx.c (md_begin): Likewise.
+ * config/tc-dlx.c (md_begin): Likewise.
+ * config/tc-hppa.c (md_begin): Likewise.
+ * config/tc-i386.c (md_begin): Likewise.
+ * config/tc-ia64.c (dot_rot, dot_entry, declare_register): Likewise.
+ (md_begin): Likewise.
+ * config/tc-m68k.c (md_begin): Likewise.
+ * config/tc-mips.c (md_begin): Likewise.
+ * config/tc-nios2.c (md_begin): Likewise.
+ * config/tc-ns32k.c (md_begin): Likewise.
+ * config/tc-ppc.c (ppc_setup_opcodes): Likewise.
+ * config/tc-pru.c (md_begin): Likewise.
+ * config/tc-riscv.c (init_ext_version_hash): Likewise.
+ (init_opcode_names_hash, hash_reg_name, init_opcode_hash): Likewise.
+ * config/tc-s390.c (s390_setup_opcodes, md_begin): Likewise.
+ * config/tc-sparc.c (md_begin): Likewise.
+ * config/tc-tic30.c (md_begin): Likewise.
+ * config/tc-tic4x.c (tic4x_inst_insert): Likewise.
+ * config/tc-tilegx.c (md_begin): Likewise.
+ * config/tc-tilepro.c (md_begin): Likewise.
+ * config/tc-vax.c (vip_begin): Likewise.
+
+ * config/tc-alpha.c,
+ * config/tc-arm.c,
+ * config/tc-avr.c,
+ * config/tc-cr16.c,
+ * config/tc-csky.c,
+ * config/tc-i386.c,
+ * config/tc-m68hc11.c,
+ * config/tc-m68k.c,
+ * config/tc-microblaze.c,
+ * config/tc-ns32k.c,
+ * config/tc-pj.c,
+ * config/tc-ppc.c,
+ * config/tc-score.c,
+ * config/tc-score7.c,
+ * config/tc-tic4x.c,
+ * config/tc-tic54x.c,
+ * config/tc-tilegx.c,
+ * config/tc-tilepro.c,
+ * config/tc-xgate.c: Formatting.
+
* symbols.c (struct local_symbol): Add "hash" entry. Reorder fields.