public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached
@ 2015-01-28 11:37 Antoine Tremblay
  2015-02-05 13:30 ` Antoine Tremblay
  0 siblings, 1 reply; 14+ messages in thread
From: Antoine Tremblay @ 2015-01-28 11:37 UTC (permalink / raw)
  To: gdb-patches; +Cc: Antoine Tremblay

When gdbserver is called with --multi and attach has not been called yet
and tstart is called on the gdb client, gdbserver would crash.
This patch fixes gdbserver so that it returns E01 to the gdb client.

Also this patch adds a testcase to verify this bug named no-attach-trace.exp

gdb/ChangeLog:
	PR gdb/15956
	* gdb/gdbserver/tracepoint.c (cmd_qtinit): Added check for
	current_thread.

gdb/testsuite/ChangeLog:
	* gdb.server/no-attach-trace.c: New file.
	* gdb.server/no-attach-trace.exp: New file.
---
 gdb/gdbserver/tracepoint.c                   |    7 +++++
 gdb/testsuite/gdb.server/Makefile.in         |    2 +-
 gdb/testsuite/gdb.server/no-attach-trace.c   |   25 ++++++++++++++++
 gdb/testsuite/gdb.server/no-attach-trace.exp |   40 ++++++++++++++++++++++++++
 4 files changed, 73 insertions(+), 1 deletion(-)
 create mode 100644 gdb/testsuite/gdb.server/no-attach-trace.c
 create mode 100644 gdb/testsuite/gdb.server/no-attach-trace.exp

diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index 82d6ce5..0518530 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -2377,6 +2377,13 @@ cmd_qtinit (char *packet)
 {
   struct trace_state_variable *tsv, *prev, *next;
 
+  /* Can't do this command without a pid attached */
+  if (current_thread == NULL)
+    {
+      write_enn(packet);
+      return;
+    }
+
   /* Make sure we don't try to read from a trace frame.  */
   current_traceframe = -1;
 
diff --git a/gdb/testsuite/gdb.server/Makefile.in b/gdb/testsuite/gdb.server/Makefile.in
index 509fbd8..52fe957 100644
--- a/gdb/testsuite/gdb.server/Makefile.in
+++ b/gdb/testsuite/gdb.server/Makefile.in
@@ -2,7 +2,7 @@ VPATH = @srcdir@
 srcdir = @srcdir@
 
 EXECUTABLES = ext-attach ext-run file-transfer server-mon server-run \
-	no-thread-db
+	no-thread-db no-attach-trace
 
 MISCELLANEOUS =
 
diff --git a/gdb/testsuite/gdb.server/no-attach-trace.c b/gdb/testsuite/gdb.server/no-attach-trace.c
new file mode 100644
index 0000000..383e6d0
--- /dev/null
+++ b/gdb/testsuite/gdb.server/no-attach-trace.c
@@ -0,0 +1,25 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This program is intended to be a simple dummy program for gdb to read */
+
+#include <unistd.h>
+
+int main ()
+{
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.server/no-attach-trace.exp b/gdb/testsuite/gdb.server/no-attach-trace.exp
new file mode 100644
index 0000000..ff75e44
--- /dev/null
+++ b/gdb/testsuite/gdb.server/no-attach-trace.exp
@@ -0,0 +1,40 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test that trying to trace without a program attached fails properly.
+
+load_lib gdbserver-support.exp
+load_lib trace-support.exp
+
+standard_testfile
+
+if { [skip_gdbserver_tests] } {
+    return 0
+}
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    return -1
+}
+
+# Make sure we're disconnected, in case we're testing with an
+# extended-remote board, therefore already connected.
+gdb_test "disconnect" ".*"
+
+gdbserver_start_extended
+
+gdb_test "trace main" "Tracepoint.*"
+gdb_test "tstart" "Target returns error code '01'\."
-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-01-28 11:37 [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached Antoine Tremblay
@ 2015-02-05 13:30 ` Antoine Tremblay
  2015-02-05 13:37   ` Luis Machado
  0 siblings, 1 reply; 14+ messages in thread
From: Antoine Tremblay @ 2015-02-05 13:30 UTC (permalink / raw)
  To: gdb-patches

ping

On 01/27/2015 02:35 PM, Antoine Tremblay wrote:
> When gdbserver is called with --multi and attach has not been called yet
> and tstart is called on the gdb client, gdbserver would crash.
> This patch fixes gdbserver so that it returns E01 to the gdb client.
>
> Also this patch adds a testcase to verify this bug named no-attach-trace.exp
>
> gdb/ChangeLog:
> 	PR gdb/15956
> 	* gdb/gdbserver/tracepoint.c (cmd_qtinit): Added check for
> 	current_thread.
>
> gdb/testsuite/ChangeLog:
> 	* gdb.server/no-attach-trace.c: New file.
> 	* gdb.server/no-attach-trace.exp: New file.
> ---
>   gdb/gdbserver/tracepoint.c                   |    7 +++++
>   gdb/testsuite/gdb.server/Makefile.in         |    2 +-
>   gdb/testsuite/gdb.server/no-attach-trace.c   |   25 ++++++++++++++++
>   gdb/testsuite/gdb.server/no-attach-trace.exp |   40 ++++++++++++++++++++++++++
>   4 files changed, 73 insertions(+), 1 deletion(-)
>   create mode 100644 gdb/testsuite/gdb.server/no-attach-trace.c
>   create mode 100644 gdb/testsuite/gdb.server/no-attach-trace.exp
>
> diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
> index 82d6ce5..0518530 100644
> --- a/gdb/gdbserver/tracepoint.c
> +++ b/gdb/gdbserver/tracepoint.c
> @@ -2377,6 +2377,13 @@ cmd_qtinit (char *packet)
>   {
>     struct trace_state_variable *tsv, *prev, *next;
>   
> +  /* Can't do this command without a pid attached */
> +  if (current_thread == NULL)
> +    {
> +      write_enn(packet);
> +      return;
> +    }
> +
>     /* Make sure we don't try to read from a trace frame.  */
>     current_traceframe = -1;
>   
> diff --git a/gdb/testsuite/gdb.server/Makefile.in b/gdb/testsuite/gdb.server/Makefile.in
> index 509fbd8..52fe957 100644
> --- a/gdb/testsuite/gdb.server/Makefile.in
> +++ b/gdb/testsuite/gdb.server/Makefile.in
> @@ -2,7 +2,7 @@ VPATH = @srcdir@
>   srcdir = @srcdir@
>   
>   EXECUTABLES = ext-attach ext-run file-transfer server-mon server-run \
> -	no-thread-db
> +	no-thread-db no-attach-trace
>   
>   MISCELLANEOUS =
>   
> diff --git a/gdb/testsuite/gdb.server/no-attach-trace.c b/gdb/testsuite/gdb.server/no-attach-trace.c
> new file mode 100644
> index 0000000..383e6d0
> --- /dev/null
> +++ b/gdb/testsuite/gdb.server/no-attach-trace.c
> @@ -0,0 +1,25 @@
> +/* This testcase is part of GDB, the GNU debugger.
> +
> +   Copyright 2015 Free Software Foundation, Inc.
> +
> +   This program is free software; you can redistribute it and/or modify
> +   it under the terms of the GNU General Public License as published by
> +   the Free Software Foundation; either version 3 of the License, or
> +   (at your option) any later version.
> +
> +   This program is distributed in the hope that it will be useful,
> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +   GNU General Public License for more details.
> +
> +   You should have received a copy of the GNU General Public License
> +   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
> +
> +/* This program is intended to be a simple dummy program for gdb to read */
> +
> +#include <unistd.h>
> +
> +int main ()
> +{
> +  return 0;
> +}
> diff --git a/gdb/testsuite/gdb.server/no-attach-trace.exp b/gdb/testsuite/gdb.server/no-attach-trace.exp
> new file mode 100644
> index 0000000..ff75e44
> --- /dev/null
> +++ b/gdb/testsuite/gdb.server/no-attach-trace.exp
> @@ -0,0 +1,40 @@
> +# This testcase is part of GDB, the GNU debugger.
> +
> +# Copyright 2015 Free Software Foundation, Inc.
> +
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +
> +# Test that trying to trace without a program attached fails properly.
> +
> +load_lib gdbserver-support.exp
> +load_lib trace-support.exp
> +
> +standard_testfile
> +
> +if { [skip_gdbserver_tests] } {
> +    return 0
> +}
> +
> +if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
> +    return -1
> +}
> +
> +# Make sure we're disconnected, in case we're testing with an
> +# extended-remote board, therefore already connected.
> +gdb_test "disconnect" ".*"
> +
> +gdbserver_start_extended
> +
> +gdb_test "trace main" "Tracepoint.*"
> +gdb_test "tstart" "Target returns error code '01'\."

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-05 13:30 ` Antoine Tremblay
@ 2015-02-05 13:37   ` Luis Machado
  2015-02-05 13:44     ` Luis Machado
  0 siblings, 1 reply; 14+ messages in thread
