diff options
author | Chungyi Chi <demonic@csie.io> | 2020-09-17 09:45:50 +0100 |
---|---|---|
committer | Andrew Burgess <andrew.burgess@embecosm.com> | 2020-09-17 09:45:50 +0100 |
commit | d2cd411356b0e6de58e502bf65c1683811b69af6 (patch) | |
tree | cbcf679a7a9a99eb0b753d18d78f8eb8d15e0f0a | |
parent | 848471acef1d11dcc3361b79e5bda69d4700fdf1 (diff) | |
download | gdb-d2cd411356b0e6de58e502bf65c1683811b69af6.zip gdb-d2cd411356b0e6de58e502bf65c1683811b69af6.tar.gz gdb-d2cd411356b0e6de58e502bf65c1683811b69af6.tar.bz2 |
gdb/riscv: fix decode of c.sdsp instruction
The decode of c.sdsp was incorrectly claiming to be a 4-byte store
instead of an 8-byte store.
gdb/ChangeLog:
* riscv-tdep.c (riscv-insn::decode): Fix recorded insn type.
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/riscv-tdep.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 84ee292..c6136f6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2020-09-17 Chungyi Chi <demonic@csie.io> + + * riscv-tdep.c (riscv-insn::decode): Fix recorded insn type. + 2020-09-16 Simon Marchi <simon.marchi@efficios.com> * breakpoint.h (init_catchpoint): Change int parameter to bool. diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index a7c2564..ac4ac1b 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -1472,7 +1472,7 @@ riscv_insn::decode (struct gdbarch *gdbarch, CORE_ADDR pc) else if (is_c_swsp_insn (ival)) decode_css_type_insn (SW, ival, EXTRACT_RVC_SWSP_IMM (ival)); else if (xlen != 4 && is_c_sdsp_insn (ival)) - decode_css_type_insn (SW, ival, EXTRACT_RVC_SDSP_IMM (ival)); + decode_css_type_insn (SD, ival, EXTRACT_RVC_SDSP_IMM (ival)); /* C_JR and C_MV have the same opcode. If RS2 is 0, then this is a C_JR. So must try to match C_JR first as it ahs more bits in mask. */ else if (is_c_jr_insn (ival)) |