]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
aarch64: Fix ipc_perm definition for ILP32
authorSteve Ellcey <sellcey@cavium.com>
Thu, 31 Aug 2017 15:49:10 +0000 (16:49 +0100)
committerSzabolcs Nagy <szabolcs.nagy@arm.com>
Thu, 1 Aug 2019 09:06:03 +0000 (10:06 +0100)
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.

2017-09-01  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.

sysdeps/unix/sysv/linux/aarch64/bits/ipc.h

index b91377402cc49caaf12048cc9ce132f33a2bf2a6..a9f5a6b764881dbda32f44c91afb4077f1dc3cfc 100644 (file)
@@ -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;