RISC-V: Fix missing initialization of riscv_csr_extra structs

The next pointer of struct riscv_csr_extra was not always initilized
to NULL or a valid pointer, causing the assembler to attempt to read
through an uninitialized pointer on startup.

gas/ChangeLog:

        * config/tc-riscv.c (riscv_init_csr_hash): NULL initilize next
        pointer when creating struct riscv_csr_extra.
This commit is contained in:
Simon Cook 2020-05-27 17:34:58 +01:00 committed by Jim Wilson
parent 2a37823bfe
commit 5c5055683b
2 changed files with 6 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2020-05-27 Simon Cook <simon.cook@embecosm.com>
* config/tc-riscv.c (riscv_init_csr_hash): NULL initilize next
pointer when creating struct riscv_csr_extra.
2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/gas/i386/align-branch-9.d: Updated for PECOFF.

View File

@ -695,6 +695,7 @@ riscv_init_csr_hash (const char *name,
entry->address = address;
entry->define_version = define_version;
entry->abort_version = abort_version;
entry->next = NULL;
/* If the CSR hasn't been inserted in the hash table, then insert it.
Otherwise, attach the extra information to the entry which is already