gdb/riscv: fix creating breakpoints at invalid addresses
authorChangbin Du <changbin.du@gmail.com>
Thu, 25 Mar 2021 11:02:23 +0000 (11:02 +0000)
committerAndrew Burgess <andrew.burgess@embecosm.com>
Thu, 25 Mar 2021 11:10:02 +0000 (11:10 +0000)
To allow breakpoints to be created at invalid addresses,
target_read_code is used instead of read_code.  This was fixed in
commit:

  commit c01660c625766e848195285cc20581b9ed7ecfe2
  Date:   Wed Apr 17 00:31:43 2019 +0100

      gdb/riscv: Allow breakpoints to be created at invalid addresses

Unfortunately, the call to read_code was left in by mistake.  The
result is that GDB will fail when trying to create the breakpoint,
rather than when trying to install the breakpoint (as is the case with
other targets).

This commit fixes this mistake and removes the offending call to
read_code.

gdb/ChangeLog:

* riscv-tdep.c (riscv_breakpoint_kind_from_pc): Remove call to
read_code.

gdb/ChangeLog
gdb/riscv-tdep.c

index a548c58e8f721d21eae65a8647bf3f60c8680cf7..0de5a9d1597f5d6eea26cd677bc749bd91a75db0 100644 (file)
@@ -1,3 +1,8 @@
+2021-03-24  Changbin Du  <changbin.du@gmail.com>
+
+       * riscv-tdep.c (riscv_breakpoint_kind_from_pc): Remove call to
+       read_code.
+
 2021-03-24  Simon Marchi  <simon.marchi@polymtl.ca>
 
        * target.h (current_top_target): Remove, make callers use the
index ca3efaf71cf893cc88ed3f515a08160bf844ccc9..c17839968465e4fd8b4a0bb8a6f7b6e0bc7aac14 100644 (file)
@@ -706,7 +706,6 @@ riscv_breakpoint_kind_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr)
             user.  */
          if (target_read_code (*pcptr, buf, 1) == -1)
            buf[0] = 0;
-         read_code (*pcptr, buf, 1);
        }
 
       if (riscv_debug_breakpoints)