Patchwork Modification to remove a h2g() call and calculate properly instead

login
register
mail settings
Submitter Samuel Seay
Date Jan. 5, 2013, 12:35 a.m.
Message ID <1357346148-26703-1-git-send-email-LightningTH@GMail.com>
Download mbox | patch
Permalink /patch/209581/
State New
Headers show

Comments

Samuel Seay - Jan. 5, 2013, 12:35 a.m.
Peter Maydell recommended the change to be more proper. The result was tested
and shows coming up with the same proper value.

Signed-off-by: Samuel Seay <LightningTH@GMail.com>
---
 linux-user/signal.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Alexander Graf - Jan. 7, 2013, 3:22 p.m.
On 05.01.2013, at 01:35, Samuel Seay wrote:

> Peter Maydell recommended the change to be more proper. The result was tested
> and shows coming up with the same proper value.
> 
> Signed-off-by: Samuel Seay <LightningTH@GMail.com>

Thanks, applied to ppc-next with a modified subject line.

Please take a few minutes and read through patch subjects and patch descriptions of other people's patches (just run git log) to get a hang for what exactly would be useful to have in there and what wouldn't.


Alex

> ---
> linux-user/signal.c |    2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/linux-user/signal.c b/linux-user/signal.c
> index c43b8ac..bb08a93 100644
> --- a/linux-user/signal.c
> +++ b/linux-user/signal.c
> @@ -4614,7 +4614,7 @@ static void setup_frame(int sig, struct target_sigaction *ka,
>     /* Set up registers for signal handler.  */
>     env->gpr[1] = newsp;
>     env->gpr[3] = signal;
> -    env->gpr[4] = (target_ulong) h2g(sc);
> +    env->gpr[4] = frame_addr + offsetof(struct target_sigframe, sctx);
>     env->nip = (target_ulong) ka->_sa_handler;
>     /* Signal handlers are entered in big-endian mode.  */
>     env->msr &= ~MSR_LE;
> -- 
> 1.7.9.5
> 
>

Patch

diff --git a/linux-user/signal.c b/linux-user/signal.c
index c43b8ac..bb08a93 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -4614,7 +4614,7 @@  static void setup_frame(int sig, struct target_sigaction *ka,
     /* Set up registers for signal handler.  */
     env->gpr[1] = newsp;
     env->gpr[3] = signal;
-    env->gpr[4] = (target_ulong) h2g(sc);
+    env->gpr[4] = frame_addr + offsetof(struct target_sigframe, sctx);
     env->nip = (target_ulong) ka->_sa_handler;
     /* Signal handlers are entered in big-endian mode.  */
     env->msr &= ~MSR_LE;