diff options
author | 2016-05-11 21:52:48 +0000 | |
---|---|---|
committer | 2016-05-11 21:52:48 +0000 | |
commit | 0f5275725014ab6098a7071ceda8a67d6abb48b4 (patch) | |
tree | 90e5307a03d24b7e626e0a2d9972ae3e4502786c /lib/libc | |
parent | sync (diff) | |
download | wireguard-openbsd-0f5275725014ab6098a7071ceda8a67d6abb48b4.tar.xz wireguard-openbsd-0f5275725014ab6098a7071ceda8a67d6abb48b4.zip |
remove hppa64 port, which we never got going beyond broken single users.
hppa reverse-stack gives us a valuable test case, but most developers don't
have a 2nd one to proceed further with this.
ok kettenis
Diffstat (limited to 'lib/libc')
29 files changed, 3 insertions, 944 deletions
diff --git a/lib/libc/arch/hppa64/DEFS.h b/lib/libc/arch/hppa64/DEFS.h deleted file mode 100644 index 4fc95e39994..00000000000 --- a/lib/libc/arch/hppa64/DEFS.h +++ /dev/null @@ -1,3 +0,0 @@ -/* $OpenBSD: DEFS.h,v 1.1 2005/04/01 10:54:27 mickey Exp $ */ - -#include <machine/asm.h> diff --git a/lib/libc/arch/hppa64/Makefile.inc b/lib/libc/arch/hppa64/Makefile.inc deleted file mode 100644 index d8c4bff9a3e..00000000000 --- a/lib/libc/arch/hppa64/Makefile.inc +++ /dev/null @@ -1 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.2 2014/06/09 20:47:11 miod Exp $ diff --git a/lib/libc/arch/hppa64/SYS.h b/lib/libc/arch/hppa64/SYS.h deleted file mode 100644 index fd1a5f1af43..00000000000 --- a/lib/libc/arch/hppa64/SYS.h +++ /dev/null @@ -1,127 +0,0 @@ -/* $OpenBSD: SYS.h,v 1.11 2016/05/07 19:05:21 guenther Exp $ */ - -/* - * Copyright (c) 1998-2002 Michael Shalayeff - * 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. - * - * 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 MIND - * 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 <sys/syscall.h> -#include <machine/asm.h> -#undef _LOCORE -#define _LOCORE -#include <machine/frame.h> -#include <machine/vmparam.h> -#undef _LOCORE - -/* offsetof(struct tib, tib_errno) - offsetof(struct tib, __tib_tcb) */ -#define TCB_OFFSET_ERRNO -12 - -/* - * We define a hidden alias with the prefix "_libc_" for each global symbol - * that may be used internally. By referencing _libc_x instead of x, other - * parts of libc prevent overriding by the application and avoid unnecessary - * relocations. - */ -#define _HIDDEN(x) _libc_##x -#define _HIDDEN_ALIAS(x,y) \ - STRONG_ALIAS(_HIDDEN(x),y) !\ - .hidden _HIDDEN(x) -#define _HIDDEN_FALIAS(x,y) \ - _HIDDEN_ALIAS(x,y) !\ - .type _HIDDEN(x),@function - -/* - * For functions implemented in ASM that aren't syscalls. - * EXIT_STRONG(x) Like DEF_STRONG() in C; for standard/reserved C names - * EXIT_WEAK(x) Like DEF_WEAK() in C; for non-ISO C names - * ALTEXIT_STRONG(x) and ALTEXIT_WEAK() - * Matching macros for ALTENTRY functions - */ -#define ALTEXIT_STRONG(x) \ - _HIDDEN_FALIAS(x,x) !\ - .size _HIDDEN(x), . - _HIDDEN(x) -#define ALTEXIT_WEAK(x) ALTEXIT_STRONG(x) !\ - .weak x -#define EXIT_STRONG(x) EXIT(x) !\ - ALTEXIT_STRONG(x) -#define EXIT_WEAK(x) EXIT_STRONG(x) !\ - .weak x - - -#define SYSENTRY(x) !\ -LEAF_ENTRY(__CONCAT(_thread_sys_,x)) !\ - WEAK_ALIAS(x,__CONCAT(_thread_sys_,x)) -#define SYSENTRY_HIDDEN(x) !\ -LEAF_ENTRY(__CONCAT(_thread_sys_,x)) -#define SYSEXIT(x) !\ - SYSEXIT_HIDDEN(x) !\ - .size x, . - x -#define SYSEXIT_HIDDEN(x) !\ - EXIT(__CONCAT(_thread_sys_,x)) - _HIDDEN_FALIAS(x,_thread_sys_##x) !\ - .size _HIDDEN(x), . - _HIDDEN(x) - -#define SYSCALL(x) !\ - std %rp, HPPA_FRAME_RP(%sr0,%sp) !\ - ldil L%SYSCALLGATE, %r1 !\ - depd %r0, 31, 32, %r1 !\ - ble 4(%sr7, %r1) !\ - ldi __CONCAT(SYS_,x), %r1 !\ - comb,==,tr %r0, %ret0, 1f !\ - ldd HPPA_FRAME_RP(%sr0,%sp), %rp !\ - /* set errno */ \ - mfctl %cr27, %r1 !\ - stw %t1, TCB_OFFSET_ERRNO(%r1) !\ - bv %r0(%rp) !\ - ldi -1, %ret0 !\ -1: - - -#define PSEUDO(x,y) !\ -SYSENTRY(x) !\ - SYSCALL(y) !\ - bv %r0(%rp) !\ - nop !\ -SYSEXIT(x) -#define PSEUDO_HIDDEN(x,y) !\ -SYSENTRY_HIDDEN(x) !\ - SYSCALL(y) !\ - bv %r0(%rp) !\ - nop !\ -SYSEXIT_HIDDEN(x) - -#define PSEUDO_NOERROR(x,y) !\ -SYSENTRY(x) !\ - std %rp, HPPA_FRAME_RP(%sr0,%sp) !\ - ldil L%SYSCALLGATE, %r1 !\ - depd %r0, 31, 32, %r1 !\ - ble 4(%sr7, %r1) !\ - ldi __CONCAT(SYS_,y), %r1 !\ - ldd HPPA_FRAME_RP(%sr0,%sp), %rp !\ - bv %r0(%rp) !\ - nop !\ -SYSEXIT(x) - -#define RSYSCALL(x) PSEUDO(x,x) -#define RSYSCALL_HIDDEN(x) PSEUDO_HIDDEN(x,x) - diff --git a/lib/libc/arch/hppa64/gdtoa/Makefile.inc b/lib/libc/arch/hppa64/gdtoa/Makefile.inc deleted file mode 100644 index 575daae061d..00000000000 --- a/lib/libc/arch/hppa64/gdtoa/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.2 2013/01/13 20:24:13 martynas Exp $ - -SRCS+= strtord.c diff --git a/lib/libc/arch/hppa64/gdtoa/arith.h b/lib/libc/arch/hppa64/gdtoa/arith.h deleted file mode 100644 index e1954befb99..00000000000 --- a/lib/libc/arch/hppa64/gdtoa/arith.h +++ /dev/null @@ -1,3 +0,0 @@ -#define IEEE_MC68k -#define Arith_Kind_ASL 2 -#define Double_Align diff --git a/lib/libc/arch/hppa64/gdtoa/gd_qnan.h b/lib/libc/arch/hppa64/gdtoa/gd_qnan.h deleted file mode 100644 index 7956000880b..00000000000 --- a/lib/libc/arch/hppa64/gdtoa/gd_qnan.h +++ /dev/null @@ -1,12 +0,0 @@ -#define f_QNAN 0x7fa00000 -#define d_QNAN0 0x7ff40000 -#define d_QNAN1 0x0 -#define ld_QNAN0 0x7ff40000 -#define ld_QNAN1 0x0 -#define ld_QNAN2 0x0 -#define ld_QNAN3 0x0 -#define ldus_QNAN0 0x7ff4 -#define ldus_QNAN1 0x0 -#define ldus_QNAN2 0x0 -#define ldus_QNAN3 0x0 -#define ldus_QNAN4 0x0 diff --git a/lib/libc/arch/hppa64/gen/Makefile.inc b/lib/libc/arch/hppa64/gen/Makefile.inc deleted file mode 100644 index d0acc0c2232..00000000000 --- a/lib/libc/arch/hppa64/gen/Makefile.inc +++ /dev/null @@ -1,7 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.11 2012/04/12 16:14:09 deraadt Exp $ - -SRCS+= setjmp.S -SRCS+= fabs.c -SRCS+= infinity.c ldexp.c modf.c nan.c setjmp.S -SRCS+= flt_rounds.c fpgetmask.c fpgetround.c fpgetsticky.c fpsetmask.c \ - fpsetround.c fpsetsticky.c diff --git a/lib/libc/arch/hppa64/gen/fabs.c b/lib/libc/arch/hppa64/gen/fabs.c deleted file mode 100644 index 888a2559d4f..00000000000 --- a/lib/libc/arch/hppa64/gen/fabs.c +++ /dev/null @@ -1,18 +0,0 @@ -/* $OpenBSD: fabs.c,v 1.8 2014/04/18 15:09:52 guenther Exp $ */ - -/* - * Written by Miodrag Vallat. Public domain - */ - -#include <sys/types.h> -#include <math.h> - -double -fabs(double val) -{ - - __asm__ volatile("fabs,dbl %0,%0" : "+f" (val)); - return (val); -} - -__strong_alias(fabsl, fabs); diff --git a/lib/libc/arch/hppa64/gen/flt_rounds.c b/lib/libc/arch/hppa64/gen/flt_rounds.c deleted file mode 100644 index 9323e81e29e..00000000000 --- a/lib/libc/arch/hppa64/gen/flt_rounds.c +++ /dev/null @@ -1,25 +0,0 @@ -/* $OpenBSD: flt_rounds.c,v 1.4 2015/10/27 05:54:49 guenther Exp $ */ - -/* - * Written by Miodrag Vallat. Public domain. - */ - -#include <sys/types.h> -#include <float.h> - -static const int map[] = { - 1, /* round to nearest */ - 0, /* round to zero */ - 2, /* round to positive infinity */ - 3 /* round to negative infinity */ -}; - -int -__flt_rounds() -{ - u_int64_t fpsr; - - __asm__ volatile("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr)); - return map[(fpsr >> 41) & 0x03]; -} -DEF_STRONG(__flt_rounds); diff --git a/lib/libc/arch/hppa64/gen/fpgetmask.c b/lib/libc/arch/hppa64/gen/fpgetmask.c deleted file mode 100644 index 297f3372b76..00000000000 --- a/lib/libc/arch/hppa64/gen/fpgetmask.c +++ /dev/null @@ -1,17 +0,0 @@ -/* $OpenBSD: fpgetmask.c,v 1.2 2014/04/18 15:09:52 guenther Exp $ */ - -/* - * Written by Miodrag Vallat. Public domain - */ - -#include <sys/types.h> -#include <ieeefp.h> - -fp_except -fpgetmask() -{ - u_int64_t fpsr; - - __asm__ volatile("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr)); - return ((fpsr >> 32) & 0x1f); -} diff --git a/lib/libc/arch/hppa64/gen/fpgetround.c b/lib/libc/arch/hppa64/gen/fpgetround.c deleted file mode 100644 index 4616ccbbe5a..00000000000 --- a/lib/libc/arch/hppa64/gen/fpgetround.c +++ /dev/null @@ -1,17 +0,0 @@ -/* $OpenBSD: fpgetround.c,v 1.2 2014/04/18 15:09:52 guenther Exp $ */ - -/* - * Written by Miodrag Vallat. Public domain - */ - -#include <sys/types.h> -#include <ieeefp.h> - -fp_rnd -fpgetround() -{ - u_int64_t fpsr; - - __asm__ volatile("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr)); - return ((fpsr >> 41) & 0x3); -} diff --git a/lib/libc/arch/hppa64/gen/fpgetsticky.c b/lib/libc/arch/hppa64/gen/fpgetsticky.c deleted file mode 100644 index c43de9bc694..00000000000 --- a/lib/libc/arch/hppa64/gen/fpgetsticky.c +++ /dev/null @@ -1,17 +0,0 @@ -/* $OpenBSD: fpgetsticky.c,v 1.2 2014/04/18 15:09:52 guenther Exp $ */ - -/* - * Written by Miodrag Vallat. Public domain - */ - -#include <sys/types.h> -#include <ieeefp.h> - -fp_except -fpgetsticky() -{ - u_int64_t fpsr; - - __asm__ volatile("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr)); - return ((fpsr >> 59) & 0x1f); -} diff --git a/lib/libc/arch/hppa64/gen/fpsetmask.c b/lib/libc/arch/hppa64/gen/fpsetmask.c deleted file mode 100644 index bc92959feae..00000000000 --- a/lib/libc/arch/hppa64/gen/fpsetmask.c +++ /dev/null @@ -1,22 +0,0 @@ -/* $OpenBSD: fpsetmask.c,v 1.2 2014/04/18 15:09:52 guenther Exp $ */ - -/* - * Written by Miodrag Vallat. Public domain - */ - -#include <sys/types.h> -#include <ieeefp.h> - -fp_except -fpsetmask(mask) - fp_except mask; -{ - u_int64_t fpsr; - fp_except old; - - __asm__ volatile("fstd %%fr0,0(%1)" : "=m"(fpsr) : "r"(&fpsr)); - old = (fpsr >> 32) & 0x1f; - fpsr = (fpsr & 0xffffffe000000000LL) | ((u_int64_t)(mask & 0x1f) << 32); - __asm__ volatile("fldd 0(%0),%%fr0" : : "r"(&fpsr)); - return (old); -} diff --git a/lib/libc/arch/hppa64/gen/fpsetround.c b/lib/libc/arch/hppa64/gen/fpsetround.c deleted file mode 100644 index 17879c9c265..00000000000 --- a/lib/libc/arch/hppa64/gen/fpsetround.c +++ /dev/null @@ -1,23 +0,0 @@ -/* $OpenBSD: fpsetround.c,v 1.2 2014/04/18 15:09:52 guenther Exp $ */ - -/* - * Written by Miodrag Vallat. Public domain - */ - -#include <sys/types.h> -#include <ieeefp.h> - -fp_rnd -fpsetround(rnd_dir) - fp_rnd rnd_dir; -{ - u_int64_t fpsr; - fp_rnd old; - - __asm__ volatile("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr)); - old = (fpsr >> 41) & 0x03; - fpsr = (fpsr & 0xfffff9ff00000000LL) | - ((u_int64_t)(rnd_dir & 0x03) << 41); - __asm__ volatile("fldd 0(%0),%%fr0" : : "r" (&fpsr)); - return (old); -} diff --git a/lib/libc/arch/hppa64/gen/fpsetsticky.c b/lib/libc/arch/hppa64/gen/fpsetsticky.c deleted file mode 100644 index 3b4bb46a94f..00000000000 --- a/lib/libc/arch/hppa64/gen/fpsetsticky.c +++ /dev/null @@ -1,22 +0,0 @@ -/* $OpenBSD: fpsetsticky.c,v 1.3 2014/04/18 15:09:52 guenther Exp $ */ - -/* - * Written by Miodrag Vallat. Public domain - */ - -#include <sys/types.h> -#include <ieeefp.h> - -fp_except -fpsetsticky(mask) - fp_except mask; -{ - u_int64_t fpsr; - fp_except old; - - __asm__ volatile("fstd %%fr0,0(%1)" : "=m" (fpsr) : "r" (&fpsr)); - old = (fpsr >> 59) & 0x1f; - fpsr = (fpsr & 0x07ffffff00000000LL) | ((u_int64_t)(mask & 0x1f) << 59); - __asm__ volatile("fldd 0(%0),%%fr0" : : "r" (&fpsr)); - return (old); -} diff --git a/lib/libc/arch/hppa64/gen/infinity.c b/lib/libc/arch/hppa64/gen/infinity.c deleted file mode 100644 index ce4d58745ac..00000000000 --- a/lib/libc/arch/hppa64/gen/infinity.c +++ /dev/null @@ -1,9 +0,0 @@ -/* $OpenBSD: infinity.c,v 1.2 2005/08/07 16:40:14 espie Exp $ */ - -/* infinity.c */ - -#include <math.h> - -/* bytes for +Infinity on a hppa */ -char __infinity[] __attribute__((__aligned__(sizeof(double)))) = - { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 }; diff --git a/lib/libc/arch/hppa64/gen/nan.c b/lib/libc/arch/hppa64/gen/nan.c deleted file mode 100644 index 7af3cb148f8..00000000000 --- a/lib/libc/arch/hppa64/gen/nan.c +++ /dev/null @@ -1,9 +0,0 @@ -/* $OpenBSD: nan.c,v 1.1 2008/07/24 09:31:06 martynas Exp $ */ - -/* Written by Martynas Venckus. Public Domain. */ - -#include <math.h> - -/* bytes for qNaN on a hppa64 (IEEE single format) */ -char __nan[] __attribute__((__aligned__(sizeof(float)))) = - { 0x7f, 0xa0, 0, 0 }; diff --git a/lib/libc/arch/hppa64/gen/setjmp.S b/lib/libc/arch/hppa64/gen/setjmp.S deleted file mode 100644 index 27e4ef23b9c..00000000000 --- a/lib/libc/arch/hppa64/gen/setjmp.S +++ /dev/null @@ -1,196 +0,0 @@ -/* $OpenBSD: setjmp.S,v 1.4 2015/09/13 07:36:58 guenther Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * the Systems Programming Group of the University of Utah Computer - * Science Department. - * - * 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. 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. - */ - -#include <machine/asm.h> -#define _LOCORE -#include <machine/frame.h> -#undef _LOCORE - -/* - * C library -- setjmp, longjmp - * - * longjmp(a,v) - * will generate a "return(v)" from - * the last call to - * setjmp(a) - * by restoring registers from the stack, - * and a struct sigcontext, see <signal.h> - */ - -ENTRY(sigsetjmp, 128) - sub,<> %r0, %arg1, %r0 - b,n _setjmp - nop - - std %arg1, 88(%arg0) ; last of reserved words - -ALTENTRY(setjmp) - std %rp, HPPA_FRAME_RP(%sp) - std %arg0, HPPA_FRAME_ARG(0)(%sp) - - copy %r3, %r1 - copy %sp, %r3 - std,ma %r1, HPPA_FRAME_SIZE(%sp) - - bl _libc_sigblock, %rp - copy %r0, %arg0 - - ldo HPPA_FRAME_SIZE(%r3), %sp - ldd,mb -HPPA_FRAME_SIZE(%sp),%r3 - ldd HPPA_FRAME_RP(%sp), %rp - ldd HPPA_FRAME_ARG(0)(%sp), %arg0 - - std %r0, 0(%arg0) ; no onstack - b _setjmp$dosaves - std %ret0, 8(%arg0) ; mask - -ALTENTRY(_setjmp) - /* A sigcontext is at the beginning of our jmp_buf. */ - std %r0, 0(%arg0) ; no onstack - std %r0, 8(%arg0) ; mask -_setjmp$dosaves - std %r0, 16(%arg0) ; set sc.sc_ps - std %sp, 24(%arg0) ; sc.sc_sp = %sp - std %r0, 32(%arg0) ; sc.sc_fp - ldo 4(%rp), %r1 - std %rp, 40(%arg0) ; sc.sc_pcoqh = %rp - std %r1, 48(%arg0) ; sc.sc_pcoqt = %rp + 4 - - /* We store all callee-saved registers after the sigcontext. */ - ldo 96(%arg0), %r1 ; offset to after sc - std,ma %r3, 8(%r1) - std,ma %r4, 8(%r1) - std,ma %r5, 8(%r1) - std,ma %r6, 8(%r1) - std,ma %r7, 8(%r1) - std,ma %r8, 8(%r1) - std,ma %r9, 8(%r1) - std,ma %r10, 8(%r1) - std,ma %r11, 8(%r1) - std,ma %r12, 8(%r1) - std,ma %r13, 8(%r1) - std,ma %r14, 8(%r1) - std,ma %r15, 8(%r1) - std,ma %r16, 8(%r1) - std,ma %r17, 8(%r1) - std,ma %r18, 8(%r1) - - /* Return 0. */ - bv %r0(%rp) - copy %r0, %ret0 -EXIT(_setjmp) - -ENTRY(siglongjmp,64) - /* XXX have to dup this from below */ - sub,>> %sp, %arg0, %r0 /* botch if jbuf was on stack */ - bl,n longjmperror, %rp - nop - ldd 32(%arg0), %r1 /* botch if it's a real signal frame */ - add,= %r0, %r1, %r0 - bl,n longjmperror, %rp - nop - - ldd 88(%arg0), %arg2 - sub,<> %r0, %arg2, %r0 - b _longjmp - nop - -ALTENTRY(longjmp) - /* XXX have to dup this from below */ - sub,>> %sp, %arg0, %r0 /* botch if jbuf was on stack */ - bl,n longjmperror, %rp - nop - ldw 32(%arg0), %r1 /* botch if it's a real signal frame */ - add,= %r0, %r1, %r0 - bl,n longjmperror, %rp - nop - - std %rp, HPPA_FRAME_RP(%sp) - std %arg0, HPPA_FRAME_ARG(0)(%sp) - std %arg1, HPPA_FRAME_ARG(1)(%sp) - - copy %r3, %r1 - copy %sp, %r3 - std,ma %r1, HPPA_FRAME_SIZE(%sp) - - bl _libc_sigsetmask, %rp - ldd 8(%arg0), %arg0 - - ldo HPPA_FRAME_SIZE(%r3), %sp - ldd,mb -HPPA_FRAME_SIZE(%sp),%r3 - ldd HPPA_FRAME_RP(%sp), %rp - ldd HPPA_FRAME_ARG(0)(%sp), %arg0 - b _longjmp$restores - ldd HPPA_FRAME_ARG(1)(%sp), %arg1 - -ALTENTRY(_longjmp) - sub,>> %sp, %arg0, %r0 /* botch if jbuf was on stack */ - bl,n longjmperror, %rp - nop - ldd 32(%arg0), %r1 /* botch if it's a real signal frame */ - add,= %r0, %r1, %r0 - bl,n longjmperror, %rp - nop - -_longjmp$restores - /* restore callee-saved registers */ - ldo 96(%arg0), %r1 - ldd,ma 8(%r1), %r3 - ldd,ma 8(%r1), %r4 - ldd,ma 8(%r1), %r5 - ldd,ma 8(%r1), %r6 - ldd,ma 8(%r1), %r7 - ldd,ma 8(%r1), %r8 - ldd,ma 8(%r1), %r9 - ldd,ma 8(%r1), %r10 - ldd,ma 8(%r1), %r11 - ldd,ma 8(%r1), %r12 - ldd,ma 8(%r1), %r13 - ldd,ma 8(%r1), %r14 - ldd,ma 8(%r1), %r15 - ldd,ma 8(%r1), %r16 - ldd,ma 8(%r1), %r17 - ldd,ma 8(%r1), %r18 - - /* restore the rest */ - ldd 24(%arg0), %sp - ldd 40(%arg0), %rp /* check the priv level */ - sub,<> %arg1, %r0, %r0 - ldo 1(%arg1), %arg1 - bv %r0(%rp) - copy %arg1, %ret0 -EXIT(_longjmp) - - .end diff --git a/lib/libc/arch/hppa64/net/Makefile.inc b/lib/libc/arch/hppa64/net/Makefile.inc deleted file mode 100644 index 1a5924d85ab..00000000000 --- a/lib/libc/arch/hppa64/net/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.1 2005/04/01 10:54:27 mickey Exp $ - -SRCS+= ntohl.c ntohs.c htons.c htonl.c diff --git a/lib/libc/arch/hppa64/string/Makefile.inc b/lib/libc/arch/hppa64/string/Makefile.inc deleted file mode 100644 index 87894646865..00000000000 --- a/lib/libc/arch/hppa64/string/Makefile.inc +++ /dev/null @@ -1,8 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.4 2015/05/15 22:29:37 millert Exp $ - -SRCS+= bcopy.c memcpy.c memmove.c \ - strchr.c strrchr.c \ - bcmp.c bzero.c ffs.c memchr.c memcmp.c \ - memset.c strcat.c strcmp.c strcpy.c strcspn.c strlen.c \ - strlcat.c strlcpy.c strncat.c strncmp.c strncpy.c \ - strpbrk.c strsep.c strspn.c strstr.c swab.c diff --git a/lib/libc/arch/hppa64/sys/Ovfork.S b/lib/libc/arch/hppa64/sys/Ovfork.S deleted file mode 100644 index ca40cfef79b..00000000000 --- a/lib/libc/arch/hppa64/sys/Ovfork.S +++ /dev/null @@ -1,47 +0,0 @@ -/* $OpenBSD: Ovfork.S,v 1.6 2016/05/07 19:05:21 guenther Exp $ */ - -/* - * Copyright (c) 1999,2002 Michael Shalayeff - * 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. - * - * 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 OR HIS RELATIVES 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 MIND, 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 "SYS.h" - -SYSENTRY_HIDDEN(vfork) - .import errno, data - copy %rp, arg7 - ldil L%SYSCALLGATE, %r1 - ble 4(%sr7, %r1) - ldi __CONCAT(SYS_,vfork), arg4 - comb,==,tr %r0, arg4, 1f - copy arg7, %rp - /* set errno */ - mfctl %cr27, %r1 - stw %t1, TCB_OFFSET_ERRNO(%r1) - ldi -1, %ret0 -1: bv %r0(%rp) - nop -SYSEXIT_HIDDEN(vfork) - - .end diff --git a/lib/libc/arch/hppa64/sys/brk.S b/lib/libc/arch/hppa64/sys/brk.S deleted file mode 100644 index 644e5ad759c..00000000000 --- a/lib/libc/arch/hppa64/sys/brk.S +++ /dev/null @@ -1,70 +0,0 @@ -/* $OpenBSD: brk.S,v 1.7 2015/09/10 13:29:09 guenther Exp $ */ - -/* - * Copyright (c) 1999 Michael Shalayeff - * 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. - * - * 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 OR HIS RELATIVES 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 MIND, 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 "SYS.h" - - .import __curbrk, data - .import end, data - - .data - .export __minbrk, data -__minbrk - .long end - - .weak brk - -LEAF_ENTRY(brk) -#ifdef __PIC__ - addil LT%__minbrk, %r19 - ldd RT%__minbrk(%r1), arg4 - ldd 0(arg4), arg5 -#else - ldil L%__minbrk, arg4 - ldd R%__minbrk(arg4), arg5 -#endif - sub,<< arg5, %arg0, %r0 - copy arg5, %arg0 - std %arg0, HPPA_FRAME_ARG(0)(%sp) - - SYSCALL(break) - - ldd HPPA_FRAME_ARG(0)(%sp), %arg0 -#ifdef __PIC__ - addil LT%__curbrk, %r19 - ldd RT%__curbrk(%r1), arg4 - bv %r0(%rp) - std %arg0, 0(arg4) -#else - ldil L%__curbrk, arg4 - bv %r0(%rp) - std %arg0, R%__curbrk(arg4) -#endif -EXIT(brk) - - .end - diff --git a/lib/libc/arch/hppa64/sys/sbrk.S b/lib/libc/arch/hppa64/sys/sbrk.S deleted file mode 100644 index 65d7f3ccf2f..00000000000 --- a/lib/libc/arch/hppa64/sys/sbrk.S +++ /dev/null @@ -1,69 +0,0 @@ -/* $OpenBSD: sbrk.S,v 1.7 2015/09/10 13:29:09 guenther Exp $ */ - -/* - * Copyright (c) 1999 Michael Shalayeff - * 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. - * - * 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 OR HIS RELATIVES 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 MIND, 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 "SYS.h" - - .import end, data - - .data - .export __curbrk, data -__curbrk - .long end - - .weak sbrk - -LEAF_ENTRY(sbrk) -#ifdef __PIC__ - addil LT%__curbrk, %r19 - ldd RT%__curbrk(%r1), %arg3 - ldd 0(%arg3), %arg2 -#else - ldil L%__curbrk, %arg3 - ldd R%__curbrk(%arg3), %arg2 -#endif - add %arg0, %arg2, %arg0 - std %arg0, HPPA_FRAME_ARG(0)(%sp) - - SYSCALL(break) - -#ifdef __PIC__ - addil LT%__curbrk, %r19 - ldd RT%__curbrk(%r1), %arg3 -#else - ldil L%__curbrk, %arg3 - ldo R%__curbrk(%arg3), %arg3 -#endif - ldd HPPA_FRAME_ARG(0)(%sp), %arg0 - ldd 0(%arg3), %ret0 - bv %r0(%rp) - std %arg0, 0(%arg3) - -EXIT(sbrk) - - .end - diff --git a/lib/libc/arch/hppa64/sys/sigpending.S b/lib/libc/arch/hppa64/sys/sigpending.S deleted file mode 100644 index 1ecfd8d4dfb..00000000000 --- a/lib/libc/arch/hppa64/sys/sigpending.S +++ /dev/null @@ -1,38 +0,0 @@ -/* $OpenBSD: sigpending.S,v 1.6 2014/01/10 20:53:45 deraadt Exp $ */ - -/* - * Copyright (c) 1999 Michael Shalayeff - * 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. - * - * 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 OR HIS RELATIVES 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 MIND, 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 "SYS.h" - -SYSENTRY(sigpending) - SYSCALL(sigpending) - stw %ret0, 0(%arg0) - bv %r0(%rp) - copy %r0, %ret0 -SYSEXIT(sigpending) - - .end diff --git a/lib/libc/arch/hppa64/sys/sigprocmask.S b/lib/libc/arch/hppa64/sys/sigprocmask.S deleted file mode 100644 index eff082a7810..00000000000 --- a/lib/libc/arch/hppa64/sys/sigprocmask.S +++ /dev/null @@ -1,52 +0,0 @@ -/* $OpenBSD: sigprocmask.S,v 1.6 2015/10/23 04:39:24 guenther Exp $ */ - -/* - * Copyright (c) 1999 Michael Shalayeff - * 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. - * - * 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 OR HIS RELATIVES 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 MIND, 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 "SYS.h" - -SYSENTRY_HIDDEN(sigprocmask) - std %arg2, HPPA_FRAME_ARG(2)(%sp) - - comb,<>,n %r0, %arg1, sigprocmask$nblock - - b sigprocmask$call - ldi 1, %arg0 - -sigprocmask$nblock - ldw 0(%arg1), %arg1 - -sigprocmask$call - SYSCALL(sigprocmask) - - ldd HPPA_FRAME_ARG(2)(%sp), %arg2 - add,= %r0, %arg2, %r0 - stw %ret0, 0(%arg2) - bv %r0(%rp) - copy %r0, %ret0 -SYSEXIT_HIDDEN(sigprocmask) - - .end diff --git a/lib/libc/arch/hppa64/sys/sigsuspend.S b/lib/libc/arch/hppa64/sys/sigsuspend.S deleted file mode 100644 index 468f49b6e58..00000000000 --- a/lib/libc/arch/hppa64/sys/sigsuspend.S +++ /dev/null @@ -1,37 +0,0 @@ -/* $OpenBSD: sigsuspend.S,v 1.6 2016/05/07 19:05:21 guenther Exp $ */ - -/* - * Copyright (c) 1999 Michael Shalayeff - * 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. - * - * 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 OR HIS RELATIVES 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 MIND, 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 "SYS.h" - -SYSENTRY_HIDDEN(sigsuspend) - ldw 0(%arg0), %arg0 - - SYSCALL(sigsuspend) -SYSEXIT_HIDDEN(sigsuspend) - - .end diff --git a/lib/libc/arch/hppa64/sys/syscall.S b/lib/libc/arch/hppa64/sys/syscall.S deleted file mode 100644 index 62831c36a39..00000000000 --- a/lib/libc/arch/hppa64/sys/syscall.S +++ /dev/null @@ -1,33 +0,0 @@ -/* $OpenBSD: syscall.S,v 1.2 2005/08/07 16:40:14 espie Exp $ */ - -/* - * Copyright (c) 1999 Michael Shalayeff - * 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. - * - * 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 OR HIS RELATIVES 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 MIND, 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 "SYS.h" - -RSYSCALL(syscall) - - .end diff --git a/lib/libc/arch/hppa64/sys/tfork_thread.S b/lib/libc/arch/hppa64/sys/tfork_thread.S deleted file mode 100644 index 4fd2cb67700..00000000000 --- a/lib/libc/arch/hppa64/sys/tfork_thread.S +++ /dev/null @@ -1,52 +0,0 @@ -/* $OpenBSD: tfork_thread.S,v 1.2 2012/06/21 00:56:59 guenther 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 "SYS.h" - -/* - * int __tfork_thread(param, size_t psize, void (*func)(void *), void *arg); - */ -ENTRY(__tfork_thread, 0) - SYSCALL(__tfork) - comb,<> %r0, %ret0, 1f - nop - - /* - * In child process: invoke function, then exit. - */ - copy %arg3, %arg0 /* arg */ - copy %arg2, %t1 - b,l $$dyncall, %r31 - copy %r31, %rp - - copy %r0, %arg0 - SYSCALL(__threxit) - -1: - bv %r0(%rp) - nop - -EXIT(__tfork_thread) diff --git a/lib/libc/gen/__tfork_thread.3 b/lib/libc/gen/__tfork_thread.3 index f21799ad76a..714895fabfc 100644 --- a/lib/libc/gen/__tfork_thread.3 +++ b/lib/libc/gen/__tfork_thread.3 @@ -1,4 +1,4 @@ -.\" $OpenBSD: __tfork_thread.3,v 1.3 2015/01/15 19:26:27 schwarze Exp $ +.\" $OpenBSD: __tfork_thread.3,v 1.4 2016/05/11 21:52:49 deraadt Exp $ .\" .\" Copyright (c) 2011 Philip Guenther <guenther@openbsd.org> .\" @@ -14,7 +14,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: January 15 2015 $ +.Dd $Mdocdate: May 11 2016 $ .Dt __TFORK_THREAD 3 .Os .Sh NAME @@ -61,8 +61,7 @@ userspace in either the calling thread or the new thread. If .Em tf_stack is not NULL, the new thread's stack is initialized to start at that address. -On hppa and hppa64, -that is the lowest address used; +On hppa that is the lowest address used; on other architectures that is the address after the highest address used. .Pp The |