Updated translations for some of the binutils sub-directories.
[binutils-gdb.git] / gas / ChangeLog
index fe177cf8e2dc1d1b454db4bfbc181c5d2c7afa7e..d47235320185770089f3e38c166cc249db5e399f 100644 (file)
@@ -1,3 +1,72 @@
+2020-02-20  Nelson Chu  <nelson.chu@sifive.com>
+
+       * config/tc-riscv.c (riscv_ip): New boolean insn_with_csr to indicate
+       we are assembling instruction with CSR.  Call riscv_csr_read_only_check
+       after parsing all arguments.
+       (enum csr_insn_type): New enum is used to classify the CSR instruction.
+       (riscv_csr_insn_type, riscv_csr_read_only_check): New functions.  These
+       are used to check if we write a read-only CSR by the CSR instruction.
+       * testsuite/gas/riscv/priv-reg-fail-read-only-01.s: New testcase.  Test
+       all CSR for the read-only CSR checking.
+       * testsuite/gas/riscv/priv-reg-fail-read-only-01.d: Likewise.
+       * testsuite/gas/riscv/priv-reg-fail-read-only-01.l: Likewise.
+       * testsuite/gas/riscv/priv-reg-fail-read-only-02.s: New testcase.  Test
+       all CSR instructions for the read-only CSR checking.
+       * testsuite/gas/riscv/priv-reg-fail-read-only-02.d: Likewise.
+       * testsuite/gas/riscv/priv-reg-fail-read-only-02.l: Likewise.
+
+       * config/tc-riscv.c (struct riscv_set_options): New field csr_check.
+       (riscv_opts): Initialize it.
+       (reg_lookup_internal): Check the `riscv_opts.csr_check`
+       before doing the CSR checking.
+       (enum options): Add OPTION_CSR_CHECK and OPTION_NO_CSR_CHECK.
+       (md_longopts): Add mcsr-check and mno-csr-check.
+       (md_parse_option): Handle new enum option values.
+       (s_riscv_option): Handle new long options.
+       * doc/c-riscv.texi: Add description for the new .option and assembler
+       options.
+       * testsuite/gas/riscv/priv-reg-fail-fext.d: Add `-mcsr-check` to enable
+       the CSR checking.
+       * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: Likewise.
+
+       * config/tc-riscv.c (csr_extra_hash): New.
+       (enum riscv_csr_class): New enum.  Used to decide
+       whether or not this CSR is legal in the current ISA string.
+       (struct riscv_csr_extra): New structure to hold all extra information
+       of CSR.
+       (riscv_init_csr_hashes): New.  According to the DECLARE_CSR and
+       DECLARE_CSR_ALIAS, insert CSR extra information into csr_extra_hash.
+       Call hash_reg_name to insert CSR address into reg_names_hash.
+       (reg_csr_lookup_internal, riscv_csr_class_check): New functions.
+       Decide whether the CSR is valid according to the csr_extra_hash.
+       (reg_lookup_internal): Call reg_csr_lookup_internal for CSRs.
+       (init_opcode_hash): Update 'if (hash_error != NULL)' as hash_error is
+       not a boolean.  This is same as riscv_init_csr_hash, so keep the
+       consistent usage.
+       (md_begin): Call riscv_init_csr_hashes for each DECLARE_CSR.
+       * testsuite/gas/riscv/csr-dw-regnums.d: Add -march=rv32if option.
+       * testsuite/gas/riscv/priv-reg.d: Add f-ext by -march option.
+       * testsuite/gas/riscv/priv-reg-fail-fext.d: New testcase.  The source
+       file is `priv-reg.s`, and the ISA is rv32i without f-ext, so the
+       f-ext CSR are not allowed.
+       * testsuite/gas/riscv/priv-reg-fail-fext.l: Likewise.
+       * testsuite/gas/riscv/priv-reg-fail-rv32-only.d: New testcase.  The
+       source file is `priv-reg.s`, and the ISA is rv64if, so the
+       rv32-only CSR are not allowed.
+       * testsuite/gas/riscv/priv-reg-fail-rv32-only.l: Likewise.
+
+2020-02-21  Alan Modra  <amodra@gmail.com>
+
+       * config/tc-pdp11.c (md_apply_fix): Handle BFD_RELOC_32.
+       (tc_gen_reloc): Only give a BAD_CASE assertion on pcrel relocs.
+
+2020-02-21  Alan Modra  <amodra@gmail.com>
+
+       PR 25569
+       * config/obj-aout.c (obj_aout_frob_file_before_fix): Don't loop
+       on section size adjustment, instead perform another write if
+       exec header size is larger than section size.
+
 2020-02-19  Nelson Chu  <nelson.chu@sifive.com>
 
        * doc/c-riscv.texi: Add the doc entries for -march-attr/