diff mbox

[v2] Use frame->retcode instead of frame address for alpha target restorer

Message ID 1459352560-4520-1-git-send-email-chengang@emindsoft.com.cn (mailing list archive)
State New, archived
Headers show

Commit Message

Chen Gang March 30, 2016, 3:42 p.m. UTC
From: Chen Gang <chengang@emindsoft.com.cn>

The restorer needs the return code address which is frame->retcode, not
frame itself.

Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
---
 linux-user/signal.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Richard Henderson March 30, 2016, 4:08 p.m. UTC | #1
On 03/30/2016 08:42 AM, chengang@emindsoft.com.cn wrote:
> From: Chen Gang <chengang@emindsoft.com.cn>
> 
> The restorer needs the return code address which is frame->retcode, not
> frame itself.
> 
> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
> ---
>  linux-user/signal.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Reviewed-by: Richard Henderson <rth@twiddle.net>


r~
Laurent Vivier March 30, 2016, 4:09 p.m. UTC | #2
Le 30/03/2016 17:42, chengang@emindsoft.com.cn a écrit :
> From: Chen Gang <chengang@emindsoft.com.cn>
> 
> The restorer needs the return code address which is frame->retcode, not
> frame itself.
> 
> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>

Reviewed-by: Laurent Vivier <laurent@vivier.eu>
Chen Gang March 31, 2016, 1:57 p.m. UTC | #3
On 3/31/16 00:09, Laurent Vivier wrote:
> 
> Le 30/03/2016 17:42, chengang@emindsoft.com.cn a écrit :
>> From: Chen Gang <chengang@emindsoft.com.cn>
>>
>> The restorer needs the return code address which is frame->retcode, not
>> frame itself.
>>
>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
> 
> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
> 

Thank all of you for your reviewing.

Next, I shall try to finish tilegx floating point insns.

Thanks.
Chen Gang April 17, 2016, 9:32 a.m. UTC | #4
Hello all:

I am very sorry for delay finishing tilegx floating points insns.

The reason is that during these days (I guess, until 2016-05-01), I have
no any free time.

 - During these days, I am often not at home (sleep in a hotel near the
   office), and often work in the weekend.

 - It is about the android frameworks/base, which is mostly written in
   Java. It is of cause very simple to me, but really quite much work
   need be done.

 - And I guess, after 2016-05-01, I have enough free time resources on
   our tilegx floating point insns.

And sorry again for my delaying, if we can not bear the time point,
please help implement the tilegx floating point insns.

Thanks.

On 3/31/16 21:57, Chen Gang wrote:
> 
> On 3/31/16 00:09, Laurent Vivier wrote:
>>
>> Le 30/03/2016 17:42, chengang@emindsoft.com.cn a écrit :
>>> From: Chen Gang <chengang@emindsoft.com.cn>
>>>
>>> The restorer needs the return code address which is frame->retcode, not
>>> frame itself.
>>>
>>> Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>
>>
>> Reviewed-by: Laurent Vivier <laurent@vivier.eu>
>>
> 
> Thank all of you for your reviewing.
> 
> Next, I shall try to finish tilegx floating point insns.
> 
> Thanks.
>
diff mbox

Patch

diff --git a/linux-user/signal.c b/linux-user/signal.c
index e487f9e..34367ce 100644
--- a/linux-user/signal.c
+++ b/linux-user/signal.c
@@ -5396,7 +5396,7 @@  static void setup_frame(int sig, struct target_sigaction *ka,
                    &frame->retcode[1]);
         __put_user(INSN_CALLSYS, &frame->retcode[2]);
         /* imb() */
-        r26 = frame_addr;
+        r26 = frame_addr + offsetof(struct target_sigframe, retcode);
     }
 
     unlock_user_struct(frame, frame_addr, 1);
@@ -5455,7 +5455,7 @@  static void setup_rt_frame(int sig, struct target_sigaction *ka,
                    &frame->retcode[1]);
         __put_user(INSN_CALLSYS, &frame->retcode[2]);
         /* imb(); */
-        r26 = frame_addr;
+        r26 = frame_addr + offsetof(struct target_rt_sigframe, retcode);
     }
 
     if (err) {