diff options
author | 2016-05-11 21:52:48 +0000 | |
---|---|---|
committer | 2016-05-11 21:52:48 +0000 | |
commit | 0f5275725014ab6098a7071ceda8a67d6abb48b4 (patch) | |
tree | 90e5307a03d24b7e626e0a2d9972ae3e4502786c /lib | |
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')
35 files changed, 4 insertions, 1473 deletions
diff --git a/lib/csu/hppa64/md_init.h b/lib/csu/hppa64/md_init.h deleted file mode 100644 index 6251c383089..00000000000 --- a/lib/csu/hppa64/md_init.h +++ /dev/null @@ -1,98 +0,0 @@ -/* $OpenBSD: md_init.h,v 1.8 2016/03/20 02:32:39 guenther Exp $ */ - -/* - * Copyright (c) 2003 Dale Rahn. 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 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. - */ - - -#define MD_SECT_CALL_FUNC(section, func) \ - __asm (".section .rodata \n" \ - " .align 8 \n" \ - "L$" #func " \n" \ - " .dword "#func " \n" \ - " .previous \n" \ - " .section "#section",\"ax\",@progbits \n" \ - " addil LR'L$" #func "-$global$, %dp \n" \ - " ldd RR'L$" #func "-$global$(%r1), %r1\n" \ - " bve,l (%r1), %rp \n" \ - " std %dp,-80(%sp) \n" \ - " ldd -80(%sp),%dp \n" \ - " .previous") - -#define MD_SECTION_PROLOGUE(sect, entry_pt) \ - __asm ( \ - " .section "#sect",\"ax\",@progbits \n" \ - " .EXPORT "#entry_pt",ENTRY,PRIV_LEV=3,ARGW0=NO,ARGW1=NO,ARGW2=NO,ARGW3=NO,RTNVAL=NO \n" \ - " .align 4 \n" \ - #entry_pt" \n" \ - " std %rp, -16(%sp) \n" \ - " ldo 128(%sp),%sp \n" \ - " /* fall thru */ \n" \ - " .previous") - - -#define MD_SECTION_EPILOGUE(sect) \ - __asm ( \ - " .section "#sect",\"ax\",@progbits \n" \ - " ldd -144(%sp),%rp \n" \ - " bv %r0(%rp) \n" \ - " ldo -128(%sp),%sp \n" \ - " .previous") - -#include <sys/exec.h> /* for struct psstrings */ - -/* XXX no cleanup() callback passed to __start yet? */ -#define MD_NO_CLEANUP - -#define MD_CRT0_START \ - __asm( \ - ".import $global$, data \n" \ - " .import ___start, code \n" \ - " .text \n" \ - " .align 4 \n" \ - " .export _start, entry \n" \ - " .export __start, entry \n" \ - " .type _start,@function \n" \ - " .type __start,@function \n" \ - " .label _start \n" \ - " .label __start \n" \ - " .proc \n" \ - " .callinfo frame=0, calls \n" \ - " .entry \n" \ - " ldil L%__gp, %r27 \n" \ - " .call \n" \ - " b ___start \n" \ - " ldo R%__gp(%r27), %r27 \n" \ - " .exit \n" \ - " .procend") - -#define MD_START_ARGS struct ps_strings *arginfo, void (*cleanup)(void) -#define MD_START_SETUP \ - char **argv, **envp; \ - int argc; \ - \ - argv = arginfo->ps_argvstr; \ - argc = arginfo->ps_nargvstr; \ - envp = arginfo->ps_envstr; - -#define MD_EPROL_LABEL __asm (".export _eprol, entry\n\t.label _eprol") 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 diff --git a/lib/libcrypto/arch/hppa64/opensslconf.h b/lib/libcrypto/arch/hppa64/opensslconf.h deleted file mode 100644 index 54b8f59b76e..00000000000 --- a/lib/libcrypto/arch/hppa64/opensslconf.h +++ /dev/null @@ -1,157 +0,0 @@ -#include <openssl/opensslfeatures.h> -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define OPENSSLDIR "/etc/ssl" -#endif - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD <unistd.h> - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION - -#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) -#define IDEA_INT unsigned int -#endif - -#if defined(HEADER_MD2_H) && !defined(MD2_INT) -#define MD2_INT unsigned int -#endif - -#if defined(HEADER_RC2_H) && !defined(RC2_INT) -/* I need to put in a mod for the alpha - eay */ -#define RC2_INT unsigned int -#endif - -#if defined(HEADER_RC4_H) -#if !defined(RC4_INT) -/* using int types make the structure larger but make the code faster - * on most boxes I have tested - up to %20 faster. */ -/* - * I don't know what does "most" mean, but declaring "int" is a must on: - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; - */ -#define RC4_INT unsigned int -#endif -#if !defined(RC4_CHUNK) -/* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ -#undef RC4_CHUNK -#endif -#endif - -#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned int -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#undef BN_LLONG - -/* Should we define BN_DIV2W here? */ - -/* Only one for the following should be defined */ -/* The prime number generation stuff may not work when - * EIGHT_BIT but I don't care since I've only used this mode - * for debuging the bignum libraries */ -#define SIXTY_FOUR_BIT_LONG -#undef SIXTY_FOUR_BIT -#undef THIRTY_TWO_BIT -#undef SIXTEEN_BIT -#undef EIGHT_BIT -#endif - -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#define RC4_INDEX -#endif - -#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) -#define CONFIG_HEADER_BF_LOCL_H -#undef BF_PTR -#endif /* HEADER_BF_LOCL_H */ - -#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -#define CONFIG_HEADER_DES_LOCL_H -#ifndef DES_DEFAULT_OPTIONS -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#define DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#ifndef DES_UNROLL -#define DES_UNROLL -#endif - -/* These default values were supplied by - * Peter Gutman <pgut001@cs.auckland.ac.nz> - * They are only used if nothing else has been defined */ -#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) -/* Special defines which change the way the code is built depending on the - CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find - even newer MIPS CPU's, but at the moment one size fits all for - optimization options. Older Sparc's work better with only UNROLL, but - there's no way to tell at compile time what it is you're running on */ - -#if defined( sun ) /* Newer Sparc's */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#elif defined( __ultrix ) /* Older MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined( __osf1__ ) /* Alpha */ -# define DES_PTR -# define DES_RISC2 -#elif defined ( _AIX ) /* RS6000 */ - /* Unknown */ -#elif defined( __hpux ) /* HP-PA */ - /* Unknown */ -#elif defined( __aux ) /* 68K */ - /* Unknown */ -#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ -# define DES_UNROLL -#elif defined( __sgi ) /* Newer MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#endif /* Systems-specific speed defines */ -#endif - -#endif /* DES_DEFAULT_OPTIONS */ -#endif /* HEADER_DES_LOCL_H */ diff --git a/lib/libcrypto/crypto/arch/hppa64/opensslconf.h b/lib/libcrypto/crypto/arch/hppa64/opensslconf.h deleted file mode 100644 index 54b8f59b76e..00000000000 --- a/lib/libcrypto/crypto/arch/hppa64/opensslconf.h +++ /dev/null @@ -1,157 +0,0 @@ -#include <openssl/opensslfeatures.h> -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define OPENSSLDIR "/etc/ssl" -#endif - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD <unistd.h> - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION - -#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) -#define IDEA_INT unsigned int -#endif - -#if defined(HEADER_MD2_H) && !defined(MD2_INT) -#define MD2_INT unsigned int -#endif - -#if defined(HEADER_RC2_H) && !defined(RC2_INT) -/* I need to put in a mod for the alpha - eay */ -#define RC2_INT unsigned int -#endif - -#if defined(HEADER_RC4_H) -#if !defined(RC4_INT) -/* using int types make the structure larger but make the code faster - * on most boxes I have tested - up to %20 faster. */ -/* - * I don't know what does "most" mean, but declaring "int" is a must on: - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; - */ -#define RC4_INT unsigned int -#endif -#if !defined(RC4_CHUNK) -/* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ -#undef RC4_CHUNK -#endif -#endif - -#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned int -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#undef BN_LLONG - -/* Should we define BN_DIV2W here? */ - -/* Only one for the following should be defined */ -/* The prime number generation stuff may not work when - * EIGHT_BIT but I don't care since I've only used this mode - * for debuging the bignum libraries */ -#define SIXTY_FOUR_BIT_LONG -#undef SIXTY_FOUR_BIT -#undef THIRTY_TWO_BIT -#undef SIXTEEN_BIT -#undef EIGHT_BIT -#endif - -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#define RC4_INDEX -#endif - -#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) -#define CONFIG_HEADER_BF_LOCL_H -#undef BF_PTR -#endif /* HEADER_BF_LOCL_H */ - -#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -#define CONFIG_HEADER_DES_LOCL_H -#ifndef DES_DEFAULT_OPTIONS -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#define DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#ifndef DES_UNROLL -#define DES_UNROLL -#endif - -/* These default values were supplied by - * Peter Gutman <pgut001@cs.auckland.ac.nz> - * They are only used if nothing else has been defined */ -#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) -/* Special defines which change the way the code is built depending on the - CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find - even newer MIPS CPU's, but at the moment one size fits all for - optimization options. Older Sparc's work better with only UNROLL, but - there's no way to tell at compile time what it is you're running on */ - -#if defined( sun ) /* Newer Sparc's */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#elif defined( __ultrix ) /* Older MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined( __osf1__ ) /* Alpha */ -# define DES_PTR -# define DES_RISC2 -#elif defined ( _AIX ) /* RS6000 */ - /* Unknown */ -#elif defined( __hpux ) /* HP-PA */ - /* Unknown */ -#elif defined( __aux ) /* 68K */ - /* Unknown */ -#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ -# define DES_UNROLL -#elif defined( __sgi ) /* Newer MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#endif /* Systems-specific speed defines */ -#endif - -#endif /* DES_DEFAULT_OPTIONS */ -#endif /* HEADER_DES_LOCL_H */ diff --git a/lib/libkvm/kvm_hppa64.c b/lib/libkvm/kvm_hppa64.c deleted file mode 100644 index 424f3c63ea6..00000000000 --- a/lib/libkvm/kvm_hppa64.c +++ /dev/null @@ -1,73 +0,0 @@ -/* $OpenBSD: kvm_hppa64.c,v 1.4 2015/12/19 18:40:30 mmcc Exp $ */ - -/* - * Copyright (c) 2002, Miodrag Vallat. - * 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 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/param.h> -#include <sys/proc.h> -#include <sys/stat.h> - -#include <unistd.h> -#include <stdlib.h> -#include <kvm.h> - -#include <db.h> - -#include "kvm_private.h" - -void -_kvm_freevtop(kvm_t *kd) -{ - free(kd->vmst); - kd->vmst = NULL; -} - -int -_kvm_initvtop(kvm_t *kd) -{ - return (0); -} - -int -_kvm_kvatop(kvm_t *kd, u_long va, paddr_t *pa) -{ - if (ISALIVE(kd)) { - _kvm_err(kd, 0, "vatop called in live kernel!"); - return (0); - } - - /* XXX this only really works for the kernel image only */ - *pa = va; - return (kd->nbpg - (va & (kd->nbpg - 1))); -} - -/* - * Translate a physical address to a file offset in the crash dump. - */ -off_t -_kvm_pa2off(kvm_t *kd, paddr_t pa) -{ - return (kd->dump_off + pa); -} diff --git a/lib/libm/Makefile b/lib/libm/Makefile index 66156ef3938..951472f38e8 100644 --- a/lib/libm/Makefile +++ b/lib/libm/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.111 2016/03/30 06:38:42 jmc Exp $ +# $OpenBSD: Makefile,v 1.112 2016/05/11 21:52:49 deraadt Exp $ # $NetBSD: Makefile,v 1.28 1995/11/20 22:06:19 jtc Exp $ # # @(#)Makefile 5.1beta 93/09/24 @@ -50,8 +50,6 @@ ARCH_SRCS = e_sqrt.c e_sqrtf.c e_remainder.c e_remainderf.c \ ARCH_SRCS = e_sqrt.c e_sqrtf.c s_fabsf.c .elif (${MACHINE_ARCH} == "arm") .PATH: ${.CURDIR}/arch/arm -.elif (${MACHINE_ARCH} == "hppa64") -.PATH: ${.CURDIR}/arch/hppa64 .elif (${MACHINE_ARCH} == "m88k") .PATH: ${.CURDIR}/arch/m88k .elif (${MACHINE_ARCH} == "mips64") diff --git a/lib/librthread/arch/hppa64/_atomic_lock.c b/lib/librthread/arch/hppa64/_atomic_lock.c deleted file mode 100644 index 886d2d132a0..00000000000 --- a/lib/librthread/arch/hppa64/_atomic_lock.c +++ /dev/null @@ -1,41 +0,0 @@ -/* $OpenBSD: _atomic_lock.c,v 1.2 2013/06/01 20:47:40 tedu Exp $ */ -/* - * Copyright (c) 2005 Marco Peereboom <marco@openbsd.org> - * - * Permission to use, copy, modify, and distribute this software for any - * purpose with or without fee is hereby granted, provided that the above - * copyright notice and this permission notice appear in all copies. - * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES - * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR - * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN - * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF - * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. - */ - -#include <machine/spinlock.h> -#ifdef DIAGNOSTIC -#include <stdio.h> -#include <stdlib.h> -#endif - -int -_atomic_lock(volatile _atomic_lock_t *lock) -{ - volatile _atomic_lock_t old; - -#ifdef DIAGNOSTIC - if ((unsigned long)lock & 0xf) { - printf("lock not 16 byte aligned\n"); - abort(); - } -#endif - - asm volatile ("ldcw 0(%2), %0" - : "=&r" (old), "+m" (lock) - : "r" (lock)); - - return (old == _ATOMIC_LOCK_LOCKED); -} |