[PATCH v10] y2038: Provide conversion helpers for struct __timespec64

Florian Weimer fweimer@redhat.com
Mon Dec 9 16:03:00 GMT 2019


* Dmitry V. Levin:

> So the agreement was to push the garbage to the kernel assuming it will
> handle the matter?

Yes.

> Has anybody considered what it will look like in a tracer's output?
>
> clock_nanosleep_time64(CLOCK_REALTIME, 0, {tv_sec=0, tv_nsec=13185818429535213454}, {tv_sec=0, tv_nsec=111245472}) = ? ERESTART_RESTARTBLOCK (Interrupted by signal)
>
> Confusing, isn't it?
>
> This happens because the type of syscall argument on the kernel side is a
> pointer to struct __kernel_timespec where the type of tv_nsec is long long.

Looks like strace needs to mask the values in its output.  I really
don't see another way.

Thanks,
Florian



More information about the Libc-alpha mailing list