Time zones (again)

Thiago Macieira thiago at macieira.org
Tue Jun 21 12:44:28 PDT 2016


On terça-feira, 21 de junho de 2016 12:03:41 PDT Linus Torvalds wrote:
> On Tue, Jun 21, 2016 at 11:22 AM, Thiago Macieira <thiago at macieira.org> 
wrote:
> >>    fromTime_t(qint64, const QTimeZone);
> > 
> > I can add that, but I can't add a qint64 toTime_t(), as you can't overload
> > on return value. So it would only be a half solution.
> 
> Can you at least make sure that the return value of "toTime_t" is
> actually a "time_t".

Not before Qt 6.0 (binary compatibility issue on 64-bit systems). As I said, 
that API is deprecated, which is why it's left unchanged and unfixed for some 
time.

> Because seriously, the fix for 32-bit architectures is to make
> "time_t" be 64-bit even there in user space. We already have most of
> the system calls, so it's going to be about libc issues just switching
> over to a 64-bit time_t.

And because of that, I'd much prefer using a 64-bit type than time_t in our 
front-end API. If glibc provides a gettimeofday64, we can switch to using that 
without breaking user code again. Using syscall(3) is not a good idea since it 
would bypass the vDSO implementation, but a weak reference might do the trick.

I don't see such functions yet in the latest git://git.kernel.org/pub/scm/
linux/kernel/git/torvalds/linux.git. I could only find the regular gettimeofday 
in kernel/time/time.c and the compat version in kernel/compat.c.

-- 
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
   Software Architect - Intel Open Source Technology Center



More information about the subsurface mailing list