From: Luis Machado @ 2015-02-05 13:37 UTC (permalink / raw)
  To: Antoine Tremblay, gdb-patches

On 02/05/2015 11:30 AM, Antoine Tremblay wrote:
> ping
>
> On 01/27/2015 02:35 PM, Antoine Tremblay wrote:
>> When gdbserver is called with --multi and attach has not been called yet
>> and tstart is called on the gdb client, gdbserver would crash.
>> This patch fixes gdbserver so that it returns E01 to the gdb client.

Wouldn't it make more sense to prevent GDB from sending any tracepoint 
packets that require a running inferior if there is none?

I remember fixing this in a local tree but on GDB's side. I think it is 
remote.c:remote_trace_init and other related functions.

What do you think?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-05 13:37   ` Luis Machado
@ 2015-02-05 13:44     ` Luis Machado
  2015-02-05 13:53       ` Antoine Tremblay
  0 siblings, 1 reply; 14+ messages in thread
From: Luis Machado @ 2015-02-05 13:44 UTC (permalink / raw)
  To: Antoine Tremblay, gdb-patches

On 02/05/2015 11:37 AM, Luis Machado wrote:
> On 02/05/2015 11:30 AM, Antoine Tremblay wrote:
>> ping
>>
>> On 01/27/2015 02:35 PM, Antoine Tremblay wrote:
>>> When gdbserver is called with --multi and attach has not been called yet
>>> and tstart is called on the gdb client, gdbserver would crash.
>>> This patch fixes gdbserver so that it returns E01 to the gdb client.
>
> Wouldn't it make more sense to prevent GDB from sending any tracepoint
> packets that require a running inferior if there is none?
>
> I remember fixing this in a local tree but on GDB's side. I think it is
> remote.c:remote_trace_init and other related functions.
>
> What do you think?

I've looked around and found the patch in a local tree of mine. It fixes 
more cases of tracepoint commands that require a running inferior.

I could revive and submit it if it makes things easier.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-05 13:44     ` Luis Machado
@ 2015-02-05 13:53       ` Antoine Tremblay
  2015-02-05 14:04         ` Luis Machado
  0 siblings, 1 reply; 14+ messages in thread
