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

Richard Earnshaw Richard.Earnshaw@foss.arm.com
Wed Dec 9 12:27:42 GMT 2020


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 <sebastian.huber@embedded-brains.de>
>> ---
>>   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.

R.


More information about the Newlib mailing list