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

login
register
mail settings
Submitter Richard Henderson
Date Aug. 3, 2012, 10:40 p.m.
Message ID <1344033657-9135-10-git-send-email-rth@twiddle.net>
Download mbox | patch
Permalink /patch/175059/
State New
Headers show

Comments

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

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
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(-)

Patch

diff --git a/linux-user/alpha/syscall_nr.h b/linux-user/alpha/syscall_nr.h
index f6284db..ac2b6e2 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 07823e1..0d3fff5 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;