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]

Re: [PATCH v9] y2038: Introduce the __ASSUME_TIME64_SYSCALLS define


On Tue, Aug 27, 2019 at 12:35 PM Joseph Myers <joseph@codesourcery.com> wrote:
>
> On Tue, 27 Aug 2019, Zack Weinberg wrote:
>
> > I think that gets everything important.  Neither the commit message
> > nor the comment needs to list all the new system calls.
>
> The syscalls need to be listed to make clear exactly what the interfaces
> covered by the macro are.

I'm a little confused, should I change anything or leave the patch as is?

>
> * If further related syscalls are added in future, e.g. timespec64
> versions of syscalls that currently use struct rusage, they are *not*
> covered by this macro.
>
> * If the semantics of the unsuffixed syscall on 64-bit architectures do
> not exactly match those of the suffixed syscall on 32-bit architectures,
> so that a #define of the suffixed name to the unsuffixed name doesn't
> suffice to use the existing syscall on 64-bit architectures, it is *not*
> covered by this macro, at least not without an explanation of the semantic
> differences in the comment.  (See the semtimedop discussion.)
>
> * If the unsuffixed syscall is not in fact available on all 64-bit
> architectures supported by glibc in the minimum supported kernel version,
> it is *not* covered by this macro.  (Although treating it as covered would
> only cause issues if there is actually any fallback code for the case
> where the unsuffixed syscall isn't present either.)
>
> The fact that the syscalls described by the macro may be suffixed or
> unsuffixed also needs to be in the comment, not just the commit message.

Is this enough to describe that (already in the commit)?

   On systems with __WORDSIZE == 64 the __NR_clock_settime syscall is used
   to achieve this goal. Systems with __WORDSIZE == 32 use the
   __NR_clock_settime64 syscall available from Linux version 5.1.

Alistair

>
> --
> Joseph S. Myers
> joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]