aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2012-06-07 15:02:49 -0700
committerRichard Henderson <rth@twiddle.net>2012-08-04 09:37:49 -0700
commit0229f5a30efa7af51ac750fa0720a2e37978644e (patch)
tree89ed12313296fadfde87908591171bf0000a4f32
parent0e141977e690ee6cd06e5a842eae0be291297efa (diff)
downloadqemu-0229f5a30efa7af51ac750fa0720a2e37978644e.zip
qemu-0229f5a30efa7af51ac750fa0720a2e37978644e.tar.gz
qemu-0229f5a30efa7af51ac750fa0720a2e37978644e.tar.bz2
alpha-linux-user: Properly handle the non-rt sigprocmask syscall.
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>
-rw-r--r--linux-user/alpha/syscall_nr.h2
-rw-r--r--linux-user/syscall.c3
2 files changed, 2 insertions, 3 deletions
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;