summaryrefslogtreecommitdiff
path: root/linux
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2012-03-15 00:45:33 -0400
committerDmitry V. Levin <ldv@altlinux.org>2012-03-15 20:14:17 +0000
commitdde045c13f77ca477aa59e19d0b50ae4afa906b6 (patch)
treee7c000ef625a75d260545b4fb741f0c5ba2ea699 /linux
parent384b0ada7d821f3797bf5d72dcf096032d662193 (diff)
downloadstrace-dde045c13f77ca477aa59e19d0b50ae4afa906b6.tar.gz
strace-dde045c13f77ca477aa59e19d0b50ae4afa906b6.tar.bz2
strace-dde045c13f77ca477aa59e19d0b50ae4afa906b6.tar.xz
alpha: fix decode of osf_sigprocmask
The alpha sigprocmask syscall is special in that it comes from OSF rather than the style that everyone else uses. Tested with this simple code: $ cat test.c #include <signal.h> main() { sigset_t set, oldset; sigemptyset(&set); sigaddset(&set, SIGINT); sigaddset(&set, SIGHUP); sigprocmask(SIG_SETMASK, &set, &oldset); sigprocmask(SIG_UNBLOCK, &oldset, &set); sleep(3); } $ gcc test.c && ./strace ./a.out ... osf_sigprocmask(SIG_SETMASK, [HUP INT]) = 0 (old mask []) osf_sigprocmask(SIG_UNBLOCK, []) = 0x3 (old mask [HUP INT]) osf_sigprocmask(SIG_BLOCK, [CHLD]) = 0x3 (old mask [HUP INT]) ... * linux/alpha/syscallent.h: Call sys_sigprocmask for osf_sigprocmask, and change number of arguments to two. * signal.c (sys_sigprocmask): Fix decoding of alpha osf sigprocmask. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'linux')
-rw-r--r--linux/alpha/syscallent.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/linux/alpha/syscallent.h b/linux/alpha/syscallent.h
index c7297cd..85c341a 100644
--- a/linux/alpha/syscallent.h
+++ b/linux/alpha/syscallent.h
@@ -76,7 +76,7 @@
{ 3, TD|TF, sys_open, "open" }, /* 45 */
{ 5, 0, printargs, "osf_old_sigaction" }, /* 46, not implemented */
{ 1, NF, sys_getgid, "getxgid" }, /* 47 */
- { 3, TS, printargs, "osf_sigprocmask" }, /* 48 */
+ { 2, TS, sys_sigprocmask, "osf_sigprocmask" }, /* 48 */
{ 5, 0, printargs, "osf_getlogin" }, /* 49, not implemented */
{ 5, 0, printargs, "osf_setlogin" }, /* 50, not implemented */
{ 1, TF, sys_acct, "acct" }, /* 51 */