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> 2020-05-26 H.J. Lu <hongjiu.lu@intel.com>
* testsuite/gas/i386/align-branch-9.d: Updated for PECOFF. * 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->address = address;
entry->define_version = define_version; entry->define_version = define_version;
entry->abort_version = abort_version; entry->abort_version = abort_version;
entry->next = NULL;
/* If the CSR hasn't been inserted in the hash table, then insert it. /* 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 Otherwise, attach the extra information to the entry which is already