From patchwork Wed Jul 17 00:08:40 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Francis X-Patchwork-Id: 1132997 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-103687-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=wdc.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="uHKg8eAH"; dkim=pass (2048-bit key; unprotected) header.d=wdc.com header.i=@wdc.com header.b="MN6HW4VC"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 45pHkt2PHgz9sND for ; Wed, 17 Jul 2019 10:12:06 +1000 (AEST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; q=dns; s=default; b=WrG FTImndrghMmZd4tn8OWPmrtVtr2K0sRbabfMON6837x468nQrWdGYWXlbgjX3fpU vLr88tlTEgk7fQ+JXZyUvCLbqis7QtispVGWEU7iQoTcDz4kl/xfbcBSFzOEwcMn JWfNhH4V1etct645LLc2/tPF4qLzAIdnsYxSX68s= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:cc:subject:date:message-id :mime-version:content-transfer-encoding; s=default; bh=YiG64YA9P oAlD5EBFmUk8diqQt4=; b=uHKg8eAHsZxYMmRz5XC2N/epM0EHtpTXolyTUYKnA kvRLso2SmVFYGH7GvdjfLSDbwRgZUEtNsD/KUyOauX0f0EwiEc+BQet1MiFtLSm4 zMKcjoRl8pVNeM4aq/YGtAu/Fie+2B0F7aJjA7ncu57TbeIG3J6og42exSwk7MyC tg= Received: (qmail 15193 invoked by alias); 17 Jul 2019 00:11:43 -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 15133 invoked by uid 89); 17 Jul 2019 00:11:42 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-26.6 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.1 spammy=avaliable, francis, Francis, importantly X-HELO: esa4.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=1563322295; x=1594858295; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=YxeR2hbvb0TM0gi1fC0L2x1MD7TkGSoDIKJbCwMUArM=; b=MN6HW4VCrLEsq9v+7yG8uqA12QkFBmhEBNHAiJko/c6NeEMInlACubKW OUQ8QyzRKoOD7/KKLTVre41HTeu4PD3n9PWXhGKXbn2bvmY8by8AiknsX 9QH4v/CroYaplGRAy4TcyzzIvJrxxJmsufRvj7CchnpCIkfsj63lM6pdk 4PZRdzYy3SEO5FCPBTchBm34pmKVrRb7wNJgkz9rC2nu3S1sN+kucaVPM PKidIyCuXAT8q02VyTZpnhxhDBBhmSiujyq/aaj/HCuGKqOy+S81z31+i 8k2At5DtGikyg3MwJhVquDv1XKgXTJCBPVRqEMokzdFpulFMlRPgMuN6D Q==; IronPort-SDR: n2uQvCFxbdIz/jW11fYf3FE82IrB/xjrrLdFSuGXXAPkac+iQlUMuzzJXxkJEbvBBOcGcgaEou aeKSWBtyHKETuFBGg56PB3cV0M5ZOi7X9anEtHpYzfUMb69Jrwh896SUc6OAciIej5dSCqtrfs yR8dsgGDG5RsJgf3JrWZXa3iJz4ezWuqoxDiOX8R7eKwwQ0WJpHvvq08I19/U458eQWAitsq9P 1k8SH2vpM8vQh9ifVMAHy6QXKjiLWOHdh9D1FalOez3Cq7gVgZsmOWz8PuRROe3tbGE+Xjt25I dY0= IronPort-SDR: GTUc9Yw/p0U81ZIvFMbk0ca5OyH7lbwdCJ/HiWn7FX3czL0DQV3+NI9Bjj7pkgRogLo6pAbZN+ oETN4dnj4waMfvDojswjmMQSLMq8m2wd+jhb9nTkMKRLX6rld5fyFUvIOeFVGV8e+zROZA+rp7 DAvlGeauEd9h+wYW9fVrIO13PG5GqJodztcnuMapzyYtVKBWvmPCo1kC0lTQowhDZt9/6pwNdn H3QSu7KN4fuYFyl4t6IOmkI7M4Vs1q5o8YTpo+3CNASMG9eAc0CFpx3f5VW4CKt6hUc7uk8ien LWt52IIfCV73bLu6Kn+aJnCJ IronPort-SDR: PWgC+pUIUw0XCGm1H20bWsEgmtC5Sspws4TzNoWdHLRddeK/lgK+B5ETNjdmAIkgL2M4Rr6lyf hiOEXHkh10Gqe2jJoiDYmZwwytmHTCHVMWUNmVkfdj9zprNx9yZse3DXp+KxVZZ6D1WN91HjYB uE6wvjjn2j0OyiY369cseP4itMBmJO+qwAhWUqgbLL0HZCdaVfzIiFHrCYP/kPe5dYXbw7Ro65 S2xoOGJK8s40AziioRnWZ/2vP4SJQ+rEnTY3YHPqj4Gn/rm1UI/5Xja2JUW/cArN+BmgVK3aAs rFs= 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, alistair.francis@wdc.com, alistair23@gmail.com Subject: [RFC v3 00/23] RISC-V glibc port for the 32-bit Date: Tue, 16 Jul 2019 17:08:40 -0700 Message-Id: MIME-Version: 1.0 This patch set contains the glibc port for the 32-bit RISC-V. This is based on all of the work that Zong Li has done [1]. Unfortunately the Linux ABI has changed since Zong Li's latest submission. The RISC-V 32-bit (RV32) ABI no longer defines __ARCH_WANT_TIME32_SYSCALLS which means there are no 32-bit versions of time_t, off_t or any struct resource or system calls that use them. To mitigate this I have set the RV32 port to use 64-bit time_t and off_t (as is done in x86-32) and also changed the syscall imvocation to handle the missing syscalls. This series applies ontop of Lukasz's __clock_settime64 iomplementation [2]. The ChangeLog will need to be updated, so don't worry too much about that. All testing has been done on a 5.1 kernel (it won't work on earlier kernels). Importantly glibc is not the only project that needs to be updated to work with a 32-bit kernel that doesn't define __ARCH_WANT_TIME32_SYSCALLS. So far OpenSSL, busybox and systemd all need patches to work with RV32. My hope here is that we can get a reasonable agreement on how to handle this in glibc and then use that to update other projects. This is why I would still really like feedback even though this won't go into the next release. Feedback on this series is very welcome! 1: https://sourceware.org/ml/libc-alpha/2018-07/msg00892.html 2: https://sourceware.org/ml/libc-alpha/2019-05/msg00661.html The latest version of my work can be found here: https://github.com/alistair23/glibc/tree/alistair/rv32.next This specific version can be found here: https://github.com/alistair23/glibc/tree/alistair/rv32.rfc3 RFC v3: - Remove all "Hack" patches - Incorporate upstream comments - Ensure we don't break RV64 - Lot's more testing and fixes RFC v2: - Add Lukasz's patches - Update the non HACK syscalls after feedback - define __ASSUME_TIME64_SYSCALLS and __ASSUME_RLIM64_SYSCALLS - Remove lockf64.c - Other smaller changes from RFC v1 --END--- Signed-off-by: Alistair Francis --- __COVER__ | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 __COVER__ diff --git a/__COVER__ b/__COVER__ new file mode 100644 index 0000000000..e69de29bb2