From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa5.hgst.iphmx.com (esa5.hgst.iphmx.com [216.71.153.144]) by sourceware.org (Postfix) with ESMTPS id 6DE0F3857007 for ; Tue, 14 Jul 2020 23:55:33 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 6DE0F3857007 IronPort-SDR: QLKluZxcmgBvLX3mGgVCLGu3szYVwxTxly5NKv9sz4S4xppuvaZtf9x6POMcIiUJ1bU302Za6d bIL9SNVw2oi4WcL5Z4tmr6KW6uldq1JEkd+a3zwtAcnBylhgWOurpUXnh7roCwtjt22AKATrxz SI5kzFqkZZw4tooeUQfKIngSpiROWcmshvOxBAcQildxyG7RZi//8W7EkYNGYaBcXQlbMQZtAg HmzaqbJfQVHLQXE6/pI6XLMXs0DtIu/jf8lMndiMFvNK/pFP5/bYn2E803uM6dGqjdYmeBTVWE 09s= X-IronPort-AV: E=Sophos;i="5.75,353,1589212800"; d="scan'208";a="142610799" Received: from uls-op-cesaip02.wdc.com (HELO uls-op-cesaep02.wdc.com) ([199.255.45.15]) by ob1.hgst.iphmx.com with ESMTP; 15 Jul 2020 07:55:33 +0800 IronPort-SDR: T9tQHQHIlb1HsBMllzI9wG7pXH4X8QNDBY9D27DM/ZYsEL3FwYT/fwhBWQRuE/Gzf5VMJplm+D iSa9iza3axgUI1KMB5FR7BSbn9SkewqEA= Received: from uls-op-cesaip02.wdc.com ([10.248.3.37]) by uls-op-cesaep02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2020 16:43:25 -0700 IronPort-SDR: U/dKuF3NMjls1liOFKJkE1Q381yCjwd5MuIgJSiBEEHv+j4nA7VhX3n/uYeqPTPvsQFWoCkwEm xBvtYGMVA8+w== WDCIronportException: Internal Received: from unknown (HELO redsun52) ([10.149.66.28]) by uls-op-cesaip02.wdc.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Jul 2020 16:55:32 -0700 Date: Wed, 15 Jul 2020 00:55:28 +0100 (BST) From: "Maciej W. Rozycki" To: Alistair Francis cc: libc-alpha@sourceware.org Subject: Re: [PATCH v3 15/19] RISC-V: Build Infastructure for 32-bit In-Reply-To: <3bc3074d7ae29928b90efd584f018cc9da3b42db.1594568655.git.alistair.francis@wdc.com> Message-ID: References: <3bc3074d7ae29928b90efd584f018cc9da3b42db.1594568655.git.alistair.francis@wdc.com> User-Agent: Alpine 2.21 (LFD 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII X-Spam-Status: No, score=-10.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, SPF_HELO_PASS, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jul 2020 23:55:35 -0000 Hi Alistair, The heading uses odd capitalisation and wording, how about: RISC-V: Build infastructure for 32-bit port ? On Sun, 12 Jul 2020, Alistair Francis via Libc-alpha wrote: > This patch lays out the top-level orginazition of the RISC-V 32-bit port. It > contains all the Implies files as well as various other fragments of > build infastructure for the RISC-V 32-bit port. How about: This patch lays out the top-level organization of the RISC-V 32-bit port. It provides all the Implies files as well as various other fragments of the build infastructure. ? [Oh, I can see where it all has been copied and pasted from.] > diff --git a/sysdeps/unix/sysv/linux/riscv/Makefile b/sysdeps/unix/sysv/linux/riscv/Makefile > index 301b082398..6c11f7fd9a 100644 > --- a/sysdeps/unix/sysv/linux/riscv/Makefile > +++ b/sysdeps/unix/sysv/linux/riscv/Makefile > @@ -7,11 +7,13 @@ ifeq ($(subdir),stdlib) > gen-as-const-headers += ucontext_i.sym > endif > > -abi-variants := lp64 lp64d > +abi-variants := ilp32 ilp32d lp64 lp64d > > ifeq (,$(filter $(default-abi),$(abi-variants))) > $(error Unknown ABI $(default-abi), must be one of $(abi-variants)) > endif > > +abi-ilp32-condition := !defined __LP64__ && defined __riscv_float_abi_soft > +abi-ilp32d-condition := !defined __LP64__ && defined __riscv_float_abi_double > abi-lp64-condition := defined __LP64__ && defined __riscv_float_abi_soft > abi-lp64d-condition := defined __LP64__ && defined __riscv_float_abi_double I feel like these all ought to use __WORDSIZE so as to be consistent, also with the majority of other ports, and inclusive for RV32 rather than exclusive. That if FAOD: abi-ilp32-condition := __WORDSIZE == 32 && defined __riscv_float_abi_soft abi-ilp32d-condition := __WORDSIZE == 32 && defined __riscv_float_abi_double abi-lp64-condition := __WORDSIZE == 64 && defined __riscv_float_abi_soft abi-lp64d-condition := __WORDSIZE == 64 && defined __riscv_float_abi_double This way the ABI condition is tied to a property that we can reasonably expect is not going to ever change and won't have to be adjusted if we add support for say RV128 sometime. Let me know if you disagree. Otherwise OK. Maciej