y2038: Add support for 64-bit time on legacy ABIs

A new build flag, _TIME_BITS, enables the usage of the newer 64-bit
time symbols for legacy ABI (where 32-bit time_t is default).  The 64
bit time support is only enabled if LFS (_FILE_OFFSET_BITS=64) is
also used.

Different than LFS support, the y2038 symbols are added only for the
required ABIs (armhf, csky, hppa, i386, m68k, microblaze, mips32,
mips64-n32, nios2, powerpc32, sparc32, s390-32, and sh).  The ABIs with
64-bit time support are unchanged, both for symbol and types
redirection.

On Linux the full 64-bit time support requires a minimum of kernel
version v5.1.  Otherwise, the 32-bit fallbacks are used and might
results in error with overflow return code (EOVERFLOW).

The i686-gnu does not yet support 64-bit time.

This patch exports following rediretions to support 64-bit time:

  * libc:
    adjtime
    adjtimex
    clock_adjtime
    clock_getres
    clock_gettime
    clock_nanosleep
    clock_settime
    cnd_timedwait
    ctime
    ctime_r
    difftime
    fstat
    fstatat
    futimens
    futimes
    futimesat
    getitimer
    getrusage
    gettimeofday
    gmtime
    gmtime_r
    localtime
    localtime_r
    lstat_time
    lutimes
    mktime
    msgctl
    mtx_timedlock
    nanosleep
    nanosleep
    ntp_gettime
    ntp_gettimex
    ppoll
    pselec
    pselect
    pthread_clockjoin_np
    pthread_cond_clockwait
    pthread_cond_timedwait
    pthread_mutex_clocklock
    pthread_mutex_timedlock
    pthread_rwlock_clockrdlock
    pthread_rwlock_clockwrlock
    pthread_rwlock_timedrdlock
    pthread_rwlock_timedwrlock
    pthread_timedjoin_np
    recvmmsg
    sched_rr_get_interval
    select
    sem_clockwait
    semctl
    semtimedop
    sem_timedwait
    setitimer
    settimeofday
    shmctl
    sigtimedwait
    stat
    thrd_sleep
    time
    timegm
    timerfd_gettime
    timerfd_settime
    timespec_get
    utime
    utimensat
    utimes
    utimes
    wait3
    wait4

  * librt:
    aio_suspend
    mq_timedreceive
    mq_timedsend
    timer_gettime
    timer_settime

  * libanl:
    gai_suspend

Reviewed-by: Lukasz Majewski <lukma@denx.de>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Tested-by: Carlos O'Donell <carlos@redhat.com>
This commit is contained in:
Adhemerval Zanella 2021-02-17 13:35:19 -03:00
parent 8af344feb5
commit 47f24c21ee
118 changed files with 2387 additions and 61 deletions

View File

@ -68,7 +68,7 @@ endif # $(AUTOCONF) = no
subdir_objs subdir_stubs subdir_testclean \ subdir_objs subdir_stubs subdir_testclean \
$(addprefix install-, no-libc.a bin lib data headers others) $(addprefix install-, no-libc.a bin lib data headers others)
headers := limits.h values.h features.h gnu-versions.h \ headers := limits.h values.h features.h features-time64.h gnu-versions.h \
bits/xopen_lim.h gnu/libc-version.h stdc-predef.h \ bits/xopen_lim.h gnu/libc-version.h stdc-predef.h \
bits/libc-header-start.h bits/libc-header-start.h

5
NEWS
View File

@ -34,6 +34,11 @@ Major new features:
* On powerpc64*, glibc can now be compiled without scv support using the * On powerpc64*, glibc can now be compiled without scv support using the
--disable-scv configure option. --disable-scv configure option.
* Add support for 64-bit time_t for ABIs with defaults to 32-bit time_t.
This is enabled with the _TIME_BITS preprocessor set to 64 and only
supported when LFS (_FILE_OFFSET_BITS=64) is also enabled. It is only
enabled for Linux and the full support requires a minimum version of 5.1.
Deprecated and removed features, and other changes affecting compatibility: Deprecated and removed features, and other changes affecting compatibility:
* The function pthread_mutex_consistent_np has been deprecated; programs * The function pthread_mutex_consistent_np has been deprecated; programs

View File

@ -0,0 +1 @@
#include_next <features-time64.h>

View File

@ -389,6 +389,8 @@
# define __USE_FILE_OFFSET64 1 # define __USE_FILE_OFFSET64 1
#endif #endif
#include <features-time64.h>
#if defined _DEFAULT_SOURCE #if defined _DEFAULT_SOURCE
# define __USE_MISC 1 # define __USE_MISC 1
#endif #endif

View File

@ -66,6 +66,17 @@ extern int ppoll (struct pollfd *__fds, nfds_t __nfds,
const __sigset_t *__ss) const __sigset_t *__ss)
__attr_access ((__write_only__, 1, 2)); __attr_access ((__write_only__, 1, 2));
# ifdef __USE_TIME_BITS64
# ifdef __REDIRECT
extern int __REDIRECT (ppoll, (struct pollfd *__fds, nfds_t __nfds,
const struct timespec *__timeout,
const __sigset_t *__ss),
__ppoll64)
__attr_access ((__write_only__, 1, 2));
# else
# define ppoll __ppoll64
# endif
# endif
#endif #endif
__END_DECLS __END_DECLS

View File

@ -209,21 +209,51 @@ 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 __REDIRECT_NTH # ifdef __USE_TIME_BITS64
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (stat, (const char *__restrict __file,
struct stat *__restrict __buf),
__stat64_time64)
__nonnull ((1, 2));
extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf),
__fstat64_time64)
__nonnull ((2));
# else
# define stat __stat64_time64
# define fstat __fstat64_time64
# endif
# else
# 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), stat64) struct stat *__restrict __buf), stat64)
__nonnull ((1, 2)); __nonnull ((1, 2));
extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64) extern int __REDIRECT_NTH (fstat, (int __fd, struct stat *__buf), fstat64)
__nonnull ((2)); __nonnull ((2));
# else # else
# define stat stat64 # define stat stat64
# define fstat fstat64 # define fstat fstat64
# endif
# endif # endif
#endif #endif
#ifdef __USE_LARGEFILE64 #ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64
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));
# else
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (stat64, (const char *__restrict __file,
struct stat64 *__restrict __buf),
__stat64_time64)
__nonnull ((1, 2));
extern int __REDIRECT_NTH (fstat64, (int __fd, struct stat64 *__buf),
__fstat64_time64)
__nonnull ((2));
# else
# define stat64 __stat64_time64
# define fstat64 __fstat64_time
# endif
# endif
#endif #endif
#ifdef __USE_ATFILE #ifdef __USE_ATFILE
@ -235,20 +265,44 @@ 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 __REDIRECT_NTH # ifdef __USE_TIME_BITS64
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (fstatat, (int __fd, const char *__restrict __file,
struct stat *__restrict __buf,
int __flag),
__fstatat64_time64) __nonnull ((2, 3));
# else
# define fstatat __fstatat64_time64
# endif
# else
# 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,
int __flag), int __flag),
fstatat64) __nonnull ((2, 3)); fstatat64) __nonnull ((2, 3));
# else # else
# define fstatat fstatat64 # define fstatat fstatat64
# endif
# endif # endif
# endif # endif
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64
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));
# else
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (fstatat64, (int __fd,
const char *__restrict __file,
struct stat64 *__restrict __buf,
int __flag),
__fstatat64_time64)
__nonnull ((2, 3));
# else
# define fstatat64 __fstatat64_time64
# endif
# endif
# endif # endif
#endif #endif
@ -259,19 +313,37 @@ extern int fstatat64 (int __fd, const char *__restrict __file,
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 __REDIRECT_NTH # ifdef __USE_TIME_BITS64
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (lstat,
(const char *__restrict __file,
struct stat *__restrict __buf), __lstat64_time64)
__nonnull ((1, 2));
# else
# define lstat __lstat64_time64
# endif
# else
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (lstat, extern int __REDIRECT_NTH (lstat,
(const char *__restrict __file, (const char *__restrict __file,
struct stat *__restrict __buf), lstat64) struct stat *__restrict __buf), lstat64)
__nonnull ((1, 2)); __nonnull ((1, 2));
# else # else
# define lstat lstat64 # define lstat lstat64
# endif
# endif # endif
# endif # endif
# ifdef __USE_LARGEFILE64 # ifdef __USE_LARGEFILE64
# ifndef __USE_TIME_BITS64
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));
# else
extern int __REDIRECT_NTH (lstat64, (const char *__restrict __file,
struct stat64 *__restrict __buf),
__lstat64_time64)
__nonnull ((1, 2));
# endif
# endif # endif
#endif #endif
@ -355,17 +427,38 @@ extern int mkfifoat (int __fd, const char *__path, __mode_t __mode)
#endif #endif
#ifdef __USE_ATFILE #ifdef __USE_ATFILE
# ifndef __USE_TIME_BITS64
/* 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,
const struct timespec __times[2], const struct timespec __times[2],
int __flags) int __flags)
__THROW __nonnull ((2)); __THROW __nonnull ((2));
# else
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (utimensat, (int fd, const char *__path,
const struct timespec __times[2],
int flags),
__utimensat64) __nonnull ((2));
# else
# define utimensat __utimensat64
# endif
# endif
#endif #endif
#ifdef __USE_XOPEN2K8 #ifdef __USE_XOPEN2K8
# ifndef __USE_TIME_BITS64
/* 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;
# else
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (futimens, (int fd, const struct timespec __times[2]),
__futimens64);
# else
# define futimens __futimens64
# endif
# endif
#endif #endif
#ifdef __USE_GNU #ifdef __USE_GNU

View File

@ -46,10 +46,21 @@ 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
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));
#else
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (utime, (const char *__file,
const struct utimbuf *__file_times),
__utime64);
# else
# define utime __utime64
# endif
#endif
__END_DECLS __END_DECLS
#endif /* utime.h */ #endif /* utime.h */

