diff options
-rw-r--r-- | ChangeLog | 34 | ||||
-rw-r--r-- | bits/timesize.h (renamed from sysdeps/unix/sysv/linux/x86/bits/shm-pad.h) | 16 | ||||
-rw-r--r-- | stdlib/Makefile | 2 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/msq-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/sem-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/bits/shm-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/bits/msq-pad.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86/bits/timesize.h (renamed from sysdeps/unix/sysv/linux/x86/bits/msq-pad.h) | 15 |
17 files changed, 74 insertions, 51 deletions
@@ -1,3 +1,37 @@ +2018-10-24 Albert ARIBAUD <albert.aribaud@3adev.fr> + + * bits/timesize.h: New file. + * stdlib/Makefile (headers): Add bits/timesize.h. + * sysdeps/unix/sysv/linux/bits/msq-pad.h + (__MSQ_PAD_AFTER_TIME): Use __TIMESIZE instead of __WORDSIZE. + * sysdeps/unix/sysv/linux/bits/sem-pad.h + (__SEM_PAD_AFTER_TIME): Likewise. + * sysdeps/unix/sysv/linux/bits/shm-pad.h + (__SHM_PAD_AFTER_TIME): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h + (__MSQ_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h + (__SEM_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h + (__SHM_PAD_BEFORE_TIME, __SHM_PAD_BETWEEN_TIME_AND_SEGSZ): Likewise. + * sysdeps/unix/sysv/linux/mips/bits/msq-pad.h + (__MSQ_PAD_AFTER_TIME, __MSQ_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h + (__MSQ_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h + (__SEM_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h + (__SHM_PAD_BEFORE_TIME, __SHM_PAD_BETWEEN_TIME_AND_SEGSZ): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h + (__MSQ_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h + (__SEM_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h + (__SHM_PAD_BEFORE_TIME): Likewise. + * sysdeps/unix/sysv/linux/x86/bits/msq-pad.h: Delete file. + * sysdeps/unix/sysv/linux/x86/bits/shm-pad.h: Likewise. + * sysdeps/unix/sysv/linux/x86/bits/timesize.h: New file. + 2018-10-24 H.J. Lu <hongjiu.lu@intel.com> * benchtests/Makefile (CPPFLAGS-nonlib): Add -DUSE_RDTSCP if diff --git a/sysdeps/unix/sysv/linux/x86/bits/shm-pad.h b/bits/timesize.h index 277a70fe6c..cc47ff165f 100644 --- a/sysdeps/unix/sysv/linux/x86/bits/shm-pad.h +++ b/bits/timesize.h @@ -1,4 +1,4 @@ -/* Define where padding goes in struct shmid_ds. x86 version. +/* Bit size of the time_t type at glibc build time, general case. Copyright (C) 2018 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -16,15 +16,7 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -#ifndef _SYS_SHM_H -# error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead." -#endif +#include <bits/wordsize.h> -#ifdef __x86_64__ -# define __SHM_PAD_AFTER_TIME 0 -#else -# define __SHM_PAD_AFTER_TIME 1 -#endif -#define __SHM_PAD_BEFORE_TIME 0 -#define __SHM_SEGSZ_AFTER_TIME 0 -#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0 +/* Size in bits of the 'time_t' type of the default ABI. */ +#define __TIMESIZE __WORDSIZE diff --git a/stdlib/Makefile b/stdlib/Makefile index 01194bbf7c..1773a341b5 100644 --- a/stdlib/Makefile +++ b/stdlib/Makefile @@ -24,7 +24,7 @@ include ../Makeconfig headers := stdlib.h bits/stdlib.h bits/stdlib-ldbl.h bits/stdlib-float.h \ monetary.h bits/monetary-ldbl.h \ - inttypes.h stdint.h bits/wordsize.h \ + inttypes.h stdint.h bits/wordsize.h bits/timesize.h \ errno.h sys/errno.h bits/errno.h bits/types/error_t.h \ ucontext.h sys/ucontext.h bits/indirect-return.h \ alloca.h fmtmsg.h \ diff --git a/sysdeps/unix/sysv/linux/bits/msq-pad.h b/sysdeps/unix/sysv/linux/bits/msq-pad.h index 97dee0beff..53f367dfa2 100644 --- a/sysdeps/unix/sysv/linux/bits/msq-pad.h +++ b/sysdeps/unix/sysv/linux/bits/msq-pad.h @@ -20,12 +20,12 @@ # error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> /* On most architectures, padding goes after time fields for 32-bit systems and is omitted for 64-bit systems. Some architectures pad before time fields instead, or omit padding despite being 32-bit. */ -#define __MSQ_PAD_AFTER_TIME (__WORDSIZE == 32) +#define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32) #define __MSQ_PAD_BEFORE_TIME 0 diff --git a/sysdeps/unix/sysv/linux/bits/sem-pad.h b/sysdeps/unix/sysv/linux/bits/sem-pad.h index c57fea4ac8..488b591d5a 100644 --- a/sysdeps/unix/sysv/linux/bits/sem-pad.h +++ b/sysdeps/unix/sysv/linux/bits/sem-pad.h @@ -20,7 +20,7 @@ # error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> /* On most architectures, padding goes after time fields for 32-bit systems and is omitted for 64-bit systems. Some architectures pad @@ -29,5 +29,5 @@ used for struct semid64_ds in <asm/sembuf.h>, as glibc does not do layout conversions for this structure. */ -#define __SEM_PAD_AFTER_TIME (__WORDSIZE == 32) +#define __SEM_PAD_AFTER_TIME (__TIMESIZE == 32) #define __SEM_PAD_BEFORE_TIME 0 diff --git a/sysdeps/unix/sysv/linux/bits/shm-pad.h b/sysdeps/unix/sysv/linux/bits/shm-pad.h index 9233c95a9f..d3cc5ebde6 100644 --- a/sysdeps/unix/sysv/linux/bits/shm-pad.h +++ b/sysdeps/unix/sysv/linux/bits/shm-pad.h @@ -20,7 +20,7 @@ # error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> /* On most architectures, padding goes after time fields for 32-bit systems and is omitted for 64-bit systems. Some architectures pad @@ -31,7 +31,7 @@ layout used for struct shmid64_ds in <asm/shmbuf.h>, as glibc does not do layout conversions for this structure. */ -#define __SHM_PAD_AFTER_TIME (__WORDSIZE == 32) +#define __SHM_PAD_AFTER_TIME (__TIMESIZE == 32) #define __SHM_PAD_BEFORE_TIME 0 #define __SHM_SEGSZ_AFTER_TIME 0 #define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0 diff --git a/sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h b/sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h index 10b26b7ea6..05db3fd65b 100644 --- a/sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h +++ b/sysdeps/unix/sysv/linux/hppa/bits/msq-pad.h @@ -20,7 +20,7 @@ # error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __MSQ_PAD_AFTER_TIME 0 -#define __MSQ_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32) diff --git a/sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h b/sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h index a938c2c92b..f250f64426 100644 --- a/sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h +++ b/sysdeps/unix/sysv/linux/hppa/bits/sem-pad.h @@ -20,7 +20,7 @@ # error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __SEM_PAD_AFTER_TIME 0 -#define __SEM_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32) diff --git a/sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h b/sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h index 6a9c5ddce2..8764bde08b 100644 --- a/sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h +++ b/sysdeps/unix/sysv/linux/hppa/bits/shm-pad.h @@ -20,9 +20,9 @@ # error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __SHM_PAD_AFTER_TIME 0 -#define __SHM_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32) #define __SHM_SEGSZ_AFTER_TIME 1 -#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__WORDSIZE == 32) +#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__TIMESIZE == 32) diff --git a/sysdeps/unix/sysv/linux/mips/bits/msq-pad.h b/sysdeps/unix/sysv/linux/mips/bits/msq-pad.h index 1ddfb0d271..530babe3f9 100644 --- a/sysdeps/unix/sysv/linux/mips/bits/msq-pad.h +++ b/sysdeps/unix/sysv/linux/mips/bits/msq-pad.h @@ -20,12 +20,12 @@ # error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #ifdef __MIPSEL__ -# define __MSQ_PAD_AFTER_TIME (__WORDSIZE == 32) +# define __MSQ_PAD_AFTER_TIME (__TIMESIZE == 32) # define __MSQ_PAD_BEFORE_TIME 0 #else # define __MSQ_PAD_AFTER_TIME 0 -# define __MSQ_PAD_BEFORE_TIME (__WORDSIZE == 32) +# define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32) #endif diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h b/sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h index 9680176abb..d19dfd5126 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/msq-pad.h @@ -20,7 +20,7 @@ # error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __MSQ_PAD_AFTER_TIME 0 -#define __MSQ_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32) diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h b/sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h index d4c9a93956..d7571cc755 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/sem-pad.h @@ -20,7 +20,7 @@ # error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __SEM_PAD_AFTER_TIME 0 -#define __SEM_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32) diff --git a/sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h b/sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h index 69a7e4a648..c8c2d44775 100644 --- a/sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h +++ b/sysdeps/unix/sysv/linux/powerpc/bits/shm-pad.h @@ -20,9 +20,9 @@ # error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __SHM_PAD_AFTER_TIME 0 -#define __SHM_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32) #define __SHM_SEGSZ_AFTER_TIME 1 -#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__WORDSIZE == 32) +#define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ (__TIMESIZE == 32) diff --git a/sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h b/sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h index 3dfeb07a48..72324e8428 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/msq-pad.h @@ -20,7 +20,7 @@ # error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __MSQ_PAD_AFTER_TIME 0 -#define __MSQ_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __MSQ_PAD_BEFORE_TIME (__TIMESIZE == 32) diff --git a/sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h b/sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h index b85f6b70a2..27266d48d5 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/sem-pad.h @@ -20,7 +20,7 @@ # error "Never use <bits/sem-pad.h> directly; include <sys/sem.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __SEM_PAD_AFTER_TIME 0 -#define __SEM_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __SEM_PAD_BEFORE_TIME (__TIMESIZE == 32) diff --git a/sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h b/sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h index c4d0c2feb8..fa3cc18a05 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/shm-pad.h @@ -20,9 +20,9 @@ # error "Never use <bits/shm-pad.h> directly; include <sys/shm.h> instead." #endif -#include <bits/wordsize.h> +#include <bits/timesize.h> #define __SHM_PAD_AFTER_TIME 0 -#define __SHM_PAD_BEFORE_TIME (__WORDSIZE == 32) +#define __SHM_PAD_BEFORE_TIME (__TIMESIZE == 32) #define __SHM_SEGSZ_AFTER_TIME 1 #define __SHM_PAD_BETWEEN_TIME_AND_SEGSZ 0 diff --git a/sysdeps/unix/sysv/linux/x86/bits/msq-pad.h b/sysdeps/unix/sysv/linux/x86/bits/timesize.h index 5d46956c77..8b88ab84b0 100644 --- a/sysdeps/unix/sysv/linux/x86/bits/msq-pad.h +++ b/sysdeps/unix/sysv/linux/x86/bits/timesize.h @@ -1,4 +1,4 @@ -/* Define where padding goes in struct msqid_ds. x86 version. +/* Bit size of the time_t type at glibc build time, x86-64 and x32 case. Copyright (C) 2018 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -16,13 +16,10 @@ License along with the GNU C Library; if not, see <http://www.gnu.org/licenses/>. */ -#ifndef _SYS_MSG_H -# error "Never use <bits/msq-pad.h> directly; include <sys/msg.h> instead." -#endif - -#ifdef __x86_64__ -# define __MSQ_PAD_AFTER_TIME 0 +#if defined __x86_64__ && defined __ILP32__ +/* For x32, time is 64-bit even though word size is 32-bit. */ +# define __TIMESIZE 64 #else -# define __MSQ_PAD_AFTER_TIME 1 +/* For others, time size is word size. */ +# define __TIMESIZE __WORDSIZE #endif -#define __MSQ_PAD_BEFORE_TIME 0 |