From: Antoine Tremblay @ 2015-02-05 13:53 UTC (permalink / raw)
  To: lgustavo, gdb-patches

Hi,
    I'm quite new to gdb, but in general I would argue that it's better 
to make a program resilient to wrong input then to sanitize the input, 
let's say someday something else then gdb would use gdbserver....?

    But I sure would like to take a look at your patch if you have it 
handy ?

    I'm not sure how to fix it on gdb's side yet...

On 02/05/2015 08:44 AM, Luis Machado wrote:
> On 02/05/2015 11:37 AM, Luis Machado wrote:
>> On 02/05/2015 11:30 AM, Antoine Tremblay wrote:
>>> ping
>>>
>>> On 01/27/2015 02:35 PM, Antoine Tremblay wrote:
>>>> When gdbserver is called with --multi and attach has not been 
>>>> called yet
>>>> and tstart is called on the gdb client, gdbserver would crash.
>>>> This patch fixes gdbserver so that it returns E01 to the gdb client.
>>
>> Wouldn't it make more sense to prevent GDB from sending any tracepoint
>> packets that require a running inferior if there is none?
>>
>> I remember fixing this in a local tree but on GDB's side. I think it is
>> remote.c:remote_trace_init and other related functions.
>>
>> What do you think?
>
> I've looked around and found the patch in a local tree of mine. It 
> fixes more cases of tracepoint commands that require a running inferior.
>
> I could revive and submit it if it makes things easier.
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-05 13:53       ` Antoine Tremblay
@ 2015-02-05 14:04         ` Luis Machado
  2015-02-05 14:06           ` Antoine Tremblay
  0 siblings, 1 reply; 14+ messages in thread
From: Luis Machado @ 2015-02-05 14:04 UTC (permalink / raw)
  To: Antoine Tremblay, gdb-patches

On 02/05/2015 11:53 AM, Antoine Tremblay wrote:
> Hi,
>     I'm quite new to gdb, but in general I would argue that it's better
> to make a program resilient to wrong input then to sanitize the input,
> let's say someday something else then gdb would use gdbserver....?

It is certainly a valid concern.

>
>     But I sure would like to take a look at your patch if you have it
> handy ?

I just need to extract it from the tree and do a bit of an update. We 
could probably merge both to robustify the tracepoint mechanism.

> On 02/05/2015 08:44 AM, Luis Machado wrote:
>> On 02/05/2015 11:37 AM, Luis Machado wrote:
>>> On 02/05/2015 11:30 AM, Antoine Tremblay wrote:
>>>> ping
>>>>
>>>> On 01/27/2015 02:35 PM, Antoine Tremblay wrote:
>>>>> When gdbserver is called with --multi and attach has not been
>>>>> called yet
>>>>> and tstart is called on the gdb client, gdbserver would crash.
>>>>> This patch fixes gdbserver so that it returns E01 to the gdb client.
>>>
>>> Wouldn't it make more sense to prevent GDB from sending any tracepoint
>>> packets that require a running inferior if there is none?
>>>
>>> I remember fixing this in a local tree but on GDB's side. I think it is
>>> remote.c:remote_trace_init and other related functions.
>>>
>>> What do you think?
>>
>> I've looked around and found the patch in a local tree of mine. It
>> fixes more cases of tracepoint commands that require a running inferior.
>>
>> I could revive and submit it if it makes things easier.
>>
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-05 14:04         ` Luis Machado
@ 2015-02-05 14:06           ` Antoine Tremblay
  2015-02-05 17:36             ` Pedro Alves
  0 siblings, 1 reply; 14+ messages in thread
From: Antoine Tremblay @ 2015-02-05 14:06 UTC (permalink / raw)
  To: lgustavo, gdb-patches


On 02/05/2015 09:04 AM, Luis Machado wrote:
> On 02/05/2015 11:53 AM, Antoine Tremblay wrote:
>> Hi,
>>     I'm quite new to gdb, but in general I would argue that it's better
>> to make a program resilient to wrong input then to sanitize the input,
>> let's say someday something else then gdb would use gdbserver....?
>
> It is certainly a valid concern.
>
>>
>>     But I sure would like to take a look at your patch if you have it
>> handy ?
>
> I just need to extract it from the tree and do a bit of an update. We 
> could probably merge both to robustify the tracepoint mechanism.
>
Yes that's sounds a good idea :)

Thanks!

>> On 02/05/2015 08:44 AM, Luis Machado wrote:
>>> On 02/05/2015 11:37 AM, Luis Machado wrote:
>>>> On 02/05/2015 11:30 AM, Antoine Tremblay wrote:
>>>>> ping
>>>>>
>>>>> On 01/27/2015 02:35 PM, Antoine Tremblay wrote:
>>>>>> When gdbserver is called with --multi and attach has not been
>>>>>> called yet
>>>>>> and tstart is called on the gdb client, gdbserver would crash.
>>>>>> This patch fixes gdbserver so that it returns E01 to the gdb client.
>>>>
>>>> Wouldn't it make more sense to prevent GDB from sending any tracepoint
>>>> packets that require a running inferior if there is none?
>>>>
>>>> I remember fixing this in a local tree but on GDB's side. I think 
>>>> it is
>>>> remote.c:remote_trace_init and other related functions.
>>>>
>>>> What do you think?
>>>
>>> I've looked around and found the patch in a local tree of mine. It
>>> fixes more cases of tracepoint commands that require a running 
>>> inferior.
>>>
>>> I could revive and submit it if it makes things easier.
>>>
>>
>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-05 14:06           ` Antoine Tremblay
@ 2015-02-05 17:36             ` Pedro Alves
  2015-02-05 20:06               ` [PATCH v2] " Antoine Tremblay
  0 siblings, 1 reply; 14+ messages in thread
From: Pedro Alves @ 2015-02-05 17:36 UTC (permalink / raw)
  To: Antoine Tremblay, lgustavo, gdb-patches

Agreed with both.  :-)

On the test, I think it could go under gdb.trace/, and not use
any of gdbserver_start_extended and friends.  That'd expose the
use case to all targets that can do tracing.  gdbserver's case
would be covered by running the testsuite with the
extended-remote board, which is now routinely run by the
GDB's Buildbot (https://sourceware.org/ml/gdb-testers/2015-q1/).

WDYT?

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH v2] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-05 17:36             ` Pedro Alves
@ 2015-02-05 20:06               ` Antoine Tremblay
  2015-02-06 15:50                 ` Pedro Alves
  0 siblings, 1 reply; 14+ messages in thread
From: Antoine Tremblay @ 2015-02-05 20:06 UTC (permalink / raw)
  To: gdb-patches; +Cc: palves, Antoine Tremblay

When gdbserver is called with --multi and attach has not been called yet
and tstart is called on the gdb client, gdbserver would crash.
This patch fixes gdbserver so that it returns E01 to the gdb client.

Also this patch adds a testcase to verify this bug named no-attach-trace.exp

gdb/ChangeLog:
	PR gdb/15956
	* gdb/gdbserver/tracepoint.c (cmd_qtinit): Added check for
	current_thread.

gdb/testsuite/ChangeLog:
	* gdb.trace/no-attach-trace.c: New file.
	* gdb.trace/no-attach-trace.exp: New file.
---
 gdb/gdbserver/tracepoint.c                  |    7 +++++
 gdb/testsuite/gdb.trace/Makefile.in         |    4 +--
 gdb/testsuite/gdb.trace/no-attach-trace.c   |   25 ++++++++++++++++
 gdb/testsuite/gdb.trace/no-attach-trace.exp |   43 +++++++++++++++++++++++++++
 4 files changed, 77 insertions(+), 2 deletions(-)
 create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.c
 create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.exp

diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index 82d6ce5..0518530 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -2377,6 +2377,13 @@ cmd_qtinit (char *packet)
 {
   struct trace_state_variable *tsv, *prev, *next;
 
+  /* Can't do this command without a pid attached */
+  if (current_thread == NULL)
+    {
+      write_enn(packet);
+      return;
+    }
+
   /* Make sure we don't try to read from a trace frame.  */
   current_traceframe = -1;
 
diff --git a/gdb/testsuite/gdb.trace/Makefile.in b/gdb/testsuite/gdb.trace/Makefile.in
index 2e23223..514beab 100644
--- a/gdb/testsuite/gdb.trace/Makefile.in
+++ b/gdb/testsuite/gdb.trace/Makefile.in
@@ -4,8 +4,8 @@ srcdir = @srcdir@
 .PHONY: all clean mostlyclean distclean realclean
 
 PROGS = actions-changed ax backtrace deltrace disconnected-tracing \
-	infotrace packetlen passc-dyn passcount report save-trace tfile \
-	tfind tracecmd tsv unavailable while-dyn while-stepping
+	infotrace no-attach-trace packetlen passc-dyn passcount report \
+	save-trace tfile tfind tracecmd tsv unavailable while-dyn while-stepping
 
 all info install-info dvi install uninstall installcheck check:
 	@echo "Nothing to be done for $@..."
diff --git a/gdb/testsuite/gdb.trace/no-attach-trace.c b/gdb/testsuite/gdb.trace/no-attach-trace.c
new file mode 100644
index 0000000..383e6d0
--- /dev/null
+++ b/gdb/testsuite/gdb.trace/no-attach-trace.c
@@ -0,0 +1,25 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* This program is intended to be a simple dummy program for gdb to read */
+
+#include <unistd.h>
+
+int main ()
+{
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.trace/no-attach-trace.exp b/gdb/testsuite/gdb.trace/no-attach-trace.exp
new file mode 100644
index 0000000..2470347
--- /dev/null
+++ b/gdb/testsuite/gdb.trace/no-attach-trace.exp
@@ -0,0 +1,43 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test that trying to trace without a program attached fails properly.
+
+load_lib trace-support.exp
+
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    return -1
+}
+
+if ![runto_main] {
+    fail "Can't run to main to check for trace support"
+    return -1
+}
+
+if { ![gdb_target_supports_trace] } then {
+    unsupported "Current target does not support trace"
+    return 1
+
+}
+
+#clean test state so that we have no process attached
+clean_restart $testfile
+
+gdb_test "trace main" "Tracepoint.*"
+gdb_test "tstart" "Target returns error code '01'\."
-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v2] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-05 20:06               ` [PATCH v2] " Antoine Tremblay
@ 2015-02-06 15:50                 ` Pedro Alves
  2015-02-06 16:25                   ` [PATCH v3] " Antoine Tremblay
  0 siblings, 1 reply; 14+ messages in thread
From: Pedro Alves @ 2015-02-06 15:50 UTC (permalink / raw)
  To: Antoine Tremblay, gdb-patches

On 02/05/2015 08:06 PM, Antoine Tremblay wrote:
> When gdbserver is called with --multi and attach has not been called yet
> and tstart is called on the gdb client, gdbserver would crash.
> This patch fixes gdbserver so that it returns E01 to the gdb client.
> 
> Also this patch adds a testcase to verify this bug named no-attach-trace.exp

Thanks!  Pretty good.  Just a few minor nits.  Just the usual formatting
details that are easy to miss the first time around.

> gdb/ChangeLog:
> 	PR gdb/15956
> 	* gdb/gdbserver/tracepoint.c (cmd_qtinit): Added check for
> 	current_thread.

gdbserver has it's own ChangeLog file, gdb/gdbserver/ChangeLog.
Then adjust the entry to read "* gdbserver/tracepoint.c", as entries
are relative to the ChangeLog file's path.

Also, s/Added/Add/.

> 
> gdb/testsuite/ChangeLog:
> 	* gdb.trace/no-attach-trace.c: New file.
> 	* gdb.trace/no-attach-trace.exp: New file.
> ---
>  gdb/gdbserver/tracepoint.c                  |    7 +++++
>  gdb/testsuite/gdb.trace/Makefile.in         |    4 +--
>  gdb/testsuite/gdb.trace/no-attach-trace.c   |   25 ++++++++++++++++
>  gdb/testsuite/gdb.trace/no-attach-trace.exp |   43 +++++++++++++++++++++++++++
>  4 files changed, 77 insertions(+), 2 deletions(-)
>  create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.c
>  create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.exp
> 
> diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
> index 82d6ce5..0518530 100644
> --- a/gdb/gdbserver/tracepoint.c
> +++ b/gdb/gdbserver/tracepoint.c
> @@ -2377,6 +2377,13 @@ cmd_qtinit (char *packet)
>  {
>    struct trace_state_variable *tsv, *prev, *next;
>  
> +  /* Can't do this command without a pid attached */

Period and double-space at end of all sentences:

    /* Can't do this command without a pid attached.  */


> +  if (current_thread == NULL)
> +    {
> +      write_enn(packet);

Space before parens:

      write_enn (packet);


> +      return;
> +    }
> +
>    /* Make sure we don't try to read from a trace frame.  */
>    current_traceframe = -1;
>  
> diff --git a/gdb/testsuite/gdb.trace/Makefile.in b/gdb/testsuite/gdb.trace/Makefile.in
> index 2e23223..514beab 100644
> --- a/gdb/testsuite/gdb.trace/Makefile.in
> +++ b/gdb/testsuite/gdb.trace/Makefile.in
> @@ -4,8 +4,8 @@ srcdir = @srcdir@
>  .PHONY: all clean mostlyclean distclean realclean
>  
>  PROGS = actions-changed ax backtrace deltrace disconnected-tracing \
> -	infotrace packetlen passc-dyn passcount report save-trace tfile \
> -	tfind tracecmd tsv unavailable while-dyn while-stepping
> +	infotrace no-attach-trace packetlen passc-dyn passcount report \
> +	save-trace tfile tfind tracecmd tsv unavailable while-dyn while-stepping
>  
>  all info install-info dvi install uninstall installcheck check:
>  	@echo "Nothing to be done for $@..."
> diff --git a/gdb/testsuite/gdb.trace/no-attach-trace.c b/gdb/testsuite/gdb.trace/no-attach-trace.c
> new file mode 100644
> index 0000000..383e6d0
> --- /dev/null
> +++ b/gdb/testsuite/gdb.trace/no-attach-trace.c
> @@ -0,0 +1,25 @@
> +/* This testcase is part of GDB, the GNU debugger.
> +
> +   Copyright 2015 Free Software Foundation, Inc.
> +
> +   This program is free software; you can redistribute it and/or modify
> +   it under the terms of the GNU General Public License as published by
> +   the Free Software Foundation; either version 3 of the License, or
> +   (at your option) any later version.
> +
> +   This program is distributed in the hope that it will be useful,
> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +   GNU General Public License for more details.
> +
> +   You should have received a copy of the GNU General Public License
> +   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
> +
> +/* This program is intended to be a simple dummy program for gdb to read */

Period, double-space.

> +
> +#include <unistd.h>
> +
> +int main ()

Break before function name, and "(void)":

int
main (void)


> +{
> +  return 0;
> +}
> diff --git a/gdb/testsuite/gdb.trace/no-attach-trace.exp b/gdb/testsuite/gdb.trace/no-attach-trace.exp
> new file mode 100644
> index 0000000..2470347
> --- /dev/null
> +++ b/gdb/testsuite/gdb.trace/no-attach-trace.exp
> @@ -0,0 +1,43 @@
> +# This testcase is part of GDB, the GNU debugger.
> +
> +# Copyright 2015 Free Software Foundation, Inc.
> +
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License as published by
> +# the Free Software Foundation; either version 3 of the License, or
> +# (at your option) any later version.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License
> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
> +
> +# Test that trying to trace without a program attached fails properly.
> +
> +load_lib trace-support.exp
> +
> +standard_testfile
> +
> +if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
> +    return -1
> +}
> +
> +if ![runto_main] {
> +    fail "Can't run to main to check for trace support"
> +    return -1
> +}
> +
> +if { ![gdb_target_supports_trace] } then {
> +    unsupported "Current target does not support trace"
> +    return 1
> +
> +}
> +
> +#clean test state so that we have no process attached

Space after #, Uppercase, period at end:

# Clean test state so that we have no process attached.

> +clean_restart $testfile
> +
> +gdb_test "trace main" "Tracepoint.*"

Let's expand this a bit more, like in other tests:

        gdb_test "trace main" \
            "Tracepoint \[0-9\] at.* file .*$srcfile, line.*" \
            "set tracepoint on main"

Basically, reasonably avoid false positives.

> +gdb_test "tstart" "Target returns error code '01'\."

Targets can send other error codes, so I think it'd be
prudent to .* the '01' part, like:

gdb_test "tstart" "Target returns error code.*\."

Can you also after this run to main?  That'd make sure that the
target didn't crash or get wedged.  If you decide to use
runto_main, wrap it in

with_test_prefix "after tstart" {
  ...
}

to make its potential FAIL test message distinguishable from
the runto_main at the top.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v3] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-06 15:50                 ` Pedro Alves
@ 2015-02-06 16:25                   ` Antoine Tremblay
  2015-02-06 17:11                     ` Pedro Alves
  0 siblings, 1 reply; 14+ messages in thread
