Message ID | 20200602204105.43866-2-alistair.francis@wdc.com |
---|---|
State | New |
Headers | show |
Series | Support semctl_syscall() for __TIMESIZE==64 | expand |
On Tue, Jun 2, 2020 at 1:49 PM Alistair Francis <alistair.francis@wdc.com> wrote: > > Define a struct for 32-bit systems for the semctl command. > --- Ping > .../unix/sysv/linux/hppa/struct__semid_ds32.h | 30 +++++++++++++++++++ > .../unix/sysv/linux/mips/struct__semid_ds32.h | 28 +++++++++++++++++ > .../sysv/linux/powerpc/struct__semid_ds32.h | 30 +++++++++++++++++++ > .../sysv/linux/sparc/struct__semid_ds32.h | 30 +++++++++++++++++++ > sysdeps/unix/sysv/linux/struct__semid_ds32.h | 30 +++++++++++++++++++ > .../unix/sysv/linux/x86/struct__semid_ds32.h | 30 +++++++++++++++++++ > 6 files changed, 178 insertions(+) > create mode 100644 sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > create mode 100644 sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > create mode 100644 sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > create mode 100644 sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > create mode 100644 sysdeps/unix/sysv/linux/struct__semid_ds32.h > create mode 100644 sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > > diff --git a/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > new file mode 100644 > index 0000000000..7a6b803cee > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > @@ -0,0 +1,30 @@ > +/* HPPA implementation of the semaphore struct __semid_ds32. > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + <https://www.gnu.org/licenses/>. */ > + > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > +struct __semid_ds32 { > + struct ipc_perm sem_perm; /* operation permission struct */ > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > + __syscall_ulong_t sem_otime; /* last semop() time */ > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > + __syscall_ulong_t __glibc_reserved3; > + __syscall_ulong_t __glibc_reserved4; > +}; > diff --git a/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > new file mode 100644 > index 0000000000..3a1d7c6885 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > @@ -0,0 +1,28 @@ > +/* MIPS implementation of the semaphore struct __semid_ds32. > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + <https://www.gnu.org/licenses/>. */ > + > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > +struct __semid_ds32 { > + struct ipc_perm sem_perm; /* operation permission struct */ > + __syscall_ulong_t sem_otime; /* last semop time */ > + __syscall_ulong_t sem_ctime; /* last change time */ > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > + __syscall_ulong_t sem_otime_high; > + __syscall_ulong_t sem_ctime_high; > +}; > diff --git a/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > new file mode 100644 > index 0000000000..880c0a3c04 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > @@ -0,0 +1,30 @@ > +/* PowerPC implementation of the semaphore struct __semid_ds32. > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + <https://www.gnu.org/licenses/>. */ > + > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > +struct __semid_ds32 { > + struct ipc_perm sem_perm; /* operation permission struct */ > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > + __syscall_ulong_t sem_otime; /* last semop() time */ > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > + __syscall_ulong_t __glibc_reserved3; > + __syscall_ulong_t __glibc_reserved4; > +}; > diff --git a/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > new file mode 100644 > index 0000000000..0be263ccd0 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > @@ -0,0 +1,30 @@ > +/* Sparc implementation of the semaphore struct __semid_ds32. > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + <https://www.gnu.org/licenses/>. */ > + > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > +struct __semid_ds32 { > + struct ipc_perm sem_perm; /* operation permission struct */ > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > + __syscall_ulong_t sem_otime; /* last semop() time */ > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > + __syscall_ulong_t __glibc_reserved3; > + __syscall_ulong_t __glibc_reserved4; > +}; > diff --git a/sysdeps/unix/sysv/linux/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/struct__semid_ds32.h > new file mode 100644 > index 0000000000..c5242f4096 > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/struct__semid_ds32.h > @@ -0,0 +1,30 @@ > +/* Generic implementation of the semaphore struct __semid_ds32. > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + <https://www.gnu.org/licenses/>. */ > + > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > +struct __semid_ds32 { > + struct ipc_perm sem_perm; /* operation permission struct */ > + __syscall_ulong_t sem_otime; /* last semop() time */ > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > + __syscall_ulong_t __glibc_reserved3; > + __syscall_ulong_t __glibc_reserved4; > +}; > diff --git a/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > new file mode 100644 > index 0000000000..1155f5f93a > --- /dev/null > +++ b/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > @@ -0,0 +1,30 @@ > +/* x86 implementation of the semaphore struct __semid_ds32. > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > + This file is part of the GNU C Library. > + > + The GNU C Library is free software; you can redistribute it and/or > + modify it under the terms of the GNU Lesser General Public > + License as published by the Free Software Foundation; either > + version 2.1 of the License, or (at your option) any later version. > + > + The GNU C Library is distributed in the hope that it will be useful, > + but WITHOUT ANY WARRANTY; without even the implied warranty of > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > + Lesser General Public License for more details. > + > + You should have received a copy of the GNU Lesser General Public > + License along with the GNU C Library; if not, see > + <https://www.gnu.org/licenses/>. */ > + > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > +struct __semid_ds32 { > + struct ipc_perm sem_perm; /* operation permission struct */ > + __syscall_ulong_t sem_otime; /* last semop() time */ > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > + __syscall_ulong_t __glibc_reserved3; > + __syscall_ulong_t __glibc_reserved4; > +}; > -- > 2.26.2 >
On Wed, Jun 10, 2020 at 1:44 PM Alistair Francis <alistair23@gmail.com> wrote: > > On Tue, Jun 2, 2020 at 1:49 PM Alistair Francis > <alistair.francis@wdc.com> wrote: > > > > Define a struct for 32-bit systems for the semctl command. > > --- > > Ping Ping^2 > > > .../unix/sysv/linux/hppa/struct__semid_ds32.h | 30 +++++++++++++++++++ > > .../unix/sysv/linux/mips/struct__semid_ds32.h | 28 +++++++++++++++++ > > .../sysv/linux/powerpc/struct__semid_ds32.h | 30 +++++++++++++++++++ > > .../sysv/linux/sparc/struct__semid_ds32.h | 30 +++++++++++++++++++ > > sysdeps/unix/sysv/linux/struct__semid_ds32.h | 30 +++++++++++++++++++ > > .../unix/sysv/linux/x86/struct__semid_ds32.h | 30 +++++++++++++++++++ > > 6 files changed, 178 insertions(+) > > create mode 100644 sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > > create mode 100644 sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > > create mode 100644 sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > > create mode 100644 sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > > create mode 100644 sysdeps/unix/sysv/linux/struct__semid_ds32.h > > create mode 100644 sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > > > > diff --git a/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > > new file mode 100644 > > index 0000000000..7a6b803cee > > --- /dev/null > > +++ b/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > > @@ -0,0 +1,30 @@ > > +/* HPPA implementation of the semaphore struct __semid_ds32. > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > + This file is part of the GNU C Library. > > + > > + The GNU C Library is free software; you can redistribute it and/or > > + modify it under the terms of the GNU Lesser General Public > > + License as published by the Free Software Foundation; either > > + version 2.1 of the License, or (at your option) any later version. > > + > > + The GNU C Library is distributed in the hope that it will be useful, > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > + Lesser General Public License for more details. > > + > > + You should have received a copy of the GNU Lesser General Public > > + License along with the GNU C Library; if not, see > > + <https://www.gnu.org/licenses/>. */ > > + > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > +struct __semid_ds32 { > > + struct ipc_perm sem_perm; /* operation permission struct */ > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > + __syscall_ulong_t __glibc_reserved3; > > + __syscall_ulong_t __glibc_reserved4; > > +}; > > diff --git a/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > > new file mode 100644 > > index 0000000000..3a1d7c6885 > > --- /dev/null > > +++ b/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > > @@ -0,0 +1,28 @@ > > +/* MIPS implementation of the semaphore struct __semid_ds32. > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > + This file is part of the GNU C Library. > > + > > + The GNU C Library is free software; you can redistribute it and/or > > + modify it under the terms of the GNU Lesser General Public > > + License as published by the Free Software Foundation; either > > + version 2.1 of the License, or (at your option) any later version. > > + > > + The GNU C Library is distributed in the hope that it will be useful, > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > + Lesser General Public License for more details. > > + > > + You should have received a copy of the GNU Lesser General Public > > + License along with the GNU C Library; if not, see > > + <https://www.gnu.org/licenses/>. */ > > + > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > +struct __semid_ds32 { > > + struct ipc_perm sem_perm; /* operation permission struct */ > > + __syscall_ulong_t sem_otime; /* last semop time */ > > + __syscall_ulong_t sem_ctime; /* last change time */ > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > + __syscall_ulong_t sem_otime_high; > > + __syscall_ulong_t sem_ctime_high; > > +}; > > diff --git a/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > > new file mode 100644 > > index 0000000000..880c0a3c04 > > --- /dev/null > > +++ b/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > > @@ -0,0 +1,30 @@ > > +/* PowerPC implementation of the semaphore struct __semid_ds32. > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > + This file is part of the GNU C Library. > > + > > + The GNU C Library is free software; you can redistribute it and/or > > + modify it under the terms of the GNU Lesser General Public > > + License as published by the Free Software Foundation; either > > + version 2.1 of the License, or (at your option) any later version. > > + > > + The GNU C Library is distributed in the hope that it will be useful, > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > + Lesser General Public License for more details. > > + > > + You should have received a copy of the GNU Lesser General Public > > + License along with the GNU C Library; if not, see > > + <https://www.gnu.org/licenses/>. */ > > + > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > +struct __semid_ds32 { > > + struct ipc_perm sem_perm; /* operation permission struct */ > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > + __syscall_ulong_t __glibc_reserved3; > > + __syscall_ulong_t __glibc_reserved4; > > +}; > > diff --git a/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > > new file mode 100644 > > index 0000000000..0be263ccd0 > > --- /dev/null > > +++ b/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > > @@ -0,0 +1,30 @@ > > +/* Sparc implementation of the semaphore struct __semid_ds32. > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > + This file is part of the GNU C Library. > > + > > + The GNU C Library is free software; you can redistribute it and/or > > + modify it under the terms of the GNU Lesser General Public > > + License as published by the Free Software Foundation; either > > + version 2.1 of the License, or (at your option) any later version. > > + > > + The GNU C Library is distributed in the hope that it will be useful, > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > + Lesser General Public License for more details. > > + > > + You should have received a copy of the GNU Lesser General Public > > + License along with the GNU C Library; if not, see > > + <https://www.gnu.org/licenses/>. */ > > + > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > +struct __semid_ds32 { > > + struct ipc_perm sem_perm; /* operation permission struct */ > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > + __syscall_ulong_t __glibc_reserved3; > > + __syscall_ulong_t __glibc_reserved4; > > +}; > > diff --git a/sysdeps/unix/sysv/linux/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/struct__semid_ds32.h > > new file mode 100644 > > index 0000000000..c5242f4096 > > --- /dev/null > > +++ b/sysdeps/unix/sysv/linux/struct__semid_ds32.h > > @@ -0,0 +1,30 @@ > > +/* Generic implementation of the semaphore struct __semid_ds32. > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > + This file is part of the GNU C Library. > > + > > + The GNU C Library is free software; you can redistribute it and/or > > + modify it under the terms of the GNU Lesser General Public > > + License as published by the Free Software Foundation; either > > + version 2.1 of the License, or (at your option) any later version. > > + > > + The GNU C Library is distributed in the hope that it will be useful, > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > + Lesser General Public License for more details. > > + > > + You should have received a copy of the GNU Lesser General Public > > + License along with the GNU C Library; if not, see > > + <https://www.gnu.org/licenses/>. */ > > + > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > +struct __semid_ds32 { > > + struct ipc_perm sem_perm; /* operation permission struct */ > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > + __syscall_ulong_t __glibc_reserved3; > > + __syscall_ulong_t __glibc_reserved4; > > +}; > > diff --git a/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > > new file mode 100644 > > index 0000000000..1155f5f93a > > --- /dev/null > > +++ b/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > > @@ -0,0 +1,30 @@ > > +/* x86 implementation of the semaphore struct __semid_ds32. > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > + This file is part of the GNU C Library. > > + > > + The GNU C Library is free software; you can redistribute it and/or > > + modify it under the terms of the GNU Lesser General Public > > + License as published by the Free Software Foundation; either > > + version 2.1 of the License, or (at your option) any later version. > > + > > + The GNU C Library is distributed in the hope that it will be useful, > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > + Lesser General Public License for more details. > > + > > + You should have received a copy of the GNU Lesser General Public > > + License along with the GNU C Library; if not, see > > + <https://www.gnu.org/licenses/>. */ > > + > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > +struct __semid_ds32 { > > + struct ipc_perm sem_perm; /* operation permission struct */ > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > + __syscall_ulong_t __glibc_reserved3; > > + __syscall_ulong_t __glibc_reserved4; > > +}; > > -- > > 2.26.2 > >
On Mon, Jun 15, 2020 at 3:35 PM Alistair Francis <alistair23@gmail.com> wrote: > > On Wed, Jun 10, 2020 at 1:44 PM Alistair Francis <alistair23@gmail.com> wrote: > > > > On Tue, Jun 2, 2020 at 1:49 PM Alistair Francis > > <alistair.francis@wdc.com> wrote: > > > > > > Define a struct for 32-bit systems for the semctl command. > > > --- > > > > Ping > > Ping^2 Ping^3 > > > > > > .../unix/sysv/linux/hppa/struct__semid_ds32.h | 30 +++++++++++++++++++ > > > .../unix/sysv/linux/mips/struct__semid_ds32.h | 28 +++++++++++++++++ > > > .../sysv/linux/powerpc/struct__semid_ds32.h | 30 +++++++++++++++++++ > > > .../sysv/linux/sparc/struct__semid_ds32.h | 30 +++++++++++++++++++ > > > sysdeps/unix/sysv/linux/struct__semid_ds32.h | 30 +++++++++++++++++++ > > > .../unix/sysv/linux/x86/struct__semid_ds32.h | 30 +++++++++++++++++++ > > > 6 files changed, 178 insertions(+) > > > create mode 100644 sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > > > create mode 100644 sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > > > create mode 100644 sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > > > create mode 100644 sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > > > create mode 100644 sysdeps/unix/sysv/linux/struct__semid_ds32.h > > > create mode 100644 sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > > > > > > diff --git a/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > > > new file mode 100644 > > > index 0000000000..7a6b803cee > > > --- /dev/null > > > +++ b/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h > > > @@ -0,0 +1,30 @@ > > > +/* HPPA implementation of the semaphore struct __semid_ds32. > > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > > + This file is part of the GNU C Library. > > > + > > > + The GNU C Library is free software; you can redistribute it and/or > > > + modify it under the terms of the GNU Lesser General Public > > > + License as published by the Free Software Foundation; either > > > + version 2.1 of the License, or (at your option) any later version. > > > + > > > + The GNU C Library is distributed in the hope that it will be useful, > > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > > + Lesser General Public License for more details. > > > + > > > + You should have received a copy of the GNU Lesser General Public > > > + License along with the GNU C Library; if not, see > > > + <https://www.gnu.org/licenses/>. */ > > > + > > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > > +struct __semid_ds32 { > > > + struct ipc_perm sem_perm; /* operation permission struct */ > > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > > + __syscall_ulong_t __glibc_reserved3; > > > + __syscall_ulong_t __glibc_reserved4; > > > +}; > > > diff --git a/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > > > new file mode 100644 > > > index 0000000000..3a1d7c6885 > > > --- /dev/null > > > +++ b/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h > > > @@ -0,0 +1,28 @@ > > > +/* MIPS implementation of the semaphore struct __semid_ds32. > > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > > + This file is part of the GNU C Library. > > > + > > > + The GNU C Library is free software; you can redistribute it and/or > > > + modify it under the terms of the GNU Lesser General Public > > > + License as published by the Free Software Foundation; either > > > + version 2.1 of the License, or (at your option) any later version. > > > + > > > + The GNU C Library is distributed in the hope that it will be useful, > > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > > + Lesser General Public License for more details. > > > + > > > + You should have received a copy of the GNU Lesser General Public > > > + License along with the GNU C Library; if not, see > > > + <https://www.gnu.org/licenses/>. */ > > > + > > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > > +struct __semid_ds32 { > > > + struct ipc_perm sem_perm; /* operation permission struct */ > > > + __syscall_ulong_t sem_otime; /* last semop time */ > > > + __syscall_ulong_t sem_ctime; /* last change time */ > > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > > + __syscall_ulong_t sem_otime_high; > > > + __syscall_ulong_t sem_ctime_high; > > > +}; > > > diff --git a/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > > > new file mode 100644 > > > index 0000000000..880c0a3c04 > > > --- /dev/null > > > +++ b/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h > > > @@ -0,0 +1,30 @@ > > > +/* PowerPC implementation of the semaphore struct __semid_ds32. > > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > > + This file is part of the GNU C Library. > > > + > > > + The GNU C Library is free software; you can redistribute it and/or > > > + modify it under the terms of the GNU Lesser General Public > > > + License as published by the Free Software Foundation; either > > > + version 2.1 of the License, or (at your option) any later version. > > > + > > > + The GNU C Library is distributed in the hope that it will be useful, > > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > > + Lesser General Public License for more details. > > > + > > > + You should have received a copy of the GNU Lesser General Public > > > + License along with the GNU C Library; if not, see > > > + <https://www.gnu.org/licenses/>. */ > > > + > > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > > +struct __semid_ds32 { > > > + struct ipc_perm sem_perm; /* operation permission struct */ > > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > > + __syscall_ulong_t __glibc_reserved3; > > > + __syscall_ulong_t __glibc_reserved4; > > > +}; > > > diff --git a/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > > > new file mode 100644 > > > index 0000000000..0be263ccd0 > > > --- /dev/null > > > +++ b/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h > > > @@ -0,0 +1,30 @@ > > > +/* Sparc implementation of the semaphore struct __semid_ds32. > > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > > + This file is part of the GNU C Library. > > > + > > > + The GNU C Library is free software; you can redistribute it and/or > > > + modify it under the terms of the GNU Lesser General Public > > > + License as published by the Free Software Foundation; either > > > + version 2.1 of the License, or (at your option) any later version. > > > + > > > + The GNU C Library is distributed in the hope that it will be useful, > > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > > + Lesser General Public License for more details. > > > + > > > + You should have received a copy of the GNU Lesser General Public > > > + License along with the GNU C Library; if not, see > > > + <https://www.gnu.org/licenses/>. */ > > > + > > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > > +struct __semid_ds32 { > > > + struct ipc_perm sem_perm; /* operation permission struct */ > > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > > + __syscall_ulong_t __glibc_reserved3; > > > + __syscall_ulong_t __glibc_reserved4; > > > +}; > > > diff --git a/sysdeps/unix/sysv/linux/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/struct__semid_ds32.h > > > new file mode 100644 > > > index 0000000000..c5242f4096 > > > --- /dev/null > > > +++ b/sysdeps/unix/sysv/linux/struct__semid_ds32.h > > > @@ -0,0 +1,30 @@ > > > +/* Generic implementation of the semaphore struct __semid_ds32. > > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > > + This file is part of the GNU C Library. > > > + > > > + The GNU C Library is free software; you can redistribute it and/or > > > + modify it under the terms of the GNU Lesser General Public > > > + License as published by the Free Software Foundation; either > > > + version 2.1 of the License, or (at your option) any later version. > > > + > > > + The GNU C Library is distributed in the hope that it will be useful, > > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > > + Lesser General Public License for more details. > > > + > > > + You should have received a copy of the GNU Lesser General Public > > > + License along with the GNU C Library; if not, see > > > + <https://www.gnu.org/licenses/>. */ > > > + > > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > > +struct __semid_ds32 { > > > + struct ipc_perm sem_perm; /* operation permission struct */ > > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > > + __syscall_ulong_t __glibc_reserved3; > > > + __syscall_ulong_t __glibc_reserved4; > > > +}; > > > diff --git a/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > > > new file mode 100644 > > > index 0000000000..1155f5f93a > > > --- /dev/null > > > +++ b/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h > > > @@ -0,0 +1,30 @@ > > > +/* x86 implementation of the semaphore struct __semid_ds32. > > > + Copyright (C) 1995-2020 Free Software Foundation, Inc. > > > + This file is part of the GNU C Library. > > > + > > > + The GNU C Library is free software; you can redistribute it and/or > > > + modify it under the terms of the GNU Lesser General Public > > > + License as published by the Free Software Foundation; either > > > + version 2.1 of the License, or (at your option) any later version. > > > + > > > + The GNU C Library is distributed in the hope that it will be useful, > > > + but WITHOUT ANY WARRANTY; without even the implied warranty of > > > + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU > > > + Lesser General Public License for more details. > > > + > > > + You should have received a copy of the GNU Lesser General Public > > > + License along with the GNU C Library; if not, see > > > + <https://www.gnu.org/licenses/>. */ > > > + > > > +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows > > > + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ > > > +struct __semid_ds32 { > > > + struct ipc_perm sem_perm; /* operation permission struct */ > > > + __syscall_ulong_t sem_otime; /* last semop() time */ > > > + __syscall_ulong_t sem_otime_high; /* last semop() time high */ > > > + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ > > > + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ > > > + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ > > > + __syscall_ulong_t __glibc_reserved3; > > > + __syscall_ulong_t __glibc_reserved4; > > > +}; > > > -- > > > 2.26.2 > > >
diff --git a/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h new file mode 100644 index 0000000000..7a6b803cee --- /dev/null +++ b/sysdeps/unix/sysv/linux/hppa/struct__semid_ds32.h @@ -0,0 +1,30 @@ +/* HPPA implementation of the semaphore struct __semid_ds32. + Copyright (C) 1995-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ +struct __semid_ds32 { + struct ipc_perm sem_perm; /* operation permission struct */ + __syscall_ulong_t sem_otime_high; /* last semop() time high */ + __syscall_ulong_t sem_otime; /* last semop() time */ + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +}; diff --git a/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h new file mode 100644 index 0000000000..3a1d7c6885 --- /dev/null +++ b/sysdeps/unix/sysv/linux/mips/struct__semid_ds32.h @@ -0,0 +1,28 @@ +/* MIPS implementation of the semaphore struct __semid_ds32. + Copyright (C) 1995-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ +struct __semid_ds32 { + struct ipc_perm sem_perm; /* operation permission struct */ + __syscall_ulong_t sem_otime; /* last semop time */ + __syscall_ulong_t sem_ctime; /* last change time */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t sem_otime_high; + __syscall_ulong_t sem_ctime_high; +}; diff --git a/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h new file mode 100644 index 0000000000..880c0a3c04 --- /dev/null +++ b/sysdeps/unix/sysv/linux/powerpc/struct__semid_ds32.h @@ -0,0 +1,30 @@ +/* PowerPC implementation of the semaphore struct __semid_ds32. + Copyright (C) 1995-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ +struct __semid_ds32 { + struct ipc_perm sem_perm; /* operation permission struct */ + __syscall_ulong_t sem_otime_high; /* last semop() time high */ + __syscall_ulong_t sem_otime; /* last semop() time */ + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +}; diff --git a/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h new file mode 100644 index 0000000000..0be263ccd0 --- /dev/null +++ b/sysdeps/unix/sysv/linux/sparc/struct__semid_ds32.h @@ -0,0 +1,30 @@ +/* Sparc implementation of the semaphore struct __semid_ds32. + Copyright (C) 1995-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ +struct __semid_ds32 { + struct ipc_perm sem_perm; /* operation permission struct */ + __syscall_ulong_t sem_otime_high; /* last semop() time high */ + __syscall_ulong_t sem_otime; /* last semop() time */ + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +}; diff --git a/sysdeps/unix/sysv/linux/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/struct__semid_ds32.h new file mode 100644 index 0000000000..c5242f4096 --- /dev/null +++ b/sysdeps/unix/sysv/linux/struct__semid_ds32.h @@ -0,0 +1,30 @@ +/* Generic implementation of the semaphore struct __semid_ds32. + Copyright (C) 1995-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ +struct __semid_ds32 { + struct ipc_perm sem_perm; /* operation permission struct */ + __syscall_ulong_t sem_otime; /* last semop() time */ + __syscall_ulong_t sem_otime_high; /* last semop() time high */ + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +}; diff --git a/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h b/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h new file mode 100644 index 0000000000..1155f5f93a --- /dev/null +++ b/sysdeps/unix/sysv/linux/x86/struct__semid_ds32.h @@ -0,0 +1,30 @@ +/* x86 implementation of the semaphore struct __semid_ds32. + Copyright (C) 1995-2020 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +/* This is the "new" y2038 types defined after the 5.1 kernel. It allows + the kernel to use {o,c}time{_high} values to support a 64-bit time_t. */ +struct __semid_ds32 { + struct ipc_perm sem_perm; /* operation permission struct */ + __syscall_ulong_t sem_otime; /* last semop() time */ + __syscall_ulong_t sem_otime_high; /* last semop() time high */ + __syscall_ulong_t sem_ctime; /* last time changed by semctl() */ + __syscall_ulong_t sem_ctime_high; /* last time changed by semctl() high */ + __syscall_ulong_t sem_nsems; /* number of semaphores in set */ + __syscall_ulong_t __glibc_reserved3; + __syscall_ulong_t __glibc_reserved4; +};