View File

@ -165,6 +165,50 @@ This macro was introduced as part of the Large File Support extension
(LFS). (LFS).
@end defvr @end defvr
@defvr Macro _TIME_BITS
This macro determines the bit size of @code{time_t} (and therefore the
bit size of all @code{time_t} derived types and the prototypes of all
related functions). If @code{_TIME_BITS} is undefined, the bit size of
@code{time_t} is architecture dependent.
Possible values of @code{_TIME_BITS}:
@enumerate
@item
@code{_TIME_BITS=64} and port from the outset uses 64-bit
@code{time_t} and word size equals to @w{64 bits} (e.g. x86_64) - no
action
@item
@code{_TIME_BITS=32} and port from the outset uses 32-bit
@code{time_t} and word size equals to @w{64 bits} (e.g. ARM) - no
action
@item
@code{_TIME_BITS=64} and port from the outset uses 64-bit
@code{time_t} and word size equals to @w{32 bits} (e.g. ARC, RV32)
- no action
@item
@code{_TIME_BITS=64} and port from the outset uses 32-bit
@code{time_t} and word size equals to @w{32 bits} (e.g. ARM)
- the @code{time_t} is modified to be able to hold 64-bit time.
@item
For any other use case the compile-time error is emitted.
@end enumerate
The @code{_TIME_BITS} can be only used when @code{_FILE_OFFSET_BITS=64}
is also defined.
For the point @b{4} above, calls to proper syscalls depend on the
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,
a fallback code is used with legacy (i.e. 32-bit) syscalls.
By using this macro certain ports gain support for 64-bit time and as
a result become immune to Y2038 problem.
@end defvr
@defvr Macro _ISOC99_SOURCE @defvr Macro _ISOC99_SOURCE
@standards{GNU, (none)} @standards{GNU, (none)}
If this macro is defined, features from ISO C99 are included. Since If this macro is defined, features from ISO C99 are included. Since

View File

