[03/13] gdbarch_breakpoint_from_pc doesn't return NULL

Message ID 1472655965-12212-4-git-send-email-yao.qi@linaro.org
State New, archived
Headers

Commit Message

Yao Qi Aug. 31, 2016, 3:05 p.m. UTC
  gdbarch_breakpoint_from_pc doesn't return NULL except for
ia64_breakpoint_from_pc, and we checked its return value in three
places. In microblaze_linux_memory_remove_breakpoint and
ppc_linux_memory_remove_breakpoint, gdbarch_breakpoint_from_pc never
returns NULL, so we can remove the NULL checking.  In
default_memory_insert_breakpoint, gdbarch_breakpoint_from_pc can't
returns NULL too because ia64 defines its own memory_insert_breakpoint.

gdb:

2016-08-30  Yao Qi  <yao.qi@linaro.org>

	* mem-break.c (default_memory_insert_breakpoint): Don't check
	'bp' against NULL.
	* microblaze-linux-tdep.c (microblaze_linux_memory_remove_breakpoint):
	Likewise.
	* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise.
---
 gdb/mem-break.c             | 2 --
 gdb/microblaze-linux-tdep.c | 2 --
 gdb/ppc-linux-tdep.c        | 2 --
 3 files changed, 6 deletions(-)
  

Comments

Michael Eager Sept. 28, 2016, 2:58 p.m. UTC | #1
On 08/31/2016 08:05 AM, Yao Qi wrote:
> gdbarch_breakpoint_from_pc doesn't return NULL except for
> ia64_breakpoint_from_pc, and we checked its return value in three
> places. In microblaze_linux_memory_remove_breakpoint and
> ppc_linux_memory_remove_breakpoint, gdbarch_breakpoint_from_pc never
> returns NULL, so we can remove the NULL checking.  In
> default_memory_insert_breakpoint, gdbarch_breakpoint_from_pc can't
> returns NULL too because ia64 defines its own memory_insert_breakpoint.
>
> gdb:
>
> 2016-08-30  Yao Qi  <yao.qi@linaro.org>
>
> 	* mem-break.c (default_memory_insert_breakpoint): Don't check
> 	'bp' against NULL.
> 	* microblaze-linux-tdep.c (microblaze_linux_memory_remove_breakpoint):
> 	Likewise.
> 	* ppc-linux-tdep.c (ppc_linux_memory_remove_breakpoint): Likewise.

Microblaze change OK.
  

Patch

diff --git a/gdb/mem-break.c b/gdb/mem-break.c
index 803f62b..cc8145c 100644
--- a/gdb/mem-break.c
+++ b/gdb/mem-break.c
@@ -45,8 +45,6 @@  default_memory_insert_breakpoint (struct gdbarch *gdbarch,
 
   /* Determine appropriate breakpoint contents and size for this address.  */
   bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-  if (bp == NULL)
-    error (_("Software breakpoints not implemented for this target."));
 
   bp_tgt->placed_address = addr;
   bp_tgt->placed_size = bplen;
diff --git a/gdb/microblaze-linux-tdep.c b/gdb/microblaze-linux-tdep.c
index 18ddfea..22e5959 100644
--- a/gdb/microblaze-linux-tdep.c
+++ b/gdb/microblaze-linux-tdep.c
@@ -49,8 +49,6 @@  microblaze_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
 
   /* Determine appropriate breakpoint contents and size for this address.  */
   bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-  if (bp == NULL)
-    error (_("Software breakpoints not implemented for this target."));
 
   val = target_read_memory (addr, old_contents, bplen);
 
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index cde4f2e..5ce58d8 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -222,8 +222,6 @@  ppc_linux_memory_remove_breakpoint (struct gdbarch *gdbarch,
 
   /* Determine appropriate breakpoint contents and size for this address.  */
   bp = gdbarch_breakpoint_from_pc (gdbarch, &addr, &bplen);
-  if (bp == NULL)
-    error (_("Software breakpoints not implemented for this target."));
 
   /* Make sure we see the memory breakpoints.  */
   cleanup = make_show_memory_breakpoints_cleanup (1);