summaryrefslogtreecommitdiffstats
path: root/libc/arch-arm/krait/bionic/memcpy.S
diff options
context:
space:
mode:
authorBrent DeGraaf <bdegraaf@codeaurora.org>2013-10-02 13:47:11 +0000
committerSteve Kondik <steve@cyngn.com>2015-10-29 22:44:26 -0700
commitf8a907d25a9f319e67fcf005638adb52fa09dd8b (patch)
tree03d23d53765fb0370976486166160e25b213525f /libc/arch-arm/krait/bionic/memcpy.S
parent35188756d314056f9a706288a000c7e85c54c2e0 (diff)
downloadbionic-f8a907d25a9f319e67fcf005638adb52fa09dd8b.tar.gz
bionic-f8a907d25a9f319e67fcf005638adb52fa09dd8b.tar.bz2
bionic-f8a907d25a9f319e67fcf005638adb52fa09dd8b.zip
[AOSP Master] libc: krait: Use performance version of memcpy
* This commit improves performance for small copies compared to the original CAF one. It also cleans up some functions. Change-Id: Iaa52635240da8b8746693186b66b69778e833c32
Diffstat (limited to 'libc/arch-arm/krait/bionic/memcpy.S')
-rw-r--r--libc/arch-arm/krait/bionic/memcpy.S17
1 files changed, 9 insertions, 8 deletions
diff --git a/libc/arch-arm/krait/bionic/memcpy.S b/libc/arch-arm/krait/bionic/memcpy.S
index 9ff46a8ac..5d27b574f 100644
--- a/libc/arch-arm/krait/bionic/memcpy.S
+++ b/libc/arch-arm/krait/bionic/memcpy.S
@@ -45,7 +45,7 @@
ENTRY(__memcpy_chk)
cmp r2, r3
- bhi __memcpy_chk_fail
+ bhi .L_memcpy_chk_fail
// Fall through to memcpy...
END(__memcpy_chk)
@@ -53,19 +53,20 @@ END(__memcpy_chk)
ENTRY(memcpy)
pld [r1, #64]
stmfd sp!, {r0, lr}
- .cfi_def_cfa_offset 8
+ .cfi_adjust_cfa_offset 8
.cfi_rel_offset r0, 0
.cfi_rel_offset lr, 4
-END(memcpy)
-#define MEMCPY_BASE __memcpy_base
-#define MEMCPY_BASE_ALIGNED __memcpy_base_aligned
#include "memcpy_base.S"
-ENTRY_PRIVATE(__memcpy_chk_fail)
+ // Undo the cfi directives from above.
+ .cfi_adjust_cfa_offset -8
+ .cfi_restore r0
+ .cfi_restore lr
+.L_memcpy_chk_fail:
// Preserve lr for backtrace.
push {lr}
- .cfi_def_cfa_offset 4
+ .cfi_adjust_cfa_offset 4
.cfi_rel_offset lr, 0
ldr r0, error_message
@@ -77,7 +78,7 @@ error_code:
.word BIONIC_EVENT_MEMCPY_BUFFER_OVERFLOW
error_message:
.word error_string-(1b+4)
-END(__memcpy_chk_fail)
+END(memcpy)
.data
error_string: