summaryrefslogtreecommitdiff
path: root/bits
diff options
context:
space:
mode:
authorSteve Ellcey <sellcey@caviumnetworks.com>2016-11-04 09:37:44 -0700
committerSteve Ellcey <sellcey@caviumnetworks.com>2016-11-04 09:37:44 -0700
commitd060cd002dab2c5800a3e47d4d5e63814775e958 (patch)
tree0d9f4e20fb27eceaf96f326873319a1479964124 /bits
parent95e431cc73c2df3bc606107d6f79c4683bd61102 (diff)
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.
Diffstat (limited to 'bits')
-rw-r--r--bits/wordsize.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/bits/wordsize.h b/bits/wordsize.h
index 9ef0e8526a..14edae3a11 100644
--- a/bits/wordsize.h
+++ b/bits/wordsize.h
@@ -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