https://bugs.kde.org/show_bug.cgi?id=416753

Mark Wielaard <m...@klomp.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #126478|0                           |1
        is obsolete|                            |

--- Comment #3 from Mark Wielaard <m...@klomp.org> ---
Created attachment 126504
  --> https://bugs.kde.org/attachment.cgi?id=126504&action=edit
Add 32bit time64 syscalls for arm, mips32, ppc32 and x86

    This patch adds sycall wrappers for the following syscalls which
    use a 64bit time_t on 32bit arches: gettime64, settime64,
    clock_getres_time64, clock_nanosleep_time64, timer_gettime64,
    timer_settime64, timerfd_gettime64, timerfd_settime64,
    utimensat_time64, pselect6_time64, ppoll_time64, recvmmsg_time64,
    mq_timedsend_time64, mq_timedreceive_time64, semtimedop_time64,
    rt_sigtimedwait_time64, futex_time64 and sched_rr_get_interval_time64.

    Still missing are clock_adjtime64 and io_pgetevents_time64.

    For the more complicated syscalls futex[_time64], pselect6[_time64]
    and ppoll[_time64] there are shared pre and/or post helper functions.
    Other functions just have their own PRE and POST handler.

    Note that the vki_timespec64 struct really is the struct as used by
    by glibc (it internally translates a 32bit timespec struct to a 64bit
    timespec64 struct before passing it to any of the time64 syscalls).
    The kernel uses a 64-bit signed int, but is ignoring the upper 32 bits
    of the tv_nsec field. It does always write the full struct though.
    So avoid checking the padding is only needed for PRE_MEM_READ.
    There are two helper pre_read_timespec64 and pre_read_itimerspec64
    to check the new structs.

Tested on i686, armv7hl, ppc64le, aarch64, s390x and x86_64 (only the first 2
have the new time64 syscalls).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to