@ -98,10 +98,23 @@ __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
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,
struct timeval *__restrict __timeout); struct timeval *__restrict __timeout);
#else
# ifdef __REDIRECT
extern int __REDIRECT (select,
(int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
struct timeval *__restrict __timeout),
__select64);
# else
# define select __select64
# endif
#endif
#ifdef __USE_XOPEN2K #ifdef __USE_XOPEN2K
/* Same as above only that the TIMEOUT value is given with higher /* Same as above only that the TIMEOUT value is given with higher
@ -110,11 +123,25 @@ extern int select (int __nfds, fd_set *__restrict __readfds,
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
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,
const struct timespec *__restrict __timeout, const struct timespec *__restrict __timeout,
const __sigset_t *__restrict __sigmask); const __sigset_t *__restrict __sigmask);
# else
# ifdef __REDIRECT
extern int __REDIRECT (pselect,
(int __nfds, fd_set *__restrict __readfds,
fd_set *__restrict __writefds,
fd_set *__restrict __exceptfds,
const struct timespec *__restrict __timeout,
const __sigset_t *__restrict __sigmask),
__pselect64);
# else
# define pselect __pselect64
# endif
# endif
#endif #endif

View File

@ -36,7 +36,8 @@ ___pthread_clockjoin_np64 (pthread_t threadid, void **thread_return,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_clockjoin_np64, ___pthread_clockjoin_np) strong_alias (___pthread_clockjoin_np64, ___pthread_clockjoin_np)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___pthread_clockjoin_np64, __pthread_clockjoin_np64) strong_alias (___pthread_clockjoin_np64, __pthread_clockjoin_np64)
libc_hidden_def (__pthread_clockjoin_np64)
int int
___pthread_clockjoin_np (pthread_t threadid, void **thread_return, ___pthread_clockjoin_np (pthread_t threadid, void **thread_return,

View File

@ -647,10 +647,8 @@ ___pthread_cond_timedwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_cond_timedwait64, ___pthread_cond_timedwait) strong_alias (___pthread_cond_timedwait64, ___pthread_cond_timedwait)
#else #else
libc_hidden_ver (___pthread_cond_timedwait64, __pthread_cond_timedwait64)
#ifndef SHARED
strong_alias (___pthread_cond_timedwait64, __pthread_cond_timedwait64) strong_alias (___pthread_cond_timedwait64, __pthread_cond_timedwait64)
#endif libc_hidden_def (__pthread_cond_timedwait64)
int int
___pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex, ___pthread_cond_timedwait (pthread_cond_t *cond, pthread_mutex_t *mutex,
@ -688,9 +686,8 @@ ___pthread_cond_clockwait64 (pthread_cond_t *cond, pthread_mutex_t *mutex,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_cond_clockwait64, ___pthread_cond_clockwait) strong_alias (___pthread_cond_clockwait64, ___pthread_cond_clockwait)
#else #else
versioned_symbol (libc, ___pthread_cond_clockwait64, strong_alias (___pthread_cond_clockwait64, __pthread_cond_clockwait64);
__pthread_cond_clockwait64, GLIBC_PRIVATE); libc_hidden_def (__pthread_cond_clockwait64)
libc_hidden_ver (___pthread_cond_clockwait64, __pthread_cond_clockwait64)
int int
___pthread_cond_clockwait (pthread_cond_t *cond, pthread_mutex_t *mutex, ___pthread_cond_clockwait (pthread_cond_t *cond, pthread_mutex_t *mutex,

View File

@ -585,7 +585,8 @@ ___pthread_mutex_clocklock64 (pthread_mutex_t *mutex,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_mutex_clocklock64, ___pthread_mutex_clocklock) strong_alias (___pthread_mutex_clocklock64, ___pthread_mutex_clocklock)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___pthread_mutex_clocklock64, __pthread_mutex_clocklock64) strong_alias (___pthread_mutex_clocklock64, __pthread_mutex_clocklock64)
libc_hidden_def (__pthread_mutex_clocklock64)
int int
___pthread_mutex_clocklock (pthread_mutex_t *mutex, ___pthread_mutex_clocklock (pthread_mutex_t *mutex,
@ -618,9 +619,8 @@ ___pthread_mutex_timedlock64 (pthread_mutex_t *mutex,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_mutex_timedlock64, ___pthread_mutex_timedlock) strong_alias (___pthread_mutex_timedlock64, ___pthread_mutex_timedlock)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
versioned_symbol (libc, ___pthread_mutex_timedlock64, strong_alias (___pthread_mutex_timedlock64, __pthread_mutex_timedlock64);
__pthread_mutex_timedlock64, GLIBC_PRIVATE); libc_hidden_def (__pthread_mutex_timedlock64)
libc_hidden_ver (___pthread_mutex_timedlock64, __pthread_mutex_timedlock64)
int int
___pthread_mutex_timedlock (pthread_mutex_t *mutex, ___pthread_mutex_timedlock (pthread_mutex_t *mutex,

View File

@ -31,8 +31,8 @@ ___pthread_rwlock_clockrdlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_rwlock_clockrdlock64, ___pthread_rwlock_clockrdlock) strong_alias (___pthread_rwlock_clockrdlock64, ___pthread_rwlock_clockrdlock)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___pthread_rwlock_clockrdlock64, strong_alias (___pthread_rwlock_clockrdlock64, __pthread_rwlock_clockrdlock64)
__pthread_rwlock_clockrdlock64) libc_hidden_def (__pthread_rwlock_clockrdlock64)
int int
___pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t clockid, ___pthread_rwlock_clockrdlock (pthread_rwlock_t *rwlock, clockid_t clockid,

View File

@ -31,8 +31,8 @@ ___pthread_rwlock_clockwrlock64 (pthread_rwlock_t *rwlock, clockid_t clockid,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_rwlock_clockwrlock64, ___pthread_rwlock_clockwrlock) strong_alias (___pthread_rwlock_clockwrlock64, ___pthread_rwlock_clockwrlock)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___pthread_rwlock_clockwrlock64, strong_alias (___pthread_rwlock_clockwrlock64, __pthread_rwlock_clockwrlock64)
__pthread_rwlock_clockwrlock64) libc_hidden_def (__pthread_rwlock_clockwrlock64)
int int
___pthread_rwlock_clockwrlock (pthread_rwlock_t *rwlock, clockid_t clockid, ___pthread_rwlock_clockwrlock (pthread_rwlock_t *rwlock, clockid_t clockid,

View File

@ -30,8 +30,8 @@ ___pthread_rwlock_timedrdlock64 (pthread_rwlock_t *rwlock,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_rwlock_timedrdlock64, ___pthread_rwlock_timedrdlock) strong_alias (___pthread_rwlock_timedrdlock64, ___pthread_rwlock_timedrdlock)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___pthread_rwlock_timedrdlock64, strong_alias (___pthread_rwlock_timedrdlock64, __pthread_rwlock_timedrdlock64)
__pthread_rwlock_timedrdlock64) libc_hidden_def (__pthread_rwlock_timedrdlock64)
int int
___pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock, ___pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock,

View File

@ -30,8 +30,8 @@ ___pthread_rwlock_timedwrlock64 (pthread_rwlock_t *rwlock,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_rwlock_timedwrlock64, ___pthread_rwlock_timedwrlock) strong_alias (___pthread_rwlock_timedwrlock64, ___pthread_rwlock_timedwrlock)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___pthread_rwlock_timedwrlock64, strong_alias (___pthread_rwlock_timedwrlock64, __pthread_rwlock_timedwrlock64)
__pthread_rwlock_timedwrlock64) libc_hidden_def (__pthread_rwlock_timedwrlock64)
int int
___pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock, ___pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock,

View File

@ -31,7 +31,8 @@ ___pthread_timedjoin_np64 (pthread_t threadid, void **thread_return,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___pthread_timedjoin_np64, ___pthread_timedjoin_np) strong_alias (___pthread_timedjoin_np64, ___pthread_timedjoin_np)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___pthread_timedjoin_np64, __pthread_timedjoin_np64) strong_alias (___pthread_timedjoin_np64, __pthread_timedjoin_np64)
libc_hidden_def (__pthread_timedjoin_np64)
int int
___pthread_timedjoin_np (pthread_t threadid, void **thread_return, ___pthread_timedjoin_np (pthread_t threadid, void **thread_return,

View File

@ -49,7 +49,8 @@ ___sem_clockwait64 (sem_t *sem, clockid_t clockid,
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___sem_clockwait64, ___sem_clockwait) strong_alias (___sem_clockwait64, ___sem_clockwait)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___sem_clockwait64, __sem_clockwait64) strong_alias (___sem_clockwait64, __sem_clockwait64)
libc_hidden_def (__sem_clockwait64)
int int
___sem_clockwait (sem_t *sem, clockid_t clockid, const struct timespec *abstime) ___sem_clockwait (sem_t *sem, clockid_t clockid, const struct timespec *abstime)

View File

@ -45,10 +45,8 @@ ___sem_timedwait64 (sem_t *sem, const struct __timespec64 *abstime)
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___sem_timedwait64, ___sem_timedwait) strong_alias (___sem_timedwait64, ___sem_timedwait)
#else /* __TIMESPEC64 != 64 */ #else /* __TIMESPEC64 != 64 */
libc_hidden_ver (___sem_timedwait64, __sem_timedwait64)
#ifndef SHARED
strong_alias (___sem_timedwait64, __sem_timedwait64) strong_alias (___sem_timedwait64, __sem_timedwait64)
#endif libc_hidden_def (__sem_timedwait64)
int int
___sem_timedwait (sem_t *sem, const struct timespec *abstime) ___sem_timedwait (sem_t *sem, const struct timespec *abstime)

View File

@ -74,8 +74,17 @@ 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
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
# ifdef __REDIRECT_NTH
extern int __REDIRECT_NTH (sched_rr_get_interval,
(__pid_t __pid, struct timespec *__t),
__sched_rr_get_interval64);
# else
# define sched_rr_get_interval __sched_rr_get_interval64
# endif
#endif
#ifdef __USE_GNU #ifdef __USE_GNU
/* Access macros for `cpu_set'. */ /* Access macros for `cpu_set'. */

View File

@ -144,14 +144,34 @@ 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
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
# ifdef __REDIRECT_NTHNL
extern __pid_t __REDIRECT_NTHNL (wait3, (int *__stat_loc, int __options,
struct rusage * __usage),
__wait3_time64);
# else
# define wait3 __wait3_time64
# endif
# endif
#endif #endif
#ifdef __USE_MISC #ifdef __USE_MISC
# ifndef __USE_TIME_BITS64
/* 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;
# else
# ifdef __REDIRECT_NTHNL
extern __pid_t __REDIRECT_NTHNL (wait4, (__pid_t __pid, int *__stat_loc,
int __options, struct rusage *__usage),
__wait4_time64);
# else
# define wait4 __wait4_time64
# endif
# endif
#endif /* Use misc. */ #endif /* Use misc. */

View File

@ -701,6 +701,17 @@ 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
# if defined(__REDIRECT)
extern int __REDIRECT (gai_suspend, (const struct gaicb *const __list[],
int __ent,
const struct timespec *__timeout),
__gai_suspend_time64);
# else
# define gai_suspend __gai_suspend_time64
# endif
# endif
/* Get the error status of the request REQ. */ /* Get the error status of the request REQ. */
extern int gai_error (struct gaicb *__req) __THROW; extern int gai_error (struct gaicb *__req) __THROW;

View File

