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