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: [RFC v2 08/20] sysdeps/wait: Use waitid if avaliable


* Arnd Bergmann:

> On Tue, Jun 25, 2019 at 3:47 PM Florian Weimer <fweimer@redhat.com> wrote:
>>
>> * Arnd Bergmann:
>>
>> > On Tue, Jun 25, 2019 at 3:29 PM Arnd Bergmann <arnd@arndb.de> wrote:
>> >> On Tue, Jun 25, 2019 at 2:10 PM Florian Weimer <fweimer@redhat.com> wrote:
>> >>
>> >> > Does this means that RV32 will use a 32-bit struct timeval in those
>> >> > system calls?  Even if everything else 64-bit?
>> >>
>> >> Correct. Only those four (all deprecated but still used) system calls,
>> >> as we could not agree on a new interface before 5.1, and there
>> >> is no urgency for deployment when they can be emulated.
>> >
>> > Correction: getrusage() is still a recommended interface in POSIX.1-2017
>> > with no nanosecond based replacement, while wait4(), getitimer() and
>> > getrusage() are all obsolete but cannot be implemented on top of other
>> > POSIX system calls.
>>
>> This makes me rather unhappy.  I also don't see the benefit of renaming
>> all time-related system calls for new architectures.
>
> What got renamed?

futex to futex_time64 on RV32.  <asm/unistd.h> seems to expose only the
latter.

> I was trying very hard to make it as consistent
> and easy as possible. There is a strict mapping of __NR_* macros
> to argument types for each system call [1], so e.g. __kernel_timespec
> will always be used together with system calls named *time64(),
> while the old system calls always refer to the traditional
> "struct timespec {long tv_sec; long tv_nsec;}" type. This is the
> same way that loff_t gets handled, so I assumed that all C libraries
> would know how to deal with this well.

I'm afraid, but this setup makes little sense if the old system call
does not exist for an architecture.  Instead it requires additional
porting effort.

Thanks,
Florian


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