This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Dear Glibc Community,
I would like to share the current state of development and potentially
avoid effort duplication.
Please find the status update info regarding the effort to make glibc
supporting 64 bit time on systems with TIMESIZE != 64 (i.e. 32 bit ARM).
The most up to date setup - with "upstream first" philosophy applied
(including patch to provide support for -D_TIME_BITS=64) to glibc
can be found at [1].
Following functions to support 64 bit syscalls have been converted:
- clock_gettime64
- clock_settime64
- clock_getres64
- utimensat
- futimens
- clock_nanosleep_time64
- ppoll64
- timer_gettime
- timer_settime
- timerfd_gettime (WIP)
- timerfd_settime (WIP) [2]
- pselect64 conversion has been postponed until we advance with
minimal supported glibc version (now it is 3.2 , we need to be >
3.15). After 3.15 it would be far more easier to do the
conversion.
It is possible to test this effort with QEMU and OE/Yocto. Detailed
tutorial in README file [3].
TO DO:
0. Use other 64 bit syscalls - as indicated in [4].
1. Convert in-glibc usage of internal clock functions (e.g.
__clock_gettime()) to __clock_gettime64(), which are Y2038 safe on
32 bit systems with TIMESIZE==32.
Potential issue - making those functions as hidden and in the same
time accessible by Y2038 safe systems (e.g. __clock_gettime64()).
2. The statx (and friends) conversion to Y2038 (Alistair also did some
work there)
3. Continue replacing Y2038 unsafe functions (like gettimeofday) with
internal, safe representation (which would use __clock_gettime64())
as was done by Zack and Adhemerval.
4. Prepare for "big switch" to add support for -D_TIME_BITS=64 in glibc
- I'm mostly concerned with preparing a solid test sute.
Please do not hesitate to provide input about any other ongoing work in
this area. Please also forward this mail to any potentially interested
parties.
Last, but not least, I would like to give a big thank to all community
members involved into the development and review process.
Links:
[1] -
https://github.com/lmajewski/y2038_glibc/commits/glibc_timerfd_settime_gettime-conversion-v1
[2] - posted for review:
https://patchwork.ozlabs.org/patch/1205307/
[3] - https://github.com/lmajewski/meta-y2038
[4] -
https://elixir.bootlin.com/linux/v5.3-rc5/source/arch/arm/tools/syscall.tbl#L420
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
Attachment:
pgpIOZCL8hzJA.pgp
Description: OpenPGP digital signature
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |