Patchwork [09/10] alpha-linux-user: Properly handle the non-rt sigprocmask syscall.

login
register
mail settings
Submitter Richard Henderson
Date July 25, 2012, 10:10 p.m.
Message ID <1343254238-4727-10-git-send-email-rth@twiddle.net>
Download mbox | patch
Permalink /patch/173301/
State New
Headers show

Comments

Richard Henderson - July 25, 2012, 10:10 p.m.
Name the syscall properly for QEMU, kernel source notwithstanding.
Fix syntax errors in the code thus enabled within do_syscall.

Signed-off-by: Richard Henderson <rth@twiddle.net>
---
 linux-user/alpha/syscall_nr.h |    2 +-
 linux-user/syscall.c          |    3 +--
 2 files changed, 2 insertions(+), 3 deletions(-)
Peter Maydell - Aug. 2, 2012, 2:41 p.m.
On 25 July 2012 23:10, Richard Henderson <rth@twiddle.net> wrote:
> Name the syscall properly for QEMU, kernel source notwithstanding.
> Fix syntax errors in the code thus enabled within do_syscall.
>
> Signed-off-by: Richard Henderson <rth@twiddle.net>

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>

-- PMM

Patch

diff --git a/linux-user/alpha/syscall_nr.h b/linux-user/alpha/syscall_nr.h
index f6284db..49648a1 100644
--- a/linux-user/alpha/syscall_nr.h
+++ b/linux-user/alpha/syscall_nr.h
@@ -46,7 +46,7 @@ 
 #define TARGET_NR_open		 45
 #define TARGET_NR_osf_old_sigaction	 46	/* not implemented */
 #define TARGET_NR_getxgid		 47
-#define TARGET_NR_osf_sigprocmask	 48
+#define TARGET_NR_sigprocmask	 48
 #define TARGET_NR_osf_getlogin	 49	/* not implemented */
 #define TARGET_NR_osf_setlogin	 50	/* not implemented */
 #define TARGET_NR_acct		 51
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 1a12f14..2e1c1c0 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -5881,11 +5881,10 @@  abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
             target_to_host_old_sigset(&set, &mask);
 
             ret = get_errno(sigprocmask(how, &set, &oldset));
-
             if (!is_error(ret)) {
                 host_to_target_old_sigset(&mask, &oldset);
                 ret = mask;
-                ((CPUAlphaState *)cpu_env)->[IR_V0] = 0; /* force no error */
+                ((CPUAlphaState *)cpu_env)->ir[IR_V0] = 0; /* force no error */
             }
 #else
             sigset_t set, oldset, *set_ptr;