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 v4 23/24] WIP: syscall.list: Call 64-bit versions of syscalls


* Alistair Francis:

> On Wed, Aug 14, 2019 at 11:57 AM Florian Weimer <fweimer@redhat.com> wrote:
>>
>> * Alistair Francis:
>>
>> > On Fri, Aug 9, 2019 at 6:04 PM Alistair Francis
>> > <alistair.francis@wdc.com> wrote:
>> >>
>> >> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
>> >> ---
>> >>  sysdeps/unix/sysv/linux/syscalls.list | 8 ++++----
>> >>  1 file changed, 4 insertions(+), 4 deletions(-)
>> >>
>> >> diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
>> >> index e374f97b5f8..4844d1a9a3b 100644
>> >> --- a/sysdeps/unix/sysv/linux/syscalls.list
>> >> +++ b/sysdeps/unix/sysv/linux/syscalls.list
>> >> @@ -5,7 +5,7 @@ alarm           -       alarm           i:i     alarm
>> >>  bdflush                EXTRA   bdflush         i:ii    __compat_bdflush        bdflush@GLIBC_2.0:GLIBC_2.23
>> >>  capget         EXTRA   capget          i:pp    capget
>> >>  capset         EXTRA   capset          i:pp    capset
>> >> -clock_adjtime  EXTRA   clock_adjtime   i:ip    clock_adjtime
>> >> +clock_adjtime  EXTRA   clock_adjtime64 i:ip    clock_adjtime
>> >>  create_module  EXTRA   create_module   3       __compat_create_module  create_module@GLIBC_2.0:GLIBC_2.23
>> >>  delete_module  EXTRA   delete_module   3       delete_module
>> >>  epoll_create   EXTRA   epoll_create    i:i     epoll_create
>> >> @@ -52,7 +52,7 @@ sched_getp    -       sched_getparam  i:ip    __sched_getparam        sched_getparam
>> >>  sched_gets     -       sched_getscheduler      i:i     __sched_getscheduler    sched_getscheduler
>> >>  sched_primax   -       sched_get_priority_max  i:i     __sched_get_priority_max        sched_get_priority_max
>> >>  sched_primin   -       sched_get_priority_min  i:i     __sched_get_priority_min        sched_get_priority_min
>> >> -sched_rr_gi    -       sched_rr_get_interval   i:ip    __sched_rr_get_interval sched_rr_get_interval
>> >> +sched_rr_gi    -       sched_rr_get_interval_time64    i:ip    __sched_rr_get_interval sched_rr_get_interval
>> >>  sched_setp     -       sched_setparam  i:ip    __sched_setparam        sched_setparam
>> >>  sched_sets     -       sched_setscheduler      i:iip   __sched_setscheduler    sched_setscheduler
>> >>  sched_yield    -       sched_yield     i:      __sched_yield   sched_yield
>> >> @@ -96,8 +96,8 @@ fremovexattr  -       fremovexattr    i:is    fremovexattr
>> >>  mq_setattr     -       mq_getsetattr   i:ipp   mq_setattr
>> >>
>> >>  timerfd_create EXTRA   timerfd_create  i:ii    timerfd_create
>> >> -timerfd_settime        EXTRA   timerfd_settime i:iipp  timerfd_settime
>> >> -timerfd_gettime        EXTRA   timerfd_gettime i:ip    timerfd_gettime
>> >> +timerfd_settime        EXTRA   timerfd_settime64       i:iipp  timerfd_settime
>> >> +timerfd_gettime        EXTRA   timerfd_gettime64       i:ip    timerfd_gettime
>> >
>> > Does anyone have ideas/opinions on how to handle this correctly?
>>
>> As in many of the other cases, you can add this to <sysdep.h>:
>>
>> #define __NR_timerfd_settime __NR_timerfd_settime64
>> #define __NR_timerfd_gettime __NR_timerfd_gettime64
>>
>> Once a second such port arrives, we can factor out these common system
>> call renamings into a generic-64 subdirectory.
>
> Great! That's a straightforward fix.

Note that getting this to work on legacy architectures (which have a
32-bit time_t) today obviously requires vastly different steps.

I do not know if completing this work is a requirement for acceptance of
the RV32 port (I don't think it should be, but others might disagree).

Thanks,
Florian


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