From patchwork Tue Jun 25 00:08:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 33370 Received: (qmail 16857 invoked by alias); 25 Jun 2019 00:11:18 -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 16842 invoked by uid 89); 25 Jun 2019 00:11:18 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.0 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_NUMSUBJECT autolearn=ham version=3.3.1 spammy=soc, 2.22.0, 2220, H*Ad:U*macro X-HELO: esa1.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=1561421476; x=1592957476; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=1dqP9E26XghunwSGZaqyrq6+ZSI90JSz4BwyJum/tQk=; b=Be7jlMSFQwsTR4YIAyQtzeNdrI15vV0/b5uc5tDqE3JjsaYcL3rwxzaf 9JPeAD4Tt63v2vYQFCs9/rblrmOvE4IqG3S8yGBaBe7VCXUTSZ6H4GlZi Zugg/GmyyznxMyyVICC9wgVUTxdfQCXgrUgKRTn+BQy2Hz8JNoHiOrdky uSzoMFD1xxbhD+pf0jI98BHGJTV0OzNfIrwDPPICQ9ZTcAppyBEVRWk6N oYNdps1Jie/PQctrATE5Qk8zeBIUsqmGhziIPKbpVDsbAyKCe9GJ3xH5b VktM4nWbnTTBvVryATaSjgidRGSE70QHAO1P+uQvbClPajg8iMgC8VqLP w==; IronPort-SDR: 88QNhIZLfFbOTD2JM4pi5c6VtOVvIecnXW6hzmRQ8FfVZf/f6Rz9Tyb/fWWEGDa2v8+svT89eP p8Fy7+xsJzUskQunR9Adm7s8tI2NMXV7sIvqgqSm/NfalOzzrzFjv727BvGg2/xwFiEIdCpe8u YBD2HX0k4FsR7z+hTWEf1BKPc2POCkESwdc7NrGjN+zdHNOD9SyW6oJiF4KTbPd1SFQW9MBPUF G2zIvdq1a6YYySs3GBi6akK4Pu52QI4xHPJpGuX5I71z75OC65RU2HR3mM1a/SLyFR8L8PdNgX /u6ukuFugg3E4uDSsll4j66u IronPort-SDR: gHwm6brEPxva5NzLLGG3yqAo9vlVYtGqUbuj6fwN1I/1ztlxNlptV9MW5sqmntD6L8Cb62de02 MmJpGUOC80IOeOx+2y0KyaoDHK2IbNHb5cuagsb822DVLjEjdFGpjJVjFQ456WPFvfw6rCN+mk nGw7q26THcf61aKinaCZGQwKdPijrmzpguq1EMtFlVbdvFhVPsO8F1Zd41G1ShvjHOBR1Bm6GO B472+AJb1yH5Q8JIshN+YQGGot0xWJcCUlaeZQR18CKz4blL1+rTA8YDKFoZtJR2+vHsT14Ypg WC4= From: Alistair Francis To: libc-alpha@sourceware.org Cc: arnd@arndb.de, adhemerval.zanella@linaro.org, fweimer@redhat.com, palmer@sifive.com, macro@wdc.com, zongbox@gmail.com, zong@andestech.com, alistair.francis@wdc.com, alistair23@gmail.com Subject: [RFC v2 01/20] y2038: Introduce internal for glibc struct __timespec64 Date: Mon, 24 Jun 2019 17:08:46 -0700 Message-Id: In-Reply-To: References: MIME-Version: 1.0 From: Lukasz Majewski This type is a glibc's type similar to struct timespec but whose tv_sec field is a __time64_t rather than a time_t, which makes it Y2038-proof and usable to pass syscalls between user code and Y2038-proof kernel. To support passing this structure to the kernel - the tv_pad, 32 bit int, has been introduced. The placement of it depends on endianness of the SoC. Tested on x86_64 and ARM. * include/time.h: Add struct __timespec64 definition --- include/time.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/include/time.h b/include/time.h index ac3163c2a5..33d0fcb0fe 100644 --- a/include/time.h +++ b/include/time.h @@ -5,6 +5,7 @@ # include # include # include