|
From: <sv...@va...> - 2012-10-21 21:49:40
|
philippe 2012-10-21 22:49:33 +0100 (Sun, 21 Oct 2012)
New Revision: 13079
Log:
Follow-up to sys_ipc restructuration
Rev 13078 removed a PRE call (for SEMCTL) in the POST(sys_ipc).
This commit adds the correct POST call for SEMCTL in POST(sys_ipc).
(note: some tests are missing in this area, as removing PRE
and adding POST did not cause any test result to change).
This is the last patch to restructure the sys_ipc code.
After this patch, should be able to do the real fix
for 23837 (semctl GETVAL false positive)
Modified files:
trunk/coregrind/m_syswrap/syswrap-linux.c
Modified: trunk/coregrind/m_syswrap/syswrap-linux.c (+7 -1)
===================================================================
--- trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 22:13:39 +01:00 (rev 13078)
+++ trunk/coregrind/m_syswrap/syswrap-linux.c 2012-10-21 22:49:33 +01:00 (rev 13079)
@@ -3303,7 +3303,8 @@
PRE(sys_ipc)
{
- PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )", ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
+ PRINT("sys_ipc ( %ld, %ld, %ld, %ld, %#lx, %ld )",
+ ARG1,ARG2,ARG3,ARG4,ARG5,ARG6);
// XXX: this is simplistic -- some args are not used in all circumstances.
PRE_REG_READ6(int, "ipc",
vki_uint, call, int, first, int, second, int, third,
@@ -3387,8 +3388,13 @@
switch (ARG1 /* call */) {
case VKI_SEMOP:
case VKI_SEMGET:
+ break;
case VKI_SEMCTL:
+ {
+ UWord arg = deref_Addr( tid, ARG5, "semctl(arg)" );
+ ML_(generic_POST_sys_semctl)( tid, RES, ARG2, ARG3, ARG4, arg );
break;
+ }
case VKI_SEMTIMEDOP:
case VKI_MSGSND:
break;
|