From 009f186810c16a8fef98fad485298bfb96f810ad Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Mon, 22 Jul 2013 16:40:35 -0400 Subject: [PATCH] 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. --- include/alltypes.h.in | 2 ++ include/sys/types.h | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/include/alltypes.h.in b/include/alltypes.h.in index 644c61de..6f703583 100644 --- a/include/alltypes.h.in +++ b/include/alltypes.h.in @@ -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 +#endif #include 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 #include #include -- 2.25.1