From: Antoine Tremblay @ 2015-02-06 16:25 UTC (permalink / raw)
  To: Pedro Alves, gdb-patches

On 02/06/2015 10:50 AM, Pedro Alves wrote:
> On 02/05/2015 08:06 PM, Antoine Tremblay wrote:
>> When gdbserver is called with --multi and attach has not been called yet
>> and tstart is called on the gdb client, gdbserver would crash.
>> This patch fixes gdbserver so that it returns E01 to the gdb client.
>>
>> Also this patch adds a testcase to verify this bug named no-attach-trace.exp
> Thanks!  Pretty good.  Just a few minor nits.  Just the usual formatting
> details that are easy to miss the first time around.
np
>> gdb/ChangeLog:
>> 	PR gdb/15956
>> 	* gdb/gdbserver/tracepoint.c (cmd_qtinit): Added check for
>> 	current_thread.
> gdbserver has it's own ChangeLog file, gdb/gdbserver/ChangeLog.
> Then adjust the entry to read "* gdbserver/tracepoint.c", as entries
> are relative to the ChangeLog file's path.
>
> Also, s/Added/Add/.
Done.
>> gdb/testsuite/ChangeLog:
>> 	* gdb.trace/no-attach-trace.c: New file.
>> 	* gdb.trace/no-attach-trace.exp: New file.
>> ---
>>   gdb/gdbserver/tracepoint.c                  |    7 +++++
>>   gdb/testsuite/gdb.trace/Makefile.in         |    4 +--
>>   gdb/testsuite/gdb.trace/no-attach-trace.c   |   25 ++++++++++++++++
>>   gdb/testsuite/gdb.trace/no-attach-trace.exp |   43 +++++++++++++++++++++++++++
>>   4 files changed, 77 insertions(+), 2 deletions(-)
>>   create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.c
>>   create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.exp
>>
>> diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
>> index 82d6ce5..0518530 100644
>> --- a/gdb/gdbserver/tracepoint.c
>> +++ b/gdb/gdbserver/tracepoint.c
>> @@ -2377,6 +2377,13 @@ cmd_qtinit (char *packet)
>>   {
>>     struct trace_state_variable *tsv, *prev, *next;
>>   
>> +  /* Can't do this command without a pid attached */
> Period and double-space at end of all sentences:
>
>      /* Can't do this command without a pid attached.  */
>
Done
>> +  if (current_thread == NULL)
>> +    {
>> +      write_enn(packet);
> Space before parens:
>
>        write_enn (packet);
Done
>
>
>> +      return;
>> +    }
>> +
>>     /* Make sure we don't try to read from a trace frame.  */
>>     current_traceframe = -1;
>>   
>> diff --git a/gdb/testsuite/gdb.trace/Makefile.in b/gdb/testsuite/gdb.trace/Makefile.in
>> index 2e23223..514beab 100644
>> --- a/gdb/testsuite/gdb.trace/Makefile.in
>> +++ b/gdb/testsuite/gdb.trace/Makefile.in
>> @@ -4,8 +4,8 @@ srcdir = @srcdir@
>>   .PHONY: all clean mostlyclean distclean realclean
>>   
>>   PROGS = actions-changed ax backtrace deltrace disconnected-tracing \
>> -	infotrace packetlen passc-dyn passcount report save-trace tfile \
>> -	tfind tracecmd tsv unavailable while-dyn while-stepping
>> +	infotrace no-attach-trace packetlen passc-dyn passcount report \
>> +	save-trace tfile tfind tracecmd tsv unavailable while-dyn while-stepping
>>   
>>   all info install-info dvi install uninstall installcheck check:
>>   	@echo "Nothing to be done for $@..."
>> diff --git a/gdb/testsuite/gdb.trace/no-attach-trace.c b/gdb/testsuite/gdb.trace/no-attach-trace.c
>> new file mode 100644
>> index 0000000..383e6d0
>> --- /dev/null
>> +++ b/gdb/testsuite/gdb.trace/no-attach-trace.c
>> @@ -0,0 +1,25 @@
>> +/* This testcase is part of GDB, the GNU debugger.
>> +
>> +   Copyright 2015 Free Software Foundation, Inc.
>> +
>> +   This program is free software; you can redistribute it and/or modify
>> +   it under the terms of the GNU General Public License as published by
>> +   the Free Software Foundation; either version 3 of the License, or
>> +   (at your option) any later version.
>> +
>> +   This program is distributed in the hope that it will be useful,
>> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> +   GNU General Public License for more details.
>> +
>> +   You should have received a copy of the GNU General Public License
>> +   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
>> +
>> +/* This program is intended to be a simple dummy program for gdb to read */
> Period, double-space.
Done
>> +
>> +#include <unistd.h>
>> +
>> +int main ()
> Break before function name, and "(void)":
>
> int
> main (void)
>
Done
>> +{
>> +  return 0;
>> +}
>> diff --git a/gdb/testsuite/gdb.trace/no-attach-trace.exp b/gdb/testsuite/gdb.trace/no-attach-trace.exp
>> new file mode 100644
>> index 0000000..2470347
>> --- /dev/null
>> +++ b/gdb/testsuite/gdb.trace/no-attach-trace.exp
>> @@ -0,0 +1,43 @@
>> +# This testcase is part of GDB, the GNU debugger.
>> +
>> +# Copyright 2015 Free Software Foundation, Inc.
>> +
>> +# This program is free software; you can redistribute it and/or modify
>> +# it under the terms of the GNU General Public License as published by
>> +# the Free Software Foundation; either version 3 of the License, or
>> +# (at your option) any later version.
>> +#
>> +# This program is distributed in the hope that it will be useful,
>> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
>> +# GNU General Public License for more details.
>> +#
>> +# You should have received a copy of the GNU General Public License
>> +# along with this program.  If not, see <http://www.gnu.org/licenses/>.
>> +
>> +# Test that trying to trace without a program attached fails properly.
>> +
>> +load_lib trace-support.exp
>> +
>> +standard_testfile
>> +
>> +if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
>> +    return -1
>> +}
>> +
>> +if ![runto_main] {
>> +    fail "Can't run to main to check for trace support"
>> +    return -1
>> +}
>> +
>> +if { ![gdb_target_supports_trace] } then {
>> +    unsupported "Current target does not support trace"
>> +    return 1
>> +
>> +}
>> +
>> +#clean test state so that we have no process attached
> Space after #, Uppercase, period at end:
>
> # Clean test state so that we have no process attached.
Done
>> +clean_restart $testfile
>> +
>> +gdb_test "trace main" "Tracepoint.*"
> Let's expand this a bit more, like in other tests:
>
>          gdb_test "trace main" \
>              "Tracepoint \[0-9\] at.* file .*$srcfile, line.*" \
>              "set tracepoint on main"
Ok , done.
> Basically, reasonably avoid false positives.
>
>> +gdb_test "tstart" "Target returns error code '01'\."
> Targets can send other error codes, so I think it'd be
> prudent to .* the '01' part, like:
>
> gdb_test "tstart" "Target returns error code.*\."
Ok, done.
> Can you also after this run to main?  That'd make sure that the
> target didn't crash or get wedged.  If you decide to use
> runto_main, wrap it in
>
> with_test_prefix "after tstart" {
>    ...
> }
Ho ok nice one :)
>
> to make its potential FAIL test message distinguishable from
> the runto_main at the top.
>
> Thanks,
> Pedro Alves
Thanks,

