2017-11-27 18:01:14

by Paul Eggert

[permalink] [raw]
Subject: Re: [PATCH 3/3] y2038: rusage: use __kernel_old_timeval for process times

On 11/27/2017 09:00 AM, Arnd Bergmann wrote:
> b) Extend the approach taken by the x32 ABI, and use the 64-bit
> native structure layout for rusage on all architectures with new
> system calls that is otherwise compatible. A possible problem here
> is that we end up with incompatible definitions of rusage between
> /usr/include/linux/resource.h and /usr/include/bits/resource.h
>
> c) Change the definition of struct rusage to be independent of
> time_t. This is the easiest change, as it does not involve new system
> call entry points, but it has the risk of introducing compile-time
> incompatibilities with user space sources that rely on the type
> of ru_utime and ru_stime.
>
> I'm picking approch c) for its simplicity, but I'd like to hear from
> others whether they would prefer a different approach.

(c) would break programs like GNU Emacs, which copy ru_utime and
ru_stime members into struct timeval variables.

All in all, (b) sounds like it would be better for programs using glibc,
as it's more compatible with what POSIX apps expect. Though I'm not sure
what problems are meant by "possible ... incompatible definitions";
perhaps you could elaborate.


From 1585239748101712476@xxx Mon Nov 27 17:07:13 +0000 2017
X-GM-THRID: 1585239748101712476
X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread