diff options
Diffstat (limited to 'libc/sysdeps/linux')
| -rw-r--r-- | libc/sysdeps/linux/common/bits/msq.h | 14 | ||||
| -rw-r--r-- | libc/sysdeps/linux/common/bits/sem.h | 8 | ||||
| -rw-r--r-- | libc/sysdeps/linux/mips/bits/msq.h | 40 | ||||
| -rw-r--r-- | libc/sysdeps/linux/mips/bits/sem.h | 7 | ||||
| -rw-r--r-- | libc/sysdeps/linux/mips/bits/shm.h | 28 | ||||
| -rw-r--r-- | libc/sysdeps/linux/riscv32/bits/shm.h | 6 | 
6 files changed, 71 insertions, 32 deletions
| diff --git a/libc/sysdeps/linux/common/bits/msq.h b/libc/sysdeps/linux/common/bits/msq.h index b594cfff2..0cb734263 100644 --- a/libc/sysdeps/linux/common/bits/msq.h +++ b/libc/sysdeps/linux/common/bits/msq.h @@ -37,17 +37,31 @@ typedef unsigned long int msglen_t;  struct msqid_ds  {    struct ipc_perm msg_perm;	/* structure describing operation permission */ +#if (__WORDSIZE == 32 && defined(__riscv) && defined(__UCLIBC_USE_TIME64__)) +  unsigned long int msg_stime_internal_1; +  unsigned long int msg_stime_internal_2; +  unsigned long int msg_rtime_internal_1; +  unsigned long int msg_rtime_internal_2; +  unsigned long int msg_ctime_internal_1; +  unsigned long int msg_ctime_internal_2; +#else    __time_t msg_stime;		/* time of last msgsnd command */    unsigned long int __uclibc_unused1;    __time_t msg_rtime;		/* time of last msgrcv command */    unsigned long int __uclibc_unused2;    __time_t msg_ctime;		/* time of last change */    unsigned long int __uclibc_unused3; +#endif    unsigned long int __msg_cbytes; /* current number of bytes on queue */    msgqnum_t msg_qnum;		/* number of messages currently on queue */    msglen_t msg_qbytes;		/* max number of bytes allowed on queue */    __pid_t msg_lspid;		/* pid of last msgsnd() */    __pid_t msg_lrpid;		/* pid of last msgrcv() */ +#if (__WORDSIZE == 32 && defined(__riscv) && defined(__UCLIBC_USE_TIME64__)) +  __time_t msg_stime;		/* time of last msgsnd command */ +  __time_t msg_rtime;		/* time of last msgrcv command */ +  __time_t msg_ctime;		/* time of last change */ +#endif    unsigned long int __uclibc_unused4;    unsigned long int __uclibc_unused5;  }; diff --git a/libc/sysdeps/linux/common/bits/sem.h b/libc/sysdeps/linux/common/bits/sem.h index 24a130981..d855494ee 100644 --- a/libc/sysdeps/linux/common/bits/sem.h +++ b/libc/sysdeps/linux/common/bits/sem.h @@ -45,8 +45,8 @@ struct semid_ds  #else    __time_t sem_otime;			/* last semop() time */  #endif -#if (__WORDSIZE == 32 && !defined(__ARC64_ARCH32__) && !defined(__arc__) && !defined(__arm__) && !defined(__or1k__) && !defined(__xtensa__)) || \ -    ((defined(__ARC64_ARCH32__) || defined(__arc__) || defined(__arm__) || defined(__or1k__) || defined(__xtensa__)) && !defined(__UCLIBC_USE_TIME64__)) +#if (__WORDSIZE == 32 && !defined(__ARC64_ARCH32__) && !defined(__arc__) && !defined(__arm__) && !defined(__or1k__) && !defined(__xtensa__) && !defined(__riscv)) || \ +    ((defined(__ARC64_ARCH32__) || defined(__arc__) || defined(__arm__) || defined(__or1k__) || defined(__xtensa__) || defined(__riscv)) && !defined(__UCLIBC_USE_TIME64__))    unsigned long int __uclibc_unused1;  #endif  #if defined(__UCLIBC_USE_TIME64__) @@ -55,8 +55,8 @@ struct semid_ds  #else    __time_t sem_ctime;			/* last time changed by semctl() */  #endif -#if (__WORDSIZE == 32 && !defined(__ARC64_ARCH32__) && !defined(__arc__) && !defined(__arm__) && !defined(__or1k__) && !defined(__xtensa__)) || \ -    ((defined(__ARC64_ARCH32__) || defined(__arc__) || defined(__arm__) || defined(__or1k__) || defined(__xtensa__)) && !defined(__UCLIBC_USE_TIME64__)) +#if (__WORDSIZE == 32 && !defined(__ARC64_ARCH32__) && !defined(__arc__) && !defined(__arm__) && !defined(__or1k__) && !defined(__xtensa__) && !defined(__riscv)) || \ +    ((defined(__ARC64_ARCH32__) || defined(__arc__) || defined(__arm__) || defined(__or1k__) || defined(__xtensa__) || defined(__riscv)) && !defined(__UCLIBC_USE_TIME64__))    unsigned long int __uclibc_unused2;  #endif    unsigned long int sem_nsems;		/* number of semaphores in set */ diff --git a/libc/sysdeps/linux/mips/bits/msq.h b/libc/sysdeps/linux/mips/bits/msq.h index bcf1073e8..6a00cb671 100644 --- a/libc/sysdeps/linux/mips/bits/msq.h +++ b/libc/sysdeps/linux/mips/bits/msq.h @@ -35,29 +35,24 @@ typedef unsigned long int msglen_t;  /* Structure of record for one message inside the kernel.     The type `struct msg' is opaque.  */ +/* Just for (__WORDSIZE == 32) && (__MIPSEL__) */  struct msqid_ds  {    struct ipc_perm msg_perm;	/* structure describing operation permission */ -#if (__WORDSIZE == 32) && !defined(__MIPSEL__) -	unsigned long	__unused1; -#endif -  __time_t msg_stime;		/* time of last msgsnd command */ -#if (__WORDSIZE == 32) && defined(__MIPSEL__) -	unsigned long	__unused1; -#endif -#if (__WORDSIZE == 32) && !defined(__MIPSEL__) -	unsigned long	__unused2; -#endif -  __time_t msg_rtime;		/* time of last msgrcv command */ -#if (__WORDSIZE == 32) && defined(__MIPSEL__) -	unsigned long	__unused2; -#endif -#if (__WORDSIZE == 32) && !defined(__MIPSEL__) -	unsigned long	__unused3; -#endif -  __time_t msg_ctime;		/* time of last change */ -#if (__WORDSIZE == 32) && defined(__MIPSEL__) -	unsigned long	__unused3; +#if defined(__UCLIBC_USE_TIME64__) +  unsigned long msg_stime_internal_1;		/* time of last msgsnd command */ +  unsigned long msg_stime_internal_2; +  unsigned long msg_rtime_internal_1;		/* time of last msgrcv command */ +  unsigned long msg_rtime_internal_2; +  unsigned long msg_ctime_internal_1;		/* time of last change */ +  unsigned long msg_ctime_internal_2; +#else +  __time_t msg_stime; +  unsigned long int __uclibc_unused1; +  __time_t msg_rtime; +  unsigned long int __uclibc_unused2; +  __time_t msg_ctime; +  unsigned long int __uclibc_unused3;  #endif    unsigned long int __msg_cbytes; /* current number of bytes on queue */    msgqnum_t msg_qnum;		/* number of messages currently on queue */ @@ -66,6 +61,11 @@ struct msqid_ds    __pid_t msg_lrpid;		/* pid of last msgrcv() */    unsigned long int __uclibc_unused4;    unsigned long int __uclibc_unused5; +#if defined(__UCLIBC_USE_TIME64__) +  __time_t msg_stime; +  __time_t msg_rtime; +  __time_t msg_ctime; +#endif  };  #ifdef __USE_MISC diff --git a/libc/sysdeps/linux/mips/bits/sem.h b/libc/sysdeps/linux/mips/bits/sem.h index 35eaa05c3..2d5ac1dd3 100644 --- a/libc/sysdeps/linux/mips/bits/sem.h +++ b/libc/sysdeps/linux/mips/bits/sem.h @@ -40,20 +40,21 @@ struct semid_ds    struct ipc_perm sem_perm;		/* operation permission struct */  #if defined(__UCLIBC_USE_TIME64__)    unsigned long int __sem_otime_internal_1; /* last semop() time */ -  unsigned long int __sem_otime_internal_2;    unsigned long int __sem_ctime_internal_1; /* last time changed by semctl() */ -  unsigned long int __sem_ctime_internal_2;  #else    __time_t sem_otime;                  /* last semop() time */    __time_t sem_ctime;			/* last time changed by semctl() */  #endif    unsigned long int sem_nsems;		/* number of semaphores in set */  #if defined(__UCLIBC_USE_TIME64__) +  unsigned long int __sem_otime_internal_2; +  unsigned long int __sem_ctime_internal_2;    __time_t sem_otime;    __time_t sem_ctime; -#endif +#else    unsigned long int __uclibc_unused1;    unsigned long int __uclibc_unused2; +#endif  };  /* The user should define a union like the following to use it for arguments diff --git a/libc/sysdeps/linux/mips/bits/shm.h b/libc/sysdeps/linux/mips/bits/shm.h index bb87ba13d..9880520c3 100644 --- a/libc/sysdeps/linux/mips/bits/shm.h +++ b/libc/sysdeps/linux/mips/bits/shm.h @@ -46,14 +46,32 @@ struct shmid_ds    {      struct ipc_perm shm_perm;		/* operation permission struct */      size_t shm_segsz;			/* size of segment in bytes */ -    __time_t shm_atime;			/* time of last shmat() */ -    __time_t shm_dtime;			/* time of last shmdt() */ -    __time_t shm_ctime;			/* time of last change by shmctl() */ +#if defined(__UCLIBC_USE_TIME64__) +    unsigned long int shm_atime_internal_1;		/* time of last shmat() */ +    unsigned long int shm_dtime_internal_1;		/* time of last shmdt() */ +    unsigned long int shm_ctime_internal_1;		/* time of last change by shmctl() */ +#else +    __time_t shm_atime; +    __time_t shm_dtime; +    __time_t shm_ctime; +#endif      __pid_t shm_cpid;			/* pid of creator */      __pid_t shm_lpid;			/* pid of last shmop */      shmatt_t shm_nattch;		/* number of current attaches */ -    unsigned long int __uclibc_unused1; -    unsigned long int __uclibc_unused2; +#if defined(__UCLIBC_USE_TIME64__) +    unsigned short int shm_atime_internal_2;		/* time of last shmat() */ +    unsigned short int shm_dtime_internal_2;		/* time of last shmdt() */ +    unsigned short int shm_ctime_internal_2;		/* time of last change by shmctl() */ +    unsigned short int __uclibc_unused1; +    __time_t shm_atime; +    __time_t shm_dtime; +    __time_t shm_ctime; +#else +    unsigned short int __uclibc_unused1; +    unsigned short int __uclibc_unused2; +    unsigned short int __uclibc_unused3; +    unsigned short int __uclibc_unused4; +#endif    };  #ifdef __USE_MISC diff --git a/libc/sysdeps/linux/riscv32/bits/shm.h b/libc/sysdeps/linux/riscv32/bits/shm.h index 8a11c7050..9190c562b 100644 --- a/libc/sysdeps/linux/riscv32/bits/shm.h +++ b/libc/sysdeps/linux/riscv32/bits/shm.h @@ -37,12 +37,18 @@ struct shmid_ds    {      struct ipc_perm shm_perm;		/* operation permission struct */      size_t shm_segsz;			/* size of segment in bytes */ +#if defined(__UCLIBC_USE_TIME64__) +    __time_t shm_atime; +    __time_t shm_dtime; +    __time_t shm_ctime; +#else      __time_t shm_atime;			/* time of last shmat() */      unsigned long int __uclibc_unused1;      __time_t shm_dtime;			/* time of last shmdt() */      unsigned long int __uclibc_unused2;      __time_t shm_ctime;			/* time of last change by shmctl() */      unsigned long int __uclibc_unused3; +#endif      __pid_t shm_cpid;			/* pid of creator */      __pid_t shm_lpid;			/* pid of last shmop */      shmatt_t shm_nattch;		/* number of current attaches */ | 
