diff options
author | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-02-17 13:35:19 -0300 |
---|---|---|
committer | Adhemerval Zanella <adhemerval.zanella@linaro.org> | 2021-02-18 20:42:42 -0300 |
commit | 904cb172e7e49e4d36e9e22897ea3a081055fa72 (patch) | |
tree | 05a6e2545ee1fe4db89ff26ad01886265d471f9f /posix/posix-envs.def | |
parent | 3c0cd0d37d1d793ba66ac996b4aaf7fc200e17a8 (diff) | |
download | glibc-904cb172e7e49e4d36e9e22897ea3a081055fa72.tar.gz |
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,
nios2, powerpc32, sparc32, s390-32, and sh). The ABIs with 64 bit
time support are unchanged, both for symbol and types redirection.
On Linux apropoer 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, and trying to build
it using -D_TIME_BITS=64 results in an error.
This patch also converts following implemetations to support 64 bit
time:
* libc:
- adjtimex
- adjtime
- clock_adjtime
- clock_getres
- clock_gettime
- clock_nanosleep_time
- clock_settime
- ctime
- ctime_r
- difftime
- futimens
- futimes
- futimesat
- getitimer
- getrusage
- gettimeofday
- gmtime
- gmtime
- lutimes
- mktime
- msgctl
- nanosleep
- ntp_gettime
- ntp_gettimex
- ppoll
- pselect
- recvmmsg
- sched_rr_get_interval
- select
- semctl
- semtimedop
- setitimer
- settimeofday
- shmctl
- sigtimedwait
- time
- timegm
- timerfd_gettime
- timerfd_settime
- timespec_get
- utime
- utimensat
- utimes
- wait3
- wait4
* libpthread:
- mtx_timedlock
- 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
- sem_clockwait
- sem_timedwait
* librt:
- aio_suspend_time
- mq_timedreceive_time
- mq_timedsend_time
- timer_gettime
- timer_settime
* libanl:
- gai_suspend
Diffstat (limited to 'posix/posix-envs.def')
0 files changed, 0 insertions, 0 deletions