path: root/include
diff options
authorRich Felker <>2013-07-22 16:40:35 -0400
committerRich Felker <>2013-07-22 16:40:35 -0400
commit009f186810c16a8fef98fad485298bfb96f810ad (patch)
treec10efb07a49b11b98b466086014ba6613d4c1641 /include
parent1c6cace0bf88a5f30886665e2c2d2268e3a3ccc5 (diff)
move register_t and u_int64_t (back) to alltypes
during the header refactoring, I had moved u_int64_t out of alltypes under the assumption that we could just use long long everywhere. however, it seems some broken applications make inconsistent mixed use of u_int64_t and uint64_t, resulting in build errors when the underlying type differs.
Diffstat (limited to 'include')
2 files changed, 7 insertions, 2 deletions
diff --git a/include/ b/include/
index 644c61de..6f703583 100644
--- a/include/
+++ b/include/
@@ -4,6 +4,7 @@ TYPEDEF _Addr ptrdiff_t;
TYPEDEF _Addr ssize_t;
TYPEDEF _Addr intptr_t;
TYPEDEF _Addr regoff_t;
+TYPEDEF _Reg register_t;
TYPEDEF signed char int8_t;
TYPEDEF short int16_t;
@@ -14,6 +15,7 @@ TYPEDEF unsigned char uint8_t;
TYPEDEF unsigned short uint16_t;
TYPEDEF unsigned int uint32_t;
TYPEDEF unsigned _Int64 uint64_t;
+TYPEDEF unsigned _Int64 u_int64_t;
TYPEDEF unsigned _Int64 uintmax_t;
TYPEDEF unsigned mode_t;
diff --git a/include/sys/types.h b/include/sys/types.h
index db8661bf..27170f64 100644
--- a/include/sys/types.h
+++ b/include/sys/types.h
@@ -49,13 +49,17 @@ extern "C" {
#define __NEED_pthread_key_t
#define __NEED_pthread_once_t
#define __NEED_useconds_t
+#define __NEED_u_int64_t
+#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
+#define __NEED_register_t
#include <bits/alltypes.h>
typedef unsigned char u_int8_t;
typedef unsigned short u_int16_t;
typedef unsigned u_int32_t;
-typedef unsigned long long u_int64_t;
#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE)
typedef char *caddr_t;
@@ -65,7 +69,6 @@ typedef unsigned u_int, uint;
typedef unsigned long u_long, ulong;
typedef long long quad_t;
typedef unsigned long long u_quad_t;
-typedef long register_t;
#include <endian.h>
#include <sys/select.h>
#include <sys/sysmacros.h>