This is the mail archive of the
glibc-cvs@sourceware.org
mailing list for the glibc project.
[glibc/arm/ilp32] aarch64: Fix ipc_perm definition for ILP32
- From: Szabolcs Nagy <nsz at sourceware dot org>
- To: glibc-cvs at sourceware dot org
- Date: 2 Aug 2019 08:43:56 -0000
- Subject: [glibc/arm/ilp32] aarch64: Fix ipc_perm definition for ILP32
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=09358228d1830a3b31f79a9948b36f7fe375244b
commit 09358228d1830a3b31f79a9948b36f7fe375244b
Author: Steve Ellcey <sellcey@cavium.com>
Date: Thu Aug 31 16:49:10 2017 +0100
aarch64: Fix ipc_perm definition for ILP32
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.
Diff:
---
sysdeps/unix/sysv/linux/aarch64/bits/ipc.h | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h b/sysdeps/unix/sysv/linux/aarch64/bits/ipc.h
index b913774..a9f5a6b 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;