From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dedi548.your-server.de (dedi548.your-server.de [85.10.215.148]) by sourceware.org (Postfix) with ESMTPS id 3466F386101F for ; Wed, 9 Dec 2020 12:53:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 3466F386101F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=embedded-brains.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=sebastian.huber@embedded-brains.de Received: from sslproxy06.your-server.de ([78.46.172.3]) by dedi548.your-server.de with esmtpsa (TLSv1.3:TLS_AES_256_GCM_SHA384:256) (Exim 4.92.3) (envelope-from ) id 1kmyxq-000G6f-LY; Wed, 09 Dec 2020 13:53:02 +0100 Received: from [82.100.198.138] (helo=mail.embedded-brains.de) by sslproxy06.your-server.de with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1kmyxq-0004bo-Ed; Wed, 09 Dec 2020 13:53:02 +0100 Received: from localhost (localhost.localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 0E3982A1610; Wed, 9 Dec 2020 13:53:02 +0100 (CET) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id fT5XFsn_x1bB; Wed, 9 Dec 2020 13:53:01 +0100 (CET) Received: from localhost (localhost.localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id ADBB52A165B; Wed, 9 Dec 2020 13:53:01 +0100 (CET) X-Virus-Scanned: amavisd-new at zimbra.eb.localhost Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id W03lVgGS-tW5; Wed, 9 Dec 2020 13:53:01 +0100 (CET) Received: from shuber-nb-linux.eb.localhost (unknown [10.10.171.18]) by mail.embedded-brains.de (Postfix) with ESMTPSA id 7A0F42A1610; Wed, 9 Dec 2020 13:53:01 +0100 (CET) Subject: Re: [PATCH] arm: Fix memchr() for Armv8-R To: Richard Earnshaw , newlib@sourceware.org References: <20201204074204.31629-1-sebastian.huber@embedded-brains.de> From: Sebastian Huber Message-ID: <3f21839f-a94e-55d1-5a24-8c8878c5cf05@embedded-brains.de> Date: Wed, 9 Dec 2020 13:53:01 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.4.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: quoted-printable X-Authenticated-Sender: smtp-embedded@poldinet.de X-Virus-Scanned: Clear (ClamAV 0.102.4/26012/Tue Dec 8 15:38:50 2020) X-Spam-Status: No, score=-10.0 required=5.0 tests=BAYES_00, BODY_8BITS, GIT_PATCH_0, KAM_DMARC_STATUS, NICE_REPLY_A, SPF_HELO_NONE, 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: 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: Wed, 09 Dec 2020 12:53:05 -0000 On 09/12/2020 13:27, Richard Earnshaw wrote: > On 09/12/2020 12:11, Sebastian Huber wrote: >> On 04/12/2020 08:42, Sebastian Huber wrote: >> >>> The Cortex-R52 processor is an Armv8-R processor with a NEON unit.=C2= =A0 This >>> fix prevents conflicting architecture profiles A/R errors issued by t= he >>> linker. >>> >>> Signed-off-by: Sebastian Huber >>> --- >>> =C2=A0 newlib/libc/machine/arm/memchr.S | 4 ++++ >>> =C2=A0 1 file changed, 4 insertions(+) >>> >>> diff --git a/newlib/libc/machine/arm/memchr.S >>> b/newlib/libc/machine/arm/memchr.S >>> index 7c22b117e..1a4c6512c 100644 >>> --- a/newlib/libc/machine/arm/memchr.S >>> +++ b/newlib/libc/machine/arm/memchr.S >>> @@ -79,7 +79,11 @@ >>> =C2=A0 =C2=A0 @ NOTE: This ifdef MUST match the one in memchr-stub.c >>> =C2=A0 #if defined (__ARM_NEON__) || defined (__ARM_NEON) >>> +#if __ARM_ARCH >=3D 8 && __ARM_ARCH_PROFILE =3D=3D 'R' >>> +=C2=A0=C2=A0=C2=A0 .arch=C2=A0=C2=A0=C2=A0 armv8-r >>> +#else >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .arch=C2=A0=C2=A0=C2=A0 armv7-a >>> +#endif >>> =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 .fpu=C2=A0=C2=A0=C2=A0 neon >>> =20 >> The memchr.S from the ARM optimized routines package has little in >> common with the file in Newlib: >> >> https://github.com/ARM-software/optimized-routines/blob/master/string/= arm/memchr.S >> >> >> The Newlib variant uses VFP instructions for example. >> >> I think this change should be checked in as is. >> > That probably means the newlib one is out of date and needs to be resyn= ced. I lack the background information to decide this. I have for example no=20 idea why the VFP variant was removed or not included in=20 ARM-software/optimized-routines. Was it intentional or an oversight? Was=20 it based on benchmarks? Without the patch above Newlib is currently unusable for Armv8-R targets=20 with an VFP unit. --=20 embedded brains GmbH Herr Sebastian HUBER Dornierstr. 4 82178 Puchheim Germany email: sebastian.huber@embedded-brains.de phone: +49-89-18 94 741 - 16 fax: +49-89-18 94 741 - 08 Registergericht: Amtsgericht M=C3=BCnchen Registernummer: HRB 157899 Vertretungsberechtigte Gesch=C3=A4ftsf=C3=BChrer: Peter Rasmussen, Thomas= D=C3=B6rfler Unsere Datenschutzerkl=C3=A4rung finden Sie hier: https://embedded-brains.de/datenschutzerklaerung/