]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blobdiff - gas/ChangeLog
Enable support to Intel Keylocker instructions
[thirdparty/binutils-gdb.git] / gas / ChangeLog
index 4cfcba3f1857bbfeb3e114af5d0be928b5e40e85..c04b90afd4f92f8b60ca4b779873dcfb944f2197 100644 (file)
@@ -1,3 +1,872 @@
+
+2020-09-23  Lili Cui  <lili.cui@intel.com>
+
+       * NEWS: Add Key Locker.
+       * config/tc-i386.c (cpu_arch): Add .kl and .wide_kl.
+       (cpu_noarch): Likewise.
+       * doc/c-i386.texi: Document kl and wide_kl.
+       * testsuite/gas/i386/i386.exp: Run keylocker tests.
+       * testsuite/gas/i386/keylocker-intel.d: New test.
+       * testsuite/gas/i386/keylocker.d: Likewise.
+       * testsuite/gas/i386/keylocker.s: Likewise.
+       * testsuite/gas/i386/x86-64-keylocker-intel.d: Likewise.
+       * testsuite/gas/i386/x86-64-keylocker.d: Likewise.
+       * testsuite/gas/i386/x86-64-keylocker.s: Likewise.
+       * testsuite/gas/i386/x86-64-property-10.d: Likewise.
+       * testsuite/gas/i386/property-10.d: Likewise.
+       * testsuite/gas/i386/property-10.s: Likewise.
+
+2020-09-21  Alan Modra  <amodra@gmail.com>
+
+       PR 26569
+       * config/tc-riscv.c (append_insn): Don't tie off frags at CALL
+       relocs.
+       (riscv_call): Tie them off after the jalr.
+       (md_apply_fix): Zero fx_size of RELAX fixup.
+
+2020-09-018  David Faust  <david.faust@oracle.com>
+
+       * testsuite/gas/bpf/alu-xbpf.d: New file.
+       * testsuite/gas/bpf/alu-xbpf.s: Likewise.
+       * testsuite/gas/bpf/alu32-xbpf.d: Likewise.
+       * testsuite/gas/bpf/alu32-xbpf.d: Likewise.
+       * testuiste/gas/bpf/bpf.exp: Run new tests.
+
+2020-09-18  Tucker  <tuckkern+sourceware@gmail.com>
+
+       PR 26556
+       * read.c (bss_alloc): Convert size parameter from octets to
+       bytes.
+
+2020-09-17  Alan Modra  <amodra@gmail.com>
+
+       * testsuite/gas/i386/i386.exp: Return early if not x86.
+
+2020-09-16  Alan Modra  <amodra@gmail.com>
+
+       * config/obj-elf.c (obj_elf_visibility, elf_frob_symbol): Adjust
+       elf_symbol_from invocation.
+       * config/tc-aarch64.c (s_variant_pcs): Likewise.
+       * config/tc-m68hc11.c (s_m68hc11_mark_symbol): Likewise.
+       * config/tc-ppc.c (ppc_elf_localentry, ppc_force_relocation),
+       (ppc_fix_adjustable): Likewise.
+       * config/tc-xgate.c (xgate_frob_symbol): Likewise.
+
+2020-09-15  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * testsuite/gas/cfi/reloc-pe-i386.d: Updated.
+       * testsuite/gas/i386/x86-64-w64-pcrel.d: Likewise.
+
+2020-09-15  Alan Modra  <amodra@gmail.com>
+
+       PR 26610
+       * config/tc-arm.c (move_or_literal_pool): Correct extraction of
+       bignum.  Use unsigned "v"
+       (is_double_a_single): Make "v" and "mantissa" unsigned.  Formatting.
+       (double_to_single): Likewise.
+
+2020-09-15  Nick Clifton  <nickc@redhat.com>
+
+       * read.c (s_nop): Preserve the input_line_pointer around the call
+       to md_assemble.
+       * config/tc-s12z.c (md_assemble): Revert previous delta.
+
+2020-09-15  David Faust  <david.faust@oracle.com>
+
+       * config/tc-bpf.h (md_single_noop_insn): Use 'ja 0' for no-op.
+
+2020-09-14  Nick Clifton  <nickc@redhat.com>
+
+       * read.c (s_nop): New function.  Handles the .nop directive.
+       (potable): Add entry for "nop".
+       (s_nops): Code tidy.
+       * read.h (s_nop): Add prototype.
+       * config/tc-bpf.h (md_single_noop_insn): Define.
+       * config/tc-mmix.h (md_single_noop_insn): Define.
+       * config/tc-or1k.h (md_single_noop_insn): Define.
+       * config/tc-ia64.h (md_single_noop_insn): Define.
+       * config/tc-s12z.c (md_assemble): Preserve the input line pointer,
+       rather than corrupting it.
+       * write.c (relax_segment): Update error message regarding
+       non-absolute values passed to .fill and .nops.
+       * NEWS: Mention the new directive.
+       * doc/as.texi: Document the new directive.
+       * doc/internals.texi: Document the new internal macros used to
+       implement the new directive.
+       * testsuite/gas/all/nop.s: New test.
+       * testsuite/gas/all/nop.d: New test control file.
+       * testsuite/gas/all/gas.exp: Run the new test.
+       * testsuite/gas/elf/dwarf-5-nop-for-line-table.s: New test.
+       * testsuite/gas/elf/dwarf-5-nop-for-line-table.d: New test
+       control file.
+       * testsuite/gas/elf/elf.exp: Run the new test.
+       * testsuite/gas/i386/space1.l: Adjust expected output.
+
+2020-09-07  Mark Wielaard  <mark@klomp.org>
+
+       * as.texi (-g): Explicitly mention when .debug_info and .debug_line
+       are generated for the DWARF format.
+       (Loc): Add that it is an error to both use a .loc directive and
+       generate a .debug_line yourself.
+       * dwarf2dbg.c (dwarf2_any_loc_directive_seen): New static variable.
+       (dwarf2_directive_loc): Set dwarf2_any_loc_directive_seen to TRUE.
+       (dwarf2_finish): Check dwarf2_any_loc_directive_seen before emitting
+       an error. Only create .debug_line if it is empty (or doesn't exist).
+       * testsuite/gas/i386/i386.exp: Add dwarf2-line-{1,2,3,4} when testing
+       an elf target.
+       * testsuite/gas/i386/dwarf2-line-{1,2,3,4}.{s,d,l}: New test files.
+
+2020-09-10  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/tc-csky.c (md_begin): Enable extend lrw by default for
+       CK802, CK803 and CK860.
+
+2020-09-10  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/tc-csky.c (struct csky_cpu_info): Add new members
+       isa_flag, features and ver.
+       (struct csky_cpu_feature): New.
+       (struct csky_cpu_version): New.
+       (CSKY_FEATURE_MAX): Define.
+       (CSKY_CPU_REVERISON_MAX): Define.
+       (FEATURE_DSP_EXT, FEATURE_DSP, FEATURE_MMU, FEATURE_VDSP,
+        FEATURE_FLOAT, FEATURE_TRUST, FEATURE_JAVA, FEATURE_SHIELD):
+       Define, each standard one collection of instructions.
+       (CSKY_FEATURES_DEF_NULL, CSKY_FEATURES_DEF_e,
+        CSKY_FEATURES_DEF_t, CSKY_FEATURES_DEF_f, CSKY_FEATURES_DEF_v,
+        CSKY_FEATURES_DEF_ef, CSKY_FEATURES_DEF_jt,
+        CSKY_FEATURES_DEF_efht, CSKY_FEATURES_DEF_efv,
+        CSKY_FEATURES_DEF_eft, CSKY_FEATURES_DEF_d,
+        CSKY_FEATURES_DEF_df, CSKY_FEATURES_DEF_ft,
+        CSKY_FEATURES_DEF_tv, CSKY_FEATURES_DEF_fv,
+        CSKY_FEATURES_DEF_dft, CSKY_FEATURES_DEF_dfv,
+        CSKY_FEATURES_DEF_ftv, CSKY_FEATURES_DEF_eftv): Define,
+       the features combination used by cpu.
+       (CSKY_CPU_REVERISON_r0p0, CSKY_CPU_REVERISON_r1p0,
+        CSKY_CPU_REVERISON_r2p0, CSKY_CPU_REVERISON_r3p0,
+        CSKY_CPU_REVERISON_RESERVED, CSKY_CPU_REVERISON_R3):
+       Define, version information used by cpu.
+       (csky_cpus): Refine, and add CK804, CK805 and CK800.
+       (parse_cpu): Refine.
+       (parse_arch): Refine.
+       (md_show_usage): Refine.
+       (md_begin): Refine.
+
+2020-09-09  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-ppc.c (md_assemble): Emit prefix insn by parts when
+       valueT is smaller than 64 bits.
+
+2020-09-07  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/tc-csky.c (CSKYV2_ISA_DSP): CSKY_ISA_DSPE60.
+       (CSKY_ISA_860): Likewise.
+
+2020-09-07  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/tc-csky.c (float_abi): New.
+       (md_longopts): Add mfloat-abi.
+       (struct sky_option_value_table): New.
+       (csky_float_abis): New, the possible values for -mfloat-abi.
+       (parse_float_abi): New funtion.
+       (md_show_usage): Show help information for -mfloat-abi.
+       (set_csky_attribute): Store float-abi value.
+
+2020-09-07  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/tc-csky.c (float_work_fpuv3_fmovi): New function,
+       helper function to encode fpuv3 fmovi instructions.
+       (float_work_fpuv3_fstore): New function.
+       (struct literal): Add new member 'offset'.
+       (csky_cpus): New cpu CK860f.
+       (enter_literal): Return literal pool pointer instead of offset.
+       (parse_rt): Adjust the change of enter_literal.
+       (parse_rtf): Likewise.
+       (v1_work_lrw): Likewise.
+       (v1_work_jbsr): Likewise.
+       (v2_work_lrw): Likewise.
+       (v2_work_jbsr): Likewise.
+       (v2_work_jsri): Likewise.
+       (vdsp_work_vlrw): Likewise.
+       (is_freglist_legal): Add handler for FPUV3.
+       (parse_type_freg): Likewise.
+       (is_imm_within_range): Set e.X_add_number if it is a signed and
+       negtive number.
+       (get_operand_value): Add handler for OPRND_TYPE_IMM9b,
+       OPRND_TYPE_HFLOAT_FMOVI, OPRND_TYPE_SFLOAT_FMOVI
+       and OPRND_TYPE_DFLOAT_FMOVI.
+       (float_to_half): Convert float number to harf float.
+       * testsuite/gas/csky/case-fpuv3-ck860f/ : New folder containing
+       the test cases for FPUV3, they are divided by instruction
+       operands format and both have legal cases and illegal cases.
+
+2020-09-08  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
+       Kuan-Lin Chen  <kuanlinchentw@gmail.com>
+
+       * config/tc-msp430.c (msp430_insert_uleb128_fixes): New.
+       (msp430_md_end): Call msp430_insert_uleb128_fixes.
+
+2020-09-08  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/tc-aarch64.c (aarch64_cpus): Add Cortex-R82.
+       * doc/c-aarch64.texi: Document -mcpu=cortex-r82.
+
+2020-09-08  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/tc-aarch64.c (parse_sys_reg): Also pass sysreg name to
+       validation function.
+       (parse_sys_ins_reg): Likewise.
+       (print_operands): Pass CPU features to aarch64_print_operand().
+       * testsuite/gas/aarch64/v8-r-bad-sysregs.d: New test.
+       * testsuite/gas/aarch64/v8-r-bad-sysregs.l: Error output.
+       * testsuite/gas/aarch64/v8-r-bad-sysregs.s: Input.
+       * testsuite/gas/aarch64/v8-r-sysregs-need-arch.d: New test.
+       * testsuite/gas/aarch64/v8-r-sysregs-need-arch.l: Error output.
+       * testsuite/gas/aarch64/v8-r-sysregs.d: New test.
+       * testsuite/gas/aarch64/v8-r-sysregs.s: Input for previous two tests.
+
+2020-09-08  Alex Coplan  <alex.coplan@arm.com>
+
+       * testsuite/gas/aarch64/dfb.d: New test.
+       * testsuite/gas/aarch64/dfb.s: Input.
+
+2020-09-08  Alex Coplan  <alex.coplan@arm.com>
+
+       * config/tc-aarch64.c (aarch64_archs): Add armv8-r.
+       * doc/c-aarch64.texi: Document -march=armv8-r.
+
+2020-09-07  Mark Wielaard  <mark@klomp.org>
+
+       * dwarf2dbg.c (add_line_strp): New function.
+       (out_dir_and_file_list): Take line_seg and sizeof_offset as
+       arguments, Use DW_FORM_line_strp for dir and file. Call
+       add_line_strp and set symbol offset for DWARF2_LINE_VERSION 5.
+       (out_debug_line): Call out_dir_and_file_list with line_seg and
+       sizeof_offset.
+       * gas/testsuite/gas/elf/dwarf-5-file0.d: Expect indirect line
+       strings.
+
+2020-09-07  Mark Wielaard  <mark@klomp.org>
+
+       * dwarf2dbg.c (DWARF2_RNGLISTS_VERSION): New constant.
+       (out_debug_ranges): Add ranges_sym argument and set it.
+       (out_debug_rnglists): New function.
+       (out_debug_info): Change ranges_seg argument to ranges_sym
+       and use it to set DW_AT_ranges value.
+       (dwarf2_finish): Remove ranges_seg, add ranges_sym. For
+       DWARF2_VERSION 5 call out_debug_rnglists.
+
+2020-09-07  Mark Wielaard  <mark@klomp.org>
+
+       * dwarf2dbg.c (dwarf2_directive_filename): Initialize with_md5 to
+       FALSE.
+       * gas/testsuite/gas/elf/dwarf-5-file0.s: Add a random bignum.
+
+2020-09-01  Mark Wielaard  <mark@klomp.org>
+
+       * dwarf2dbg.c (out_debug_abbrev): Use DW_FORM_sec_offset for DWARF
+       version 4 or higher.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * expr.c (add_to_result, subtract_from_result): Use unsigned
+       addition and subtraction.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-z80.c (is_overflow): Avoid too large shift.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-sparc.c (in_signed_range): Use an unsigned type for
+       sign mask.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-nios2.c (md_apply_fix): Avoid too large shift.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-mips.c (load_register): Avoid too large shift.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-d30v.c (parallel_ok): Use 1UL for left shift expression.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/rx-parse.y (rx_intop): Avoid too large shifts.
+       (rx_intop, rx_uintop, rx_disp3op, rx_disp5op, displacement),
+       (rtsd_immediate): Use correctly typed unsigned variables.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/obj-macho.c (obj_mach_o_zerofill): Correct type of
+       constant shifted left.
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/bfin-lex.l: Use an unsigned type for "value".
+
+2020-09-02  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-pdp11.c (md_number_to_chars): Condition nbytes=8 code
+       on BFD64.
+
+2020-09-02  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/tc-csky.c (csky_cpus): Add ck803r3.
+       (CSKY_ISA_803R3): Define.
+       (CSKY_ISA_803R2): Refine, use CSKY_ISA_803R1.
+
+2020-09-02  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * testsuite/gas/csky/cskyv2_dsp.d : Fix Encode of mulsws.
+
+2020-09-02  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/tc-csky.c (struct literal): New member bignum.
+       (dump_literals): Handle big constant.
+       (enter_literal): Likewise.
+       (parse_type_freg): Handle vector register.
+
+2020-09-01  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * doc/as.texi: Document the .tls_common directive.
+
+2020-09-01  Alan Modra  <amodra@gmail.com>
+
+       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.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26510
+       * config/tc-z8k.c (buffer): Use unsigned char.
+       (apply_fix): Use unsigned char* pointers.
+       (build_bytes): Likewise and mask nibbles when packing.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26503
+       * config/tc-v850.c (parse_register_list): Shift 1u left.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26502
+       * config/tc-tic6x.c (md_apply_fix): Use unsigned variables.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26497
+       * config/tc-sh.c (assemble_ppi): Use unsigned variables.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26495
+       * config/tc-score.c (s3_apply_fix): Use unsigned variables.
+       * config/tc-score7.c (s7_apply_fix): Likewise.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26480
+       * config/tc-nios2.c (nios2_parse_reglist): Shift 1UL left.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26479
+       * config/tc-nios2.c (md_chars_to_number): Cast buf[i] before shifting.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26472
+       PR 26473
+       PR 26474
+       * config/tc-mips.c (operand_reg_mask): Shift 1u left.
+       (load_register): Shift 0xffffU left.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26471
+       * config/tc-metag.c (md_chars_to_number): Make retval unsigned.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26468
+       * config/tc-mep.c (md_convert_frag): Use uint32_t for addend and
+       other variables.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26493
+       * config/tc-riscv.c (riscv_ip): Cast X_add_number passed to
+       VALID_* macros to unsigned.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       * 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.
+
+2020-08-31  Alan Modra  <amodra@gmail.com>
+
+       PR 26509
+       * config/tc-z80.c (is_overflow): Use 1UL in mask shift expression.
+
+2020-08-30  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-tic4x.c (tic4x_gen_to_words): Rewrite mantissa
+       overflow test without UB.  Avoid other UB shifts by making them
+       unsigned.
+
+2020-08-31  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * 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.
+
+2020-08-31  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * config/tc-csky.c (md_begin): Add warning when -mdsp and
+       -mcpu=ck803ern are both added.
+       (parse_ldst_imm): Fix error message.
+
+2020-08-30  Alan Modra  <amodra@gmail.com>
+
+       * 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.
+
+2020-08-30  Alan Modra  <amodra@gmail.com>
+
+       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.
+
+2020-08-29  Alan Modra  <amodra@gmail.com>
+
+       PR 26481
+       * config/tc-pj.c (md_assemble): Don't loop past end of
+       opcode->arg array.
+
+2020-08-28  Alan Modra  <amodra@gmail.com>
+
+       PR 26460
+       * config/tc-ia64.c (parse_operands): Don't access past end of
+       idesc->operands.
+
+2020-08-26  Mark Wielaard  <mark@klomp.org>
+
+       * as.c (parse_args): Handle bad -gdwarf options.
+
+2020-08-28  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * 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.
+
+2020-08-27  Alan Modra  <amodra@gmail.com>
+
+       PR 26467
+       * cgen.c (weak_operand_overflow_check): Handle opmask for
+       operand length zero.  Use 1UL constant.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26508
+       * config/tc-xtensa.c (xg_get_trampoline_chain): Return early
+       when n_entries is zero.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       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.
+
+2020-08-26  Alan Modra  <amodra@gmail.com>
+
+       PR 26447
+       * expr.c (expr <O_left_shift>): Do an unsigned shift.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+2020-08-26  David Faust  <david.faust@oracle.com>
+
+       * 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.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26501
+       * gas/config/tc-tic54x.c (tic54x_undefined_symbol): Properly treat
+       misc_symbol_hash entries without values.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26500
+       * tc-tic4x.c (tic4x_inst_make): Don't die on terminating insn
+       with name = "".
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       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.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26426
+       * config/tc-arm.c (do_neon_mvn, do_neon_swp): Bail out on
+       NS_NULL shape.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       PR 26410
+       * symbols.c (dollar_label_count, dollar_label_max): Make size_t.
+       (dollar_label_clear): Don't call memset with NULL pointer.
+
+2020-08-25  Alan Modra  <amodra@gmail.com>
+
+       * 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.
+
+2020-08-24  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * 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.
+
+2020-08-24  Alan Modra  <amodra@gmail.com>
+
+       * 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.
+
+2020-08-24  Alan Modra  <amodra@gmail.com>
+
+       * 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.
+
+2020-08-24  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-arm.c (move_or_literal_pool): Avoid false positive
+       "may be used uninitialised".
+       (opcode_lookup): Likewise.
+
+2020-08-24  Alan Modra  <amodra@gmail.com>
+
+       PR 26526
+       * symbols.c (local_symbol_convert): Clear out xtra.
+
+2020-08-21  Cooper Qu  <cooper.qu@linux.alibaba.com>
+
+       * 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.
+
+2020-08-23  Alan Modra  <amodra@gmail.com>
+
+       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.
+
+2020-08-21  Alan Modra  <amodra@gmail.com>
+
+       * symbols.c (struct local_symbol): Add "hash" entry.  Reorder fields.
+       Delete union.  Adjust code throughout file.
+       (struct symbol): Add "hash", "name" and "x" entries.  Reorder fields.
+       Split off some to..
+       (struct xsymbol): ..this.  New struct.  Adjust code throughout file
+       accessing these fields.
+       (struct symbol_entry): Delete.
+       (union symbol_entry): New.
+       (hash_symbol_entry): Adjust for symbol_entry_t change.
+       (symbol_entry_find): Likewise.
+       (eq_symbol_entry): Compare hash values too.
+       (symbol_entry_alloc): Delete.
+       (local_symbol_converted_p, local_symbol_mark_converted): Delete.
+       (local_symbol_get_real_symbol, local_symbol_set_real_symbol): Delete.
+       (local_hash): Delete.
+       (abs_symbol_x, dot_symbol_x): New static var.
+       (symbol_init): New function.
+       (symbol_create): Rewrite.
+       (LOCAL_SYMBOL_CHECK): Delete.  Replace uses throughout with simple
+       test of flags.local_symbol.
+       (local_symbol_make): Adjust for struct local_symbol changes.
+       (local_symbol_convert): Rewrite.  Adjust all callers.
+       (symbol_table_insert): Simplify.
+       (symbol_clone): Comment on local sym cloning.  Handle split symbol
+       struct.
+       (get_real_sym): Delete.  Remove all uses.
+       (symbol_find_exact_noref): Simplify.
+       (resolve_local_symbol): Don't resolve non-locals.
+       (S_SET_SEGMENT): Don't special case reg_section.
+       (S_SET_NAME): Set both name and bsym->name.
+       (symbol_mark_resolved, symbol_resolved_p): Simplify.
+       (symbol_symbolS): Update comment.
+       (symbol_begin): Don't create local_hash.  Adjust abs_symbol setup.
+       (dot_symbol_init): Adjust dot_symbol setup.
+       (symbol_print_statistics): Delete local_hash stats.
+
 2020-08-21  Alan Modra  <amodra@gmail.com>
 
        * symbols.c (struct symbol_flags): Rename sy_volatile to volatil,