From ef7cab6ba16d76c3470fb27a0c8966513f7cb34a Mon Sep 17 00:00:00 2001 From: Joel Brobecker Date: Wed, 4 Jun 2014 14:03:22 -0400 Subject: [PATCH] gdbserver crash if the_target->supports_z_point_type is NULL When debugging on LynxOS targets (and probably on SPU targets as well), inserting a breakpoint and resuming the program's execution causes GDBserver to crash. The crash occurs while handling the Z0 packet sent by GDB to insert our breakpoint, because z_type_supported calls the_target->supports_z_point_type without checking that it is not NULL This patch fixes the issue by making z_type_supported return false if the_target->supports_z_point_type is NULL. gdb/gdbserver/ChangeLog: PR server/17023 * mem-break.c (z_type_supported): Return zero if THE_TARGET->SUPPORTS_Z_POINT_TYPE is NULL. Tested on ppx-lynx5. --- gdb/ChangeLog | 6 ++++++ gdb/gdbserver/mem-break.c | 1 + 2 files changed, 7 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 1803f81c0be..7c436076ad8 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2014-06-04 Joel Brobecker + + PR server/17023 + * mem-break.c (z_type_supported): Return zero if + THE_TARGET->SUPPORTS_Z_POINT_TYPE is NULL. + 2014-06-04 Tom Tromey * ada-lang.c (ada_template_to_fixed_record_type_1): Use diff --git a/gdb/gdbserver/mem-break.c b/gdb/gdbserver/mem-break.c index 71876f728ea..2ce3ab2f9b6 100644 --- a/gdb/gdbserver/mem-break.c +++ b/gdb/gdbserver/mem-break.c @@ -897,6 +897,7 @@ static int z_type_supported (char z_type) { return (z_type >= '0' && z_type <= '4' + && the_target->supports_z_point_type != NULL && the_target->supports_z_point_type (z_type)); } -- 2.30.2