diff options
author | cognet <cognet@FreeBSD.org> | 2004-11-09 16:49:14 +0000 |
---|---|---|
committer | cognet <cognet@FreeBSD.org> | 2004-11-09 16:49:14 +0000 |
commit | 98ebb25e56d0f452f1cfd5d33770eeaedca698fd (patch) | |
tree | 8ccabba1a460da5c135164486fcb8597cd0c3fc5 /lib/libc/arm/string | |
parent | 7e3e230230217c6f10e0156b63efa735c2f9baef (diff) | |
download | FreeBSD-src-98ebb25e56d0f452f1cfd5d33770eeaedca698fd.zip FreeBSD-src-98ebb25e56d0f452f1cfd5d33770eeaedca698fd.tar.gz |
Use the RET macro.
For setjmp() and longjmp(), put the signal mask where it's supposed to be,
instead of in the space reserved for fp regs.
Diffstat (limited to 'lib/libc/arm/string')
-rw-r--r-- | lib/libc/arm/string/ffs.S | 4 | ||||
-rw-r--r-- | lib/libc/arm/string/memcmp.S | 30 | ||||
-rw-r--r-- | lib/libc/arm/string/memmove.S | 8 | ||||
-rw-r--r-- | lib/libc/arm/string/memset.S | 16 | ||||
-rw-r--r-- | lib/libc/arm/string/strcmp.S | 2 | ||||
-rw-r--r-- | lib/libc/arm/string/strncmp.S | 2 |
6 files changed, 31 insertions, 31 deletions
diff --git a/lib/libc/arm/string/ffs.S b/lib/libc/arm/string/ffs.S index e91b3bb..223d55d 100644 --- a/lib/libc/arm/string/ffs.S +++ b/lib/libc/arm/string/ffs.S @@ -62,7 +62,7 @@ ENTRY(ffs) /* now lookup in table indexed on top 6 bits of r0 */ ldrneb r0, [ r2, r0, lsr #26 ] - mov pc, lr + RET .text; .type .L_ffs_table, _ASM_TYPE_OBJECT; .L_ffs_table: @@ -78,5 +78,5 @@ ENTRY(ffs) #else clzne r0, r0 rsbne r0, r0, #32 - mov pc, lr + RET #endif diff --git a/lib/libc/arm/string/memcmp.S b/lib/libc/arm/string/memcmp.S index 5b1a0a5..a81c960 100644 --- a/lib/libc/arm/string/memcmp.S +++ b/lib/libc/arm/string/memcmp.S @@ -77,7 +77,7 @@ ENTRY(memcmp) /* Are both addresses aligned the same way? */ cmp r2, #0x00 eornes r3, ip, r1 - moveq pc, lr /* len == 0, or same addresses! */ + RETeq /* len == 0, or same addresses! */ tst r3, #0x03 subne r2, r2, #0x01 bne .Lmemcmp_bytewise2 /* Badly aligned. Do it the slow way */ @@ -93,25 +93,25 @@ ENTRY(memcmp) ldrb r0, [ip], #0x01 ldrb r3, [r1], #0x01 subs r0, r0, r3 - movne pc, lr + RETne subs r2, r2, #0x01 - moveq pc, lr + RETeq /* Compare up to 2 bytes */ ldrb r0, [ip], #0x01 ldrb r3, [r1], #0x01 subs r0, r0, r3 - movne pc, lr + RETne subs r2, r2, #0x01 - moveq pc, lr + RETeq /* Compare 1 byte */ ldrb r0, [ip], #0x01 ldrb r3, [r1], #0x01 subs r0, r0, r3 - movne pc, lr + RETne subs r2, r2, #0x01 - moveq pc, lr + RETeq /* Compare 4 bytes at a time, if possible */ subs r2, r2, #0x04 @@ -127,7 +127,7 @@ ENTRY(memcmp) /* Correct for extra subtraction, and check if done */ adds r2, r2, #0x04 cmpeq r0, #0x00 /* If done, did all bytes match? */ - moveq pc, lr /* Yup. Just return */ + RETeq /* Yup. Just return */ /* Re-do the final word byte-wise */ sub ip, ip, #0x04 @@ -142,7 +142,7 @@ ENTRY(memcmp) cmpcs r0, r3 beq .Lmemcmp_bytewise2 sub r0, r0, r3 - mov pc, lr + RET #if defined(_KERNEL) && !defined(_STANDALONE) /* @@ -158,23 +158,23 @@ ENTRY(memcmp) ldrb r2, [r1, #0x01] /* r2 = b2#1 */ subs r0, r0, r3 /* r0 = b1#0 - b2#0 */ ldreqb r3, [ip, #0x01] /* r3 = b1#1 */ - movne pc, lr /* Return if mismatch on #0 */ + RETne /* Return if mismatch on #0 */ subs r0, r3, r2 /* r0 = b1#1 - b2#1 */ ldreqb r3, [r1, #0x02] /* r3 = b2#2 */ ldreqb r0, [ip, #0x02] /* r0 = b1#2 */ - movne pc, lr /* Return if mismatch on #1 */ + RETne /* Return if mismatch on #1 */ ldrb r2, [r1, #0x03] /* r2 = b2#3 */ subs r0, r0, r3 /* r0 = b1#2 - b2#2 */ ldreqb r3, [ip, #0x03] /* r3 = b1#3 */ - movne pc, lr /* Return if mismatch on #2 */ + RETne /* Return if mismatch on #2 */ subs r0, r3, r2 /* r0 = b1#3 - b2#3 */ ldreqb r3, [r1, #0x04] /* r3 = b2#4 */ ldreqb r0, [ip, #0x04] /* r0 = b1#4 */ - movne pc, lr /* Return if mismatch on #3 */ + RETne /* Return if mismatch on #3 */ ldrb r2, [r1, #0x05] /* r2 = b2#5 */ subs r0, r0, r3 /* r0 = b1#4 - b2#4 */ ldreqb r3, [ip, #0x05] /* r3 = b1#5 */ - movne pc, lr /* Return if mismatch on #4 */ + RETne /* Return if mismatch on #4 */ sub r0, r3, r2 /* r0 = b1#5 - b2#5 */ - mov pc, lr + RET #endif diff --git a/lib/libc/arm/string/memmove.S b/lib/libc/arm/string/memmove.S index fff9618..f65a254 100644 --- a/lib/libc/arm/string/memmove.S +++ b/lib/libc/arm/string/memmove.S @@ -53,7 +53,7 @@ ENTRY(bcopy) #endif /* Do the buffers overlap? */ cmp r0, r1 - moveq pc, lr /* Bail now if src/dst are the same */ + RETeq /* Bail now if src/dst are the same */ subcc r3, r0, r1 /* if (dst > src) r3 = dst - src */ subcs r3, r1, r0 /* if (src > dsr) r3 = src - dst */ cmp r3, r2 /* if (r3 < len) we have an overlap */ @@ -64,7 +64,7 @@ ENTRY(bcopy) bcc .Lmemmove_backwards moveq r0, #0 /* Quick abort for len=0 */ - moveq pc, lr + RETeq stmdb sp!, {r0, lr} /* memmove() returns dest addr */ subs r2, r2, #4 @@ -382,7 +382,7 @@ ENTRY(bcopy) .Lmemmove_bl4: /* less than 4 bytes to go */ adds r2, r2, #4 - moveq pc, lr /* done */ + RETeq /* done */ /* copy the crud byte at a time */ cmp r2, #2 @@ -392,7 +392,7 @@ ENTRY(bcopy) strgeb r3, [r0, #-1]! ldrgtb r3, [r1, #-1]! strgtb r3, [r0, #-1]! - mov pc, lr + RET /* erg - unaligned destination */ .Lmemmove_bdestul: diff --git a/lib/libc/arm/string/memset.S b/lib/libc/arm/string/memset.S index fbe8581..1e97846 100644 --- a/lib/libc/arm/string/memset.S +++ b/lib/libc/arm/string/memset.S @@ -160,7 +160,7 @@ ENTRY(memset) stmgeia ip!, {r2-r3} #endif bgt .Lmemset_loop128 - moveq pc, lr /* Zero length so just exit */ + RETeq /* Zero length so just exit */ add r1, r1, #0x80 /* Adjust for extra sub */ @@ -179,7 +179,7 @@ ENTRY(memset) stmgeia ip!, {r2-r3} #endif bgt .Lmemset_loop32 - moveq pc, lr /* Zero length so just exit */ + RETeq /* Zero length so just exit */ adds r1, r1, #0x10 /* Partially adjust for extra sub */ @@ -191,7 +191,7 @@ ENTRY(memset) stmgeia ip!, {r2-r3} stmgeia ip!, {r2-r3} #endif - moveq pc, lr /* Zero length so just exit */ + RETeq /* Zero length so just exit */ addlt r1, r1, #0x10 /* Possibly adjust for extra sub */ @@ -200,12 +200,12 @@ ENTRY(memset) subs r1, r1, #0x04 strge r3, [ip], #0x04 bgt .Lmemset_loop4 - moveq pc, lr /* Zero length so just exit */ + RETeq /* Zero length so just exit */ #ifdef __XSCALE__ /* Compensate for 64-bit alignment check */ adds r1, r1, #0x04 - moveq pc, lr + RETeq cmp r1, #2 #else cmp r1, #-2 @@ -214,7 +214,7 @@ ENTRY(memset) strb r3, [ip], #0x01 /* Set 1 byte */ strgeb r3, [ip], #0x01 /* Set another byte */ strgtb r3, [ip] /* and a third */ - mov pc, lr /* Exit */ + RET /* Exit */ .Lmemset_wordunaligned: rsb r2, r2, #0x004 @@ -228,9 +228,9 @@ ENTRY(memset) .Lmemset_lessthanfour: cmp r1, #0x00 - moveq pc, lr /* Zero length so exit */ + RETeq /* Zero length so exit */ strb r3, [ip], #0x01 /* Set 1 byte */ cmp r1, #0x02 strgeb r3, [ip], #0x01 /* Set another byte */ strgtb r3, [ip] /* and a third */ - mov pc, lr /* Exit */ + RET /* Exit */ diff --git a/lib/libc/arm/string/strcmp.S b/lib/libc/arm/string/strcmp.S index 3debd75..e5cba7d 100644 --- a/lib/libc/arm/string/strcmp.S +++ b/lib/libc/arm/string/strcmp.S @@ -40,4 +40,4 @@ ENTRY(strcmp) cmpcs r2, r3 beq 1b sub r0, r2, r3 - mov pc, lr + RET diff --git a/lib/libc/arm/string/strncmp.S b/lib/libc/arm/string/strncmp.S index 33396f6..d172264 100644 --- a/lib/libc/arm/string/strncmp.S +++ b/lib/libc/arm/string/strncmp.S @@ -48,4 +48,4 @@ ENTRY(strncmp) cmpcs r2, r3 beq 1b sub r0, r2, r3 - mov pc, lr + RET |