From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by sourceware.org (Postfix) with ESMTP id 122943858D20 for ; Tue, 15 Mar 2022 12:41:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 122943858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=foss.arm.com Authentication-Results: sourceware.org; spf=none smtp.mailfrom=foss.arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id C3A181474; Tue, 15 Mar 2022 05:41:44 -0700 (PDT) Received: from [10.57.41.3] (unknown [10.57.41.3]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id 4C5F13F66F; Tue, 15 Mar 2022 05:41:44 -0700 (PDT) Message-ID: <2c68b0f8-03ad-d93d-dd35-002a66576ff8@foss.arm.com> Date: Tue, 15 Mar 2022 12:41:42 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: [PATCH v2] newlib: fix build with , newlib@sourceware.org References: <20220314032559.24535-1-vapier@gentoo.org> <20220315032550.16502-1-vapier@gentoo.org> From: Richard Earnshaw In-Reply-To: <20220315032550.16502-1-vapier@gentoo.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3497.1 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, KAM_LAZY_DOMAIN_SECURITY, NICE_REPLY_A, SPF_HELO_NONE, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: newlib@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Newlib mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Mar 2022 12:41:46 -0000 On 15/03/2022 03:25, Mike Frysinger wrote: > __builtin_mul_overflow showed up with gcc-5, so stub it out for older > versions. > --- > newlib/libc/include/sys/cdefs.h | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/newlib/libc/include/sys/cdefs.h b/newlib/libc/include/sys/cdefs.h > index da729092185c..e51f7f4b873a 100644 > --- a/newlib/libc/include/sys/cdefs.h > +++ b/newlib/libc/include/sys/cdefs.h > @@ -416,6 +416,10 @@ > #define __unreachable() ((void)0) > #endif > > +#if !__GNUC_PREREQ__(5, 0) > +#define __builtin_mul_overflow(a, b, size) ({ *(size) = (a) * (b); 0; }) Wouldn't (*(size) = (a) * (b), 0) be more portable (avoiding the GNU statement expression extension)? R. > +#endif > + > /* XXX: should use `#if __STDC_VERSION__ < 199901'. */ > #if !__GNUC_PREREQ__(2, 7) && !defined(__INTEL_COMPILER) > #define __func__ NULL