mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-21 20:40:05 +00:00
Define wordsize.h macros everywhere
* bits/wordsize.h: Add documentation. * sysdeps/aarch64/bits/wordsize.h : New file * sysdeps/generic/stdint.h (PTRDIFF_MIN, PTRDIFF_MAX): Update definitions. (SIZE_MAX): Change ifdef to if in __WORDSIZE32_SIZE_ULONG check. * sysdeps/gnu/bits/utmp.h (__WORDSIZE_TIME64_COMPAT32): Check with #if instead of #ifdef. * sysdeps/gnu/bits/utmpx.h (__WORDSIZE_TIME64_COMPAT32): Ditto. * sysdeps/mips/bits/wordsize.h (__WORDSIZE32_SIZE_ULONG, __WORDSIZE32_PTRDIFF_LONG, __WORDSIZE_TIME64_COMPAT32): Add or change defines. * sysdeps/powerpc/powerpc32/bits/wordsize.h: Likewise. * sysdeps/powerpc/powerpc64/bits/wordsize.h: Likewise. * sysdeps/s390/s390-32/bits/wordsize.h: Likewise. * sysdeps/s390/s390-64/bits/wordsize.h: Likewise. * sysdeps/sparc/sparc32/bits/wordsize.h: Likewise. * sysdeps/sparc/sparc64/bits/wordsize.h: Likewise. * sysdeps/tile/tilegx/bits/wordsize.h: Likewise. * sysdeps/tile/tilepro/bits/wordsize.h: Likewise. * sysdeps/unix/sysv/linux/alpha/bits/wordsize.h: Likewise. * sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h: Likewise. * sysdeps/unix/sysv/linux/sparc/bits/wordsize.h: Likewise. * sysdeps/wordsize-32/bits/wordsize.h: Likewise. * sysdeps/wordsize-64/bits/wordsize.h: Likewise. * sysdeps/x86/bits/wordsize.h: Likewise.
This commit is contained in:
parent
95e431cc73
commit
d060cd002d
29
ChangeLog
29
ChangeLog
@ -1,3 +1,32 @@
|
||||
2016-11-04 Yury Norov <ynorov@caviumnetworks.com>
|
||||
Steve Ellcey <sellcey@caviumnetworks.com>
|
||||
|
||||
* bits/wordsize.h: Add documentation.
|
||||
* sysdeps/aarch64/bits/wordsize.h : New file
|
||||
* sysdeps/generic/stdint.h (PTRDIFF_MIN, PTRDIFF_MAX): Update
|
||||
definitions.
|
||||
(SIZE_MAX): Change ifdef to if in __WORDSIZE32_SIZE_ULONG check.
|
||||
* sysdeps/gnu/bits/utmp.h (__WORDSIZE_TIME64_COMPAT32): Check
|
||||
with #if instead of #ifdef.
|
||||
* sysdeps/gnu/bits/utmpx.h (__WORDSIZE_TIME64_COMPAT32): Ditto.
|
||||
* sysdeps/mips/bits/wordsize.h (__WORDSIZE32_SIZE_ULONG,
|
||||
__WORDSIZE32_PTRDIFF_LONG, __WORDSIZE_TIME64_COMPAT32):
|
||||
Add or change defines.
|
||||
* sysdeps/powerpc/powerpc32/bits/wordsize.h: Likewise.
|
||||
* sysdeps/powerpc/powerpc64/bits/wordsize.h: Likewise.
|
||||
* sysdeps/s390/s390-32/bits/wordsize.h: Likewise.
|
||||
* sysdeps/s390/s390-64/bits/wordsize.h: Likewise.
|
||||
* sysdeps/sparc/sparc32/bits/wordsize.h: Likewise.
|
||||
* sysdeps/sparc/sparc64/bits/wordsize.h: Likewise.
|
||||
* sysdeps/tile/tilegx/bits/wordsize.h: Likewise.
|
||||
* sysdeps/tile/tilepro/bits/wordsize.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/alpha/bits/wordsize.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/powerpc/bits/wordsize.h: Likewise.
|
||||
* sysdeps/unix/sysv/linux/sparc/bits/wordsize.h: Likewise.
|
||||
* sysdeps/wordsize-32/bits/wordsize.h: Likewise.
|
||||
* sysdeps/wordsize-64/bits/wordsize.h: Likewise.
|
||||
* sysdeps/x86/bits/wordsize.h: Likewise.
|
||||
|
||||
2016-11-04 Wilco Dijkstra <wdijkstr@arm.com>
|
||||
Kevin Petit <kevin.petit@arm.com>
|
||||
|
||||
|
@ -1 +1,27 @@
|
||||
#error "This file must be written based on the data type sizes of the target"
|
||||
|
||||
/* The following entries are a template for what defines should be in the
|
||||
wordsize.h header file for a target. */
|
||||
|
||||
/* Size in bits of the 'long int' and pointer types. */
|
||||
#define __WORDSIZE
|
||||
|
||||
/* This should be set to 1 if __WORDSIZE is 32 and size_t is type
|
||||
'unsigned long' instead of type 'unsigned int'. This will ensure
|
||||
that SIZE_MAX is defined as an unsigned long constant instead of an
|
||||
unsigned int constant. Set to 0 if __WORDSIZE is 32 and size_t is
|
||||
'unsigned int' and leave undefined if __WORDSIZE is 64. */
|
||||
#define __WORDSIZE32_SIZE_ULONG
|
||||
|
||||
/* This should be set to 1 if __WORDSIZE is 32 and ptrdiff_t is type 'long'
|
||||
instead of type 'int'. This will ensure that PTRDIFF_MIN and PTRDIFF_MAX
|
||||
are defined as long constants instead of int constants. Set to 0 if
|
||||
__WORDSIZE is 32 and ptrdiff_t is type 'int' and leave undefined if
|
||||
__WORDSIZE is 64. */
|
||||
#define __WORDSIZE32_PTRDIFF_LONG
|
||||
|
||||
/* Set to 1 in order to force time types to be 32 bits instead of 64 bits in
|
||||
struct lastlog and struct utmp{,x} on 64-bit ports. This may be done in
|
||||
order to make 64-bit ports compatible with 32-bit ports. Set to 0 for
|
||||
64-bit ports where the time types are 64-bits or for any 32-bit ports. */
|
||||
#define __WORDSIZE_TIME64_COMPAT32
|
||||
|
28
sysdeps/aarch64/bits/wordsize.h
Normal file
28
sysdeps/aarch64/bits/wordsize.h
Normal file
@ -0,0 +1,28 @@
|
||||
/* Determine the wordsize from the preprocessor defines.
|
||||
|
||||
Copyright (C) 2016 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
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#ifdef __LP64__
|
||||
# define __WORDSIZE 64
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE32_SIZE_ULONG 1
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 1
|
||||
#endif
|
||||
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
@ -249,8 +249,13 @@ typedef unsigned long long int uintmax_t;
|
||||
# define PTRDIFF_MIN (-9223372036854775807L-1)
|
||||
# define PTRDIFF_MAX (9223372036854775807L)
|
||||
# else
|
||||
# define PTRDIFF_MIN (-2147483647-1)
|
||||
# define PTRDIFF_MAX (2147483647)
|
||||
# if __WORDSIZE32_PTRDIFF_LONG
|
||||
# define PTRDIFF_MIN (-2147483647L-1)
|
||||
# define PTRDIFF_MAX (2147483647L)
|
||||
# else
|
||||
# define PTRDIFF_MIN (-2147483647-1)
|
||||
# define PTRDIFF_MAX (2147483647)
|
||||
# endif
|
||||
# endif
|
||||
|
||||
/* Limits of `sig_atomic_t'. */
|
||||
@ -261,7 +266,7 @@ typedef unsigned long long int uintmax_t;
|
||||
# if __WORDSIZE == 64
|
||||
# define SIZE_MAX (18446744073709551615UL)
|
||||
# else
|
||||
# ifdef __WORDSIZE32_SIZE_ULONG
|
||||
# if __WORDSIZE32_SIZE_ULONG
|
||||
# define SIZE_MAX (4294967295UL)
|
||||
# else
|
||||
# define SIZE_MAX (4294967295U)
|
||||
|
@ -35,7 +35,7 @@
|
||||
previous logins. */
|
||||
struct lastlog
|
||||
{
|
||||
#ifdef __WORDSIZE_TIME64_COMPAT32
|
||||
#if __WORDSIZE_TIME64_COMPAT32
|
||||
int32_t ll_time;
|
||||
#else
|
||||
__time_t ll_time;
|
||||
@ -68,7 +68,7 @@ struct utmp
|
||||
/* The ut_session and ut_tv fields must be the same size when compiled
|
||||
32- and 64-bit. This allows data files and shared memory to be
|
||||
shared between 32- and 64-bit applications. */
|
||||
#ifdef __WORDSIZE_TIME64_COMPAT32
|
||||
#if __WORDSIZE_TIME64_COMPAT32
|
||||
int32_t ut_session; /* Session ID, used for windowing. */
|
||||
struct
|
||||
{
|
||||
|
@ -66,7 +66,7 @@ struct utmpx
|
||||
/* The fields ut_session and ut_tv must be the same size when compiled
|
||||
32- and 64-bit. This allows files and shared memory to be shared
|
||||
between 32- and 64-bit applications. */
|
||||
#ifdef __WORDSIZE_TIME64_COMPAT32
|
||||
#if __WORDSIZE_TIME64_COMPAT32
|
||||
__int32_t ut_session; /* Session ID, used for windowing. */
|
||||
struct
|
||||
{
|
||||
|
@ -17,7 +17,15 @@
|
||||
|
||||
#include <sgidefs.h>
|
||||
|
||||
#define __WORDSIZE _MIPS_SZPTR
|
||||
#define __WORDSIZE _MIPS_SZPTR
|
||||
|
||||
#if _MIPS_SIM == _ABI64
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
#else
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
#endif
|
||||
|
||||
#if __WORDSIZE == 32
|
||||
#define __WORDSIZE32_SIZE_ULONG 0
|
||||
#define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
@ -5,4 +5,7 @@
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
# define __WORDSIZE32_SIZE_ULONG 0
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
@ -5,4 +5,7 @@
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
# define __WORDSIZE32_SIZE_ULONG 0
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
@ -5,8 +5,11 @@
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE32_SIZE_ULONG 1
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
|
||||
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
|
||||
/* Signal that we didn't used to have a `long double'. The changes all
|
||||
|
@ -5,8 +5,11 @@
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE32_SIZE_ULONG 1
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
|
||||
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
|
||||
/* Signal that we didn't used to have a `long double'. The changes all
|
||||
|
@ -5,4 +5,7 @@
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
# define __WORDSIZE32_SIZE_ULONG 0
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
@ -5,4 +5,7 @@
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
# define __WORDSIZE32_SIZE_ULONG 0
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
@ -5,4 +5,7 @@
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
# define __WORDSIZE32_SIZE_ULONG 0
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
@ -1,3 +1,4 @@
|
||||
/* Determine the wordsize from the preprocessor defines. */
|
||||
|
||||
#define __WORDSIZE 32
|
||||
#define __WORDSIZE 32
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
|
@ -16,6 +16,7 @@
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#define __WORDSIZE 64
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
|
||||
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
|
||||
|
@ -5,6 +5,9 @@
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
# define __WORDSIZE32_SIZE_ULONG 0
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
||||
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
|
@ -4,6 +4,8 @@
|
||||
# define __WORDSIZE 64
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
# define __WORDSIZE32_SIZE_ULONG 0
|
||||
# define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
||||
#if !defined __NO_LONG_DOUBLE_MATH && !defined __LONG_DOUBLE_MATH_OPTIONAL
|
||||
|
@ -15,4 +15,7 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#define __WORDSIZE 32
|
||||
#define __WORDSIZE 32
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
#define __WORDSIZE32_SIZE_ULONG 0
|
||||
#define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
|
@ -15,4 +15,5 @@
|
||||
License along with the GNU C Library; if not, see
|
||||
<http://www.gnu.org/licenses/>. */
|
||||
|
||||
#define __WORDSIZE 64
|
||||
#define __WORDSIZE 64
|
||||
#define __WORDSIZE_TIME64_COMPAT32 0
|
||||
|
@ -4,10 +4,14 @@
|
||||
# define __WORDSIZE 64
|
||||
#else
|
||||
# define __WORDSIZE 32
|
||||
#define __WORDSIZE32_SIZE_ULONG 0
|
||||
#define __WORDSIZE32_PTRDIFF_LONG 0
|
||||
#endif
|
||||
|
||||
#ifdef __x86_64__
|
||||
# define __WORDSIZE_TIME64_COMPAT32 1
|
||||
/* Both x86-64 and x32 use the 64-bit system call interface. */
|
||||
# define __SYSCALL_WORDSIZE 64
|
||||
#else
|
||||
# define __WORDSIZE_TIME64_COMPAT32 0
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user