[0/2] GDB process record and reverse debugging improvements for arm*-linux*

Message ID 527C580B.5020100@linaro.org
State Superseded
Headers show

Commit Message

Omair Javaid Nov. 8, 2013, 3:18 a.m.
On Thu 24 Oct 2013 06:42:50 AM PKT, Yao Qi wrote:
> On 10/24/2013 08:09 AM, Omair Javaid wrote:
>> --- gdb/NEWS 11 Oct 2013 13:51:26 -0000 1.622
>> +++ gdb/NEWS 23 Oct 2013 20:34:42 -0000
>> @@ -3,6 +3,12 @@
>>
>>   *** Changes since GDB 7.6
>>
>> +* Improved support of process record-replay and reverse debugging on
>> +  arm*-linux* targets.
>> +
>> +Support for thumb32 instructions and syscall recording has been added.
>
> This change is user visible...
>
>> +gdb/testsuite/gdb.reverse is now enabled for arm*-linux* targets.
>> +
>
> while this is not.  This line is not necessary in NEWS.
>

Here is an updated patch.
== PATCH 0 ==

This patch adds a news entry about improved process record-replay on
arm*-linux* targets.
It also adds linux-record.o to gdb_target_obs in configure.tgt and
enables gdb.reverse testsuite for arm*-linux* targets.

gdb:

2013-11-08  Omair Javaid  <omair.javaid@linaro.org>

	* NEWS: Add note on improved process record-replay on arm*-linux*
	targets.
	* configure.tgt: Add linux-record.o to gdb_target_obs.

gdb/testsuite:

2013-10-24  Omair Javaid  <omair.javaid@linaro.org>

	* lib/gdb.exp: Enable gdb.reverse testsuite for arm*-linux* targets.


@@ -1789,7 +1790,8 @@ proc supports_reverse {} {
 	return [target_info gdb,can_reverse]
     }

-    if { [istarget "x86_64-*-linux*"] || [istarget 
"i\[34567\]86-*-linux*"] } {
+    if { [istarget "arm*-*-linux*"] || [istarget "x86_64-*-linux*"]
+         || [istarget "i\[34567\]86-*-linux*"] } {
 	return 1
     }

Comments

Eli Zaretskii Nov. 8, 2013, 7:25 a.m. | #1
> Date: Fri, 08 Nov 2013 08:18:35 +0500
> From: Omair Javaid <omair.javaid@linaro.org>
> CC: gdb-patches@sourceware.org, Patch Tracking <patches@linaro.org>
> 
> --- gdb/NEWS	11 Oct 2013 13:51:26 -0000	1.622
> +++ gdb/NEWS	7 Nov 2013 23:58:26 -0000
> @@ -3,6 +3,10 @@

This part is OK, but please make sure to have 2 spaces between
sentences

> +* Improved support of process record-replay and reverse debugging on
> +  arm*-linux* targets. Support for thumb32 and syscall instructions
                        ^^
here.

Thanks.
oza Pawandeep Nov. 8, 2013, 8:14 a.m. | #2
Hi,

the previous support for arm instruction and thumb instruction for record
and reply was added by me.
but there some reverse test case failing...and I had issues with employer
disclaimer, so could not proceed.
I got it now and is upto date with FSF.

some of the queries to you regarding thumb2 support ?

>








On Fri, Nov 8, 2013 at 12:55 PM, Eli Zaretskii <eliz@gnu.org> wrote:

> > Date: Fri, 08 Nov 2013 08:18:35 +0500
> > From: Omair Javaid <omair.javaid@linaro.org>
> > CC: gdb-patches@sourceware.org, Patch Tracking <patches@linaro.org>
> >
> > --- gdb/NEWS  11 Oct 2013 13:51:26 -0000      1.622
> > +++ gdb/NEWS  7 Nov 2013 23:58:26 -0000
> > @@ -3,6 +3,10 @@
>
> This part is OK, but please make sure to have 2 spaces between
> sentences
>
> > +* Improved support of process record-replay and reverse debugging on
> > +  arm*-linux* targets. Support for thumb32 and syscall instructions
>                         ^^
> here.
>
> Thanks.
>
oza Pawandeep Nov. 8, 2013, 8:16 a.m. | #3
sorry, the mail sent halfway.
here I go again.

Hi,

the previous support for arm instruction and thumb instruction for record
and reply was added by me.
but there some reverse test case failing...and I had issues with employer
disclaimer, so could not proceed.
I got it now and is upto date with FSF.

some of the queries to you regarding thumb2 support ?

1) did you bring in co processor support for thumb2 instruction ?