Updated patch follows :

Subject: [PATCH v3] gdbserver: Fix crash when QTinit is handled with no 
inferior
  process attached

When gdbserver is called with --multi and attach has not been called yet
and tstart is called on the gdb client, gdbserver would crash.
This patch fixes gdbserver so that it returns E01 to the gdb client.

Also this patch adds a testcase to verify this bug named no-attach-trace.exp

gdb/gdbserver/ChangeLog:
     PR breakpoints/15956
     * tracepoint.c (cmd_qtinit): Add check for current_thread.

gdb/testsuite/ChangeLog:
     * gdb.trace/no-attach-trace.c: New file.
     * gdb.trace/no-attach-trace.exp: New file.
---
  gdb/gdbserver/tracepoint.c                  |    7 ++++
  gdb/testsuite/gdb.trace/Makefile.in         |    4 +-
  gdb/testsuite/gdb.trace/no-attach-trace.c   |   26 +++++++++++++
  gdb/testsuite/gdb.trace/no-attach-trace.exp |   53 
+++++++++++++++++++++++++++
  4 files changed, 88 insertions(+), 2 deletions(-)
  create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.c
  create mode 100644 gdb/testsuite/gdb.trace/no-attach-trace.exp

diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index 82d6ce5..2382a11 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -2377,6 +2377,13 @@ cmd_qtinit (char *packet)
  {
    struct trace_state_variable *tsv, *prev, *next;

+  /* Can't do this command without a pid attached.  */
+  if (current_thread == NULL)
+    {
+      write_enn (packet);
+      return;
+    }
+
    /* Make sure we don't try to read from a trace frame.  */
    current_traceframe = -1;

diff --git a/gdb/testsuite/gdb.trace/Makefile.in 
b/gdb/testsuite/gdb.trace/Makefile.in
index 2e23223..514beab 100644
--- a/gdb/testsuite/gdb.trace/Makefile.in
+++ b/gdb/testsuite/gdb.trace/Makefile.in
@@ -4,8 +4,8 @@ srcdir = @srcdir@
  .PHONY: all clean mostlyclean distclean realclean

  PROGS = actions-changed ax backtrace deltrace disconnected-tracing \
-    infotrace packetlen passc-dyn passcount report save-trace tfile \
-    tfind tracecmd tsv unavailable while-dyn while-stepping
+    infotrace no-attach-trace packetlen passc-dyn passcount report \
+    save-trace tfile tfind tracecmd tsv unavailable while-dyn 
while-stepping

  all info install-info dvi install uninstall installcheck check:
      @echo "Nothing to be done for $@..."
diff --git a/gdb/testsuite/gdb.trace/no-attach-trace.c 
b/gdb/testsuite/gdb.trace/no-attach-trace.c
new file mode 100644
index 0000000..9b4ada8
--- /dev/null
+++ b/gdb/testsuite/gdb.trace/no-attach-trace.c
@@ -0,0 +1,26 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+   Copyright 2015 Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see 
<http://www.gnu.org/licenses/>.  */
+
+/* This program is intended to be a simple dummy program for gdb to 
read.  */
+
+#include <unistd.h>
+
+int
+main (void)
+{
+  return 0;
+}
diff --git a/gdb/testsuite/gdb.trace/no-attach-trace.exp 
b/gdb/testsuite/gdb.trace/no-attach-trace.exp
new file mode 100644
index 0000000..96135cb
--- /dev/null
+++ b/gdb/testsuite/gdb.trace/no-attach-trace.exp
@@ -0,0 +1,53 @@
+# This testcase is part of GDB, the GNU debugger.
+
+# Copyright 2015 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+# Test that trying to trace without a program attached fails properly.
+
+load_lib trace-support.exp
+
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile debug]} {
+    return -1
+}
+
+if ![runto_main] {
+    fail "Can't run to main to check for trace support"
+    return -1
+}
+
+if { ![gdb_target_supports_trace] } then {
+    unsupported "Current target does not support trace"
+    return 1
+
+}
+
+# Clean test state so that we have no process attached.
+clean_restart $testfile
+
+gdb_test "trace main" \
+    "Tracepoint \[0-9\] at.* file .*$srcfile, line.*" \
+    "set tracepoint on main"
+
+gdb_test "tstart" "Target returns error code.*\."
+
+with_test_prefix "after tstart" {
+    if ![runto_main] {
+    fail "Can't run to main, target may have died unexpectedly"
+    return -1
+    }
+}
-- 
1.7.9.5

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v3] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-06 16:25                   ` [PATCH v3] " Antoine Tremblay
@ 2015-02-06 17:11                     ` Pedro Alves
  2015-02-06 17:36                       ` Antoine Tremblay
  0 siblings, 1 reply; 14+ messages in thread
From: Pedro Alves @ 2015-02-06 17:11 UTC (permalink / raw)
  To: Antoine Tremblay, gdb-patches

On 02/06/2015 04:25 PM, Antoine Tremblay wrote:

> Subject: [PATCH v3] gdbserver: Fix crash when QTinit is handled with no 
> inferior

This is OK.

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v3] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-06 17:11                     ` Pedro Alves
@ 2015-02-06 17:36                       ` Antoine Tremblay
  2015-02-10 16:46                         ` Pedro Alves
  0 siblings, 1 reply; 14+ messages in thread
