ARM assembly language memcpy.S was not returning a value in R0 it is required to do. From David Sidrane

This commit is contained in:
Gregory Nutt 2015-01-29 06:36:53 -06:00
parent 35a814abca
commit 0c47dbe92d
2 changed files with 30 additions and 0 deletions

View File

@ -143,11 +143,26 @@ MEM_LongCopyTable:
* Input Parameters:
* r0 = destination, r1 = source, r2 = length
*
* Returned Value:
* r0 = destination r1-r3 burned
*
************************************************************************************/
.align 4
.thumb_func
memcpy:
push {r14}
push {r0}
bl _do_memcpy
pop {r0}
pop {pc}
.align 4
.thumb_func
_do_memcpy:
push {r14}
/* This allows the inner workings to "assume" a minimum amount of bytes */
/* Quickly check for very short copies */

View File

@ -142,11 +142,26 @@ MEM_LongCopyTable:
* Input Parameters:
* r0 = destination, r1 = source, r2 = length
*
* Returned Value:
* r0 = destination r1-r3 burned
*
************************************************************************************/
.align 4
.thumb_func
memcpy:
push {r14}
push {r0}
bl _do_memcpy
pop {r0}
pop {pc}
.align 4
.thumb_func
_do_memcpy:
push {r14}
/* This allows the inner workings to "assume" a minimum amount of bytes */
/* Quickly check for very short copies */