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.
This commit is contained in:
Rich Felker 2013-07-22 16:40:35 -04:00
parent 1c6cace0bf
commit 009f186810
2 changed files with 7 additions and 2 deletions

View File

@ -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;

View File

@ -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 <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>