@ -88,6 +88,16 @@ 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
# if defined(__REDIRECT_NTH)
extern int __REDIRECT_NTH (getrusage, (__rusage_who_t __who,
struct rusage *__usage),
__getrusage64);
# else
# define getrusage __getrusage64
# endif
#endif
/* Return the highest priority of any process specified by WHICH and WHO /* Return the highest priority of any process specified by WHICH and WHO
(see above); if WHO is zero, the current process, process group, or user (see above); if WHO is zero, the current process, process group, or user
(as specified by WHO) is used. A lower priority number means higher (as specified by WHO) is used. A lower priority number means higher

View File

@ -193,12 +193,17 @@ 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
extern int __REDIRECT_NTH (aio_suspend,
(const struct aiocb *const __list[], int __nent,
const struct timespec *__restrict __timeout),
__aio_suspend_time64) __nonnull ((1));
# else
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),
aio_suspend64) __nonnull ((1)); aio_suspend64) __nonnull ((1));
# endif
extern int __REDIRECT_NTH (aio_fsync, extern int __REDIRECT_NTH (aio_fsync,
(int __operation, struct aiocb *__aiocbp), (int __operation, struct aiocb *__aiocbp),
aio_fsync64) __nonnull ((2)); aio_fsync64) __nonnull ((2));
@ -210,7 +215,11 @@ 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
# define aio_suspend aio_suspend64 # ifdef __USE_TIME_BITS64
# define aio_suspend __aio_suspend_time64
# else
# define aio_suspend aio_suspend64
# endif
# define aio_fsync aio_fsync64 # define aio_fsync aio_fsync64
# endif # endif
#endif #endif

View File

@ -71,6 +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
/* 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,
@ -85,6 +86,27 @@ extern int mq_timedsend (mqd_t __mqdes, const char *__msg_ptr,
size_t __msg_len, unsigned int __msg_prio, size_t __msg_len, unsigned int __msg_prio,
const struct timespec *__abs_timeout) const struct timespec *__abs_timeout)
__nonnull ((2, 5)); __nonnull ((2, 5));
# else
# ifdef __REDIRECT
extern int __REDIRECT (mq_timedreceive, (mqd_t __mqdes,
char *__restrict __msg_ptr,
size_t __msg_len,
unsigned int *__restrict __msg_prio,
const struct timespec *__restrict __abs_timeout),
__mq_timedreceive_time64)
__nonnull ((2, 5));
extern int __REDIRECT (mq_timedsend, (mqd_t __mqdes,
const char *__msg_ptr, size_t __msg_len,
unsigned int __msg_prio,
const struct timespec *__abs_timeout),
__mq_timedsend_time64)
__nonnull ((2, 5));
# else
# define mq_timedreceive __mq_timedreceive_time64
# define mq_timedsend __mq_timedsend_time64
# endif
# endif
#endif #endif
/* Define some inlines helping to catch common problems. */ /* Define some inlines helping to catch common problems. */

View File

@ -269,10 +269,23 @@ 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
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)
__nonnull ((1)); __nonnull ((1));
# else
# ifdef __REDIRECT
extern int __REDIRECT (sigtimedwait,
(const sigset_t *__restrict __set,
siginfo_t *__restrict __info,
const struct timespec *__restrict __timeout),
__sigtimedwait64)
__nonnull ((1));
# else
# define sigtimedwait __sigtimedwait64
# endif
# endif
/* Send signal SIG to the process PID. Associate data in VAL with the /* Send signal SIG to the process PID. Associate data in VAL with the
signal. */ signal. */

View File

@ -196,9 +196,20 @@ extern ssize_t recvmsg (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
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);
# else
# ifdef __REDIRECT
extern int __REDIRECT (recvmmsg, (int __fd, struct mmsghdr *__vmessages,
unsigned int __vlen, int __flags,
struct timespec *__tmo),
__recvmmsg64);
# else
# define recvmmsg __recvmmsg64
# endif
# endif
#endif #endif

View File

@ -0,0 +1,19 @@
/* Features part to handle 64-bit time_t support. Generic version.
Copyright (C) 2021 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

@ -0,0 +1,3 @@
/* Header included by Versions to generate the 64-bit time_t compat symbols.
Legacy ABIs with default 32-bit time support define TIME64_NON_DEFAULT to
generate the 64-bit symbols. */

View File

@ -221,6 +221,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
/* 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.
@ -240,6 +241,23 @@ extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return, extern int pthread_clockjoin_np (pthread_t __th, void **__thread_return,
clockid_t __clockid, clockid_t __clockid,
const struct timespec *__abstime); const struct timespec *__abstime);
# else
# ifdef __REDIRECT
extern int __REDIRECT (pthread_timedjoin_np,
(pthread_t __th, void **__thread_return,
const struct timespec *__abstime),
__pthread_timedjoin_np64);
extern int __REDIRECT (pthread_clockjoin_np,
(pthread_t __th, void **__thread_return,
clockid_t __clockid,
const struct timespec *__abstime),
__pthread_clockjoin_np64);
# else
# define pthread_timedjoin_np __pthread_timedjoin_np64
# define pthread_clockjoin_np __pthread_clockjoin_np64
# endif
# endif
#endif #endif
/* Indicate that the thread TH is never to be joined with PTHREAD_JOIN. /* Indicate that the thread TH is never to be joined with PTHREAD_JOIN.
@ -776,16 +794,39 @@ 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
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));
# else
# ifdef __REDIRECT_NTHNL
extern int __REDIRECT_NTHNL (pthread_mutex_timedlock,
(pthread_mutex_t *__restrict __mutex,
const struct timespec *__restrict __abstime),
__pthread_mutex_timedlock64) __nonnull ((1, 2));
# else
# define pthread_mutex_timedlock __pthread_mutex_timedlock64
# endif
# endif
#endif #endif
#ifdef __USE_GNU #ifdef __USE_GNU
# ifndef __USE_TIME_BITS64
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
__abstime) __THROWNL __nonnull ((1, 3)); __abstime) __THROWNL __nonnull ((1, 3));
# else
# ifdef __REDIRECT_NTHNL
extern int __REDIRECT_NTHNL (pthread_mutex_clocklock,
(pthread_mutex_t *__restrict __mutex,
clockid_t __clockid,
const struct timespec *__restrict __abstime),
__pthread_mutex_clocklock64) __nonnull ((1, 3));
# else
# define pthread_mutex_clocklock __pthread_mutex_clocklock64
# endif
# endif
#endif #endif
/* Unlock a mutex. */ /* Unlock a mutex. */
@ -939,16 +980,41 @@ 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 specfied time. */ /* Try to acquire read lock for RWLOCK or return after specfied time. */
# ifndef __USE_TIME_BITS64
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));
# else
# ifdef __REDIRECT_NTHNL
extern int __REDIRECT_NTHNL (pthread_rwlock_timedrdlock,
(pthread_rwlock_t *__restrict __rwlock,
const struct timespec *__restrict __abstime),
__pthread_rwlock_timedrdlock64)
__nonnull ((1, 2));
# else
# define pthread_rwlock_timedrdlock __pthread_rwlock_timedrdlock64
# endif
# endif
# endif # endif
# ifdef __USE_GNU # ifdef __USE_GNU
# ifndef __USE_TIME_BITS64
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
__abstime) __THROWNL __nonnull ((1, 3)); __abstime) __THROWNL __nonnull ((1, 3));
# else
# ifdef __REDIRECT_NTHNL
extern int __REDIRECT_NTHNL (pthread_rwlock_clockrdlock,
(pthread_rwlock_t *__restrict __rwlock,
clockid_t __clockid,
const struct timespec *__restrict __abstime),
__pthread_rwlock_clockrdlock64)
__nonnull ((1, 3));
# else
# define pthread_rwlock_clockrdlock __pthread_rwlock_clockrdlock64
# endif
# endif
# endif # endif
/* Acquire write lock for RWLOCK. */ /* Acquire write lock for RWLOCK. */
@ -961,16 +1027,42 @@ 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 specfied time. */ /* Try to acquire write lock for RWLOCK or return after specfied time. */
# ifndef __USE_TIME_BITS64
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));
# else
# ifdef __REDIRECT_NTHNL
extern int __REDIRECT_NTHNL (pthread_rwlock_timedwrlock,
(pthread_rwlock_t *__restrict __rwlock,
const struct timespec *__restrict __abstime),
__pthread_rwlock_timedwrlock64)
__nonnull ((1, 2));
# else
# define pthread_rwlock_timedwrlock __pthread_rwlock_timedwrlock64
# endif
# endif
# endif # endif
# ifdef __USE_GNU # ifdef __USE_GNU
# ifndef __USE_TIME_BITS64
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
__abstime) __THROWNL __nonnull ((1, 3)); __abstime) __THROWNL __nonnull ((1, 3));
# else
# ifdef __REDIRECT_NTHNL
extern int __REDIRECT_NTHNL (pthread_rwlock_clockwrlock,
(pthread_rwlock_t *__restrict __rwlock,
clockid_t __clockid,
const struct timespec *__restrict __abstime),
__pthread_rwlock_clockwrlock64)
__nonnull ((1, 3));
# else
# define pthread_rwlock_clockwrlock __pthread_rwlock_clockwrlock64
# endif
# endif
# endif # endif
/* Unlock RWLOCK. */ /* Unlock RWLOCK. */
@ -1047,10 +1139,23 @@ 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
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)
__nonnull ((1, 2, 3)); __nonnull ((1, 2, 3));
# else
# ifdef __REDIRECT
extern int __REDIRECT (pthread_cond_timedwait,
(pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex,
const struct timespec *__restrict __abstime),
__pthread_cond_timedwait64)
__nonnull ((1, 2, 3));
# else
# define pthread_cond_timedwait __pthread_cond_timedwait64
# endif
# endif
# ifdef __USE_GNU # ifdef __USE_GNU
/* Wait for condition variable COND to be signaled or broadcast until /* Wait for condition variable COND to be signaled or broadcast until
@ -1060,11 +1165,25 @@ extern int pthread_cond_timedwait (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
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,
const struct timespec *__restrict __abstime) const struct timespec *__restrict __abstime)
__nonnull ((1, 2, 4)); __nonnull ((1, 2, 4));
# else
# ifdef __REDIRECT
extern int __REDIRECT (pthread_cond_clockwait,
(pthread_cond_t *__restrict __cond,
pthread_mutex_t *__restrict __mutex,
__clockid_t __clock_id,
const struct timespec *__restrict __abstime),
__pthread_cond_clockwait64)
__nonnull ((1, 2, 4));
# else
# define pthread_cond_clockwait __pthread_cond_clockwait64
# endif
# endif
# endif # endif
/* Functions for handling condition variable attributes. */ /* Functions for handling condition variable attributes. */

