diff options
author | 2012-03-22 01:10:48 +0000 | |
---|---|---|
committer | 2012-03-22 01:10:48 +0000 | |
commit | 3aca685fddf678e14c649b345bb66cd61ec729a0 (patch) | |
tree | 41dbd1410a7c47e9ef5298c80c0e3cc5b55e8d86 /lib/librthread/arch/vax/rfork_thread.S | |
parent | Move __tfork_thread() from rthreads (libpthread) to libc so that (diff) | |
download | wireguard-openbsd-3aca685fddf678e14c649b345bb66cd61ec729a0.tar.xz wireguard-openbsd-3aca685fddf678e14c649b345bb66cd61ec729a0.zip |
tfork_thread has been moved to libc
Diffstat (limited to 'lib/librthread/arch/vax/rfork_thread.S')
-rw-r--r-- | lib/librthread/arch/vax/rfork_thread.S | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/lib/librthread/arch/vax/rfork_thread.S b/lib/librthread/arch/vax/rfork_thread.S deleted file mode 100644 index 63ff948ad3e..00000000000 --- a/lib/librthread/arch/vax/rfork_thread.S +++ /dev/null @@ -1,69 +0,0 @@ -/* $OpenBSD: rfork_thread.S,v 1.5 2012/02/26 13:13:22 miod Exp $ */ - -/* - * Copyright (c) 2005, Miodrag Vallat - * - * 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. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 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. - */ - -#include "../../../libc/arch/vax/SYS.h" - -/* - * int __tfork_thread(const struct __tfork *param, void *stack, void (*func)(void *), void *arg); - */ -ENTRY(__tfork_thread, R2|R3|R4) - /* - * Save thread creation arguments into registers. - */ - movl 8(ap), r2 /* stack */ - movl 12(ap), r3 /* func */ - movl 16(ap), r4 /* arg */ - - __DO_SYSCALL(__tfork) - jcs 9f - - cmpl r0, $0 - beql 1f - - /* - * In parent process: just return. - */ - ret - -1: - /* - * In child process: switch stack, invoke function, then exit. - * Note that since we can not pass a register to calls, we need - * to waste 4 bytes of stack in every thread. - */ - movl r2, sp /* stack */ - pushl r3 /* func */ - pushl r4 /* arg */ - calls $1, *4(sp) /* func */ - - __DO_SYSCALL(__threxit) - -9: - /* - * system call failed. - */ - jmp _C_LABEL(_cerror) |