2) can you please run gdb-rever test suite and see if your code passes the
same ?


Regards,
Oza.











On Fri, Nov 8, 2013 at 1:44 PM, oza Pawandeep <oza.pawandeep@gmail.com>wrote:

> Hi,
>
> the previous support for arm instruction and thumb instruction for record
> and reply was added by me.
> but there some reverse test case failing...and I had issues with employer
> disclaimer, so could not proceed.
> I got it now and is upto date with FSF.
>
> some of the queries to you regarding thumb2 support ?
>
> >
>
>
>
>
>
>
>
>
> On Fri, Nov 8, 2013 at 12:55 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>
>> > Date: Fri, 08 Nov 2013 08:18:35 +0500
>> > From: Omair Javaid <omair.javaid@linaro.org>
>> > CC: gdb-patches@sourceware.org, Patch Tracking <patches@linaro.org>
>> >
>> > --- gdb/NEWS  11 Oct 2013 13:51:26 -0000      1.622
>> > +++ gdb/NEWS  7 Nov 2013 23:58:26 -0000
>> > @@ -3,6 +3,10 @@
>>
>> This part is OK, but please make sure to have 2 spaces between
>> sentences
>>
>> > +* Improved support of process record-replay and reverse debugging on
>> > +  arm*-linux* targets. Support for thumb32 and syscall instructions
>>                         ^^
>> here.
>>
>> Thanks.
>>
>
>
oza Pawandeep Nov. 8, 2013, 8:18 a.m. | #4
Hi,

The previous support for arm instruction and thumb instruction for
record and reply was added by me.
but there some reverse test case failing...
I had issues with employer disclaimer, so could not proceed.
I have got the disclaimer now and is up-to date with FSF.

some of the queries to you regarding thumb2 support ?

1) did you bring in co processor and dsp instruction support for thumb2 ?

2) can you please run gdb-rever test suite and see if your code passes
the same ?


Regards,
Oza.


On Fri, Nov 8, 2013 at 12:55 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>
> > Date: Fri, 08 Nov 2013 08:18:35 +0500
> > From: Omair Javaid <omair.javaid@linaro.org>
> > CC: gdb-patches@sourceware.org, Patch Tracking <patches@linaro.org>
> >
> > --- gdb/NEWS  11 Oct 2013 13:51:26 -0000      1.622
> > +++ gdb/NEWS  7 Nov 2013 23:58:26 -0000
> > @@ -3,6 +3,10 @@
>
> This part is OK, but please make sure to have 2 spaces between
> sentences
>
> > +* Improved support of process record-replay and reverse debugging on
> > +  arm*-linux* targets. Support for thumb32 and syscall instructions
>                         ^^
> here.
>
> Thanks.
Omair Javaid Nov. 11, 2013, 8:24 a.m. | #5
On Fri 08 Nov 2013 01:18:45 PM PKT, oza Pawandeep wrote:
> Hi,
>
> The previous support for arm instruction and thumb instruction for
> record and reply was added by me.
> but there some reverse test case failing...
> I had issues with employer disclaimer, so could not proceed.
> I have got the disclaimer now and is up-to date with FSF.
>
> some of the queries to you regarding thumb2 support ?
>
> 1) did you bring in co processor and dsp instruction support for thumb2 ?
>
> 2) can you please run gdb-rever test suite and see if your code passes
> the same ?
>
>
> Regards,
> Oza.
>
>
> On Fri, Nov 8, 2013 at 12:55 PM, Eli Zaretskii <eliz@gnu.org> wrote:
>>
>>> Date: Fri, 08 Nov 2013 08:18:35 +0500
>>> From: Omair Javaid <omair.javaid@linaro.org>
>>> CC: gdb-patches@sourceware.org, Patch Tracking <patches@linaro.org>
>>>
>>> --- gdb/NEWS  11 Oct 2013 13:51:26 -0000      1.622
>>> +++ gdb/NEWS  7 Nov 2013 23:58:26 -0000
>>> @@ -3,6 +3,10 @@
>>
>> This part is OK, but please make sure to have 2 spaces between
>> sentences
>>
>>> +* Improved support of process record-replay and reverse debugging on
>>> +  arm*-linux* targets. Support for thumb32 and syscall instructions
>>                          ^^
>> here.
>>
>> Thanks.
>