View File

@ -59,16 +59,41 @@ 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
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));
# else
# ifdef __REDIRECT
extern int __REDIRECT (sem_timedwait,
(sem_t *__restrict __sem,
const struct timespec *__restrict __abstime),
__sem_timedwait64)
__nonnull ((1, 2));
# else
# define sem_timedwait __sem_timedwait64
# endif
# endif
#endif #endif
#ifdef __USE_GNU #ifdef __USE_GNU
# ifndef __USE_TIME_BITS64
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)
__nonnull ((1, 3)); __nonnull ((1, 3));
# else
# ifdef __REDIRECT
extern int __REDIRECT (sem_clockwait,
(sem_t *__restrict __sem,
clockid_t clock,
const struct timespec *__restrict __abstime),
__sem_clockwait64)
__nonnull ((1, 3));
# else
# define sem_clockwait __sem_clockwait64
# endif
# endif
#endif #endif
/* Test whether SEM is posted. */ /* Test whether SEM is posted. */

View File

@ -88,8 +88,18 @@ 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
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
# ifdef __REDIRECT
extern int __REDIRECT (thrd_sleep, (const struct timespec *__time_point,
struct timespec *__remaining),
__thrd_sleep64);
# else
# define thrd_sleep __thrd_sleep64
# endif
#endif
/* Terminate current thread execution, cleaning up any thread local /* Terminate current thread execution, cleaning up any thread local
storage and freeing resources. Returns the value specified in __RES. */ storage and freeing resources. Returns the value specified in __RES. */
@ -131,8 +141,19 @@ 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
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
# ifdef __REDIRECT
extern int __REDIRECT (mtx_timedlock, (mtx_t *__restrict __mutex,
const struct timespec *__restrict
__time_point),
__mtx_timedlock64);
# else
# define mtx_timedlock __mtx_timedlock64
# endif
#endif
/* Try to lock the mutex pointed by __MUTEX without blocking. If the mutex /* Try to lock the mutex pointed by __MUTEX without blocking. If the mutex
is free the current threads takes control of it, otherwise it returns is free the current threads takes control of it, otherwise it returns
@ -171,9 +192,21 @@ 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
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);
#else
# ifdef __REDIRECT
extern int __REDIRECT (cnd_timedwait, (cnd_t *__restrict __cond,
mtx_t *__restrict __mutex,
const struct timespec *__restrict
__time_point),
__cnd_timedwait64);
# else
# define cnd_timedwait __cnd_timedwait64
# endif
#endif
/* Destroy condition variable pointed by __cond and free all of its /* Destroy condition variable pointed by __cond and free all of its
resources. */ resources. */

View File

@ -102,8 +102,11 @@ sysdep_headers += sys/mount.h sys/acct.h \
bits/ipc-perm.h \ bits/ipc-perm.h \
bits/struct_stat.h \ bits/struct_stat.h \
bits/struct_stat_time64_helper.h \ bits/struct_stat_time64_helper.h \
bits/types/struct_msqid64_ds.h \
bits/types/struct_msqid64_ds_helper.h \ bits/types/struct_msqid64_ds_helper.h \
bits/types/struct_semid64_ds.h \
bits/types/struct_semid64_ds_helper.h \ bits/types/struct_semid64_ds_helper.h \
bits/types/struct_shmid64_ds.h \
bits/types/struct_shmid64_ds_helper.h bits/types/struct_shmid64_ds_helper.h
tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \ tests += tst-clone tst-clone2 tst-clone3 tst-fanotify tst-personality \

View File

