Always define __USE_TIME_BITS64 when 64 bit time_t is used

It was raised on libc-help [1] that some Linux kernel interfaces expect
the libc to define __USE_TIME_BITS64 to indicate the time_t size for the
kABI.  Different than defined by the initial y2038 design document [2],
the __USE_TIME_BITS64 is only defined for ABIs that support more than
one time_t size (by defining the _TIME_BITS for each module).

The 64 bit time_t redirects are now enabled using a different internal
define (__USE_TIME64_REDIRECTS). There is no expected change in semantic
or code generation.

Checked on x86_64-linux-gnu, i686-linux-gnu, aarch64-linux-gnu, and
arm-linux-gnueabi

[1] https://sourceware.org/pipermail/libc-help/2024-January/006557.html
[2] https://sourceware.org/glibc/wiki/Y2038ProofnessDesign

Reviewed-by: DJ Delorie <dj@redhat.com>
This commit is contained in:
Adhemerval Zanella 2024-01-18 10:18:01 -03:00
parent a0698a5e92
commit a4ed0471d7
75 changed files with 178 additions and 182 deletions

View File

@ -48,7 +48,7 @@ poll (__fortify_clang_overload_arg (struct pollfd *, ,__fds), nfds_t __nfds,
#ifdef __USE_GNU #ifdef __USE_GNU
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
extern int __REDIRECT (__ppoll64_alias, (struct pollfd *__fds, nfds_t __nfds, extern int __REDIRECT (__ppoll64_alias, (struct pollfd *__fds, nfds_t __nfds,
const struct timespec *__timeout, const struct timespec *__timeout,
const __sigset_t *__ss), __ppoll64); const __sigset_t *__ss), __ppoll64);

View File

@ -172,7 +172,7 @@ typedef __pid_t pid_t;
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
# ifndef __USE_FILE_OFFSET64 # ifndef __USE_FILE_OFFSET64
extern int fcntl (int __fd, int __cmd, ...); extern int fcntl (int __fd, int __cmd, ...);
# else # else
@ -185,7 +185,7 @@ extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64);
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
extern int fcntl64 (int __fd, int __cmd, ...); extern int fcntl64 (int __fd, int __cmd, ...);
# endif # endif
#else /* __USE_TIME_BITS64 */ #else /* __USE_TIME64_REDIRECTS */
# ifdef __REDIRECT # ifdef __REDIRECT
extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...), extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...),
__fcntl_time64); __fcntl_time64);

View File

@ -187,7 +187,7 @@ FTSENT *fts_read (FTS *);
int fts_set (FTS *, FTSENT *, int) __THROW; int fts_set (FTS *, FTSENT *, int) __THROW;
#else #else
# ifdef __REDIRECT # ifdef __REDIRECT
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
FTSENT *__REDIRECT (fts_children, (FTS *, int), fts64_children); FTSENT *__REDIRECT (fts_children, (FTS *, int), fts64_children);
int __REDIRECT (fts_close, (FTS *), fts64_close); int __REDIRECT (fts_close, (FTS *), fts64_close);
FTS *__REDIRECT (fts_open, (char * const *, int, FTS *__REDIRECT (fts_open, (char * const *, int,
@ -206,7 +206,7 @@ int __REDIRECT_NTH (fts_set, (FTS *, FTSENT *, int),
__fts64_set_time64); __fts64_set_time64);
# endif # endif
# else # else
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
# define fts_children fts64_children # define fts_children fts64_children
# define fts_close fts64_close # define fts_close fts64_close
# define fts_open fts64_open # define fts_open fts64_open
@ -217,7 +217,7 @@ int __REDIRECT_NTH (fts_set, (FTS *, FTSENT *, int),
# endif # endif
#endif #endif
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
FTSENT64 *fts64_children (FTS64 *, int); FTSENT64 *fts64_children (FTS64 *, int);
int fts64_close (FTS64 *); int fts64_close (FTS64 *);
FTS64 *fts64_open (char * const *, int, FTS64 *fts64_open (char * const *, int,

View File

@ -137,7 +137,7 @@ extern int ftw (const char *__dir, __ftw_func_t __func, int __descriptors)
__nonnull ((1, 2)); __nonnull ((1, 2));
#else #else
# ifdef __REDIRECT # ifdef __REDIRECT
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func, extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
int __descriptors), ftw64) __nonnull ((1, 2)); int __descriptors), ftw64) __nonnull ((1, 2));
# else # else
@ -146,7 +146,7 @@ extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
__nonnull ((1, 2)); __nonnull ((1, 2));
# endif # endif
# else # else
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
# define ftw ftw64 # define ftw ftw64
# else # else
# define ftw __ftw64_time64 # define ftw __ftw64_time64
@ -154,7 +154,7 @@ extern int __REDIRECT (ftw, (const char *__dir, __ftw_func_t __func,
# endif # endif
#endif #endif
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int ftw64 (const char *__dir, __ftw64_func_t __func, extern int ftw64 (const char *__dir, __ftw64_func_t __func,
int __descriptors) __nonnull ((1, 2)); int __descriptors) __nonnull ((1, 2));
# else # else
@ -180,7 +180,7 @@ extern int nftw (const char *__dir, __nftw_func_t __func, int __descriptors,
int __flag) __nonnull ((1, 2)); int __flag) __nonnull ((1, 2));
# else # else
# ifdef __REDIRECT # ifdef __REDIRECT
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func, extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
int __descriptors, int __flag), nftw64) int __descriptors, int __flag), nftw64)
__nonnull ((1, 2)); __nonnull ((1, 2));
@ -190,7 +190,7 @@ extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
__nonnull ((1, 2)); __nonnull ((1, 2));
# endif # endif
# else # else
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
# define nftw nftw64 # define nftw nftw64
# else # else
# define nftw __nftw64_time64 # define nftw __nftw64_time64
@ -198,7 +198,7 @@ extern int __REDIRECT (nftw, (const char *__dir, __nftw_func_t __func,
# endif # endif
# endif # endif
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int nftw64 (const char *__dir, __nftw64_func_t __func, extern int nftw64 (const char *__dir, __nftw64_func_t __func,
int __descriptors, int __flag) __nonnull ((1, 2)); int __descriptors, int __flag) __nonnull ((1, 2));
# else # else

View File

@ -66,7 +66,7 @@ extern int ppoll (struct pollfd *__fds, nfds_t __nfds,
const __sigset_t *__ss) const __sigset_t *__ss)
__fortified_attr_access (__write_only__, 1, 2); __fortified_attr_access (__write_only__, 1, 2);
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# ifdef __REDIRECT # ifdef __REDIRECT
extern int __REDIRECT (ppoll, (struct pollfd *__fds, nfds_t __nfds, extern int __REDIRECT (ppoll, (struct pollfd *__fds, nfds_t __nfds,
const struct timespec *__timeout, const struct timespec *__timeout,

View File

@ -209,7 +209,7 @@ extern int stat (const char *__restrict __file,
that file descriptor FD is open on and put them in BUF. */ that file descriptor FD is open on and put them in BUF. */
extern int fstat (int __fd, struct stat *__buf) __THROW __nonnull ((2)); extern int fstat (int __fd, struct stat *__buf) __THROW __nonnull ((2));
#else #else
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# ifdef __REDIRECT_NTH # ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (stat, (const char *__restrict __file, extern int __REDIRECT_NTH (stat, (const char *__restrict __file,
struct stat *__restrict __buf), struct stat *__restrict __buf),
@ -236,7 +236,7 @@ extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64)
# endif # endif
#endif #endif
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int stat64 (const char *__restrict __file, extern int stat64 (const char *__restrict __file,
struct stat64 *__restrict __buf) __THROW __nonnull ((1, 2)); struct stat64 *__restrict __buf) __THROW __nonnull ((1, 2));
extern int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2)); extern int fstat64 (int __fd, struct stat64 *__buf) __THROW __nonnull ((2));
@ -265,7 +265,7 @@ extern int fstatat (int __fd, const char *__restrict __file,
struct stat *__restrict __buf, int __flag) struct stat *__restrict __buf, int __flag)
__THROW __nonnull ((2, 3)); __THROW __nonnull ((2, 3));
# else # else
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# ifdef __REDIRECT_NTH # ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file, extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
struct stat *__restrict __buf, struct stat *__restrict __buf,
@ -287,7 +287,7 @@ extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
# endif # endif
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int fstatat64 (int __fd, const char *__restrict __file, extern int fstatat64 (int __fd, const char *__restrict __file,
struct stat64 *__restrict __buf, int __flag) struct stat64 *__restrict __buf, int __flag)
__THROW __nonnull ((2, 3)); __THROW __nonnull ((2, 3));
@ -313,7 +313,7 @@ extern int __REDIRECT_NTH (fstatat64, (int __fd,
extern int lstat (const char *__restrict __file, extern int lstat (const char *__restrict __file,
struct stat *__restrict __buf) __THROW __nonnull ((1, 2)); struct stat *__restrict __buf) __THROW __nonnull ((1, 2));
# else # else
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# ifdef __REDIRECT_NTH # ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (lstat, extern int __REDIRECT_NTH (lstat,
(const char *__restrict __file, (const char *__restrict __file,
@ -334,7 +334,7 @@ extern int __REDIRECT_NTH (lstat,
# endif # endif
# endif # endif
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int lstat64 (const char *__restrict __file, extern int lstat64 (const char *__restrict __file,
struct stat64 *__restrict __buf) struct stat64 *__restrict __buf)
__THROW __nonnull ((1, 2)); __THROW __nonnull ((1, 2));
@ -427,7 +427,7 @@ extern int mkfifoat (int __fd, const char *__path, __mode_t __mode)
#endif #endif
#ifdef __USE_ATFILE #ifdef __USE_ATFILE
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Set file access and modification times relative to directory file /* Set file access and modification times relative to directory file
descriptor. */ descriptor. */
extern int utimensat (int __fd, const char *__path, extern int utimensat (int __fd, const char *__path,
@ -447,7 +447,7 @@ extern int __REDIRECT_NTH (utimensat, (int fd, const char *__path,
#endif #endif
#ifdef __USE_XOPEN2K8 #ifdef __USE_XOPEN2K8
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Set file access and modification times of the file associated with FD. */ /* Set file access and modification times of the file associated with FD. */
extern int futimens (int __fd, const struct timespec __times[2]) __THROW; extern int futimens (int __fd, const struct timespec __times[2]) __THROW;

View File

@ -35,7 +35,7 @@ __BEGIN_DECLS
/* Structure describing file times. */ /* Structure describing file times. */
struct utimbuf struct utimbuf
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
__time64_t actime; /* Access time. */ __time64_t actime; /* Access time. */
__time64_t modtime; /* Modification time. */ __time64_t modtime; /* Modification time. */
#else #else
@ -46,7 +46,7 @@ struct utimbuf
/* Set the access and modification times of FILE to those given in /* Set the access and modification times of FILE to those given in
*FILE_TIMES. If FILE_TIMES is NULL, set them to the current time. */ *FILE_TIMES. If FILE_TIMES is NULL, set them to the current time. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int utime (const char *__file, extern int utime (const char *__file,
const struct utimbuf *__file_times) const struct utimbuf *__file_times)
__THROW __nonnull ((1)); __THROW __nonnull ((1));

View File

@ -192,6 +192,12 @@ Linux kernel version on which the system is running. For Linux kernel
version above @b{5.1} syscalls supporting 64-bit time are used. Otherwise, version above @b{5.1} syscalls supporting 64-bit time are used. Otherwise,
a fallback code is used with legacy (i.e. 32-bit) syscalls. a fallback code is used with legacy (i.e. 32-bit) syscalls.
On such platforms, @theglibc{} will also define @code{__USE_TIME64_REDIRECTS}
to indicate whether the declarations are expanded to different ones
(either by redefiniding the symbol name or using symbol aliais).
For instance, if the symbol @code{clock_gettime} expands to
@code{__glock_gettime64}.
@item @item
If @code{_TIME_BITS} is defined to be 32, @code{time_t} is defined to If @code{_TIME_BITS} is defined to be 32, @code{time_t} is defined to
be a 32-bit integer where that is supported. This is not recommended, be a 32-bit integer where that is supported. This is not recommended,

View File

@ -491,6 +491,10 @@ derived as in the dual-time configuration case, and which expands to
the symbol's name. For instance, the macro @code{__clock_gettime64} the symbol's name. For instance, the macro @code{__clock_gettime64}
expands to @code{clock_gettime}. expands to @code{clock_gettime}.
When @code{__TIMESIZE} is set to 64, @theglibc{} will also define
the@code{__USE_TIME_BITS64} macro. It is used by the Linux kernel ABI
to set the expected @code{time_t} size used on some syscalls.
These macros are purely internal to @theglibc{} and exist only so that These macros are purely internal to @theglibc{} and exist only so that
a single definition of the 64-bit time functions can be used on both a single definition of the 64-bit time functions can be used on both
single-time and dual-time configurations, and so that glibc code can single-time and dual-time configurations, and so that glibc code can

View File

@ -38,7 +38,7 @@ __BEGIN_DECLS
/* Perform the I/O control operation specified by REQUEST on FD. /* Perform the I/O control operation specified by REQUEST on FD.
One argument may follow; its presence and type depend on REQUEST. One argument may follow; its presence and type depend on REQUEST.
Return value depends on REQUEST. Usually -1 indicates error. */ Return value depends on REQUEST. Usually -1 indicates error. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int ioctl (int __fd, unsigned long int __request, ...) __THROW; extern int ioctl (int __fd, unsigned long int __request, ...) __THROW;
#else #else
# ifdef __REDIRECT # ifdef __REDIRECT

View File

@ -98,7 +98,7 @@ __BEGIN_DECLS
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int select (int __nfds, fd_set *__restrict __readfds, extern int select (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds, fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds, fd_set *__restrict __exceptfds,
@ -123,7 +123,7 @@ extern int __REDIRECT (select,
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pselect (int __nfds, fd_set *__restrict __readfds, extern int pselect (int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds, fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds, fd_set *__restrict __exceptfds,

View File

@ -150,7 +150,7 @@ extern int glob (const char *__restrict __pattern, int __flags,
/* Free storage allocated in PGLOB by a previous `glob' call. */ /* Free storage allocated in PGLOB by a previous `glob' call. */
extern void globfree (glob_t *__pglob) __THROW; extern void globfree (glob_t *__pglob) __THROW;
#else #else
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
extern int __REDIRECT_NTHNL (glob, (const char *__restrict __pattern, extern int __REDIRECT_NTHNL (glob, (const char *__restrict __pattern,
int __flags, int __flags,
int (*__errfunc) (const char *, int), int (*__errfunc) (const char *, int),
@ -170,7 +170,7 @@ extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64);
#endif #endif
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
extern int __REDIRECT_NTHNL (glob64, (const char *__restrict __pattern, extern int __REDIRECT_NTHNL (glob64, (const char *__restrict __pattern,
int __flags, int __flags,
int (*__errfunc) (const char *, int), int (*__errfunc) (const char *, int),

View File

@ -74,7 +74,7 @@ extern int sched_get_priority_max (int __algorithm) __THROW;
extern int sched_get_priority_min (int __algorithm) __THROW; extern int sched_get_priority_min (int __algorithm) __THROW;
/* Get the SCHED_RR interval for the named process. */ /* Get the SCHED_RR interval for the named process. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW; extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) __THROW;
#else #else
# ifdef __REDIRECT_NTH # ifdef __REDIRECT_NTH

View File

@ -139,7 +139,7 @@ struct rusage;
nil, store information about the child's resource usage there. If the nil, store information about the child's resource usage there. If the
WUNTRACED bit is set in OPTIONS, return status for stopped children; WUNTRACED bit is set in OPTIONS, return status for stopped children;
otherwise don't. */ otherwise don't. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern __pid_t wait3 (int *__stat_loc, int __options, extern __pid_t wait3 (int *__stat_loc, int __options,
struct rusage * __usage) __THROWNL; struct rusage * __usage) __THROWNL;
# else # else
@ -154,7 +154,7 @@ extern __pid_t __REDIRECT_NTHNL (wait3, (int *__stat_loc, int __options,
#endif #endif
#ifdef __USE_MISC #ifdef __USE_MISC
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* PID is like waitpid. Other args are like wait3. */ /* PID is like waitpid. Other args are like wait3. */
extern __pid_t wait4 (__pid_t __pid, int *__stat_loc, int __options, extern __pid_t wait4 (__pid_t __pid, int *__stat_loc, int __options,
struct rusage *__usage) __THROWNL; struct rusage *__usage) __THROWNL;

View File

@ -701,7 +701,7 @@ extern int getaddrinfo_a (int __mode, struct gaicb *__list[__restrict_arr],
extern int gai_suspend (const struct gaicb *const __list[], int __ent, extern int gai_suspend (const struct gaicb *const __list[], int __ent,
const struct timespec *__timeout); const struct timespec *__timeout);
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# if defined(__REDIRECT) # if defined(__REDIRECT)
extern int __REDIRECT (gai_suspend, (const struct gaicb *const __list[], extern int __REDIRECT (gai_suspend, (const struct gaicb *const __list[],
int __ent, int __ent,

View File

@ -88,7 +88,7 @@ extern int setrlimit64 (__rlimit_resource_t __resource,
and put it in *USAGE. Returns 0 for success, -1 for failure. */ and put it in *USAGE. Returns 0 for success, -1 for failure. */
extern int getrusage (__rusage_who_t __who, struct rusage *__usage) __THROW; extern int getrusage (__rusage_who_t __who, struct rusage *__usage) __THROW;
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# if defined(__REDIRECT_NTH) # if defined(__REDIRECT_NTH)
extern int __REDIRECT_NTH (getrusage, (__rusage_who_t __who, extern int __REDIRECT_NTH (getrusage, (__rusage_who_t __who,
struct rusage *__usage), struct rusage *__usage),

View File

@ -193,7 +193,7 @@ extern __ssize_t __REDIRECT_NTH (aio_return, (struct aiocb *__aiocbp),
extern int __REDIRECT_NTH (aio_cancel, extern int __REDIRECT_NTH (aio_cancel,
(int __fildes, struct aiocb *__aiocbp), (int __fildes, struct aiocb *__aiocbp),
aio_cancel64); aio_cancel64);
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
extern int __REDIRECT_NTH (aio_suspend, extern int __REDIRECT_NTH (aio_suspend,
(const struct aiocb *const __list[], int __nent, (const struct aiocb *const __list[], int __nent,
const struct timespec *__restrict __timeout), const struct timespec *__restrict __timeout),
@ -215,7 +215,7 @@ extern int __REDIRECT_NTH (aio_fsync,
# define aio_error aio_error64 # define aio_error aio_error64
# define aio_return aio_return64 # define aio_return aio_return64
# define aio_cancel aio_cancel64 # define aio_cancel aio_cancel64
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# define aio_suspend __aio_suspend_time64 # define aio_suspend __aio_suspend_time64
# else # else
# define aio_suspend aio_suspend64 # define aio_suspend aio_suspend64

View File

@ -71,7 +71,7 @@ extern int mq_send (mqd_t __mqdes, const char *__msg_ptr, size_t __msg_len,
unsigned int __msg_prio) __nonnull ((2)); unsigned int __msg_prio) __nonnull ((2));
#ifdef __USE_XOPEN2K #ifdef __USE_XOPEN2K
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Receive the oldest from highest priority messages in message queue /* Receive the oldest from highest priority messages in message queue
MQDES, stop waiting if ABS_TIMEOUT expires. */ MQDES, stop waiting if ABS_TIMEOUT expires. */
extern ssize_t mq_timedreceive (mqd_t __mqdes, char *__restrict __msg_ptr, extern ssize_t mq_timedreceive (mqd_t __mqdes, char *__restrict __msg_ptr,

View File

@ -269,7 +269,7 @@ extern int sigwaitinfo (const sigset_t *__restrict __set,
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int sigtimedwait (const sigset_t *__restrict __set, extern int sigtimedwait (const sigset_t *__restrict __set,
siginfo_t *__restrict __info, siginfo_t *__restrict __info,
const struct timespec *__restrict __timeout) const struct timespec *__restrict __timeout)

View File

@ -170,7 +170,7 @@ extern ssize_t recvfrom (int __fd, void *__restrict __buf, size_t __n,
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern ssize_t sendmsg (int __fd, const struct msghdr *__message, extern ssize_t sendmsg (int __fd, const struct msghdr *__message,
int __flags); int __flags);
#else #else
@ -191,7 +191,7 @@ extern ssize_t __sendmsg64 (int __fd, const struct msghdr *__message,
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int sendmmsg (int __fd, struct mmsghdr *__vmessages, extern int sendmmsg (int __fd, struct mmsghdr *__vmessages,
unsigned int __vlen, int __flags); unsigned int __vlen, int __flags);
# else # else
@ -204,7 +204,7 @@ extern int __sendmmsg64 (int __fd, struct mmsghdr *__vmessages,
unsigned int __vlen, int __flags); unsigned int __vlen, int __flags);
# define sendmmsg __sendmmsg64 # define sendmmsg __sendmmsg64
# endif # endif
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
#endif /* __USE_GNU */ #endif /* __USE_GNU */
/* Receive a message as described by MESSAGE from socket FD. /* Receive a message as described by MESSAGE from socket FD.
@ -212,7 +212,7 @@ extern int __sendmmsg64 (int __fd, struct mmsghdr *__vmessages,
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags); extern ssize_t recvmsg (int __fd, struct msghdr *__message, int __flags);
#else #else
# ifdef __REDIRECT # ifdef __REDIRECT
@ -231,7 +231,7 @@ extern ssize_t __recvmsg64 (int __fd, struct msghdr *__message, int __flags);
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int recvmmsg (int __fd, struct mmsghdr *__vmessages, extern int recvmmsg (int __fd, struct mmsghdr *__vmessages,
unsigned int __vlen, int __flags, unsigned int __vlen, int __flags,
struct timespec *__tmo); struct timespec *__tmo);
@ -251,7 +251,7 @@ extern int __REDIRECT (recvmmsg, (int __fd, struct mmsghdr *__vmessages,
/* Put the current value for socket FD's option OPTNAME at protocol level LEVEL /* Put the current value for socket FD's option OPTNAME at protocol level LEVEL
into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's into OPTVAL (which is *OPTLEN bytes long), and set *OPTLEN to the value's
actual length. Returns 0 on success, -1 for errors. */ actual length. Returns 0 on success, -1 for errors. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int getsockopt (int __fd, int __level, int __optname, extern int getsockopt (int __fd, int __level, int __optname,
void *__restrict __optval, void *__restrict __optval,
socklen_t *__restrict __optlen) __THROW; socklen_t *__restrict __optlen) __THROW;
@ -273,7 +273,7 @@ extern int __getsockopt64 (int __fd, int __level, int __optname,
/* Set socket FD's option OPTNAME at protocol level LEVEL /* Set socket FD's option OPTNAME at protocol level LEVEL
to *OPTVAL (which is OPTLEN bytes long). to *OPTVAL (which is OPTLEN bytes long).
Returns 0 on success, -1 for errors. */ Returns 0 on success, -1 for errors. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int setsockopt (int __fd, int __level, int __optname, extern int setsockopt (int __fd, int __level, int __optname,
const void *__optval, socklen_t __optlen) __THROW; const void *__optval, socklen_t __optlen) __THROW;
#else #else

View File

@ -35,7 +35,7 @@ make_timespec (time_t s, long int ns)
enum { TIMESPEC_HZ = 1000000000 }; enum { TIMESPEC_HZ = 1000000000 };
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
struct timespec timespec_add (struct timespec, struct timespec) struct timespec timespec_add (struct timespec, struct timespec)
__attribute__((const)); __attribute__((const));
struct timespec timespec_sub (struct timespec, struct timespec) struct timespec timespec_sub (struct timespec, struct timespec)

View File

@ -30,7 +30,7 @@ __BEGIN_DECLS
/* The following functions call the corresponding libc functions and /* The following functions call the corresponding libc functions and
terminate the process on error. */ terminate the process on error. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
void xclock_gettime (clockid_t clock, struct timespec *ts); void xclock_gettime (clockid_t clock, struct timespec *ts);
void xclock_settime (clockid_t clock, const struct timespec *ts); void xclock_settime (clockid_t clock, const struct timespec *ts);
#else #else

View File

@ -36,7 +36,7 @@ pid_t xwaitpid (pid_t, int *status, int flags);
void xpipe (int[2]); void xpipe (int[2]);
void xdup2 (int, int); void xdup2 (int, int);
int xopen (const char *path, int flags, mode_t); int xopen (const char *path, int flags, mode_t);
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
# ifdef __USE_FILE_OFFSET64 # ifdef __USE_FILE_OFFSET64
void xstat (const char *path, struct stat *); void xstat (const char *path, struct stat *);
void xlstat (const char *path, struct stat *); void xlstat (const char *path, struct stat *);

View File

@ -1,19 +0,0 @@
/* Features part to handle 64-bit time_t support. Generic version.
Copyright (C) 2021-2024 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
<https://www.gnu.org/licenses/>. */
/* The generic configuration only support _TIME_BITS=32. */

View File

@ -223,7 +223,7 @@ extern int pthread_join (pthread_t __th, void **__thread_return);
the thread in *THREAD_RETURN, if THREAD_RETURN is not NULL. */ the thread in *THREAD_RETURN, if THREAD_RETURN is not NULL. */
extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW; extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) __THROW;
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Make calling thread wait for termination of the thread TH, but only /* Make calling thread wait for termination of the thread TH, but only
until TIMEOUT. The exit status of the thread is stored in until TIMEOUT. The exit status of the thread is stored in
*THREAD_RETURN, if THREAD_RETURN is not NULL. *THREAD_RETURN, if THREAD_RETURN is not NULL.
@ -796,7 +796,7 @@ extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
#ifdef __USE_XOPEN2K #ifdef __USE_XOPEN2K
/* Wait until lock becomes available, or specified time passes. */ /* Wait until lock becomes available, or specified time passes. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
const struct timespec *__restrict const struct timespec *__restrict
__abstime) __THROWNL __nonnull ((1, 2)); __abstime) __THROWNL __nonnull ((1, 2));
@ -813,7 +813,7 @@ extern int __REDIRECT_NTHNL (pthread_mutex_timedlock,
#endif #endif
#ifdef __USE_GNU #ifdef __USE_GNU
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex, extern int pthread_mutex_clocklock (pthread_mutex_t *__restrict __mutex,
clockid_t __clockid, clockid_t __clockid,
const struct timespec *__restrict const struct timespec *__restrict
@ -982,7 +982,7 @@ extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
# ifdef __USE_XOPEN2K # ifdef __USE_XOPEN2K
/* Try to acquire read lock for RWLOCK or return after specified time. */ /* Try to acquire read lock for RWLOCK or return after specified time. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
const struct timespec *__restrict const struct timespec *__restrict
__abstime) __THROWNL __nonnull ((1, 2)); __abstime) __THROWNL __nonnull ((1, 2));
@ -1000,7 +1000,7 @@ extern int __REDIRECT_NTHNL (pthread_rwlock_timedrdlock,
# endif # endif
# ifdef __USE_GNU # ifdef __USE_GNU
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock, extern int pthread_rwlock_clockrdlock (pthread_rwlock_t *__restrict __rwlock,
clockid_t __clockid, clockid_t __clockid,
const struct timespec *__restrict const struct timespec *__restrict
@ -1029,7 +1029,7 @@ extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
# ifdef __USE_XOPEN2K # ifdef __USE_XOPEN2K
/* Try to acquire write lock for RWLOCK or return after specified time. */ /* Try to acquire write lock for RWLOCK or return after specified time. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
const struct timespec *__restrict const struct timespec *__restrict
__abstime) __THROWNL __nonnull ((1, 2)); __abstime) __THROWNL __nonnull ((1, 2));
@ -1047,7 +1047,7 @@ extern int __REDIRECT_NTHNL (pthread_rwlock_timedwrlock,
# endif # endif
# ifdef __USE_GNU # ifdef __USE_GNU
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock, extern int pthread_rwlock_clockwrlock (pthread_rwlock_t *__restrict __rwlock,
clockid_t __clockid, clockid_t __clockid,
const struct timespec *__restrict const struct timespec *__restrict
@ -1141,7 +1141,7 @@ extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex, pthread_mutex_t *__restrict __mutex,
const struct timespec *__restrict __abstime) const struct timespec *__restrict __abstime)
@ -1167,7 +1167,7 @@ extern int __REDIRECT (pthread_cond_timedwait,
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond, extern int pthread_cond_clockwait (pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex, pthread_mutex_t *__restrict __mutex,
__clockid_t __clock_id, __clockid_t __clock_id,

View File

@ -59,7 +59,7 @@ extern int sem_wait (sem_t *__sem) __nonnull ((1));
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int sem_timedwait (sem_t *__restrict __sem, extern int sem_timedwait (sem_t *__restrict __sem,
const struct timespec *__restrict __abstime) const struct timespec *__restrict __abstime)
__nonnull ((1, 2)); __nonnull ((1, 2));
@ -77,7 +77,7 @@ extern int __REDIRECT (sem_timedwait,
#endif #endif
#ifdef __USE_GNU #ifdef __USE_GNU
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int sem_clockwait (sem_t *__restrict __sem, extern int sem_clockwait (sem_t *__restrict __sem,
clockid_t clock, clockid_t clock,
const struct timespec *__restrict __abstime) const struct timespec *__restrict __abstime)

View File

@ -90,7 +90,7 @@ extern thrd_t thrd_current (void);
__TIME_POINT. The current thread may resume if receives a signal. In __TIME_POINT. The current thread may resume if receives a signal. In
that case, if __REMAINING is not NULL, the remaining time is stored in that case, if __REMAINING is not NULL, the remaining time is stored in
the object pointed by it. */ the object pointed by it. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int thrd_sleep (const struct timespec *__time_point, extern int thrd_sleep (const struct timespec *__time_point,
struct timespec *__remaining); struct timespec *__remaining);
#else #else
@ -143,7 +143,7 @@ extern int mtx_lock (mtx_t *__mutex);
/* Block the current thread until the mutex pointed by __MUTEX is unlocked /* Block the current thread until the mutex pointed by __MUTEX is unlocked
or time pointed by __TIME_POINT is reached. In case the mutex is unlock, or time pointed by __TIME_POINT is reached. In case the mutex is unlock,
the current thread will not be blocked. */ the current thread will not be blocked. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int mtx_timedlock (mtx_t *__restrict __mutex, extern int mtx_timedlock (mtx_t *__restrict __mutex,
const struct timespec *__restrict __time_point); const struct timespec *__restrict __time_point);
#else #else
@ -194,7 +194,7 @@ extern int cnd_wait (cnd_t *__cond, mtx_t *__mutex);
/* Block current thread on the condition variable until condition variable /* Block current thread on the condition variable until condition variable
pointed by __COND is signaled or time pointed by __TIME_POINT is pointed by __COND is signaled or time pointed by __TIME_POINT is
reached. */ reached. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int cnd_timedwait (cnd_t *__restrict __cond, extern int cnd_timedwait (cnd_t *__restrict __cond,
mtx_t *__restrict __mutex, mtx_t *__restrict __mutex,
const struct timespec *__restrict __time_point); const struct timespec *__restrict __time_point);

View File

@ -28,7 +28,7 @@
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -83,13 +83,13 @@ struct stat
# else # else
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif # endif
#endif /* __USE_TIME_BITS64 */ #endif /* __USE_TIME64_REDIRECTS */
}; };
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -125,7 +125,7 @@ struct stat64
unsigned long int st_ctimensec; /* Nsecs of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */
# endif # endif
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif #endif

View File

@ -64,7 +64,7 @@
# define SO_TIMESTAMPNS_NEW 64 # define SO_TIMESTAMPNS_NEW 64
# define SO_TIMESTAMPING_NEW 65 # define SO_TIMESTAMPING_NEW 65
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# define SO_RCVTIMEO SO_RCVTIMEO_NEW # define SO_RCVTIMEO SO_RCVTIMEO_NEW
# define SO_SNDTIMEO SO_SNDTIMEO_NEW # define SO_SNDTIMEO SO_SNDTIMEO_NEW
# define SO_TIMESTAMP SO_TIMESTAMP_NEW # define SO_TIMESTAMP SO_TIMESTAMP_NEW

View File

@ -77,7 +77,7 @@ __BEGIN_DECLS
/* Tune a POSIX clock. */ /* Tune a POSIX clock. */
extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW __nonnull((2)); extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW __nonnull((2));
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# if defined(__REDIRECT_NTH) # if defined(__REDIRECT_NTH)
extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id, extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id,
struct timex *__utx), struct timex *__utx),

View File

@ -25,7 +25,7 @@
struct timex struct timex
{ {
# if defined __USE_TIME_BITS64 || (__TIMESIZE == 64 && __WORDSIZE == 32) # if defined __USE_TIME64_REDIRECTS || (__TIMESIZE == 64 && __WORDSIZE == 32)
unsigned int modes; /* mode selector */ unsigned int modes; /* mode selector */
int :32; /* pad */ int :32; /* pad */
long long offset; /* time offset (usec) */ long long offset; /* time offset (usec) */

View File

@ -26,7 +26,7 @@
The type `struct msg' is opaque. */ The type `struct msg' is opaque. */
struct msqid_ds struct msqid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_msqid64_ds_helper.h> # include <bits/types/struct_msqid64_ds_helper.h>
#else #else
struct ipc_perm msg_perm; /* structure describing operation permission */ struct ipc_perm msg_perm; /* structure describing operation permission */

View File

@ -23,7 +23,7 @@
/* Data structure describing a set of semaphores. */ /* Data structure describing a set of semaphores. */
struct semid_ds struct semid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_semid64_ds_helper.h> # include <bits/types/struct_semid64_ds_helper.h>
#else #else
struct ipc_perm sem_perm; /* operation permission struct */ struct ipc_perm sem_perm; /* operation permission struct */

View File

@ -23,7 +23,7 @@
/* Data structure describing a shared memory segment. */ /* Data structure describing a shared memory segment. */
struct shmid_ds struct shmid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_shmid64_ds_helper.h> # include <bits/types/struct_shmid64_ds_helper.h>
#else #else
struct ipc_perm shm_perm; /* operation permission struct */ struct ipc_perm shm_perm; /* operation permission struct */

View File

@ -43,7 +43,7 @@
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -88,7 +88,7 @@ struct stat
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */

View File

@ -24,9 +24,8 @@
# if _TIME_BITS == 64 # if _TIME_BITS == 64
# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64 # if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64
# error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64" # error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
# elif __TIMESIZE == 32
# define __USE_TIME_BITS64 1
# endif # endif
# define __USE_TIME_BITS64 1
# elif _TIME_BITS == 32 # elif _TIME_BITS == 32
# if __TIMESIZE > 32 # if __TIMESIZE > 32
# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32" # error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32"
@ -34,4 +33,10 @@
# else # else
# error Invalid _TIME_BITS value (can only be 32 or 64-bit) # error Invalid _TIME_BITS value (can only be 32 or 64-bit)
# endif # endif
#elif __TIMESIZE == 64
# define __USE_TIME_BITS64 1
#endif
#if defined __USE_TIME_BITS64 && __TIMESIZE == 32
# define __USE_TIME64_REDIRECTS 1
#endif #endif

View File

@ -54,7 +54,7 @@
# define SO_TIMESTAMPNS_NEW 0x4039 # define SO_TIMESTAMPNS_NEW 0x4039
# define SO_TIMESTAMPING_NEW 0x403A # define SO_TIMESTAMPING_NEW 0x403A
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# define SO_RCVTIMEO SO_RCVTIMEO_NEW # define SO_RCVTIMEO SO_RCVTIMEO_NEW
# define SO_SNDTIMEO SO_SNDTIMEO_NEW # define SO_SNDTIMEO SO_SNDTIMEO_NEW
# define SO_TIMESTAMP SO_TIMESTAMP_NEW # define SO_TIMESTAMP SO_TIMESTAMP_NEW

View File

@ -28,7 +28,7 @@
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -83,13 +83,13 @@ struct stat
# else # else
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif # endif
#endif /* __USE_TIME_BITS64 */ #endif /* __USE_TIME64_REDIRECTS */
}; };
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -125,7 +125,7 @@ struct stat64
unsigned long int st_ctimensec; /* Nsecs of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */
# endif # endif
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif #endif

View File

@ -26,7 +26,7 @@
The type `struct msg' is opaque. */ The type `struct msg' is opaque. */
struct msqid_ds struct msqid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_msqid64_ds_helper.h> # include <bits/types/struct_msqid64_ds_helper.h>
#else #else
struct ipc_perm msg_perm; /* structure describing operation permission */ struct ipc_perm msg_perm; /* structure describing operation permission */

View File

@ -23,7 +23,7 @@
/* Data structure describing a set of semaphores. */ /* Data structure describing a set of semaphores. */
struct semid_ds struct semid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_semid64_ds_helper.h> # include <bits/types/struct_semid64_ds_helper.h>
#else #else
struct ipc_perm sem_perm; /* operation permission struct */ struct ipc_perm sem_perm; /* operation permission struct */

View File

@ -23,7 +23,7 @@
/* Data structure describing a shared memory segment. */ /* Data structure describing a shared memory segment. */
struct shmid_ds struct shmid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_shmid64_ds_helper.h> # include <bits/types/struct_shmid64_ds_helper.h>
#else #else
struct ipc_perm shm_perm; /* operation permission struct */ struct ipc_perm shm_perm; /* operation permission struct */

View File

@ -25,7 +25,7 @@
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -80,13 +80,13 @@ struct stat
# else # else
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif # endif
#endif /* __USE_TIME_BITS64 */ #endif /* __USE_TIME64_REDIRECTS */
}; };
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -122,7 +122,7 @@ struct stat64
unsigned long int st_ctimensec; /* Nsecs of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */
# endif # endif
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif #endif

View File

@ -26,7 +26,7 @@
#ifndef __USE_FILE_OFFSET64 #ifndef __USE_FILE_OFFSET64
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -64,7 +64,7 @@ struct stat
# endif # endif
unsigned int __glibc_reserved4; unsigned int __glibc_reserved4;
unsigned int __glibc_reserved5; unsigned int __glibc_reserved5;
#endif /* __USE_TIME_BITS64 */ #endif /* __USE_TIME64_REDIRECTS */
}; };
#else /* __USE_FILE_OFFSET64 */ #else /* __USE_FILE_OFFSET64 */
/* MS: If __USE_FILE_OFFSET64 is setup then struct stat should match stat64 /* MS: If __USE_FILE_OFFSET64 is setup then struct stat should match stat64
@ -74,7 +74,7 @@ struct stat
* create one ifdef to separate stats structures. */ * create one ifdef to separate stats structures. */
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
unsigned long long st_dev; /* Device. */ unsigned long long st_dev; /* Device. */
@ -112,14 +112,14 @@ struct stat
# endif # endif
unsigned int __glibc_reserved4; unsigned int __glibc_reserved4;
unsigned int __glibc_reserved5; unsigned int __glibc_reserved5;
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif /* __USE_FILE_OFFSET64 */ #endif /* __USE_FILE_OFFSET64 */
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
unsigned long long st_dev; /* Device. */ unsigned long long st_dev; /* Device. */
@ -157,7 +157,7 @@ struct stat64
# endif # endif
unsigned int __glibc_reserved4; unsigned int __glibc_reserved4;
unsigned int __glibc_reserved5; unsigned int __glibc_reserved5;
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif #endif

View File

@ -54,7 +54,7 @@
# define SO_TIMESTAMPNS_NEW 64 # define SO_TIMESTAMPNS_NEW 64
# define SO_TIMESTAMPING_NEW 65 # define SO_TIMESTAMPING_NEW 65
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# define SO_RCVTIMEO SO_RCVTIMEO_NEW # define SO_RCVTIMEO SO_RCVTIMEO_NEW
# define SO_SNDTIMEO SO_SNDTIMEO_NEW # define SO_SNDTIMEO SO_SNDTIMEO_NEW
# define SO_TIMESTAMP SO_TIMESTAMP_NEW # define SO_TIMESTAMP SO_TIMESTAMP_NEW

View File

@ -29,7 +29,7 @@
/* Structure describing file characteristics. */ /* Structure describing file characteristics. */
struct stat struct stat
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
unsigned long int st_dev; unsigned long int st_dev;
@ -82,13 +82,13 @@ struct stat
__blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */ __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
# endif # endif
long int st_pad5[14]; long int st_pad5[14];
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
unsigned long int st_dev; unsigned long int st_dev;
@ -123,7 +123,7 @@ struct stat64
long int st_pad3; long int st_pad3;
__blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */ __blkcnt64_t st_blocks; /* Number of 512-byte blocks allocated. */
long int st_pad4[14]; long int st_pad4[14];
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
# endif /* __USE_LARGEFILE64 */ # endif /* __USE_LARGEFILE64 */
@ -131,7 +131,7 @@ struct stat64
struct stat struct stat
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; __dev_t st_dev;
@ -189,7 +189,7 @@ struct stat
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; __dev_t st_dev;
@ -224,7 +224,7 @@ struct stat64
unsigned int st_pad3; unsigned int st_pad3;
__blkcnt64_t st_blocks; __blkcnt64_t st_blocks;
int st_pad4[14]; int st_pad4[14];
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif #endif

View File

@ -26,7 +26,7 @@
The type `struct msg' is opaque. */ The type `struct msg' is opaque. */
struct msqid_ds struct msqid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_msqid64_ds_helper.h> # include <bits/types/struct_msqid64_ds_helper.h>
#else #else
struct ipc_perm msg_perm; /* structure describing operation permission */ struct ipc_perm msg_perm; /* structure describing operation permission */

View File

@ -23,7 +23,7 @@
/* Data structure describing a set of semaphores. */ /* Data structure describing a set of semaphores. */
struct semid_ds struct semid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_semid64_ds_helper.h> # include <bits/types/struct_semid64_ds_helper.h>
#else #else
struct ipc_perm sem_perm; /* operation permission struct */ struct ipc_perm sem_perm; /* operation permission struct */

View File

@ -23,7 +23,7 @@
/* Data structure describing a shared memory segment. */ /* Data structure describing a shared memory segment. */
struct shmid_ds struct shmid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_shmid64_ds_helper.h> # include <bits/types/struct_shmid64_ds_helper.h>
#else #else
struct ipc_perm shm_perm; /* operation permission struct */ struct ipc_perm shm_perm; /* operation permission struct */

View File

@ -43,7 +43,7 @@
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -88,7 +88,7 @@ struct stat
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */

View File

@ -54,7 +54,7 @@
# define SO_TIMESTAMPNS_NEW 64 # define SO_TIMESTAMPNS_NEW 64
# define SO_TIMESTAMPING_NEW 65 # define SO_TIMESTAMPING_NEW 65
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# define SO_RCVTIMEO SO_RCVTIMEO_NEW # define SO_RCVTIMEO SO_RCVTIMEO_NEW
# define SO_SNDTIMEO SO_SNDTIMEO_NEW # define SO_SNDTIMEO SO_SNDTIMEO_NEW
# define SO_TIMESTAMP SO_TIMESTAMP_NEW # define SO_TIMESTAMP SO_TIMESTAMP_NEW

View File

@ -28,7 +28,7 @@
#if __WORDSIZE == 32 #if __WORDSIZE == 32
struct stat struct stat
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -79,13 +79,13 @@ struct stat
# endif # endif
unsigned long int __glibc_reserved4; unsigned long int __glibc_reserved4;
unsigned long int __glibc_reserved5; unsigned long int __glibc_reserved5;
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -122,7 +122,7 @@ struct stat64
# endif # endif
unsigned long int __glibc_reserved4; unsigned long int __glibc_reserved4;
unsigned long int __glibc_reserved5; unsigned long int __glibc_reserved5;
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
# endif /* __USE_LARGEFILE64 */ # endif /* __USE_LARGEFILE64 */

View File

@ -26,7 +26,7 @@
The type `struct msg' is opaque. */ The type `struct msg' is opaque. */
struct msqid_ds struct msqid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_msqid64_ds_helper.h> # include <bits/types/struct_msqid64_ds_helper.h>
#else #else
struct ipc_perm msg_perm; /* structure describing operation permission */ struct ipc_perm msg_perm; /* structure describing operation permission */

View File

@ -23,7 +23,7 @@
/* Data structure describing a set of semaphores. */ /* Data structure describing a set of semaphores. */
struct semid_ds struct semid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_semid64_ds_helper.h> # include <bits/types/struct_semid64_ds_helper.h>
#else #else
struct ipc_perm sem_perm; /* operation permission struct */ struct ipc_perm sem_perm; /* operation permission struct */

View File

@ -23,7 +23,7 @@
/* Data structure describing a shared memory segment. */ /* Data structure describing a shared memory segment. */
struct shmid_ds struct shmid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_shmid64_ds_helper.h> # include <bits/types/struct_shmid64_ds_helper.h>
#else #else
struct ipc_perm shm_perm; /* operation permission struct */ struct ipc_perm shm_perm; /* operation permission struct */

View File

@ -65,7 +65,7 @@ struct stat
#else #else
struct stat struct stat
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -166,7 +166,7 @@ struct stat64
# else # else
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */

View File

@ -28,7 +28,7 @@
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -83,13 +83,13 @@ struct stat
# else # else
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif # endif
#endif /* __USE_TIME_BITS64 */ #endif /* __USE_TIME64_REDIRECTS */
}; };
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -125,7 +125,7 @@ struct stat64
unsigned long int st_ctimensec; /* Nsecs of last status change. */ unsigned long int st_ctimensec; /* Nsecs of last status change. */
# endif # endif
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif #endif

View File

@ -54,7 +54,7 @@
# define SO_TIMESTAMPNS_NEW 0x0042 # define SO_TIMESTAMPNS_NEW 0x0042
# define SO_TIMESTAMPING_NEW 0x0043 # define SO_TIMESTAMPING_NEW 0x0043
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# define SO_RCVTIMEO SO_RCVTIMEO_NEW # define SO_RCVTIMEO SO_RCVTIMEO_NEW
# define SO_SNDTIMEO SO_SNDTIMEO_NEW # define SO_SNDTIMEO SO_SNDTIMEO_NEW
# define SO_TIMESTAMP SO_TIMESTAMP_NEW # define SO_TIMESTAMP SO_TIMESTAMP_NEW

View File

@ -28,7 +28,7 @@
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -79,13 +79,13 @@ struct stat
# endif # endif
unsigned long int __glibc_reserved4; unsigned long int __glibc_reserved4;
unsigned long int __glibc_reserved5; unsigned long int __glibc_reserved5;
#endif /* __USE_TIME_BITS64 */ #endif /* __USE_TIME64_REDIRECTS */
}; };
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -126,7 +126,7 @@ struct stat64
# endif # endif
unsigned long int __glibc_reserved4; unsigned long int __glibc_reserved4;
unsigned long int __glibc_reserved5; unsigned long int __glibc_reserved5;
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif #endif

View File

@ -26,7 +26,7 @@
The type `struct msg' is opaque. */ The type `struct msg' is opaque. */
struct msqid_ds struct msqid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_msqid64_ds_helper.h> # include <bits/types/struct_msqid64_ds_helper.h>
#else #else
struct ipc_perm msg_perm; /* structure describing operation permission */ struct ipc_perm msg_perm; /* structure describing operation permission */

View File

@ -23,7 +23,7 @@
/* Data structure describing a set of semaphores. */ /* Data structure describing a set of semaphores. */
struct semid_ds struct semid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_semid64_ds_helper.h> # include <bits/types/struct_semid64_ds_helper.h>
#else #else
struct ipc_perm sem_perm; /* operation permission struct */ struct ipc_perm sem_perm; /* operation permission struct */

View File

@ -23,7 +23,7 @@
/* Data structure describing a shared memory segment. */ /* Data structure describing a shared memory segment. */
struct shmid_ds struct shmid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_shmid64_ds_helper.h> # include <bits/types/struct_shmid64_ds_helper.h>
#else #else
struct ipc_perm shm_perm; /* operation permission struct */ struct ipc_perm shm_perm; /* operation permission struct */

View File

@ -140,7 +140,7 @@ extern int epoll_pwait (int __epfd, struct epoll_event *__events,
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int epoll_pwait2 (int __epfd, struct epoll_event *__events, extern int epoll_pwait2 (int __epfd, struct epoll_event *__events,
int __maxevents, const struct timespec *__timeout, int __maxevents, const struct timespec *__timeout,
const __sigset_t *__ss) const __sigset_t *__ss)

View File

@ -38,7 +38,7 @@
__BEGIN_DECLS __BEGIN_DECLS
/* Control process execution. */ /* Control process execution. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int prctl (int __option, ...) __THROW; extern int prctl (int __option, ...) __THROW;
#else #else
# ifdef __REDIRECT # ifdef __REDIRECT

View File

@ -47,7 +47,7 @@ extern int timerfd_settime (int __ufd, int __flags,
const struct itimerspec *__utmr, const struct itimerspec *__utmr,
struct itimerspec *__otmr) __THROW; struct itimerspec *__otmr) __THROW;
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# if defined(__REDIRECT_NTH) # if defined(__REDIRECT_NTH)
extern int __REDIRECT_NTH (timerfd_settime, extern int __REDIRECT_NTH (timerfd_settime,
(int __ufd, int __flags, (int __ufd, int __flags,
@ -62,7 +62,7 @@ extern int __REDIRECT_NTH (timerfd_settime,
/* Return the next expiration time of UFD. */ /* Return the next expiration time of UFD. */
extern int timerfd_gettime (int __ufd, struct itimerspec *__otmr) __THROW; extern int timerfd_gettime (int __ufd, struct itimerspec *__otmr) __THROW;
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# if defined(__REDIRECT_NTH) # if defined(__REDIRECT_NTH)
extern int __REDIRECT_NTH (timerfd_gettime, (int __ufd, extern int __REDIRECT_NTH (timerfd_gettime, (int __ufd,
struct itimerspec *__otmr), struct itimerspec *__otmr),

View File

@ -54,7 +54,7 @@ struct ntptimeval
__BEGIN_DECLS __BEGIN_DECLS
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1)); extern int adjtimex (struct timex *__ntx) __THROW __nonnull ((1));
extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW __nonnull ((1)); extern int ntp_gettimex (struct ntptimeval *__ntv) __THROW __nonnull ((1));

View File

@ -25,7 +25,7 @@
struct stat struct stat
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
#else #else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -95,14 +95,14 @@ struct stat
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif # endif
# endif # endif
#endif /* __USE_TIME_BITS64 */ #endif /* __USE_TIME64_REDIRECTS */
}; };
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
/* Note stat64 has the same shape as stat for x86-64. */ /* Note stat64 has the same shape as stat for x86-64. */
struct stat64 struct stat64
{ {
# ifdef __USE_TIME_BITS64 # ifdef __USE_TIME64_REDIRECTS
# include <bits/struct_stat_time64_helper.h> # include <bits/struct_stat_time64_helper.h>
# else # else
__dev_t st_dev; /* Device. */ __dev_t st_dev; /* Device. */
@ -152,7 +152,7 @@ struct stat64
# else # else
__ino64_t st_ino; /* File serial number. */ __ino64_t st_ino; /* File serial number. */
# endif # endif
# endif /* __USE_TIME_BITS64 */ # endif /* __USE_TIME64_REDIRECTS */
}; };
#endif #endif

View File

@ -23,7 +23,7 @@
/* Data structure describing a set of semaphores. */ /* Data structure describing a set of semaphores. */
struct semid_ds struct semid_ds
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
# include <bits/types/struct_semid64_ds_helper.h> # include <bits/types/struct_semid64_ds_helper.h>
#else #else
struct ipc_perm sem_perm; /* operation permission struct */ struct ipc_perm sem_perm; /* operation permission struct */

View File

@ -58,7 +58,7 @@ struct msgbuf
__BEGIN_DECLS __BEGIN_DECLS
/* Message queue control operation. */ /* Message queue control operation. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int msgctl (int __msqid, int __cmd, struct msqid_ds *__buf) __THROW; extern int msgctl (int __msqid, int __cmd, struct msqid_ds *__buf) __THROW;
#else #else
# ifdef __REDIRECT_NTH # ifdef __REDIRECT_NTH

View File

@ -48,7 +48,7 @@ struct sembuf
__BEGIN_DECLS __BEGIN_DECLS
/* Semaphore control operation. */ /* Semaphore control operation. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int semctl (int __semid, int __semnum, int __cmd, ...) __THROW; extern int semctl (int __semid, int __semnum, int __cmd, ...) __THROW;
#else #else
# ifdef __REDIRECT_NTH # ifdef __REDIRECT_NTH
@ -68,7 +68,7 @@ extern int semop (int __semid, struct sembuf *__sops, size_t __nsops) __THROW;
#ifdef __USE_GNU #ifdef __USE_GNU
/* Operate on semaphore with timeout. */ /* Operate on semaphore with timeout. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int semtimedop (int __semid, struct sembuf *__sops, size_t __nsops, extern int semtimedop (int __semid, struct sembuf *__sops, size_t __nsops,
const struct timespec *__timeout) __THROW; const struct timespec *__timeout) __THROW;
# else # else

View File

@ -46,7 +46,7 @@ __BEGIN_DECLS
facility. The definition is found in XPG4.2. */ facility. The definition is found in XPG4.2. */
/* Shared memory control operation. */ /* Shared memory control operation. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) __THROW; extern int shmctl (int __shmid, int __cmd, struct shmid_ds *__buf) __THROW;
#else #else
# ifdef __REDIRECT_NTH # ifdef __REDIRECT_NTH

View File

@ -10,14 +10,14 @@
has nanoseconds instead of microseconds. */ has nanoseconds instead of microseconds. */
struct timespec struct timespec
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
__time64_t tv_sec; /* Seconds. */ __time64_t tv_sec; /* Seconds. */
#else #else
__time_t tv_sec; /* Seconds. */ __time_t tv_sec; /* Seconds. */
#endif #endif
#if __WORDSIZE == 64 \ #if __WORDSIZE == 64 \
|| (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \ || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \
|| (__TIMESIZE == 32 && !defined __USE_TIME_BITS64) || (__TIMESIZE == 32 && !defined __USE_TIME64_REDIRECTS)
__syscall_slong_t tv_nsec; /* Nanoseconds. */ __syscall_slong_t tv_nsec; /* Nanoseconds. */
#else #else
# if __BYTE_ORDER == __BIG_ENDIAN # if __BYTE_ORDER == __BIG_ENDIAN

View File

@ -7,7 +7,7 @@
microsecond but also has a range of years. */ microsecond but also has a range of years. */
struct timeval struct timeval
{ {
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
__time64_t tv_sec; /* Seconds. */ __time64_t tv_sec; /* Seconds. */
__suseconds64_t tv_usec; /* Microseconds. */ __suseconds64_t tv_usec; /* Microseconds. */
#else #else

View File

@ -4,7 +4,7 @@
#include <bits/types.h> #include <bits/types.h>
/* Returned by `time'. */ /* Returned by `time'. */
#ifdef __USE_TIME_BITS64 #ifdef __USE_TIME64_REDIRECTS
typedef __time64_t time_t; typedef __time64_t time_t;
#else #else
typedef __time_t time_t; typedef __time_t time_t;

View File

@ -63,7 +63,7 @@ struct timezone
use localtime etc. instead. use localtime etc. instead.
This function itself is semi-obsolete; This function itself is semi-obsolete;
most callers should use time or clock_gettime instead. */ most callers should use time or clock_gettime instead. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern int gettimeofday (struct timeval *__restrict __tv, extern int gettimeofday (struct timeval *__restrict __tv,
void *__restrict __tz) __THROW __nonnull ((1)); void *__restrict __tz) __THROW __nonnull ((1));
#else #else
@ -77,7 +77,7 @@ extern int __REDIRECT_NTH (gettimeofday, (struct timeval *__restrict __tv,
#endif #endif
#ifdef __USE_MISC #ifdef __USE_MISC
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Set the current time of day and timezone information. /* Set the current time of day and timezone information.
This call is restricted to the super-user. This call is restricted to the super-user.
Setting the timezone in this way is obsolete, but we don't yet Setting the timezone in this way is obsolete, but we don't yet
@ -143,7 +143,7 @@ typedef enum __itimer_which __itimer_which_t;
typedef int __itimer_which_t; typedef int __itimer_which_t;
#endif #endif
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
/* Set *VALUE to the current setting of timer WHICH. /* Set *VALUE to the current setting of timer WHICH.
Return 0 on success, -1 on errors. */ Return 0 on success, -1 on errors. */
extern int getitimer (__itimer_which_t __which, extern int getitimer (__itimer_which_t __which,
@ -184,7 +184,7 @@ extern int __REDIRECT_NTH (utimes, (const char *__file,
#endif #endif
#ifdef __USE_MISC #ifdef __USE_MISC
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Same as `utimes', but does not follow symbolic links. */ /* Same as `utimes', but does not follow symbolic links. */
extern int lutimes (const char *__file, const struct timeval __tvp[2]) extern int lutimes (const char *__file, const struct timeval __tvp[2])
__THROW __nonnull ((1)); __THROW __nonnull ((1));
@ -207,7 +207,7 @@ extern int __REDIRECT_NTH (futimes, (int __fd, const struct timeval __tvp[2]),
#endif #endif
#ifdef __USE_GNU #ifdef __USE_GNU
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Change the access time of FILE relative to FD to TVP[0] and the /* Change the access time of FILE relative to FD to TVP[0] and the
modification time of FILE to TVP[1]. If TVP is a null pointer, use modification time of FILE to TVP[1]. If TVP is a null pointer, use
the current time instead. Returns 0 on success, -1 on errors. */ the current time instead. Returns 0 on success, -1 on errors. */

View File

@ -71,7 +71,7 @@ __BEGIN_DECLS
The result / CLOCKS_PER_SEC is program time in seconds. */ The result / CLOCKS_PER_SEC is program time in seconds. */
extern clock_t clock (void) __THROW; extern clock_t clock (void) __THROW;
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
/* Return the current time and put it in *TIMER if TIMER is not NULL. */ /* Return the current time and put it in *TIMER if TIMER is not NULL. */
extern time_t time (time_t *__timer) __THROW; extern time_t time (time_t *__timer) __THROW;
@ -127,7 +127,7 @@ extern char *strptime_l (const char *__restrict __s,
#endif #endif
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
/* Return the `struct tm' representation of *TIMER /* Return the `struct tm' representation of *TIMER
in Universal Coordinated Time (aka Greenwich Mean Time). */ in Universal Coordinated Time (aka Greenwich Mean Time). */
extern struct tm *gmtime (const time_t *__timer) __THROW; extern struct tm *gmtime (const time_t *__timer) __THROW;
@ -149,7 +149,7 @@ extern struct tm *__REDIRECT_NTH (localtime, (const time_t *__timer),
#if defined __USE_POSIX || __GLIBC_USE (ISOC23) #if defined __USE_POSIX || __GLIBC_USE (ISOC23)
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Return the `struct tm' representation of *TIMER in UTC, /* Return the `struct tm' representation of *TIMER in UTC,
using *TP to store the result. */ using *TP to store the result. */
extern struct tm *gmtime_r (const time_t *__restrict __timer, extern struct tm *gmtime_r (const time_t *__restrict __timer,
@ -180,7 +180,7 @@ extern struct tm*__REDIRECT_NTH (localtime_r, (const time_t *__restrict __t,
extern char *asctime (const struct tm *__tp) __THROW; extern char *asctime (const struct tm *__tp) __THROW;
/* Equivalent to `asctime (localtime (timer))'. */ /* Equivalent to `asctime (localtime (timer))'. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern char *ctime (const time_t *__timer) __THROW; extern char *ctime (const time_t *__timer) __THROW;
#else #else
# ifdef __REDIRECT_NTH # ifdef __REDIRECT_NTH
@ -199,7 +199,7 @@ extern char *asctime_r (const struct tm *__restrict __tp,
char *__restrict __buf) __THROW; char *__restrict __buf) __THROW;
/* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */ /* Equivalent to `asctime_r (localtime_r (timer, *TMP*), buf)'. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
extern char *ctime_r (const time_t *__restrict __timer, extern char *ctime_r (const time_t *__restrict __timer,
char *__restrict __buf) __THROW; char *__restrict __buf) __THROW;
#else #else
@ -242,7 +242,7 @@ extern long int timezone;
#if defined __USE_MISC || __GLIBC_USE (ISOC23) #if defined __USE_MISC || __GLIBC_USE (ISOC23)
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Like `mktime', but for TP represents Universal Time, not local time. */ /* Like `mktime', but for TP represents Universal Time, not local time. */
extern time_t timegm (struct tm *__tp) __THROW; extern time_t timegm (struct tm *__tp) __THROW;
# else # else
@ -259,7 +259,7 @@ extern time_t __REDIRECT_NTH (timegm, (struct tm *__tp), __timegm64);
/* Miscellaneous functions many Unices inherited from the public domain /* Miscellaneous functions many Unices inherited from the public domain
localtime package. These are included only for compatibility. */ localtime package. These are included only for compatibility. */
#ifndef __USE_TIME_BITS64 #ifndef __USE_TIME64_REDIRECTS
/* Another name for `mktime'. */ /* Another name for `mktime'. */
extern time_t timelocal (struct tm *__tp) __THROW; extern time_t timelocal (struct tm *__tp) __THROW;
#else #else
@ -274,7 +274,7 @@ extern int dysize (int __year) __THROW __attribute__ ((__const__));
#ifdef __USE_POSIX199309 #ifdef __USE_POSIX199309
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Pause execution for a number of nanoseconds. /* Pause execution for a number of nanoseconds.
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
@ -320,7 +320,7 @@ extern int __REDIRECT_NTH (clock_settime, (clockid_t __clock_id, const struct
This function is a cancellation point and therefore not marked with This function is a cancellation point and therefore not marked with
__THROW. */ __THROW. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int clock_nanosleep (clockid_t __clock_id, int __flags, extern int clock_nanosleep (clockid_t __clock_id, int __flags,
const struct timespec *__req, const struct timespec *__req,
struct timespec *__rem); struct timespec *__rem);
@ -349,7 +349,7 @@ extern int timer_create (clockid_t __clock_id,
extern int timer_delete (timer_t __timerid) __THROW; extern int timer_delete (timer_t __timerid) __THROW;
/* Set timer TIMERID to VALUE, returning old value in OVALUE. */ /* Set timer TIMERID to VALUE, returning old value in OVALUE. */
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
extern int timer_settime (timer_t __timerid, int __flags, extern int timer_settime (timer_t __timerid, int __flags,
const struct itimerspec *__restrict __value, const struct itimerspec *__restrict __value,
struct itimerspec *__restrict __ovalue) __THROW; struct itimerspec *__restrict __ovalue) __THROW;
@ -379,7 +379,7 @@ extern int timer_getoverrun (timer_t __timerid) __THROW;
#ifdef __USE_ISOC11 #ifdef __USE_ISOC11
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Set TS to calendar time based in time base BASE. */ /* Set TS to calendar time based in time base BASE. */
extern int timespec_get (struct timespec *__ts, int __base) extern int timespec_get (struct timespec *__ts, int __base)
__THROW __nonnull ((1)); __THROW __nonnull ((1));
@ -395,7 +395,7 @@ extern int __REDIRECT_NTH (timespec_get, (struct timespec *__ts, int __base),
#if __GLIBC_USE (ISOC23) #if __GLIBC_USE (ISOC23)
# ifndef __USE_TIME_BITS64 # ifndef __USE_TIME64_REDIRECTS
/* Set TS to resolution of time base BASE. */ /* Set TS to resolution of time base BASE. */
extern int timespec_getres (struct timespec *__ts, int __base) extern int timespec_getres (struct timespec *__ts, int __base)
__THROW; __THROW;