Various memcpy implementations in tree

Joel Sherrill joel.sherrill at
Fri May 10 13:17:09 UTC 2013

On 5/10/2013 2:41 AM, Sebastian Huber wrote:
> On 05/08/2013 07:15 PM, Joel Sherrill wrote:
>> Hi
>> I was poking around and noticed that we have 4 memcpy
>> implementations in our tree. Is there opportunity for
>> clean up?
>> ./c/src/lib/libcpu/lm32/shared/misc/memcpy.c
>> ./c/src/lib/libcpu/nios2/shared/misc/memcpy.c
>> ./c/src/lib/libbsp/powerpc/shared/src/memcpy.c
>> ./c/src/lib/libbsp/arm/shared/startup/bsp-start-memcpy.S
>> The lm32 and nios2 are SIMPLE code and IMO look to
>> be candidates for removal.
So these two look like candidates to kill?
>> The PowerPC one looks optimized and I wonder why it
>> hasn't been merged into newlib. Does this not map to
>> a multilib?
> The PowerPC one uses cache operations and thus it is not suitable for Newlib.
Can you add a little more to the top of this file to document
that? And what cores it is appropriate for?
>> The ARM one is also simple code but in asm and based on
>> the name, I assume it is only used in start code. But why
>> have it
> The ARM one is used to copy sections from a load area into a runtime area, e.g.
> you can copy the memcpy() code with this function to its runtime destination.

OK. Same as PowerPC.


Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill at        On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985

More information about the devel mailing list