Synchronize on NetBSD-CVS (2013/12/1 12:00:00 UTC)

- Fix for possible unset uid/gid in toproto
 - Fix for default mtree style
 - Update libelf
 - Importing libexecinfo
 - Resynchronize GCC, mpc, gmp, mpfr
 - build.sh: Replace params with show-params.
     This has been done as the make target has been renamed in the same
     way, while a new target named params has been added. This new
     target generates a file containing all the parameters, instead of
     printing it on the console.
 - Update test48 with new etc/services (Fix by Ben Gras <ben@minix3.org)
     get getservbyport() out of the inner loop

Change-Id: Ie6ad5226fa2621ff9f0dee8782ea48f9443d2091
This commit is contained in:
2014-07-28 17:05:06 +02:00
parent ff10274392
commit 84d9c625bf
4655 changed files with 379308 additions and 151050 deletions
+59 -50
View File
@@ -1,4 +1,4 @@
/* $NetBSD: memmove.S,v 1.3 2008/04/28 20:22:52 martin Exp $ */
/* $NetBSD: memmove.S,v 1.7 2013/11/30 20:20:42 joerg Exp $ */
/*-
* Copyright (c) 1997 The NetBSD Foundation, Inc.
@@ -49,7 +49,7 @@ ENTRY(bcopy)
subhs r3, r0, r1 /* if (dst > src) r3 = dst - src */
sublo r3, r1, r0 /* if (src > dst) r3 = src - dst */
cmp r3, r2 /* if (r3 >= len) we have an overlap */
bhs PIC_SYM(_C_LABEL(memcpy), PLT)
bhs PLT_SYM(_C_LABEL(memcpy))
/* Determine copy direction */
cmp r1, r0
@@ -58,7 +58,7 @@ ENTRY(bcopy)
moveq r0, #0 /* Quick abort for len=0 */
RETc(eq)
stmdb sp!, {r0, lr} /* memmove() returns dest addr */
push {r0, lr} /* memmove() returns dest addr */
subs r2, r2, #4
blt .Lmemmove_fl4 /* less than 4 bytes */
ands r12, r0, #3
@@ -72,7 +72,7 @@ ENTRY(bcopy)
blt .Lmemmove_fl12 /* less than 12 bytes (4 from above) */
subs r2, r2, #0x14
blt .Lmemmove_fl32 /* less than 32 bytes (12 from above) */
stmdb sp!, {r4} /* borrow r4 */
push {r4} /* borrow r4 */
/* blat 32 bytes at a time */
/* XXX for really big copies perhaps we should use more registers */
@@ -85,19 +85,19 @@ ENTRY(bcopy)
bge .Lmemmove_floop32
cmn r2, #0x10
ldmgeia r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */
stmgeia r0!, {r3, r4, r12, lr}
ldmiage r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */
stmiage r0!, {r3, r4, r12, lr}
subge r2, r2, #0x10
ldmia sp!, {r4} /* return r4 */
pop {r4} /* return r4 */
.Lmemmove_fl32:
adds r2, r2, #0x14
/* blat 12 bytes at a time */
.Lmemmove_floop12:
ldmgeia r1!, {r3, r12, lr}
stmgeia r0!, {r3, r12, lr}
subges r2, r2, #0x0c
ldmiage r1!, {r3, r12, lr}
stmiage r0!, {r3, r12, lr}
subsge r2, r2, #0x0c
bge .Lmemmove_floop12
.Lmemmove_fl12:
@@ -107,24 +107,24 @@ ENTRY(bcopy)
subs r2, r2, #4
ldrlt r3, [r1], #4
strlt r3, [r0], #4
ldmgeia r1!, {r3, r12}
stmgeia r0!, {r3, r12}
ldmiage r1!, {r3, r12}
stmiage r0!, {r3, r12}
subge r2, r2, #4
.Lmemmove_fl4:
/* less than 4 bytes to go */
adds r2, r2, #4
ldmeqia sp!, {r0, pc} /* done */
popeq {r0, pc} /* done */
/* copy the crud byte at a time */
cmp r2, #2
ldrb r3, [r1], #1
strb r3, [r0], #1
ldrgeb r3, [r1], #1
strgeb r3, [r0], #1
ldrgtb r3, [r1], #1
strgtb r3, [r0], #1
ldmia sp!, {r0, pc}
ldrbge r3, [r1], #1
strbge r3, [r0], #1
ldrbgt r3, [r1], #1
strbgt r3, [r0], #1
pop {r0, pc}
/* erg - unaligned destination */
.Lmemmove_fdestul:
@@ -134,10 +134,10 @@ ENTRY(bcopy)
/* align destination with byte copies */
ldrb r3, [r1], #1
strb r3, [r0], #1
ldrgeb r3, [r1], #1
strgeb r3, [r0], #1
ldrgtb r3, [r1], #1
strgtb r3, [r0], #1
ldrbge r3, [r1], #1
strbge r3, [r0], #1
ldrbgt r3, [r1], #1
strbgt r3, [r0], #1
subs r2, r2, r12
blt .Lmemmove_fl4 /* less the 4 bytes */
@@ -155,7 +155,7 @@ ENTRY(bcopy)
cmp r2, #0x0c
blt .Lmemmove_fsrcul1loop4
sub r2, r2, #0x0c
stmdb sp!, {r4, r5}
push {r4, r5}
.Lmemmove_fsrcul1loop16:
#ifdef __ARMEB__
@@ -184,7 +184,7 @@ ENTRY(bcopy)
stmia r0!, {r3-r5, r12}
subs r2, r2, #0x10
bge .Lmemmove_fsrcul1loop16
ldmia sp!, {r4, r5}
pop {r4, r5}
adds r2, r2, #0x0c
blt .Lmemmove_fsrcul1l4
@@ -212,7 +212,7 @@ ENTRY(bcopy)
cmp r2, #0x0c
blt .Lmemmove_fsrcul2loop4
sub r2, r2, #0x0c
stmdb sp!, {r4, r5}
push {r4, r5}
.Lmemmove_fsrcul2loop16:
#ifdef __ARMEB__
@@ -241,7 +241,7 @@ ENTRY(bcopy)
stmia r0!, {r3-r5, r12}
subs r2, r2, #0x10
bge .Lmemmove_fsrcul2loop16
ldmia sp!, {r4, r5}
pop {r4, r5}
adds r2, r2, #0x0c
blt .Lmemmove_fsrcul2l4
@@ -269,7 +269,7 @@ ENTRY(bcopy)
cmp r2, #0x0c
blt .Lmemmove_fsrcul3loop4
sub r2, r2, #0x0c
stmdb sp!, {r4, r5}
push {r4, r5}
.Lmemmove_fsrcul3loop16:
#ifdef __ARMEB__
@@ -298,7 +298,7 @@ ENTRY(bcopy)
stmia r0!, {r3-r5, r12}
subs r2, r2, #0x10
bge .Lmemmove_fsrcul3loop16
ldmia sp!, {r4, r5}
pop {r4, r5}
adds r2, r2, #0x0c
blt .Lmemmove_fsrcul3l4
@@ -336,7 +336,7 @@ ENTRY(bcopy)
/* We have aligned source and destination */
subs r2, r2, #8
blt .Lmemmove_bl12 /* less than 12 bytes (4 from above) */
stmdb sp!, {r4, lr}
push {r4, lr}
subs r2, r2, #0x14 /* less than 32 bytes (12 from above) */
blt .Lmemmove_bl32
@@ -352,14 +352,14 @@ ENTRY(bcopy)
.Lmemmove_bl32:
cmn r2, #0x10
ldmgedb r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */
stmgedb r0!, {r3, r4, r12, lr}
ldmdbge r1!, {r3, r4, r12, lr} /* blat a remaining 16 bytes */
stmdbge r0!, {r3, r4, r12, lr}
subge r2, r2, #0x10
adds r2, r2, #0x14
ldmgedb r1!, {r3, r12, lr} /* blat a remaining 12 bytes */
stmgedb r0!, {r3, r12, lr}
ldmdbge r1!, {r3, r12, lr} /* blat a remaining 12 bytes */
stmdbge r0!, {r3, r12, lr}
subge r2, r2, #0x0c
ldmia sp!, {r4, lr}
pop {r4, lr}
.Lmemmove_bl12:
adds r2, r2, #8
@@ -367,8 +367,8 @@ ENTRY(bcopy)
subs r2, r2, #4
ldrlt r3, [r1, #-4]!
strlt r3, [r0, #-4]!
ldmgedb r1!, {r3, r12}
stmgedb r0!, {r3, r12}
ldmdbge r1!, {r3, r12}
stmdbge r0!, {r3, r12}
subge r2, r2, #4
.Lmemmove_bl4:
@@ -380,10 +380,10 @@ ENTRY(bcopy)
cmp r2, #2
ldrb r3, [r1, #-1]!
strb r3, [r0, #-1]!
ldrgeb r3, [r1, #-1]!
strgeb r3, [r0, #-1]!
ldrgtb r3, [r1, #-1]!
strgtb r3, [r0, #-1]!
ldrbge r3, [r1, #-1]!
strbge r3, [r0, #-1]!
ldrbgt r3, [r1, #-1]!
strbgt r3, [r0, #-1]!
RET
/* erg - unaligned destination */
@@ -393,10 +393,10 @@ ENTRY(bcopy)
/* align destination with byte copies */
ldrb r3, [r1, #-1]!
strb r3, [r0, #-1]!
ldrgeb r3, [r1, #-1]!
strgeb r3, [r0, #-1]!
ldrgtb r3, [r1, #-1]!
strgtb r3, [r0, #-1]!
ldrbge r3, [r1, #-1]!
strbge r3, [r0, #-1]!
ldrbgt r3, [r1, #-1]!
strbgt r3, [r0, #-1]!
subs r2, r2, r12
blt .Lmemmove_bl4 /* less than 4 bytes to go */
ands r12, r1, #3
@@ -413,7 +413,7 @@ ENTRY(bcopy)
cmp r2, #0x0c
blt .Lmemmove_bsrcul3loop4
sub r2, r2, #0x0c
stmdb sp!, {r4, r5, lr}
push {r4, r5, lr}
.Lmemmove_bsrcul3loop16:
#ifdef __ARMEB__
@@ -442,7 +442,7 @@ ENTRY(bcopy)
stmdb r0!, {r4, r5, r12, lr}
subs r2, r2, #0x10
bge .Lmemmove_bsrcul3loop16
ldmia sp!, {r4, r5, lr}
pop {r4, r5, lr}
adds r2, r2, #0x0c
blt .Lmemmove_bsrcul3l4
@@ -470,7 +470,7 @@ ENTRY(bcopy)
cmp r2, #0x0c
blt .Lmemmove_bsrcul2loop4
sub r2, r2, #0x0c
stmdb sp!, {r4, r5, lr}
push {r4, r5, lr}
.Lmemmove_bsrcul2loop16:
#ifdef __ARMEB__
@@ -499,7 +499,7 @@ ENTRY(bcopy)
stmdb r0!, {r4, r5, r12, lr}
subs r2, r2, #0x10
bge .Lmemmove_bsrcul2loop16
ldmia sp!, {r4, r5, lr}
pop {r4, r5, lr}
adds r2, r2, #0x0c
blt .Lmemmove_bsrcul2l4
@@ -527,7 +527,7 @@ ENTRY(bcopy)
cmp r2, #0x0c
blt .Lmemmove_bsrcul1loop4
sub r2, r2, #0x0c
stmdb sp!, {r4, r5, lr}
push {r4, r5, lr}
.Lmemmove_bsrcul1loop32:
#ifdef __ARMEB__
@@ -556,7 +556,7 @@ ENTRY(bcopy)
stmdb r0!, {r4, r5, r12, lr}
subs r2, r2, #0x10
bge .Lmemmove_bsrcul1loop32
ldmia sp!, {r4, r5, lr}
pop {r4, r5, lr}
adds r2, r2, #0x0c
blt .Lmemmove_bsrcul1l4
@@ -579,3 +579,12 @@ ENTRY(bcopy)
.Lmemmove_bsrcul1l4:
add r1, r1, #1
b .Lmemmove_bl4
#ifndef _BCOPY
END(memmove)
#else
END(bcopy)
#endif
#if defined(__ARM_EABI__) && !defined(BCOPY)
STRONG_ALIAS(__aeabi_memmove, memmove)
#endif