[PATCH 01/12] Remove implementations of clock_[gs]ettime using [gs]ettimeofday.
Zack Weinberg
zackw@panix.com
Thu Aug 22 12:54:00 GMT 2019
On 8/20/19 2:06 PM, Adhemerval Zanella wrote:
>
>
> On 20/08/2019 10:21, Zack Weinberg wrote:
>> gettimeofday and settimeofday are obsolete in POSIX and will not be
>> provided by Linux for future new architectures. The preferred
>> interfaces are clock_gettime and clock_settime.
>>
>> In preparation for implementing all the other time query/set
>> interfaces using clock_gettime and clock_settime, remove the
>> generic-Unix implementations of clock_gettime and clock_settime that
>> forwarded to gettimeofday and settimeofday. Ports of glibc to
>> historic Unixes that provided these functions, but not clock_gettime
>> and clock_settime, are unlikely to be contributed anymore.
>>
>> The removed implementations *were* being used on the Hurd.
>> Deal with this by converting the Hurd gettimeofday and settimeofday
>> implementations into clock_gettime and clock_settime implementations,
>> respectively. (They still only supply microsecond resolution.
>> I donât know enough about Hurd/Mach to know whether nanosecond-
>> resolution clocks are even available.) This means Hurd temporarily
>> has no implementation of gettimeofday or settimeofday; this will be
>> corrected in subsequent patches. (glibc will not fail to build in the
>> i386-gnu configuration, but gettimeofday and settimeofday will be
>> ENOSYS stubs.)
>
> I would prefer to avoid patch that might break the ABI, couldn't you
> attach this change with the one that fix it for Hurd as well?
The changes that fix this for Hurd are the "use clock_gettime to
implement gettimeofday" and "use clock_settime to implement
settimeofday" patches. I think it will be easier to review the patch
series if I keep those separate, but I can reorganize it so that those
two patches happen immediately after this one, and squash them together
for final commit, does that plan work for you?
>>
>> * sysdeps/unix/clock_gettime.c, sysdeps/unix/clock_settime.c:
>> Delete file.
>> * sysdeps/mach/gettimeofday.c: Rename to .../clock_gettime.c
>> and convert into an implementation of clock_gettime.
>
> I would prefer to just use the full path (makes it more readable).
>
>> * sysdeps/mach/hurd/settimeofday.c: Rename to .../clock_settime.c
>> and convert into an implementation of clock_settime.
>
> Ditto.
Changed in my local copy.
zw
More information about the Libc-alpha
mailing list