|
@@ -48,13 +48,17 @@ void * shmat (int shmid, const void *shmaddr, int shmflg)
|
|
|
#ifdef L_shmctl
|
|
|
|
|
|
#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
|
|
|
|
|
|
|