Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Yao Qi <yao@codesourcery.com>
To: Omair Javaid <omair.javaid@linaro.org>
Cc: <gdb-patches@sourceware.org>, Patch Tracking <patches@linaro.org>
Subject: Re: [PATCH 2/2] GDB process record and reverse debugging improvements for arm*-linux*
Date: Mon, 11 Nov 2013 10:01:00 -0000	[thread overview]
Message-ID: <5280A8CA.3040307@codesourcery.com> (raw)
In-Reply-To: <527C5887.8070304@linaro.org>

On 11/08/2013 11:20 AM, Omair Javaid wrote:
> 2013-11-08  Omair Javaid<omair.javaid@linaro.org>
>
> 	* arm-linux-tdep.c (struct arm_linux_record_tdep): Declare.
> 	(arm_canonicalize_syscall): New function.
> 	(arm_all_but_pc_registers_record): New function.
> 	(arm_linux_syscall_record): New function.
> 	(arm_linux_init_abi): Add syscall recording constructs.
> 	* arm-tdep.c (thumb_record_ldm_stm_swi): Update thumb syscall decoding.
> 	(arm_record_coproc_data_proc): Update arm syscall decoding.
> 	* arm-tdep.h (gdbarch_tdep): Update arm_syscall_record declaration.
>

We can write the last entry like this:

	* arm-tdep.h (struct gdbarch_tdep) <arm_swi_record>: Remove.
	<arm_syscall_record>: New field.

>
> +#include "record-full.h"
> +#include "linux-record.h"
> +

We should mention these two inclusions in ChangeLog too, like

	* arm-linux-tdep.c: Include "record-full.h" and
	"linux-record.h".

>   #include "cli/cli-utils.h"
>   #include "stap-probe.h"
>   #include "parser-defs.h"
> @@ -1231,6 +1234,98 @@ arm_stap_parse_special_token (struct gdb
>     return 1;
>   }
>
> +/* ARM process record-replay constructs; syscall, signal etc.  */
> +
> +struct linux_record_tdep arm_linux_record_tdep;
> +
> +/* arm_canonicalize_syscall maps from the native arm Linux set
> +   of syscall ids into a canonical set of syscall ids used by
> +   process record.  */
> +
> +static enum gdb_syscall
> +arm_canonicalize_syscall (int syscall)
> +{
> +  enum { sys_process_vm_writev = 377 };
> +
> +  if (syscall <=  gdb_sys_sched_getaffinity)
> +    {
> +      return syscall;
> +    }

Unnecessary braces.

> +  else if (syscall >= 243 && syscall <= 247 )
> +    {
> +      return syscall + 2;
> +    }
> +  else if (syscall >= 248 && syscall <= 253 )
> +    {
> +      return syscall + 4;
> +    }
> +
> +  return -1;
> +}

> +
> +/* Handler for arm system call instruction and recording.  */
> +
> +static int
> +arm_linux_syscall_record (struct regcache *regcache, unsigned long
> svc_number)

Your mailer should wrap your patch.  That means other people can't apply 
your patch cleanly.

Patch looks good to me but you still need a maintainer's approval.

-- 
Yao (齐尧)


  reply	other threads:[~2013-11-11  9:53 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-10-24  0:09 Omair Javaid
2013-10-24  2:32 ` Yao Qi
2013-11-08  5:32   ` Omair Javaid
2013-11-11 10:01     ` Yao Qi [this message]
2013-11-11 10:08       ` oza Pawandeep
     [not found]         ` <CANW4E-08KZaKZHXqKyw+T8KdrFAU8Z2UeAiQMej2LqdCVYu8oA@mail.gmail.com>
2013-11-24 23:48           ` Omair Javaid
2013-12-17 10:23             ` Omair Javaid
2013-12-20 12:37             ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5280A8CA.3040307@codesourcery.com \
    --to=yao@codesourcery.com \
    --cc=gdb-patches@sourceware.org \
    --cc=omair.javaid@linaro.org \
    --cc=patches@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox