diff options
Diffstat (limited to 'libc/string/arm/strncmp.S')
-rw-r--r-- | libc/string/arm/strncmp.S | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/libc/string/arm/strncmp.S b/libc/string/arm/strncmp.S index a3278727e..d6b36312a 100644 --- a/libc/string/arm/strncmp.S +++ b/libc/string/arm/strncmp.S @@ -32,16 +32,19 @@ #include <features.h> .text -.global __strncmp -.hidden __strncmp -.type __strncmp,%function +.global strncmp +.type strncmp,%function .align 4 -__strncmp: +strncmp: /* if (len == 0) return 0 */ cmp r2, #0 moveq r0, #0 +#if defined(__USE_BX__) + bxeq lr +#else moveq pc, lr +#endif subs r2, r2, #1 /* ip == last src address to compare */ @@ -54,8 +57,12 @@ __strncmp: cmpcs r2, r3 beq 1b sub r0, r2, r3 - mov pc, lr +#if defined(__USE_BX__) + bx lr +#else + mov pc, lr +#endif -.size __strncmp,.-__strncmp +.size strncmp,.-strncmp -strong_alias(__strncmp,strncmp) +libc_hidden_def(strncmp) |