summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libc/misc/sysvipc/msgq.c14
-rw-r--r--libc/misc/sysvipc/shm.c14
2 files changed, 18 insertions, 10 deletions
diff --git a/libc/misc/sysvipc/msgq.c b/libc/misc/sysvipc/msgq.c
index 540c498d6..758dbaa47 100644
--- a/libc/misc/sysvipc/msgq.c
+++ b/libc/misc/sysvipc/msgq.c
@@ -6,14 +6,18 @@
#ifdef L_msgctl
#ifdef __NR_msgctl
-_syscall3(int, msgctl, int, msqid, int, cmd, struct msqid_ds *, buf);
-#else
+#define __NR___libc_msgctl __NR_msgctl
+_syscall3(int, __libc_msgctl, int, msqid, int, cmd, struct msqid_ds *, buf);
+#endif
/* Message queue control operation. */
-int msgctl (int msqid, int cmd, struct msqid_ds *buf)
+int msgctl(int msqid, int cmd, struct msqid_ds *buf)
{
- return __syscall_ipc(IPCOP_msgctl ,msqid ,cmd | __IPC_64 ,0 ,buf);
-}
+#ifdef __NR_msgctl
+ return __libc_msgctl(msqid, cmd | __IPC_64, buf);
+#else
+ return __syscall_ipc(IPCOP_msgctl, msqid, cmd | __IPC_64, 0, buf);
#endif
+}
#endif
diff --git a/libc/misc/sysvipc/shm.c b/libc/misc/sysvipc/shm.c
index d3ef42802..29f3178d6 100644
--- a/libc/misc/sysvipc/shm.c
+++ b/libc/misc/sysvipc/shm.c
@@ -48,13 +48,17 @@ void * shmat (int shmid, const void *shmaddr, int shmflg)
#ifdef L_shmctl
/* Provide operations to control over shared memory segments. */
#ifdef __NR_shmctl
-_syscall3(int, shmctl, int, shmid, int, cmd, struct shmid_ds *, buf);
-#else
-int shmctl (int shmid, int cmd, struct shmid_ds *buf)
+#define __NR___libc_shmctl __NR_shmctl
+_syscall3(int, __libc_shmctl, int, shmid, int, cmd, struct shmid_ds *, buf);
+#endif
+int shmctl(int shmid, int cmd, struct shmid_ds *buf)
{
- return __syscall_ipc(IPCOP_shmctl, shmid, cmd | __IPC_64 , 0, buf);
-}
+#ifdef __NR_shmctl
+ return __libc_shmctl(shmid, cmd | __IPC_64, buf);
+#else
+ return __syscall_ipc(IPCOP_shmctl, shmid, cmd | __IPC_64, 0, buf);
#endif
+}
#endif