Re: [PATCH] arm: Fix memchr() for Armv8-R

Sebastian Huber <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
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.  This
>>> fix prevents conflicting architecture profiles A/R errors issued by the
>>> linker.
>>>
>>> Signed-off-by: Sebastian Huber<[email protected]>
>>> ---
>>>    newlib/libc/machine/arm/memchr.S | 4 ++++
>>>    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 @@
>>>      @ NOTE: This ifdef MUST match the one in memchr-stub.c
>>>    #if defined (__ARM_NEON__) || defined (__ARM_NEON)
>>> +#if __ARM_ARCH >= 8 && __ARM_ARCH_PROFILE == 'R'
>>> +    .arch    armv8-r
>>> +#else
>>>        .arch    armv7-a
>>> +#endif
>>>        .fpu    neon
>>>      
>> 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 resynced.

I lack the background information to decide this. I have for example no 
idea why the VFP variant was removed or not included in 
ARM-software/optimized-routines. Was it intentional or an oversight? Was 
it based on benchmarks?

Without the patch above Newlib is currently unusable for Armv8-R targets 
with an VFP unit.

-- 
embedded brains GmbH
Herr Sebastian HUBER
Dornierstr. 4
82178 Puchheim
Germany
email: [email protected]
phone: +49-89-18 94 741 - 16
fax:   +49-89-18 94 741 - 08

Registergericht: Amtsgericht München
Registernummer: HRB 157899
Vertretungsberechtigte Geschäftsführer: Peter Rasmussen, Thomas Dörfler
Unsere Datenschutzerklärung finden Sie hier:
https://embedded-brains.de/datenschutzerklaerung/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.