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, 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.

* 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.

-- 
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]