From: Tom Hughes Date: Thu, 21 Feb 2013 10:57:23 +0000 (+0000) Subject: Make msgrcv wrappers on amd64, arm and mips32 look for IPC_NOWAIT in X-Git-Tag: svn/VALGRIND_3_9_0~392 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0d1fe31512c27a63dd666bbd6b83e8a47b89db42;p=thirdparty%2Fvalgrind.git Make msgrcv wrappers on amd64, arm and mips32 look for IPC_NOWAIT in the flags argument, not the type argument. Fixes #315534. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13289 --- diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c index 2f2b0a4509..aaceed8d3e 100644 --- a/coregrind/m_syswrap/syswrap-amd64-linux.c +++ b/coregrind/m_syswrap/syswrap-amd64-linux.c @@ -933,7 +933,7 @@ PRE(sys_msgrcv) int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz, long, msgytp, int, msgflg); ML_(linux_PRE_sys_msgrcv)(tid, ARG1,ARG2,ARG3,ARG4,ARG5); - if ((ARG4 & VKI_IPC_NOWAIT) == 0) + if ((ARG5 & VKI_IPC_NOWAIT) == 0) *flags |= SfMayBlock; } POST(sys_msgrcv) diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c index f60d771c2f..42f8fd1df6 100644 --- a/coregrind/m_syswrap/syswrap-arm-linux.c +++ b/coregrind/m_syswrap/syswrap-arm-linux.c @@ -606,7 +606,7 @@ PRE(sys_msgrcv) int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz, long, msgytp, int, msgflg); ML_(linux_PRE_sys_msgrcv)(tid, ARG1,ARG2,ARG3,ARG4,ARG5); - if ((ARG4 & VKI_IPC_NOWAIT) == 0) + if ((ARG5 & VKI_IPC_NOWAIT) == 0) *flags |= SfMayBlock; } POST(sys_msgrcv) diff --git a/coregrind/m_syswrap/syswrap-mips32-linux.c b/coregrind/m_syswrap/syswrap-mips32-linux.c index 47d1cee8a8..f21f2acc96 100644 --- a/coregrind/m_syswrap/syswrap-mips32-linux.c +++ b/coregrind/m_syswrap/syswrap-mips32-linux.c @@ -616,7 +616,7 @@ PRE (sys_msgrcv) PRE_REG_READ5 (long, "msgrcv", int, msqid, struct msgbuf *, msgp, vki_size_t, msgsz, long, msgytp, int, msgflg); ML_ (linux_PRE_sys_msgrcv) (tid, ARG1, ARG2, ARG3, ARG4, ARG5); - if ((ARG4 & VKI_IPC_NOWAIT) == 0) + if ((ARG5 & VKI_IPC_NOWAIT) == 0) *flags |= SfMayBlock; }