From: Antoine Tremblay @ 2015-02-06 17:36 UTC (permalink / raw)
  To: Pedro Alves, gdb-patches

On 02/06/2015 12:11 PM, Pedro Alves wrote:
> On 02/06/2015 04:25 PM, Antoine Tremblay wrote:
>
>> Subject: [PATCH v3] gdbserver: Fix crash when QTinit is handled with no
>> inferior
> This is OK.
>
> Thanks,
> Pedro Alves
Good :)

Could you help me to get an write access account so I can push it ?
I'm not quite sure how to proceed..

Regards,

Antoine Tremblay

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH v3] gdbserver: Fix crash when QTinit is handled with no inferior process attached
  2015-02-06 17:36                       ` Antoine Tremblay
@ 2015-02-10 16:46                         ` Pedro Alves
  0 siblings, 0 replies; 14+ messages in thread
From: Pedro Alves @ 2015-02-10 16:46 UTC (permalink / raw)
  To: Antoine Tremblay, gdb-patches

Hi Antoine,

On 02/06/2015 05:36 PM, Antoine Tremblay wrote:
> Could you help me to get an write access account so I can push it ?
> I'm not quite sure how to proceed..

Follow the instruction here: https://sourceware.org/cgi-bin/pdw/ps_form.cgi

List me as sponsor.

Once you have access, add yourself to the "Write After Approval"
list in the gdb/MAINTAINERS file, push that patch in (no need to wait for
approval), and post it to the list.

Welcome.  :-)

Thanks,
Pedro Alves

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-02-10 16:46 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-28 11:37 [PATCH] gdbserver: Fix crash when QTinit is handled with no inferior process attached Antoine Tremblay
2015-02-05 13:30 ` Antoine Tremblay
2015-02-05 13:37   ` Luis Machado
2015-02-05 13:44     ` Luis Machado
2015-02-05 13:53       ` Antoine Tremblay
2015-02-05 14:04         ` Luis Machado
2015-02-05 14:06           ` Antoine Tremblay
2015-02-05 17:36             ` Pedro Alves
2015-02-05 20:06               ` [PATCH v2] " Antoine Tremblay
2015-02-06 15:50                 ` Pedro Alves
2015-02-06 16:25                   ` [PATCH v3] " Antoine Tremblay
2015-02-06 17:11                     ` Pedro Alves
2015-02-06 17:36                       ` Antoine Tremblay
2015-02-10 16:46                         ` Pedro Alves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).