From: Joel Brobecker Date: Wed, 4 Jun 2014 18:03:22 +0000 (-0400) Subject: gdbserver crash if the_target->supports_z_point_type is NULL X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ef7cab6ba16d76c3470fb27a0c8966513f7cb34a;p=binutils-gdb.git 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. --- 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)); }