[PATCH] aarch64: Fix ipc_perm definition for ILP32
Steve Ellcey
sellcey@cavium.com
Tue Aug 22 17:46:00 GMT 2017
Here is another aarch64 ILP32 patch.  The mode field in ipc_perm in ILP32
should be a 16 bit field, not a 32 bit one.  This was out-of-sync with what the
kernel had.  This was causing sysvipc/test-sysvsem to fail in ILP32 mode.
This change is only needed for ILP32 so it doesn't need to go in until we add
that ABI but I am sending out for review and comments.
2017-08-22  Yury Norov  <ynorov@caviumnetworks.com>
    Steve Ellcey  <sellcey@cavium.com>
* sysdeps/unix/sysv/linux/aarch64/bits/ipc.h (ipc_perm):
Ifdef and pad the mode field for ILP32.
diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h b/sysdeps/unix/sysv/linu
x/aarch64/bits/ipc.h
index cd1f06e..cd05b74 100644
--- a/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
+++ b/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
@@ -46,7 +46,12 @@ struct ipc_perm
     __gid_t gid; /* Owner's group ID.  */
     __uid_t cuid; /* Creator's user ID.  */
     __gid_t cgid; /* Creator's group ID.  */
+#ifdef __LP64
     unsigned int mode; /* Read/write permission.  */
+#else
+    unsigned short int mode; /* Read/write permission.  */
+Â Â Â Â unsigned short int __pad0;
+#endif
     unsigned short int __seq; /* Sequence number.  */
     unsigned short int __pad1;
     __syscall_ulong_t __glibc_reserved1;
More information about the Libc-alpha
mailing list