@ -1,3 +1,4 @@
%include <time64-compat.h>
libc { libc {
GLIBC_2.0 { GLIBC_2.0 {
# functions used in inline functions or macros # functions used in inline functions or macros
@ -185,6 +186,81 @@ libc {
getdents64; gettid; tgkill; getdents64; gettid; tgkill;
} }
GLIBC_2.32 { GLIBC_2.32 {
}
GLIBC_2.34 {
%ifdef TIME64_NON_DEFAULT
# 64-bit time_t support
__adjtime64;
___adjtimex64;
__clock_adjtime64;
__clock_getres64;
__clock_gettime64;
__clock_nanosleep_time64;
__clock_settime64;
__cnd_timedwait64;
__ctime64;
__ctime64_r;
__difftime64;
__fstat64_time64;
__fstatat64_time64;
__futimens64;
__futimes64;
__futimesat64;
__getitimer64;
__getrusage64;
__gettimeofday64;
__gmtime64;
__gmtime64_r;
__localtime64;
__localtime64_r;
__lstat64_time64;
__lutimes64;
__mktime64;
__msgctl64;
__mtx_timedlock64;
__nanosleep64;
__nanosleep64;
__ntp_gettime64;
__ntp_gettimex64;
__ppoll64;
__pselec64;
__pselect64;
__pthread_clockjoin_np64;
__pthread_cond_clockwait64;
__pthread_cond_timedwait64;
__pthread_mutex_clocklock64;
__pthread_mutex_timedlock64;
__pthread_rwlock_clockrdlock64;
__pthread_rwlock_clockwrlock64;
__pthread_rwlock_timedrdlock64;
__pthread_rwlock_timedwrlock64;
__pthread_timedjoin_np64;
__recvmmsg64;
__sched_rr_get_interval64;
__select64;
__sem_clockwait64;
__semctl64;
__semtimedop64;
__sem_timedwait64;
__setitimer64;
__settimeofday64;
__shmctl64;
__sigtimedwait64;
__stat64_time64;
__thrd_sleep64;
__time64;
__timegm64;
__timerfd_gettime64;
__timerfd_settime64;
__timespec_get64;
__timespec_getres64;
__utime64;
__utimensat64;
__utimes64;
__utimes64;
__wait3_time64;
__wait4_time64;
%endif
} }
GLIBC_PRIVATE { GLIBC_PRIVATE {
# functions used in other libraries # functions used in other libraries
@ -204,3 +280,24 @@ ld {
__nptl_change_stack_perm; __nptl_change_stack_perm;
} }
} }
librt {
GLIBC_2.34 {
%ifdef TIME64_NON_DEFAULT
# 64-bit time_t support
__aio_suspend_time64;
__mq_timedsend_time64;
__mq_timedreceive_time64;
__timer_gettime64;
__timer_settime64;
%endif
}
}
libanl {
%ifdef TIME64_NON_DEFAULT
GLIBC_2.34 {
__gai_suspend_time64;
}
%endif
}

View File

@ -1,3 +1,4 @@
GLIBC_2.34 __gai_suspend_time64 F
GLIBC_2.4 gai_cancel F GLIBC_2.4 gai_cancel F
GLIBC_2.4 gai_error F GLIBC_2.4 gai_error F
GLIBC_2.4 gai_suspend F GLIBC_2.4 gai_suspend F

View File

@ -190,16 +190,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -1,3 +1,8 @@
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 aio_cancel F GLIBC_2.4 aio_cancel F
GLIBC_2.4 aio_cancel64 F GLIBC_2.4 aio_cancel64 F
GLIBC_2.4 aio_error F GLIBC_2.4 aio_error F

View File

@ -1,3 +1,4 @@
GLIBC_2.34 __gai_suspend_time64 F
GLIBC_2.4 gai_cancel F GLIBC_2.4 gai_cancel F
GLIBC_2.4 gai_error F GLIBC_2.4 gai_error F
GLIBC_2.4 gai_suspend F GLIBC_2.4 gai_suspend F

View File

@ -187,16 +187,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -1,3 +1,8 @@
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 aio_cancel F GLIBC_2.4 aio_cancel F
GLIBC_2.4 aio_cancel64 F GLIBC_2.4 aio_cancel64 F
GLIBC_2.4 aio_error F GLIBC_2.4 aio_error F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -26,6 +26,7 @@ typedef __syscall_ulong_t msgqnum_t;
typedef __syscall_ulong_t msglen_t; typedef __syscall_ulong_t msglen_t;
#include <bits/types/struct_msqid_ds.h> #include <bits/types/struct_msqid_ds.h>
#include <bits/types/struct_msqid64_ds.h>
/* Define options for message queue functions. */ /* Define options for message queue functions. */
#define MSG_NOERROR 010000 /* no error if message is too big */ #define MSG_NOERROR 010000 /* no error if message is too big */

View File

@ -22,6 +22,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <bits/timesize.h> #include <bits/timesize.h>
#include <bits/types/struct_semid_ds.h> #include <bits/types/struct_semid_ds.h>
#include <bits/types/struct_semid64_ds.h>
/* Flags for `semop'. */ /* Flags for `semop'. */
#define SEM_UNDO 0x1000 /* undo the operation on exit */ #define SEM_UNDO 0x1000 /* undo the operation on exit */

View File

@ -43,6 +43,7 @@ __BEGIN_DECLS
typedef __syscall_ulong_t shmatt_t; typedef __syscall_ulong_t shmatt_t;
#include <bits/types/struct_shmid_ds.h> #include <bits/types/struct_shmid_ds.h>
#include <bits/types/struct_shmid64_ds.h>
#ifdef __USE_MISC #ifdef __USE_MISC

View File

@ -77,6 +77,16 @@ __BEGIN_DECLS
/* Tune a POSIX clock. */ /* Tune a POSIX clock. */
extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW; extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) __THROW;
#ifdef __USE_TIME_BITS64
# if defined(__REDIRECT_NTH)
extern int __REDIRECT_NTH (clock_adjtime, (__clockid_t __clock_id,
struct timex *__utx),
__clock_adjtime64);
# else
# define clock_adjtime __clock_adjtime64
# endif
#endif
__END_DECLS __END_DECLS
#endif /* use GNU */ #endif /* use GNU */

View File

@ -21,8 +21,8 @@
#include "thrd_priv.h" #include "thrd_priv.h"
int int
___cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex, __cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
const struct __timespec64 *restrict time_point) const struct __timespec64 *restrict time_point)
{ {
int err_code = __pthread_cond_timedwait64 ((pthread_cond_t *) cond, int err_code = __pthread_cond_timedwait64 ((pthread_cond_t *) cond,
(pthread_mutex_t *) mutex, (pthread_mutex_t *) mutex,
@ -31,9 +31,9 @@ ___cnd_timedwait64 (cnd_t *restrict cond, mtx_t *restrict mutex,
} }
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___cnd_timedwait64, ___cnd_timedwait) strong_alias (__cnd_timedwait64, ___cnd_timedwait)
#else #else
libc_hidden_ver (___cnd_timedwait64, __cnd_timedwait64) libc_hidden_def (__cnd_timedwait64)
int int
___cnd_timedwait (cnd_t *restrict cond, mtx_t *restrict mutex, ___cnd_timedwait (cnd_t *restrict cond, mtx_t *restrict mutex,

View File

@ -2,3 +2,4 @@ GLIBC_2.29 gai_cancel F
GLIBC_2.29 gai_error F GLIBC_2.29 gai_error F
GLIBC_2.29 gai_suspend F GLIBC_2.29 gai_suspend F
GLIBC_2.29 getaddrinfo_a F GLIBC_2.29 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2277,16 +2277,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -33,3 +33,8 @@ GLIBC_2.29 timer_delete F
GLIBC_2.29 timer_getoverrun F GLIBC_2.29 timer_getoverrun F
GLIBC_2.29 timer_gettime F GLIBC_2.29 timer_gettime F
GLIBC_2.29 timer_settime F GLIBC_2.29 timer_settime F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -0,0 +1,37 @@
/* Features part to handle 64-bit time_t support.
Copyright (C) 2021 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/>. */
/* We need to know the word size in order to check the time size. */
#include <bits/wordsize.h>
#include <bits/timesize.h>
#if defined _TIME_BITS
# if _TIME_BITS == 64
# if ! defined (_FILE_OFFSET_BITS) || _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
# elif _TIME_BITS == 32
# if __TIMESIZE > 32
# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32"
# endif
# else
# error Invalid _TIME_BITS value (can only be 32 or 64-bit)
# endif
#endif

View File

@ -2,3 +2,4 @@ GLIBC_2.2.3 gai_cancel F
GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_error F
GLIBC_2.2.3 gai_suspend F GLIBC_2.2.3 gai_suspend F
GLIBC_2.2.3 getaddrinfo_a F GLIBC_2.2.3 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2231,16 +2231,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -32,6 +32,11 @@ GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedreceive F
GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_timedsend F
GLIBC_2.3.4 mq_unlink F GLIBC_2.3.4 mq_unlink F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio F
GLIBC_2.4 lio_listio64 F GLIBC_2.4 lio_listio64 F
GLIBC_2.7 __mq_open_2 F GLIBC_2.7 __mq_open_2 F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -2,3 +2,4 @@ GLIBC_2.2.3 gai_cancel F
GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_error F
GLIBC_2.2.3 gai_suspend F GLIBC_2.2.3 gai_suspend F
GLIBC_2.2.3 getaddrinfo_a F GLIBC_2.2.3 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2414,17 +2414,84 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __isnanf128 F GLIBC_2.34 __isnanf128 F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -32,6 +32,11 @@ GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedreceive F
GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_timedsend F
GLIBC_2.3.4 mq_unlink F GLIBC_2.3.4 mq_unlink F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio F
GLIBC_2.4 lio_listio64 F GLIBC_2.4 lio_listio64 F
GLIBC_2.7 __mq_open_2 F GLIBC_2.7 __mq_open_2 F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -7,8 +7,6 @@ extern ssize_t __libc_msgrcv (int msqid, void *msgp, size_t msgsz,
extern int __libc_msgsnd (int msqid, const void *msgp, size_t msgsz, extern int __libc_msgsnd (int msqid, const void *msgp, size_t msgsz,
int msgflg); int msgflg);
# include <bits/types/struct_msqid64_ds.h>
# if __TIMESIZE == 64 # if __TIMESIZE == 64
# define __msgctl64 __msgctl # define __msgctl64 __msgctl
# else # else

View File

@ -3,8 +3,6 @@
#ifndef _ISOMAC #ifndef _ISOMAC
# include <bits/types/struct_shmid64_ds.h>
# if __TIMESIZE == 64 # if __TIMESIZE == 64
# define __shmctl64 __shmctl # define __shmctl64 __shmctl
# else # else

View File

@ -23,6 +23,7 @@
# ifndef _ISOMAC # ifndef _ISOMAC
extern int __adjtimex (struct timex *__ntx);
libc_hidden_proto (__adjtimex) libc_hidden_proto (__adjtimex)
# include <time.h> # include <time.h>

View File

@ -1,3 +1,4 @@
GLIBC_2.34 __gai_suspend_time64 F
GLIBC_2.4 gai_cancel F GLIBC_2.4 gai_cancel F
GLIBC_2.4 gai_error F GLIBC_2.4 gai_error F
GLIBC_2.4 gai_suspend F GLIBC_2.4 gai_suspend F

View File

@ -191,16 +191,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -1,3 +1,8 @@
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 aio_cancel F GLIBC_2.4 aio_cancel F
GLIBC_2.4 aio_cancel64 F GLIBC_2.4 aio_cancel64 F
GLIBC_2.4 aio_error F GLIBC_2.4 aio_error F

View File

@ -2,3 +2,4 @@ GLIBC_2.2.3 gai_cancel F
GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_error F
GLIBC_2.2.3 gai_suspend F GLIBC_2.2.3 gai_suspend F
GLIBC_2.2.3 getaddrinfo_a F GLIBC_2.2.3 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2358,16 +2358,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -32,6 +32,11 @@ GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedreceive F
GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_timedsend F
GLIBC_2.3.4 mq_unlink F GLIBC_2.3.4 mq_unlink F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio F
GLIBC_2.4 lio_listio64 F GLIBC_2.4 lio_listio64 F
GLIBC_2.7 __mq_open_2 F GLIBC_2.7 __mq_open_2 F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -2,3 +2,4 @@ GLIBC_2.18 gai_cancel F
GLIBC_2.18 gai_error F GLIBC_2.18 gai_error F
GLIBC_2.18 gai_suspend F GLIBC_2.18 gai_suspend F
GLIBC_2.18 getaddrinfo_a F GLIBC_2.18 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2328,16 +2328,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -33,3 +33,8 @@ GLIBC_2.18 timer_delete F
GLIBC_2.18 timer_getoverrun F GLIBC_2.18 timer_getoverrun F
GLIBC_2.18 timer_gettime F GLIBC_2.18 timer_gettime F
GLIBC_2.18 timer_settime F GLIBC_2.18 timer_settime F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F

View File

@ -2,3 +2,4 @@ GLIBC_2.18 gai_cancel F
GLIBC_2.18 gai_error F GLIBC_2.18 gai_error F
GLIBC_2.18 gai_suspend F GLIBC_2.18 gai_suspend F
GLIBC_2.18 getaddrinfo_a F GLIBC_2.18 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2325,16 +2325,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -33,3 +33,8 @@ GLIBC_2.18 timer_delete F
GLIBC_2.18 timer_getoverrun F GLIBC_2.18 timer_getoverrun F
GLIBC_2.18 timer_gettime F GLIBC_2.18 timer_gettime F
GLIBC_2.18 timer_settime F GLIBC_2.18 timer_settime F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -2323,16 +2323,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -2,3 +2,4 @@ GLIBC_2.2.3 gai_cancel F
GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_error F
GLIBC_2.2.3 gai_suspend F GLIBC_2.2.3 gai_suspend F
GLIBC_2.2.3 getaddrinfo_a F GLIBC_2.2.3 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -32,6 +32,11 @@ GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedreceive F
GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_timedsend F
GLIBC_2.3.4 mq_unlink F GLIBC_2.3.4 mq_unlink F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio F
GLIBC_2.4 lio_listio64 F GLIBC_2.4 lio_listio64 F
GLIBC_2.7 __mq_open_2 F GLIBC_2.7 __mq_open_2 F

View File

@ -2321,16 +2321,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -2,3 +2,4 @@ GLIBC_2.2.3 gai_cancel F
GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_error F
GLIBC_2.2.3 gai_suspend F GLIBC_2.2.3 gai_suspend F
GLIBC_2.2.3 getaddrinfo_a F GLIBC_2.2.3 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2329,16 +2329,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -32,6 +32,11 @@ GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedreceive F
GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_timedsend F
GLIBC_2.3.4 mq_unlink F GLIBC_2.3.4 mq_unlink F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio F
GLIBC_2.4 lio_listio64 F GLIBC_2.4 lio_listio64 F
GLIBC_2.7 __mq_open_2 F GLIBC_2.7 __mq_open_2 F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -21,8 +21,8 @@
#include "thrd_priv.h" #include "thrd_priv.h"
int int
___mtx_timedlock64 (mtx_t *restrict mutex, __mtx_timedlock64 (mtx_t *restrict mutex,
const struct __timespec64 *restrict time_point) const struct __timespec64 *restrict time_point)
{ {
int err_code = __pthread_mutex_timedlock64 ((pthread_mutex_t *)mutex, int err_code = __pthread_mutex_timedlock64 ((pthread_mutex_t *)mutex,
time_point); time_point);
@ -30,9 +30,9 @@ ___mtx_timedlock64 (mtx_t *restrict mutex,
} }
#if __TIMESIZE == 64 #if __TIMESIZE == 64
strong_alias (___mtx_timedlock64, ___mtx_timedlock) strong_alias (__mtx_timedlock64, ___mtx_timedlock)
#else #else
libc_hidden_ver (___mtx_timedlock64, __mtx_timedlock64) libc_hidden_def (__mtx_timedlock64)
int int
___mtx_timedlock (mtx_t *restrict mutex, ___mtx_timedlock (mtx_t *restrict mutex,

View File

@ -2,3 +2,4 @@ GLIBC_2.21 gai_cancel F
GLIBC_2.21 gai_error F GLIBC_2.21 gai_error F
GLIBC_2.21 gai_suspend F GLIBC_2.21 gai_suspend F
GLIBC_2.21 getaddrinfo_a F GLIBC_2.21 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2367,16 +2367,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -33,3 +33,8 @@ GLIBC_2.21 timer_delete F
GLIBC_2.21 timer_getoverrun F GLIBC_2.21 timer_getoverrun F
GLIBC_2.21 timer_gettime F GLIBC_2.21 timer_gettime F
GLIBC_2.21 timer_settime F GLIBC_2.21 timer_settime F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -2385,16 +2385,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -2,3 +2,4 @@ GLIBC_2.2.3 gai_cancel F
GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_error F
GLIBC_2.2.3 gai_suspend F GLIBC_2.2.3 gai_suspend F
GLIBC_2.2.3 getaddrinfo_a F GLIBC_2.2.3 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -32,6 +32,11 @@ GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedreceive F
GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_timedsend F
GLIBC_2.3.4 mq_unlink F GLIBC_2.3.4 mq_unlink F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio F
GLIBC_2.4 lio_listio64 F GLIBC_2.4 lio_listio64 F
GLIBC_2.7 __mq_open_2 F GLIBC_2.7 __mq_open_2 F

View File

@ -2418,16 +2418,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -2,3 +2,4 @@ GLIBC_2.2.3 gai_cancel F
GLIBC_2.2.3 gai_error F GLIBC_2.2.3 gai_error F
GLIBC_2.2.3 gai_suspend F GLIBC_2.2.3 gai_suspend F
GLIBC_2.2.3 getaddrinfo_a F GLIBC_2.2.3 getaddrinfo_a F
GLIBC_2.34 __gai_suspend_time64 F

View File

@ -2383,16 +2383,83 @@ GLIBC_2.33 mknod F
GLIBC_2.33 mknodat F GLIBC_2.33 mknodat F
GLIBC_2.33 stat F GLIBC_2.33 stat F
GLIBC_2.33 stat64 F GLIBC_2.33 stat64 F
GLIBC_2.34 ___adjtimex64 F
GLIBC_2.34 __adjtime64 F
GLIBC_2.34 __clock_adjtime64 F
GLIBC_2.34 __clock_getres64 F
GLIBC_2.34 __clock_gettime64 F
GLIBC_2.34 __clock_nanosleep_time64 F
GLIBC_2.34 __clock_settime64 F
GLIBC_2.34 __cnd_timedwait64 F
GLIBC_2.34 __ctime64 F
GLIBC_2.34 __ctime64_r F
GLIBC_2.34 __difftime64 F
GLIBC_2.34 __fstat64_time64 F
GLIBC_2.34 __fstatat64_time64 F
GLIBC_2.34 __futimens64 F
GLIBC_2.34 __futimes64 F
GLIBC_2.34 __futimesat64 F
GLIBC_2.34 __getitimer64 F
GLIBC_2.34 __getrusage64 F
GLIBC_2.34 __gettimeofday64 F
GLIBC_2.34 __gmtime64 F
GLIBC_2.34 __gmtime64_r F
GLIBC_2.34 __libc_start_main F GLIBC_2.34 __libc_start_main F
GLIBC_2.34 __localtime64 F
GLIBC_2.34 __localtime64_r F
GLIBC_2.34 __lstat64_time64 F
GLIBC_2.34 __lutimes64 F
GLIBC_2.34 __mktime64 F
GLIBC_2.34 __msgctl64 F
GLIBC_2.34 __mtx_timedlock64 F
GLIBC_2.34 __nanosleep64 F
GLIBC_2.34 __ntp_gettime64 F
GLIBC_2.34 __ntp_gettimex64 F
GLIBC_2.34 __ppoll64 F
GLIBC_2.34 __pselect64 F
GLIBC_2.34 __pthread_cleanup_routine F GLIBC_2.34 __pthread_cleanup_routine F
GLIBC_2.34 __pthread_clockjoin_np64 F
GLIBC_2.34 __pthread_cond_clockwait64 F
GLIBC_2.34 __pthread_cond_timedwait64 F
GLIBC_2.34 __pthread_key_create F GLIBC_2.34 __pthread_key_create F
GLIBC_2.34 __pthread_mutex_clocklock64 F
GLIBC_2.34 __pthread_mutex_lock F GLIBC_2.34 __pthread_mutex_lock F
GLIBC_2.34 __pthread_mutex_timedlock64 F
GLIBC_2.34 __pthread_mutex_unlock F GLIBC_2.34 __pthread_mutex_unlock F
GLIBC_2.34 __pthread_register_cancel F GLIBC_2.34 __pthread_register_cancel F
GLIBC_2.34 __pthread_register_cancel_defer F GLIBC_2.34 __pthread_register_cancel_defer F
GLIBC_2.34 __pthread_rwlock_clockrdlock64 F
GLIBC_2.34 __pthread_rwlock_clockwrlock64 F
GLIBC_2.34 __pthread_rwlock_timedrdlock64 F
GLIBC_2.34 __pthread_rwlock_timedwrlock64 F
GLIBC_2.34 __pthread_timedjoin_np64 F
GLIBC_2.34 __pthread_unregister_cancel F GLIBC_2.34 __pthread_unregister_cancel F
GLIBC_2.34 __pthread_unregister_cancel_restore F GLIBC_2.34 __pthread_unregister_cancel_restore F
GLIBC_2.34 __pthread_unwind_next F GLIBC_2.34 __pthread_unwind_next F
GLIBC_2.34 __recvmmsg64 F
GLIBC_2.34 __sched_rr_get_interval64 F
GLIBC_2.34 __select64 F
GLIBC_2.34 __sem_clockwait64 F
GLIBC_2.34 __sem_timedwait64 F
GLIBC_2.34 __semctl64 F
GLIBC_2.34 __semtimedop64 F
GLIBC_2.34 __setitimer64 F
GLIBC_2.34 __settimeofday64 F
GLIBC_2.34 __shmctl64 F
GLIBC_2.34 __sigtimedwait64 F
GLIBC_2.34 __stat64_time64 F
GLIBC_2.34 __thrd_sleep64 F
GLIBC_2.34 __time64 F
GLIBC_2.34 __timegm64 F
GLIBC_2.34 __timerfd_gettime64 F
GLIBC_2.34 __timerfd_settime64 F
GLIBC_2.34 __timespec_get64 F
GLIBC_2.34 __timespec_getres64 F
GLIBC_2.34 __utime64 F
GLIBC_2.34 __utimensat64 F
GLIBC_2.34 __utimes64 F
GLIBC_2.34 __wait3_time64 F
GLIBC_2.34 __wait4_time64 F
GLIBC_2.34 call_once F GLIBC_2.34 call_once F
GLIBC_2.34 cnd_broadcast F GLIBC_2.34 cnd_broadcast F
GLIBC_2.34 cnd_destroy F GLIBC_2.34 cnd_destroy F

View File

@ -32,6 +32,11 @@ GLIBC_2.3.4 mq_setattr F
GLIBC_2.3.4 mq_timedreceive F GLIBC_2.3.4 mq_timedreceive F
GLIBC_2.3.4 mq_timedsend F GLIBC_2.3.4 mq_timedsend F
GLIBC_2.3.4 mq_unlink F GLIBC_2.3.4 mq_unlink F
GLIBC_2.34 __aio_suspend_time64 F
GLIBC_2.34 __mq_timedreceive_time64 F
GLIBC_2.34 __mq_timedsend_time64 F
GLIBC_2.34 __timer_gettime64 F
GLIBC_2.34 __timer_settime64 F
GLIBC_2.4 lio_listio F GLIBC_2.4 lio_listio F
GLIBC_2.4 lio_listio64 F GLIBC_2.4 lio_listio64 F
GLIBC_2.7 __mq_open_2 F GLIBC_2.7 __mq_open_2 F

View File

@ -0,0 +1,2 @@
/* ABI support 64-bit in non-default mode. */
#define TIME64_NON_DEFAULT

View File

@ -21,7 +21,6 @@
#include <ipc_priv.h> #include <ipc_priv.h>
#include <sysdep.h> #include <sysdep.h>
#include <shlib-compat.h> #include <shlib-compat.h>
#include <bits/types/struct_semid64_ds.h> /* For __semid64_ds. */
#include <linux/posix_types.h> /* For __kernel_mode_t. */ #include <linux/posix_types.h> /* For __kernel_mode_t. */
/* The struct used to issue the syscall. For architectures that assume /* The struct used to issue the syscall. For architectures that assume

Some files were not shown because too many files have changed in this diff Show More