diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/msgctl.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/msgctl.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sysdeps/unix/sysv/linux/msgctl.c b/sysdeps/unix/sysv/linux/msgctl.c index 19d5ded19f..44ff0e5ac3 100644 --- a/sysdeps/unix/sysv/linux/msgctl.c +++ b/sysdeps/unix/sysv/linux/msgctl.c @@ -111,7 +111,11 @@ int attribute_compat_text_section __old_msgctl (int msqid, int cmd, struct __old_msqid_ds *buf) { -#ifdef __ASSUME_DIRECT_SYSVIPC_SYSCALLS +#if defined __ASSUME_DIRECT_SYSVIPC_SYSCALLS \ + && !defined __ASSUME_SYSVIPC_DEFAULT_IPC_64 + /* For architecture that have wire-up msgctl but also have __IPC_64 to a + value different than default (0x0) it means the compat symbol used the + __NR_ipc syscall. */ return INLINE_SYSCALL_CALL (msgctl, msqid, cmd, buf); #else return INLINE_SYSCALL_CALL (ipc, IPCOP_msgctl, msqid, cmd, 0, buf); |