Hello Oza,

I really appreciate your work on arm process record and I am trying to 
improve on the work you have done previously. I have sent 3 patches 
upstream which include basic support for Thumb32 instructions and 
system call instructions along with some fixes.

There were around 1500 failures in gdb.reverse on arm that have been 
significantly reduced. Here is a current status of gdb.reverse test 
suite on arm targets:

arm-native configuration:
# of expected passes		2253
# of unexpected failures	71

arm-remote configuration:
# of expected passes		2142
# of unexpected failures	122

I am currently working on patches to fix above unexpected failures and 
also working on supporting co-processor and other unsupported 
instruction types.

--
Omair.

Patch

Index: gdb/NEWS
===================================================================
RCS file: /cvs/src/src/gdb/NEWS,v
retrieving revision 1.622
diff -u -p -r1.622 NEWS
--- gdb/NEWS	11 Oct 2013 13:51:26 -0000	1.622
+++ gdb/NEWS	7 Nov 2013 23:58:26 -0000
@@ -3,6 +3,10 @@ 

 *** Changes since GDB 7.6

+* Improved support of process record-replay and reverse debugging on
+  arm*-linux* targets. Support for thumb32 and syscall instructions
+  recording has been added.
+
 * GDB now supports Fission DWP file format version 2.
   http://gcc.gnu.org/wiki/DebugFission

Index: gdb/configure.tgt
===================================================================
RCS file: /cvs/src/src/gdb/configure.tgt,v
retrieving revision 1.281
diff -u -p -r1.281 configure.tgt
--- gdb/configure.tgt	1 Oct 2013 13:21:17 -0000	1.281
+++ gdb/configure.tgt	7 Nov 2013 23:58:29 -0000
@@ -89,7 +89,7 @@  arm*-wince-pe | arm*-*-mingw32ce*)
 arm*-*-linux*)
 	# Target: ARM based machine running GNU/Linux
 	gdb_target_obs="arm-tdep.o arm-linux-tdep.o glibc-tdep.o \
-			solib-svr4.o symfile-mem.o linux-tdep.o"
+			solib-svr4.o symfile-mem.o linux-tdep.o linux-record.o"
 	build_gdbserver=yes
 	;;
 arm*-*-netbsd* | arm*-*-knetbsd*-gnu)
Index: gdb/testsuite/lib/gdb.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/lib/gdb.exp,v
retrieving revision 1.250
diff -u -p -r1.250 gdb.exp
--- gdb/testsuite/lib/gdb.exp	18 Oct 2013 20:40:03 -0000	1.250
+++ gdb/testsuite/lib/gdb.exp	7 Nov 2013 23:58:32 -0000
@@ -1774,7 +1774,8 @@  proc supports_process_record {} {
 	return [target_info gdb,use_precord]
     }

-    if { [istarget "x86_64-*-linux*"] || [istarget 
"i\[34567\]86-*-linux*"] } {
+    if { [istarget "arm*-*-linux*"] || [istarget "x86_64-*-linux*"]
+         || [istarget "i\[34567\]86-*-linux*"] } {
 	return 1
     }