Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 5 Nov 2019 17:28:50 -0500
From: Rich Felker <>
Subject: Re: The time64 switchover has happened!

On Sun, Nov 03, 2019 at 07:33:38PM +0300, Dmitry V. Levin wrote:
> On Sun, Nov 03, 2019 at 01:25:07AM -0500, Rich Felker wrote:
> [...]
> > Now, it's time for testing. I've done some build and smoke tests of
> > OpenSSL, Python, Perl, strace, coreutils, busybox (git master needed
> FWIW, there are quite a few places in strace test suite that rely
> on specific system calls being invoked by some libc functions.
> I suppose some of these tests are broken by this change.

I haven't tried yet, but I think there's a good chance they're not
broken. For operations that only pass a time to the kernel, rather
than receiving one back, musl only makes the time64 syscall if the
argument does not fit in 32 bits. For the other direction, there's no
way to know in advance whether the result will fit so the time64 one
has to be tried first, but for the most part that's just stat-family
and clock_gettime (which ideally happens via vdso instead anyway).

As noted before, strace does break at build time due to use of the
sys/{ipc,sem,shm,msg}.h headers to get the IPC structs and command
macros. If they don't exist configure has a fallback to use the kernel
headers, which is the right thing to do, so you have to hack/force
these configure results to build. Hopefully upstream will just remove
use of the libc headers for this since it's conceptually wrong anyway.


Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.