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>
This commit is contained in:
parent
0e141977e6
commit
0229f5a30e
@ -46,7 +46,7 @@
|
|||||||
#define TARGET_NR_open 45
|
#define TARGET_NR_open 45
|
||||||
#define TARGET_NR_osf_old_sigaction 46 /* not implemented */
|
#define TARGET_NR_osf_old_sigaction 46 /* not implemented */
|
||||||
#define TARGET_NR_getxgid 47
|
#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_getlogin 49 /* not implemented */
|
||||||
#define TARGET_NR_osf_setlogin 50 /* not implemented */
|
#define TARGET_NR_osf_setlogin 50 /* not implemented */
|
||||||
#define TARGET_NR_acct 51
|
#define TARGET_NR_acct 51
|
||||||
|
@ -5881,11 +5881,10 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
|
|||||||
target_to_host_old_sigset(&set, &mask);
|
target_to_host_old_sigset(&set, &mask);
|
||||||
|
|
||||||
ret = get_errno(sigprocmask(how, &set, &oldset));
|
ret = get_errno(sigprocmask(how, &set, &oldset));
|
||||||
|
|
||||||
if (!is_error(ret)) {
|
if (!is_error(ret)) {
|
||||||
host_to_target_old_sigset(&mask, &oldset);
|
host_to_target_old_sigset(&mask, &oldset);
|
||||||
ret = mask;
|
ret = mask;
|
||||||
((CPUAlphaState *)cpu_env)->[IR_V0] = 0; /* force no error */
|
((CPUAlphaState *)cpu_env)->ir[IR_V0] = 0; /* force no error */
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
sigset_t set, oldset, *set_ptr;
|
sigset_t set, oldset, *set_ptr;
|
||||||
|
Loading…
Reference in New Issue
Block a user