summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1996-05-01 12:51:12 +0000
committerderaadt <deraadt@openbsd.org>1996-05-01 12:51:12 +0000
commitda704da8fb8162394e94892f5241e53d03bf5fa4 (patch)
tree97a89916acfcc60cf39c1c2ba24f75494398a16b
parentbump minor because of futimes (diff)
downloadwireguard-openbsd-da704da8fb8162394e94892f5241e53d03bf5fa4.tar.xz
wireguard-openbsd-da704da8fb8162394e94892f5241e53d03bf5fa4.zip
arm32 libc support
-rw-r--r--lib/libc/arch/arm32/DEFS.h3
-rw-r--r--lib/libc/arch/arm32/Makefile.inc4
-rw-r--r--lib/libc/arch/arm32/SYS.h57
-rw-r--r--lib/libc/arch/arm32/gen/Makefile.inc4
-rw-r--r--lib/libc/arch/arm32/gen/_setjmp.S86
-rw-r--r--lib/libc/arch/arm32/gen/alloca.S49
-rw-r--r--lib/libc/arch/arm32/gen/div.S355
-rw-r--r--lib/libc/arch/arm32/gen/infinity.c9
-rw-r--r--lib/libc/arch/arm32/gen/isinf.c64
-rw-r--r--lib/libc/arch/arm32/gen/s_fabs.c48
-rw-r--r--lib/libc/arch/arm32/gen/setjmp.S91
-rw-r--r--lib/libc/arch/arm32/gen/sigsetjmp.S86
-rw-r--r--lib/libc/arch/arm32/net/Makefile.inc3
-rw-r--r--lib/libc/arch/arm32/string/Makefile.inc6
-rw-r--r--lib/libc/arch/arm32/sys/Ovfork.S56
-rw-r--r--lib/libc/arch/arm32/sys/brk.S69
-rw-r--r--lib/libc/arch/arm32/sys/cerror.S55
-rw-r--r--lib/libc/arch/arm32/sys/exect.S50
-rw-r--r--lib/libc/arch/arm32/sys/fork.S47
-rw-r--r--lib/libc/arch/arm32/sys/pipe.S54
-rw-r--r--lib/libc/arch/arm32/sys/ptrace.S52
-rw-r--r--lib/libc/arch/arm32/sys/reboot.S45
-rw-r--r--lib/libc/arch/arm32/sys/sbrk.S65
-rw-r--r--lib/libc/arch/arm32/sys/setlogin.S53
-rw-r--r--lib/libc/arch/arm32/sys/sigpending.S53
-rw-r--r--lib/libc/arch/arm32/sys/sigprocmask.S57
-rw-r--r--lib/libc/arch/arm32/sys/sigreturn.S60
-rw-r--r--lib/libc/arch/arm32/sys/sigsuspend.S52
-rw-r--r--lib/libc/arch/arm32/sys/syscall.S50
29 files changed, 1683 insertions, 0 deletions
diff --git a/lib/libc/arch/arm32/DEFS.h b/lib/libc/arch/arm32/DEFS.h
new file mode 100644
index 00000000000..f5df7e70a75
--- /dev/null
+++ b/lib/libc/arch/arm32/DEFS.h
@@ -0,0 +1,3 @@
+/* $NetBSD: DEFS.h,v 1.1 1996/02/16 20:47:54 mark Exp $ */
+
+#include <machine/asm.h>
diff --git a/lib/libc/arch/arm32/Makefile.inc b/lib/libc/arch/arm32/Makefile.inc
new file mode 100644
index 00000000000..9023268c6c6
--- /dev/null
+++ b/lib/libc/arch/arm32/Makefile.inc
@@ -0,0 +1,4 @@
+# $NetBSD: Makefile.inc,v 1.2 1996/04/26 20:15:14 mark Exp $
+
+KMINCLUDES= arch/arm32/SYS.h arch/arm32DEFS.h
+KMSRCS= bcmp.c bzero.c ffs.c strcat.c strcmp.c strcpy.c strlen.c
diff --git a/lib/libc/arch/arm32/SYS.h b/lib/libc/arch/arm32/SYS.h
new file mode 100644
index 00000000000..79abecc9307
--- /dev/null
+++ b/lib/libc/arch/arm32/SYS.h
@@ -0,0 +1,57 @@
+/* $NetBSD: SYS.h,v 1.1 1996/02/16 20:48:02 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)SYS.h 5.5 (Berkeley) 5/7/91
+ * $Id: SYS.h,v 1.1 1996/05/01 12:51:14 deraadt Exp $
+ */
+
+#include <machine/asm.h>
+#include <sys/syscall.h>
+
+#define SYSCALL(x) .text; .align 0; ENTRY(x) ; swi SYS_ ## x; bcs cerror;
+#define RSYSCALL(x) SYSCALL(x) ; mov r15, r14
+#define PSEUDO(x, y) .text; .align 0; ENTRY(x); swi SYS_ ## y; mov r15, r14
+
+#if 0
+#define SYSCALL(x) .text; .align 2; 2: jmp PIC_PLT(cerror); ENTRY(x); movl $(SYS_/**/x),%eax; int $0x80; jc 2b
+#define RSYSCALL(x) SYSCALL(x); ret
+#define PSEUDO(x,y) ENTRY(x); movl $(SYS_/**/y),%eax; int $0x80; ret
+#define CALL(x,y) call PIC_PLT(_/**/y); addl $4*x,%esp
+
+#endif
+
+ .globl cerror
diff --git a/lib/libc/arch/arm32/gen/Makefile.inc b/lib/libc/arch/arm32/gen/Makefile.inc
new file mode 100644
index 00000000000..985f6c20694
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/Makefile.inc
@@ -0,0 +1,4 @@
+# $NetBSD: Makefile.inc,v 1.1 1996/02/16 20:48:10 mark Exp $
+
+SRCS+= _setjmp.S alloca.S infinity.c isinf.c \
+ setjmp.S s_fabs.c sigsetjmp.S
diff --git a/lib/libc/arch/arm32/gen/_setjmp.S b/lib/libc/arch/arm32/gen/_setjmp.S
new file mode 100644
index 00000000000..1ec40fb18c4
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/_setjmp.S
@@ -0,0 +1,86 @@
+/* $NetBSD: _setjmp.S,v 1.1 1996/02/16 20:48:12 mark Exp $ */
+
+/*
+ * Copyright (c) 1995 Mark Brinicombe
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Mark Brinicombe
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: _setjmp.S,v 1.1 1996/05/01 12:51:16 deraadt Exp $
+ */
+
+# include "DEFS.h"
+
+ .text
+ .align 0
+
+ENTRY(_setjmp)
+/* LDR a4,[pc,#|__fpflag_ptr|-.-8]
+ LDR a4,[a4,#0]
+ CMP a4,#0
+ ADDEQ a1,a1,#48
+ BEQ |__setjmp_l1|
+ STFE f4,[a1],#12
+ STFE f5,[a1],#12
+ STFE f6,[a1],#12
+ STFE f7,[a1],#12
+|__setjmp_l1|*/
+ add r0, r0, #48
+ stmia r0, {r1-r12, r13, r14}
+ mov r0, #0x00000000
+ mov r15, r14
+
+ENTRY(_longjmp)
+ ldr r2, L_longjmpret
+ str r1, [r2]
+/* LDR a4,[pc,#|__fpflag_ptr|-.-8]
+ LDR a4,[a4,#0]
+ CMP a4,#0
+ ADDEQ a1,a1,#48
+ BEQ |__longjmp_l1|
+ LDFE f4,[a1],#12
+ LDFE f5,[a1],#12
+ LDFE f6,[a1],#12
+ LDFE f7,[a1],#12
+|__longjmp_l1|*/
+ add r0, r0, #48
+ ldmia r0, {r1-r12, r13, r14}
+ ldr r0, L_longjmpret
+ ldr r0, [r0]
+ teq r0, #0x00000000
+ moveq r0, #0x00000001
+ mov r15, r14
+
+L_longjmpret:
+ .word _longjmpret
+
+ .data
+ .align 0
+
+_longjmpret:
+ .word 0x00000000
diff --git a/lib/libc/arch/arm32/gen/alloca.S b/lib/libc/arch/arm32/gen/alloca.S
new file mode 100644
index 00000000000..daeb97b2fcb
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/alloca.S
@@ -0,0 +1,49 @@
+/* $NetBSD: alloca.S,v 1.1 1996/02/16 20:48:15 mark Exp $ */
+
+/*
+ * Copyright (c) 1995 Mark Brinicombe
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Mark Brinicombe
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: alloca.S,v 1.1 1996/05/01 12:51:17 deraadt Exp $
+ */
+
+/* like alloc, but automatic automatic free in return */
+
+# include "DEFS.h"
+
+ .text
+ .align 0
+
+ENTRY(alloca)
+ add r0, r0, #0x00000003 /* round up to next word */
+ bic r0, r0, #0x00000003
+ sub r13, r13, r0 /* Adjust the stack pointer */
+ mov r0, r13 /* r0 = base of new space */
+ mov r15, r14 /* return */
diff --git a/lib/libc/arch/arm32/gen/div.S b/lib/libc/arch/arm32/gen/div.S
new file mode 100644
index 00000000000..720646ee210
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/div.S
@@ -0,0 +1,355 @@
+/* $NetBSD: div.S,v 1.1 1996/02/16 20:48:16 mark Exp $ */
+
+/*
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the RiscBSD kernel team
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: div.S,v 1.1 1996/05/01 12:51:17 deraadt Exp $
+ */
+
+a1 .req r0
+a2 .req r1
+a3 .req r2
+a4 .req r3
+v1 .req r4
+v2 .req r5
+v3 .req r6
+v4 .req r7
+v5 .req r8
+v6 .req r9
+v7 .req r10
+fp .req r11
+ip .req r12
+sp .req r13
+lr .req r14
+pc .req r15
+
+.text
+
+ .global __rt_sdiv
+__rt_sdiv:
+ B x_divide
+
+ .global __rt_udiv
+__rt_udiv:
+ B x_udivide
+
+ .global ___umodsi3
+___umodsi3:
+ MOV a3, a1
+ MOV a1, a2
+ MOV a2, a3
+ B x_uremainder
+
+ .global ___udivsi3
+___udivsi3:
+ MOV a3, a1
+ MOV a1, a2
+ MOV a2, a3
+ B x_udivide
+
+ .global ___modsi3
+___modsi3:
+ MOV a3, a1
+ MOV a1, a2
+ MOV a2, a3
+ B x_remainder
+
+ .global ___divsi3
+___divsi3:
+ MOV a3, a1
+ MOV a1, a2
+ MOV a2, a3
+ B x_divide
+
+ .global x_divtest
+x_divtest:
+ MOV pc,lr
+
+ .global x_remainder
+x_remainder:
+ STMFD sp!,{lr}
+ BL x_divide
+ MOV a1,a2
+ LDMFD sp!,{pc}
+
+ .global x_uremainder
+x_uremainder:
+ STMFD sp!,{lr}
+ BL x_udivide
+ MOV a1,a2
+ LDMFD sp!,{pc}
+
+x_overflow:
+ MVN a1,#0
+ MOV pc,lr
+
+ .global x_udivide /* a1 = a2 / a1; a2 = a2 % a1 */
+x_udivide:
+ CMP a1,#1
+ BCC x_overflow
+ BEQ x_divide_l0
+ MOV ip,#0
+ MOVS a2,a2
+ BPL x_divide_l1
+ ORR ip,ip,#0x20000000 /* ip bit 0x20000000 = -ve a2 */
+ MOVS a2,a2,lsr #1
+ ORRCS ip,ip,#0x10000000 /* ip bit 0x10000000 = bit 0 of a2 */
+ B x_divide_l1
+
+x_divide_l0: /* a1 == 1 */
+ MOV a1,a2
+ MOV a2,#0
+ MOV pc,lr
+
+ .global x_divide /* a1 = a2 / a1; a2 = a2 % a1 */
+x_divide:
+ CMP a1,#1
+ BCC x_overflow
+ BEQ x_divide_l0
+ ANDS ip,a1,#0x80000000
+ RSBMI a1,a1,#0
+ ANDS a3,a2,#0x80000000
+ EOR ip,ip,a3
+ RSBMI a2,a2,#0
+ ORR ip,a3,ip,lsr #1 /* ip bit 0x40000000 = -ve division */
+ /* ip bit 0x80000000 = -ve remainder */
+
+x_divide_l1:
+ MOV a3,#1
+ MOV a4,#0
+
+ CMP a2,a1
+ BCC x_divide_b0
+ CMP a2,a1,lsl #1
+ BCC x_divide_b1
+ CMP a2,a1,lsl #2
+ BCC x_divide_b2
+ CMP a2,a1,lsl #3
+ BCC x_divide_b3
+ CMP a2,a1,lsl #4
+ BCC x_divide_b4
+ CMP a2,a1,lsl #5
+ BCC x_divide_b5
+ CMP a2,a1,lsl #6
+ BCC x_divide_b6
+ CMP a2,a1,lsl #7
+ BCC x_divide_b7
+ CMP a2,a1,lsl #8
+ BCC x_divide_b8
+ CMP a2,a1,lsl #9
+ BCC x_divide_b9
+ CMP a2,a1,lsl #10
+ BCC x_divide_b10
+ CMP a2,a1,lsl #11
+ BCC x_divide_b11
+ CMP a2,a1,lsl #12
+ BCC x_divide_b12
+ CMP a2,a1,lsl #13
+ BCC x_divide_b13
+ CMP a2,a1,lsl #14
+ BCC x_divide_b14
+ CMP a2,a1,lsl #15
+ BCC x_divide_b15
+ CMP a2,a1,lsl #16
+ BCC x_divide_b16
+ CMP a2,a1,lsl #17
+ BCC x_divide_b17
+ CMP a2,a1,lsl #18
+ BCC x_divide_b18
+ CMP a2,a1,lsl #19
+ BCC x_divide_b19
+ CMP a2,a1,lsl #20
+ BCC x_divide_b20
+ CMP a2,a1,lsl #21
+ BCC x_divide_b21
+ CMP a2,a1,lsl #22
+ BCC x_divide_b22
+ CMP a2,a1,lsl #23
+ BCC x_divide_b23
+ CMP a2,a1,lsl #24
+ BCC x_divide_b24
+ CMP a2,a1,lsl #25
+ BCC x_divide_b25
+ CMP a2,a1,lsl #26
+ BCC x_divide_b26
+ CMP a2,a1,lsl #27
+ BCC x_divide_b27
+ CMP a2,a1,lsl #28
+ BCC x_divide_b28
+ CMP a2,a1,lsl #29
+ BCC x_divide_b29
+ CMP a2,a1,lsl #30
+ BCC x_divide_b30
+ CMP a2,a1,lsl #31
+ SUBHS a2,a2,a1,lsl #31
+ ADDHS a4,a4,a3,lsl #31
+ CMP a2,a1,lsl #30
+ SUBHS a2,a2,a1,lsl #30
+ ADDHS a4,a4,a3,lsl #30
+x_divide_b30:
+ CMP a2,a1,lsl #29
+ SUBHS a2,a2,a1,lsl #29
+ ADDHS a4,a4,a3,lsl #29
+x_divide_b29:
+ CMP a2,a1,lsl #28
+ SUBHS a2,a2,a1,lsl #28
+ ADDHS a4,a4,a3,lsl #28
+x_divide_b28:
+ CMP a2,a1,lsl #27
+ SUBHSS a2,a2,a1,lsl #27
+ ADDHS a4,a4,a3,lsl #27
+x_divide_b27:
+ CMP a2,a1,lsl #26
+ SUBHS a2,a2,a1,lsl #26
+ ADDHS a4,a4,a3,lsl #26
+x_divide_b26:
+ CMP a2,a1,lsl #25
+ SUBHS a2,a2,a1,lsl #25
+ ADDHS a4,a4,a3,lsl #25
+x_divide_b25:
+ CMP a2,a1,lsl #24
+ SUBHS a2,a2,a1,lsl #24
+ ADDHS a4,a4,a3,lsl #24
+x_divide_b24:
+ CMP a2,a1,lsl #23
+ SUBHS a2,a2,a1,lsl #23
+ ADDHS a4,a4,a3,lsl #23
+x_divide_b23:
+ CMP a2,a1,lsl #22
+ SUBHS a2,a2,a1,lsl #22
+ ADDHS a4,a4,a3,lsl #22
+x_divide_b22:
+ CMP a2,a1,lsl #21
+ SUBHS a2,a2,a1,lsl #21
+ ADDHS a4,a4,a3,lsl #21
+x_divide_b21:
+ CMP a2,a1,lsl #20
+ SUBHS a2,a2,a1,lsl #20
+ ADDHS a4,a4,a3,lsl #20
+x_divide_b20:
+ CMP a2,a1,lsl #19
+ SUBHS a2,a2,a1,lsl #19
+ ADDHS a4,a4,a3,lsl #19
+x_divide_b19:
+ CMP a2,a1,lsl #18
+ SUBHS a2,a2,a1,lsl #18
+ ADDHS a4,a4,a3,lsl #18
+x_divide_b18:
+ CMP a2,a1,lsl #17
+ SUBHS a2,a2,a1,lsl #17
+ ADDHS a4,a4,a3,lsl #17
+x_divide_b17:
+ CMP a2,a1,lsl #16
+ SUBHS a2,a2,a1,lsl #16
+ ADDHS a4,a4,a3,lsl #16
+x_divide_b16:
+ CMP a2,a1,lsl #15
+ SUBHS a2,a2,a1,lsl #15
+ ADDHS a4,a4,a3,lsl #15
+x_divide_b15:
+ CMP a2,a1,lsl #14
+ SUBHS a2,a2,a1,lsl #14
+ ADDHS a4,a4,a3,lsl #14
+x_divide_b14:
+ CMP a2,a1,lsl #13
+ SUBHS a2,a2,a1,lsl #13
+ ADDHS a4,a4,a3,lsl #13
+x_divide_b13:
+ CMP a2,a1,lsl #12
+ SUBHS a2,a2,a1,lsl #12
+ ADDHS a4,a4,a3,lsl #12
+x_divide_b12:
+ CMP a2,a1,lsl #11
+ SUBHS a2,a2,a1,lsl #11
+ ADDHS a4,a4,a3,lsl #11
+x_divide_b11:
+ CMP a2,a1,lsl #10
+ SUBHS a2,a2,a1,lsl #10
+ ADDHS a4,a4,a3,lsl #10
+x_divide_b10:
+ CMP a2,a1,lsl #9
+ SUBHS a2,a2,a1,lsl #9
+ ADDHS a4,a4,a3,lsl #9
+x_divide_b9:
+ CMP a2,a1,lsl #8
+ SUBHS a2,a2,a1,lsl #8
+ ADDHS a4,a4,a3,lsl #8
+x_divide_b8:
+ CMP a2,a1,lsl #7
+ SUBHS a2,a2,a1,lsl #7
+ ADDHS a4,a4,a3,lsl #7
+x_divide_b7:
+ CMP a2,a1,lsl #6
+ SUBHS a2,a2,a1,lsl #6
+ ADDHS a4,a4,a3,lsl #6
+x_divide_b6:
+ CMP a2,a1,lsl #5
+ SUBHS a2,a2,a1,lsl #5
+ ADDHS a4,a4,a3,lsl #5
+x_divide_b5:
+ CMP a2,a1,lsl #4
+ SUBHS a2,a2,a1,lsl #4
+ ADDHS a4,a4,a3,lsl #4
+x_divide_b4:
+ CMP a2,a1,lsl #3
+ SUBHS a2,a2,a1,lsl #3
+ ADDHS a4,a4,a3,lsl #3
+x_divide_b3:
+ CMP a2,a1,lsl #2
+ SUBHS a2,a2,a1,lsl #2
+ ADDHS a4,a4,a3,lsl #2
+x_divide_b2:
+ CMP a2,a1,lsl #1
+ SUBHS a2,a2,a1,lsl #1
+ ADDHS a4,a4,a3,lsl #1
+x_divide_b1:
+ CMP a2,a1
+ SUBHS a2,a2,a1
+ ADDHS a4,a4,a3
+x_divide_b0:
+
+ TST ip,#0x20000000
+ BNE x_udivide_l1
+ MOV a1,a4
+ CMP ip,#0
+ RSBMI a2,a2,#0
+ MOVS ip,ip,lsl #1
+ RSBMI a1,a1,#0
+ MOV pc,lr
+
+x_udivide_l1:
+ TST ip,#0x10000000
+ MOV a2,a2,lsl #1
+ ORRNE a2,a2,#1
+ MOV a4,a4,lsl #1
+ CMP a2,a1
+ SUBHS a2,a2,a1
+ ADDHS a4,a4,a3
+ MOV a1,a4
+ MOV pc,lr
+
diff --git a/lib/libc/arch/arm32/gen/infinity.c b/lib/libc/arch/arm32/gen/infinity.c
new file mode 100644
index 00000000000..4603d50b7fb
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/infinity.c
@@ -0,0 +1,9 @@
+/* $NetBSD: infinity.c,v 1.1 1996/02/16 20:48:18 mark Exp $ */
+
+/*
+ * $Id: infinity.c,v 1.1 1996/05/01 12:51:18 deraadt Exp $
+ */
+
+#include <math.h>
+
+char __infinity[] = { 0, 0, 0, 0, 0, 0, 0xf0, 0x7f };
diff --git a/lib/libc/arch/arm32/gen/isinf.c b/lib/libc/arch/arm32/gen/isinf.c
new file mode 100644
index 00000000000..e55495f670c
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/isinf.c
@@ -0,0 +1,64 @@
+/* $NetBSD: isinf.c,v 1.1 1996/02/16 20:48:20 mark Exp $ */
+
+/*-
+ * Copyright (c) 1991 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: isinf.c,v 1.1 1996/05/01 12:51:19 deraadt Exp $
+ */
+
+#include <sys/types.h>
+
+isnan(d)
+ double d;
+{
+ register struct IEEEdp {
+ u_int manh : 20;
+ u_int exp : 11;
+ u_int sign : 1;
+ u_int manl;
+ } *p = (struct IEEEdp *)&d;
+
+ return(p->exp == 2047 && (p->manh || p->manl));
+}
+
+isinf(d)
+ double d;
+{
+ register struct IEEEdp {
+ u_int manh : 20;
+ u_int exp : 11;
+ u_int sign : 1;
+ u_int manl;
+ } *p = (struct IEEEdp *)&d;
+
+ return(p->exp == 2047 && !p->manh && !p->manl);
+}
diff --git a/lib/libc/arch/arm32/gen/s_fabs.c b/lib/libc/arch/arm32/gen/s_fabs.c
new file mode 100644
index 00000000000..0daa38ed614
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/s_fabs.c
@@ -0,0 +1,48 @@
+/* $NetBSD: s_fabs.c,v 1.1 1996/02/16 20:48:21 mark Exp $ */
+
+/*
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Mark Brinicombe
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: s_fabs.c,v 1.1 1996/05/01 12:51:19 deraadt Exp $
+ */
+
+/*
+ * fabs(x) returns the absolute value of x.
+ */
+
+#ifdef __STDC__
+ double fabs(double x)
+#else
+ double fabs(x)
+ double x;
+#endif
+{
+ if (x < 0)
+ x = -x;
+ return(x);
+}
diff --git a/lib/libc/arch/arm32/gen/setjmp.S b/lib/libc/arch/arm32/gen/setjmp.S
new file mode 100644
index 00000000000..2fa42dc4d72
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/setjmp.S
@@ -0,0 +1,91 @@
+/* $NetBSD: setjmp.S,v 1.1 1996/02/16 20:48:23 mark Exp $ */
+
+/*
+ * Copyright (c) 1995 Mark Brinicombe
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Mark Brinicombe
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: setjmp.S,v 1.1 1996/05/01 12:51:20 deraadt Exp $
+ */
+
+# include "DEFS.h"
+
+ .text
+ .align 0
+
+ENTRY(setjmp)
+ stmfd r13!, {r0, r14}
+ mov r0, #0x00000000
+
+ bl _sigblock
+ mov r1, r0
+
+ ldmfd r13!, {r0, r14}
+
+ str r1, [r0], #0x0004
+
+/* LDR a4,[pc,#|__fpflag_ptr|-.-8]
+ LDR a4,[a4,#0]
+ CMP a4,#0
+ ADDEQ a1,a1,#48
+ BEQ |__setjmp_l1|
+ STFE f4,[a1],#12
+ STFE f5,[a1],#12
+ STFE f6,[a1],#12
+ STFE f7,[a1],#12
+|__setjmp_l1|*/
+ add r0, r0, #48
+ stmia r0, {r4-r9, r11, r13, r14}
+ mov r0, #0x00000000
+ mov r15, r14
+
+ENTRY(longjmp)
+ ldr r2, [r0], #0x0004
+ stmfd r13!, {r0, r1, r14}
+
+ mov r0, r2
+ bl _sigsetmask
+
+ ldmfd r13!, {r0, r1, r14}
+/* LDR a4,[pc,#|__fpflag_ptr|-.-8]
+ LDR a4,[a4,#0]
+ CMP a4,#0
+ ADDEQ a1,a1,#48
+ BEQ |__longjmp_l1|
+ LDFE f4,[a1],#12
+ LDFE f5,[a1],#12
+ LDFE f6,[a1],#12
+ LDFE f7,[a1],#12
+|__longjmp_l1|*/
+ add r2, r0, #48
+ ldmia r2, {r4-r9, r11, r13, r14}
+ mov r0, r1
+ teq r0, #0x00000000
+ moveq r0, #0x00000001
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/gen/sigsetjmp.S b/lib/libc/arch/arm32/gen/sigsetjmp.S
new file mode 100644
index 00000000000..838f69a6495
--- /dev/null
+++ b/lib/libc/arch/arm32/gen/sigsetjmp.S
@@ -0,0 +1,86 @@
+/* $NetBSD: sigsetjmp.S,v 1.1 1996/02/16 20:48:25 mark Exp $ */
+
+/*
+ * Copyright (c) 1995 Mark Brinicombe
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by Mark Brinicombe
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $Id: sigsetjmp.S,v 1.1 1996/05/01 12:51:21 deraadt Exp $
+ */
+
+# include "DEFS.h"
+
+ .text
+ .align 0
+
+ENTRY(sigsetjmp)
+/* LDR a4,[pc,#|__fpflag_ptr|-.-8]
+ LDR a4,[a4,#0]
+ CMP a4,#0
+ ADDEQ a1,a1,#48
+ BEQ |__sigsetjmp_l1|
+ STFE f4,[a1],#12
+ STFE f5,[a1],#12
+ STFE f6,[a1],#12
+ STFE f7,[a1],#12
+|__sigsetjmp_l1|*/
+ add r0, r0, #48
+ stmia r0, {r1-r12, r13, r14}
+ mov r0, #0x00000000
+ mov r15, r14
+
+ENTRY(siglongjmp)
+ ldr r2, L_siglongjmpret
+ str r1, [r2]
+/* LDR a4,[pc,#|__fpflag_ptr|-.-8]
+ LDR a4,[a4,#0]
+ CMP a4,#0
+ ADDEQ a1,a1,#48
+ BEQ |__siglongjmp_l1|
+ LDFE f4,[a1],#12
+ LDFE f5,[a1],#12
+ LDFE f6,[a1],#12
+ LDFE f7,[a1],#12
+|__siglongjmp_l1|*/
+ add r0, r0, #48
+ ldmia r0, {r1-r12, r13, r14}
+ ldr r0, L_siglongjmpret
+ ldr r0, [r0]
+ teq r0, #0x00000000
+ moveq r0, #0x00000001
+ mov r15, r14
+
+L_siglongjmpret:
+ .word _siglongjmpret
+
+ .data
+ .align 0
+
+_siglongjmpret:
+ .word 0x00000000
diff --git a/lib/libc/arch/arm32/net/Makefile.inc b/lib/libc/arch/arm32/net/Makefile.inc
new file mode 100644
index 00000000000..f3172ec2e26
--- /dev/null
+++ b/lib/libc/arch/arm32/net/Makefile.inc
@@ -0,0 +1,3 @@
+# $NetBSD: Makefile.inc,v 1.1 1996/02/16 20:48:31 mark Exp $
+
+SRCS+= htonl.c htons.c ntohl.c ntohs.c
diff --git a/lib/libc/arch/arm32/string/Makefile.inc b/lib/libc/arch/arm32/string/Makefile.inc
new file mode 100644
index 00000000000..d7233072c6c
--- /dev/null
+++ b/lib/libc/arch/arm32/string/Makefile.inc
@@ -0,0 +1,6 @@
+# $NetBSD: Makefile.inc,v 1.1 1996/02/16 20:48:37 mark Exp $
+
+SRCS+= bcmp.c bcopy.c bzero.c ffs.c index.c memchr.c memcmp.c memset.c \
+ rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \
+ strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \
+ strspn.c strstr.c swab.c
diff --git a/lib/libc/arch/arm32/sys/Ovfork.S b/lib/libc/arch/arm32/sys/Ovfork.S
new file mode 100644
index 00000000000..603e3081017
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/Ovfork.S
@@ -0,0 +1,56 @@
+/* $NetBSD: Ovfork.S,v 1.1 1996/02/16 20:48:40 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)Ovfork.s 5.1 (Berkeley) 4/23/90
+ * $Id: Ovfork.S,v 1.1 1996/05/01 12:51:25 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+/*
+ * pid = vfork();
+ */
+ .text
+ .align 0
+
+ENTRY(vfork)
+ mov r2, r14
+ swi SYS_vfork
+ bcs cerror
+ sub r1, r1, #0x00000001
+ and r0, r0, r1
+ mov r15, r2
diff --git a/lib/libc/arch/arm32/sys/brk.S b/lib/libc/arch/arm32/sys/brk.S
new file mode 100644
index 00000000000..7f06268fa33
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/brk.S
@@ -0,0 +1,69 @@
+/* $NetBSD: brk.S,v 1.1 1996/02/16 20:48:42 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)brk.s 5.2 (Berkeley) 12/17/90
+ * $Id: brk.S,v 1.1 1996/05/01 12:51:26 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .globl _end
+ .globl minbrk
+ .globl curbrk
+
+ .data
+minbrk: .long _end
+ .text
+ .align 0
+
+ENTRY(brk)
+ ldr r1, Lminbrk
+ cmp r0, r1
+ movlt r0, r1
+ mov r2, r0
+ swi SYS_break
+ bcs cerror
+ mov r0, #0x00000000
+ ldr r1, Lcurbrk
+ str r2, [r1]
+ mov r15, r14
+
+Lminbrk:
+ .word minbrk
+
+Lcurbrk:
+ .word curbrk
diff --git a/lib/libc/arch/arm32/sys/cerror.S b/lib/libc/arch/arm32/sys/cerror.S
new file mode 100644
index 00000000000..3ea8da0e37d
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/cerror.S
@@ -0,0 +1,55 @@
+/* $NetBSD: cerror.S,v 1.1 1996/02/16 20:48:43 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)cerror.s 5.1 (Berkeley) 4/23/90
+ * $Id: cerror.S,v 1.1 1996/05/01 12:51:27 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .text
+ .align 0
+
+ .globl _errno
+cerror:
+ ldr r1, Lerrno
+ str r0, [r1]
+ mvn r0, #0x00000000
+ mov r15, r14
+
+Lerrno:
+ .word _errno
diff --git a/lib/libc/arch/arm32/sys/exect.S b/lib/libc/arch/arm32/sys/exect.S
new file mode 100644
index 00000000000..524a322ee39
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/exect.S
@@ -0,0 +1,50 @@
+/* $NetBSD: exect.S,v 1.1 1996/02/16 20:48:46 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)exect.s 5.1 (Berkeley) 4/23/90
+ * $Id: exect.S,v 1.1 1996/05/01 12:51:28 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .text
+ .align 0
+
+ENTRY(exect)
+ swi SYS_execve
+ bcs cerror
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/sys/fork.S b/lib/libc/arch/arm32/sys/fork.S
new file mode 100644
index 00000000000..d96ab0b01e1
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/fork.S
@@ -0,0 +1,47 @@
+/* $NetBSD: fork.S,v 1.1 1996/02/16 20:48:48 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)fork.s 5.1 (Berkeley) 4/23/90
+ * $Id: fork.S,v 1.1 1996/05/01 12:51:28 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+SYSCALL(fork)
+ sub r1, r1, #0x00000001
+ and r0, r0, r1
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/sys/pipe.S b/lib/libc/arch/arm32/sys/pipe.S
new file mode 100644
index 00000000000..37ac9c633a5
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/pipe.S
@@ -0,0 +1,54 @@
+/* $NetBSD: pipe.S,v 1.1 1996/02/16 20:48:51 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)pipe.s 5.1 (Berkeley) 4/23/90
+ * $Id: pipe.S,v 1.1 1996/05/01 12:51:29 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .text
+ .align 0
+
+ENTRY(pipe)
+ mov r2, r0
+ swi SYS_pipe
+ bcs cerror
+ str r0, [r2, #0x0000]
+ str r1, [r2, #0x0004]
+ mov r0, #0x00000000
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/sys/ptrace.S b/lib/libc/arch/arm32/sys/ptrace.S
new file mode 100644
index 00000000000..ce18ec87ab9
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/ptrace.S
@@ -0,0 +1,52 @@
+/* $NetBSD: ptrace.S,v 1.1 1996/02/16 20:48:52 mark Exp $
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)ptrace.s 5.1 (Berkeley) 4/23/90
+ * $Id: ptrace.S,v 1.1 1996/05/01 12:51:30 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .text
+ .align 0
+
+ENTRY(ptrace)
+ swi SYS_ptrace
+ bcs cerror
+ mov r0, #0
+ mov r15, r14
+
diff --git a/lib/libc/arch/arm32/sys/reboot.S b/lib/libc/arch/arm32/sys/reboot.S
new file mode 100644
index 00000000000..ee92ac919f8
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/reboot.S
@@ -0,0 +1,45 @@
+/* $NetBSD: reboot.S,v 1.1 1996/02/16 20:48:54 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)reboot.s 5.1 (Berkeley) 4/23/90
+ * $Id: reboot.S,v 1.1 1996/05/01 12:51:31 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+SYSCALL(reboot)
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/sys/sbrk.S b/lib/libc/arch/arm32/sys/sbrk.S
new file mode 100644
index 00000000000..e55a251620b
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/sbrk.S
@@ -0,0 +1,65 @@
+/* $NetBSD: sbrk.S,v 1.1 1996/02/16 20:48:57 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)sbrk.s 5.1 (Berkeley) 4/23/90
+ * $Id: sbrk.S,v 1.1 1996/05/01 12:51:31 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .globl _end
+ .globl curbrk
+
+ .data
+curbrk: .long _end
+ .text
+ .align 0
+
+ENTRY(sbrk)
+ ldr r2, Lcurbrk
+ ldr r1, [r2]
+ mov r3, r0
+ add r0, r0, r1
+ swi SYS_break
+ bcs cerror
+ ldr r0, [r2]
+ add r1, r0, r3
+ str r1, [r2]
+ mov r15, r14
+
+Lcurbrk:
+ .word curbrk
diff --git a/lib/libc/arch/arm32/sys/setlogin.S b/lib/libc/arch/arm32/sys/setlogin.S
new file mode 100644
index 00000000000..739bbbe0e3a
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/setlogin.S
@@ -0,0 +1,53 @@
+/* $NetBSD: setlogin.S,v 1.1 1996/02/16 20:49:00 mark Exp $ */
+
+/*-
+ * Copyright (c) 1991 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)setlogin.s 5.2 (Berkeley) 4/12/91
+ * $Id: setlogin.S,v 1.1 1996/05/01 12:51:32 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .globl ___logname_valid /* in getlogin() */
+
+SYSCALL(setlogin)
+ mov r0, #0x00000000
+ ldr r1, Llogname
+ str r0, [r1]
+ mov r15, r14
+
+Llogname:
+ .word ___logname_valid
diff --git a/lib/libc/arch/arm32/sys/sigpending.S b/lib/libc/arch/arm32/sys/sigpending.S
new file mode 100644
index 00000000000..70f7740920f
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/sigpending.S
@@ -0,0 +1,53 @@
+/* $NetBSD: sigpending.S,v 1.1 1996/02/16 20:49:02 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)sigpending.s 5.1 (Berkeley) 7/1/90
+ * $Id: sigpending.S,v 1.1 1996/05/01 12:51:33 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .text
+ .align 0
+
+ENTRY(sigpending)
+ mov r2, r0
+ swi SYS_sigpending
+ bcs cerror
+ str r0, [r2]
+ mov r0, #0x00000000
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/sys/sigprocmask.S b/lib/libc/arch/arm32/sys/sigprocmask.S
new file mode 100644
index 00000000000..7fc4535e35d
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/sigprocmask.S
@@ -0,0 +1,57 @@
+/* $NetBSD: sigprocmask.S,v 1.1 1996/02/16 20:49:04 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)sigprocmask.s 5.2 (Berkeley) 12/17/90
+ * $Id: sigprocmask.S,v 1.1 1996/05/01 12:51:33 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .text
+ .align 0
+
+ENTRY(sigprocmask)
+ teq r1, #0x00000000
+ moveq r0, #0x00000001
+ moveq r1, #0x00000000
+ ldrne r1, [r1]
+ swi SYS_sigprocmask
+ bcs cerror
+ teq r2, #0x00000000
+ strne r0, [r2]
+ mov r0, #0x00000000
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/sys/sigreturn.S b/lib/libc/arch/arm32/sys/sigreturn.S
new file mode 100644
index 00000000000..f19ec3ad3e2
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/sigreturn.S
@@ -0,0 +1,60 @@
+/* $NetBSD: sigreturn.S,v 1.1 1996/02/16 20:49:10 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)sigreturn.s 5.2 (Berkeley) 12/17/90"
+ * $Id: sigreturn.S,v 1.1 1996/05/01 12:51:34 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+/*
+ * We must preserve the state of the registers as the user has set them up.
+ */
+
+/* I must code this bit ... - mark */
+
+#if 0
+#ifdef PROF
+#undef ENTRY
+#define ENTRY(x) \
+ .globl _/**/x; .align 2; _/**/x: pusha ; \
+ .data; 1:; .long 0; .text; movl $1b,%eax; call mcount; popa ; nop
+#endif /* PROF */
+#endif
+
+SYSCALL(sigreturn)
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/sys/sigsuspend.S b/lib/libc/arch/arm32/sys/sigsuspend.S
new file mode 100644
index 00000000000..917a0d851d7
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/sigsuspend.S
@@ -0,0 +1,52 @@
+/* $NetBSD: sigsuspend.S,v 1.1 1996/02/16 20:49:13 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)sigsuspend.s 5.2 (Berkeley) 12/17/90
+ * $Id: sigsuspend.S,v 1.1 1996/05/01 12:51:35 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .text
+ .align 0
+
+ENTRY(sigsuspend)
+ ldr r0, [r0]
+ swi SYS_sigsuspend
+ bcs cerror
+ mov r0, #0x00000000
+ mov r15, r14
diff --git a/lib/libc/arch/arm32/sys/syscall.S b/lib/libc/arch/arm32/sys/syscall.S
new file mode 100644
index 00000000000..4a2fcbb5339
--- /dev/null
+++ b/lib/libc/arch/arm32/sys/syscall.S
@@ -0,0 +1,50 @@
+/* $NetBSD: syscall.S,v 1.1 1996/02/16 20:49:16 mark Exp $ */
+
+/*-
+ * Copyright (c) 1990 The Regents of the University of California.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to Berkeley by
+ * William Jolitz.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ * 3. All advertising materials mentioning features or use of this software
+ * must display the following acknowledgement:
+ * This product includes software developed by the University of
+ * California, Berkeley and its contributors.
+ * 4. Neither the name of the University nor the names of its contributors
+ * may be used to endorse or promote products derived from this software
+ * without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * from: @(#)syscall.s 5.1 (Berkeley) 4/23/90
+ * $Id: syscall.S,v 1.1 1996/05/01 12:51:35 deraadt Exp $
+ */
+
+#include "SYS.h"
+
+ .text
+ .align 0
+
+ENTRY(syscall)
+ swi 0x00000000
+ bcs cerror
+ mov r15, r14