From patchwork Tue Mar 3 17:53:52 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 38389 Received: (qmail 551 invoked by alias); 3 Mar 2020 18:01:23 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 391 invoked by uid 89); 3 Mar 2020 18:01:22 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.5 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_SHORT autolearn=ham version=3.3.1 spammy= X-HELO: esa3.hgst.iphmx.com DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=wdc.com; i=@wdc.com; q=dns/txt; s=dkim.wdc.com; t=1583258479; x=1614794479; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=nG+Rpk9WCskNWTDfCGuKSh361kSduVewmD5POHkpIs0=; b=KXbHUd5qxV9wkSrpjWSKoQhcbCT2F0JAEL9xbgj9F7izE/O3XvHMYEyf IOF0sJQTAijiEEzW2rJaZtNCfm5lUTMYew91zdHFD/gCE+3BJitNGkaas ST7VrooVCsboy6dis7bNInGbRcf6o7FCynT7L8GbFa/lug6S2j+40/M5E 0ylrzENdmwSBtUAXCFWBT9iZZ9dgn4rOptcLYofMHVUoWL0BP4oyuIC9d 6MaqunVg2puDPT08/DEWiS2tfm8YQ7leeMHzcVlSOItNrPRfrhDKk866X MBy6L/yuW6lvLk1l/LPAPATUJMJMuRWR/dx0ku1eS0hKOo1fUG39ex3cb Q==; IronPort-SDR: UW9NR5gBDGVPATm1VfarycEkiWr32MRpeDK7EC0L5QM8NTp4SFVja5Ge/v74u/H/94vxdITC7/ neCmXv06F4IyyW1zBUerptbPNfnDjFHhckKv9PEmJyOe7gQfdopHklfXbGwNoL9U3nC7Oqfc9z 7dNp2vADDoJ8Pcas1B7MCZuH/h0MkbujEIS7Y6ERMHrV26hux140mqTLbapZxlcpfSAMpCAL6t JY0eo6Mnz0m336x/3dVPs4kb1Qy+tCeEb1SHZLCaTGKy7LqZvnyfWQiwaZBZN+897/PdIo0IXZ ADg= IronPort-SDR: nQezfSPXqRWWVoqYbOiSRBj+Jau51blkdJFbgznUZEQPoaCNyJX11fx9YrtWUH61ijxFIACCKH wmrYsWC2pT8InKLFfA3saufBovc/i3Vl+OOcQWDJg397SYQj7fY/GxVhInII7Wu+lNqApn6H5+ PRCLqBuOEJvguoA6sNLFVqqmw+hnVWFyCC4hMRUuOJNO2k3SX7KLXycgk+L/Jh4IfWCIYHhH0P 6Nv5qac5OMREJxwA6wnNkfh+e0UAM78kpwu6mnAsm4Xv4e5iNgjl+Tuup4mwcKB8QAsuzZHiL0 3BnkdZI4awKUSbHnMWLvvbxt IronPort-SDR: VYpUpQ3DfzoJCdy0ta7GYI2EIQNzxJHfChd27LPorR+c8XB9xD/PuxC2ltOxQSEt/YGEkwvwRb W0pVIjNc0HlVjMpTLAzuTzSzsRTU5qf1hQkwepC9MyAzDEsZp4gUNxFylHzI2O9oABcpNEJ8wy 2m1SrXaGhbrudnvFDh4hkXxcZdRYwptRMqH06RLS3S6ZZuqIhpUbEfTlEQuro5qGRMXgSvm51b tW5JoyYMHYOB5QvICu3B9Cg45NuFs3u87fzmmBlxXOB8t2627akB6UUV4MPlKbyoiu63crzQG2 XKU= WDCIronportException: Internal From: Alistair Francis To: libc-alpha@sourceware.org Cc: adhemerval.zanella@linaro.org, Alistair Francis , Lukasz Majewski Subject: [PATCH v5 5/8] linux: Use long time_t __getitimer/__setitimer Date: Tue, 3 Mar 2020 09:53:52 -0800 Message-Id: <20200303175355.15770-6-alistair.francis@wdc.com> In-Reply-To: <20200303175355.15770-1-alistair.francis@wdc.com> References: <20200303175355.15770-1-alistair.francis@wdc.com> MIME-Version: 1.0 The Linux kernel expects itimerval to use a 32-bit time_t, even on archs with a 64-bit time_t (like RV32). To address this let's convert itimerval to/from 32-bit and 64-bit to ensure the kernel always gets a 32-bit time_t. While we are converting these functions let's also convert them to be the y2038 safe versions. This means there is a *64 function that is called by a backwards compatible wrapper. Tested-by: Lukasz Majewski Reviewed-by: Adhemerval Zanella --- include/time.h | 15 +++++ sysdeps/unix/syscalls.list | 2 - sysdeps/unix/sysv/linux/getitimer.c | 59 +++++++++++++++++ sysdeps/unix/sysv/linux/setitimer.c | 95 +++++++++++++++++++++++++++ sysdeps/unix/sysv/linux/tv32-compat.h | 31 +++++++++ 5 files changed, 200 insertions(+), 2 deletions(-) create mode 100644 sysdeps/unix/sysv/linux/getitimer.c create mode 100644 sysdeps/unix/sysv/linux/setitimer.c create mode 100644 sysdeps/unix/sysv/linux/tv32-compat.h diff --git a/include/time.h b/include/time.h index e70258e8e3..df3ee55893 100644 --- a/include/time.h +++ b/include/time.h @@ -6,6 +6,7 @@ # include # include # include