FreeBSD Bugzilla – Attachment 200137 Details for
Bug 234045
devel/valgrind: Add sigwait syscall support
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch
valgrind-sigwait.patch (text/plain), 4.56 KB, created by
Ivan Rozhuk
on 2018-12-15 21:50:19 UTC
(
hide
)
Description:
patch
Filename:
MIME Type:
Creator:
Ivan Rozhuk
Created:
2018-12-15 21:50:19 UTC
Size:
4.56 KB
patch
obsolete
>Index: devel/valgrind/Makefile >=================================================================== >--- devel/valgrind/Makefile (revision 487542) >+++ devel/valgrind/Makefile (working copy) >@@ -51,7 +51,8 @@ > ${FILESDIR}/accept4_syscall.patch:-p1 \ > ${FILESDIR}/jail_syscalls.patch:-p1 \ > ${FILESDIR}/kldload_syscalls.patch:-p1 \ >- ${FILESDIR}/missing_fcntls.patch:-p1 >+ ${FILESDIR}/missing_fcntls.patch:-p1 \ >+ ${FILESDIR}/sigwait.patch:-p1 > > PORTDOCS= html > >Index: devel/valgrind/files/sigwait.patch >=================================================================== >--- devel/valgrind/files/sigwait.patch (nonexistent) >+++ devel/valgrind/files/sigwait.patch (working copy) >@@ -0,0 +1,46 @@ >+--- a/coregrind/m_syswrap/syswrap-freebsd.c 2018-12-12 19:09:24.180201000 +0300 >++++ b/coregrind/m_syswrap/syswrap-freebsd.c 2018-12-13 15:13:53.279566000 +0300 >+@@ -2537,6 +2537,24 @@ >+ POST_MEM_WRITE( ARG2, sizeof(vki_siginfo_t) ); >+ } >+ >++PRE(sys_sigwait) >++{ >++ *flags |= SfMayBlock; >++ PRINT("sys_sigwait ( %#lx, %#lx )", >++ ARG1,ARG2); >++ PRE_REG_READ2(long, "sigwait", >++ const vki_sigset_t *, set, int *, sig); >++ if (ARG1 != 0) >++ PRE_MEM_READ( "sigwait(set)", ARG1, sizeof(vki_sigset_t)); >++ if (ARG2 != 0) >++ PRE_MEM_WRITE( "sigwait(sig)", ARG2, sizeof(int*)); >++} >++POST(sys_sigwait) >++{ >++ if (ARG2 != 0) >++ POST_MEM_WRITE( ARG2, sizeof(int*)); >++} >++ >+ #if 0 /* not on freebsd 4.x */ >+ PRE(sys_rt_sigqueueinfo) >+ { >+@@ -4309,7 +4340,7 @@ >+ BSDX_(__NR___acl_delete_link, sys___acl_delete_link), // 427 >+ >+ BSDX_(__NR___acl_aclcheck_link, sys___acl_aclcheck_link), // 428 >+- //!sigwait 429 >++ BSDXY(__NR_sigwait, sys_sigwait), // 429 >+ // thr_create 430 >+ BSDX_(__NR_thr_exit, sys_thr_exit), // 431 >+ >+--- a/coregrind/m_syswrap/priv_syswrap-freebsd.h 2018-12-13 15:16:09.551822000 +0300 >++++ b/coregrind/m_syswrap/priv_syswrap-freebsd.h 2018-12-13 15:16:16.487873000 +0300 >+@@ -181,6 +181,7 @@ >+ DECL_TEMPLATE(freebsd, sys_fake_sigreturn); >+ DECL_TEMPLATE(freebsd, sys_sigtimedwait); >+ DECL_TEMPLATE(freebsd, sys_sigwaitinfo); >++DECL_TEMPLATE(freebsd, sys_sigwait); >+ DECL_TEMPLATE(freebsd, sys_getcontext); >+ DECL_TEMPLATE(freebsd, sys_setcontext); >+ DECL_TEMPLATE(freebsd, sys_swapcontext); >Index: devel/valgrind-devel/Makefile >=================================================================== >--- devel/valgrind-devel/Makefile (revision 487542) >+++ devel/valgrind-devel/Makefile (working copy) >@@ -52,7 +52,8 @@ > ${FILESDIR}/accept4_syscall.patch:-p1 \ > ${FILESDIR}/jail_syscalls.patch:-p1 \ > ${FILESDIR}/kldload_syscalls.patch:-p1 \ >- ${FILESDIR}/missing_fcntls.patch:-p1 >+ ${FILESDIR}/missing_fcntls.patch:-p1 \ >+ ${FILESDIR}/sigwait.patch:-p1 > > PORTDOCS= html > >Index: devel/valgrind-devel/files/sigwait.patch >=================================================================== >--- devel/valgrind-devel/files/sigwait.patch (nonexistent) >+++ devel/valgrind-devel/files/sigwait.patch (working copy) >@@ -0,0 +1,46 @@ >+--- a/coregrind/m_syswrap/syswrap-freebsd.c 2018-12-12 19:09:24.180201000 +0300 >++++ b/coregrind/m_syswrap/syswrap-freebsd.c 2018-12-13 15:13:53.279566000 +0300 >+@@ -2537,6 +2537,24 @@ >+ POST_MEM_WRITE( ARG2, sizeof(vki_siginfo_t) ); >+ } >+ >++PRE(sys_sigwait) >++{ >++ *flags |= SfMayBlock; >++ PRINT("sys_sigwait ( %#lx, %#lx )", >++ ARG1,ARG2); >++ PRE_REG_READ2(long, "sigwait", >++ const vki_sigset_t *, set, int *, sig); >++ if (ARG1 != 0) >++ PRE_MEM_READ( "sigwait(set)", ARG1, sizeof(vki_sigset_t)); >++ if (ARG2 != 0) >++ PRE_MEM_WRITE( "sigwait(sig)", ARG2, sizeof(int*)); >++} >++POST(sys_sigwait) >++{ >++ if (ARG2 != 0) >++ POST_MEM_WRITE( ARG2, sizeof(int*)); >++} >++ >+ #if 0 /* not on freebsd 4.x */ >+ PRE(sys_rt_sigqueueinfo) >+ { >+@@ -4309,7 +4340,7 @@ >+ BSDX_(__NR___acl_delete_link, sys___acl_delete_link), // 427 >+ >+ BSDX_(__NR___acl_aclcheck_link, sys___acl_aclcheck_link), // 428 >+- //!sigwait 429 >++ BSDXY(__NR_sigwait, sys_sigwait), // 429 >+ // thr_create 430 >+ BSDX_(__NR_thr_exit, sys_thr_exit), // 431 >+ >+--- a/coregrind/m_syswrap/priv_syswrap-freebsd.h 2018-12-13 15:16:09.551822000 +0300 >++++ b/coregrind/m_syswrap/priv_syswrap-freebsd.h 2018-12-13 15:16:16.487873000 +0300 >+@@ -181,6 +181,7 @@ >+ DECL_TEMPLATE(freebsd, sys_fake_sigreturn); >+ DECL_TEMPLATE(freebsd, sys_sigtimedwait); >+ DECL_TEMPLATE(freebsd, sys_sigwaitinfo); >++DECL_TEMPLATE(freebsd, sys_sigwait); >+ DECL_TEMPLATE(freebsd, sys_getcontext); >+ DECL_TEMPLATE(freebsd, sys_setcontext); >+ DECL_TEMPLATE(freebsd, sys_swapcontext);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
rozhuk.im
:
maintainer-approval?
Actions:
View
|
Diff
Attachments on
bug 234045
: 200137