diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-02-27 17:36:19 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 2004-02-27 17:36:19 +0000 |
commit | bf0a65b8ba35f3b89700a10c7eb23f2c8dc212cb (patch) | |
tree | c14e90f29f6ed57b9358529c8ef66d4b69c29a0f /lib | |
parent | cadcabe0265db6753eccec3bcc53bdc5b837cc3d (diff) |
change amd64's MACHINE_ARCH from x86_64 to amd64. There are many many
reasons for this, quite a few of them technical, and not all of them
in response to Intel's broken ia32e crud. The gcc toolchain stays at
x86_64 for now.
Diffstat (limited to 'lib')
56 files changed, 222 insertions, 2568 deletions
diff --git a/lib/csu/Makefile b/lib/csu/Makefile index 7110281f872..608d26cce63 100644 --- a/lib/csu/Makefile +++ b/lib/csu/Makefile @@ -1,7 +1,7 @@ -# $OpenBSD: Makefile,v 1.11 2004/02/01 07:21:56 drahn Exp $ +# $OpenBSD: Makefile,v 1.12 2004/02/27 17:36:14 deraadt Exp $ .if make(obj) -SUBDIR= alpha arm hppa i386 m68k m88k powerpc sparc sparc64 vax x86_64 +SUBDIR= alpha arm hppa i386 m68k m88k powerpc sparc sparc64 vax amd64 .else SUBDIR= ${MACHINE_ARCH} .endif diff --git a/lib/csu/x86_64/Makefile b/lib/csu/x86_64/Makefile deleted file mode 100644 index ddbe9a140f7..00000000000 --- a/lib/csu/x86_64/Makefile +++ /dev/null @@ -1,61 +0,0 @@ -# $OpenBSD: Makefile,v 1.1 2004/01/28 01:46:17 mickey Exp $ - -CFLAGS+= -DLIBC_SCCS -fno-omit-frame-pointer -OBJS= crt0.o gcrt0.o crtbegin.o crtend.o crtbeginS.o crtendS.o -SRCS= crt0.c crtbegin.c crtbeginS.c crtend.c crtendS.c - -ELFDIR= ${.CURDIR}/../common_elf -.PATH: ${ELFDIR} -CFLAGS+= -I${ELFDIR} -I${.CURDIR} - -PICFLAG?=-fpic - -all: ${OBJS} - -crt0.o: crt0.c - @echo ${COMPILE.c} -DCRT0 ${.CURDIR}/crt0.c -o ${.TARGET} - @${COMPILE.c} -DCRT0 ${.CURDIR}/crt0.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -gcrt0.o: crt0.c - @echo ${COMPILE.c} -DMCRT0 ${.CURDIR}/crt0.c -o ${.TARGET} - @${COMPILE.c} -DMCRT0 ${.CURDIR}/crt0.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -crtbegin.o: crtbegin.c - @echo ${COMPILE.c} ${ELFDIR}/crtbegin.c -o ${.TARGET} - @${COMPILE.c} ${ELFDIR}/crtbegin.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -crtbeginS.o: crtbeginS.c - @echo ${COMPILE.c} ${PICFLAG} ${ELFDIR}/crtbeginS.c -o ${.TARGET} - @${COMPILE.c} ${PICFLAG} ${ELFDIR}/crtbeginS.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -crtend.o: crtend.c - @echo ${COMPILE.c} ${ELFDIR}/crtend.c -o ${.TARGET} - @${COMPILE.c} ${ELFDIR}/crtend.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -crtendS.o: crtendS.c - @echo ${COMPILE.c} ${PICFLAG} ${ELFDIR}/crtendS.c -o ${.TARGET} - @${COMPILE.c} ${PICFLAG} ${ELFDIR}/crtendS.c -o ${.TARGET}.o - @${LD} -x -r -o ${.TARGET} ${.TARGET}.o - @rm -f ${.TARGET}.o - -realinstall: - ${INSTALL} ${INSTALL_COPY} -o ${BINOWN} -g ${BINGRP} -m 444 ${OBJS} \ - ${DESTDIR}/usr/lib - -afterdepend: .depend - @(TMP=/tmp/_depend$$$$; \ - sed -e 's/^\([^\.]*\).o[ ]*:/\1.o g\1.o:/' \ - < .depend > $$TMP; \ - mv $$TMP .depend) - -.include <bsd.prog.mk> diff --git a/lib/csu/x86_64/crt0.c b/lib/csu/x86_64/crt0.c deleted file mode 100644 index b948fe048de..00000000000 --- a/lib/csu/x86_64/crt0.c +++ /dev/null @@ -1,128 +0,0 @@ -/* $OpenBSD: crt0.c,v 1.1 2004/01/28 01:46:17 mickey Exp $ */ -/* - * Copyright (c) 1995 Christopher G. Demetriou - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by Christopher G. Demetriou - * for the NetBSD Project. - * 4. The name of the author may not be used to endorse or promote products - * derived from this software without specific prior written permission - * - * 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. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: crt0.c,v 1.1 2004/01/28 01:46:17 mickey Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/param.h> -#include <stdlib.h> - -static char *_strrchr(char *, char); - -char **environ; -char *__progname = ""; - -char __progname_storage[NAME_MAX+1]; - -#ifdef MCRT0 -extern void monstartup(u_long, u_long); -extern void _mcleanup(void); -extern unsigned char _etext, _eprol; -#endif /* MCRT0 */ - -__asm(" .text ;\ - .align 8 ;\ - .globl __start ;\ - .globl _start ;\ -_start: ;\ -__start: ;\ - movq %rbx,%r9 ;\ - movq %rcx,%r8 ;\ - movq %rdx,%rcx ;\ - movq (%rsp),%rdi ;\ - leaq 16(%rsp,%rdi,8),%rdx ;\ - leaq 8(%rsp),%rsi ;\ - subq $8,%rsp ;\ - andq $~15,%rsp ;\ - addq $8,%rsp ;\ - jmp ___start ;\ -"); - -void -___start(argc, argv, envp, cleanup, obj, ps_strings) - int argc; - char **argv; - char ** envp; - void (*cleanup)(void); /* from shared loader */ - const void *obj; /* from shared loader */ - struct ps_strings *ps_strings; -{ - char *namep; - register struct kframe *kfp; - char *s; - - environ = envp; - - if ((namep = argv[0]) != NULL) { /* NULL ptr if argc = 0 */ - if ((__progname = _strrchr(namep, '/')) == NULL) - __progname = namep; - else - ++__progname; - for (s = __progname_storage; *__progname && - s < &__progname_storage[sizeof __progname_storage - 1]; ) - *s++ = *__progname++; - *s = '\0'; - __progname = __progname_storage; - } - -#ifdef MCRT0 - atexit(_mcleanup); - monstartup((u_long)&_eprol, (u_long)&_etext); -#endif - - __init(); - - exit(main(argc, argv, environ)); -} - - -static char * -_strrchr(p, ch) -register char *p, ch; -{ - register char *save; - - for (save = NULL;; ++p) { - if (*p == ch) - save = (char *)p; - if (!*p) - return(save); - } -/* NOTREACHED */ -} - -#ifdef MCRT0 -asm (" .text"); -asm ("_eprol:"); -#endif - diff --git a/lib/csu/x86_64/md_init.h b/lib/csu/x86_64/md_init.h deleted file mode 100644 index 243091f7255..00000000000 --- a/lib/csu/x86_64/md_init.h +++ /dev/null @@ -1,61 +0,0 @@ -/* $OpenBSD: md_init.h,v 1.1 2004/01/28 01:46:17 mickey Exp $ */ - -/*- - * Copyright (c) 2001 Ross Harvey - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the NetBSD - * Foundation, Inc. and its contributors. - * 4. Neither the name of The NetBSD Foundation 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 NETBSD FOUNDATION, INC. 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 FOUNDATION 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. - */ - -#define MD_SECT_CALL_FUNC(section, func) \ - __asm (".section "#section", \"ax\"\n" \ - " call " #func "\n" \ - " .previous") - -/* - * Align is after because we want the function to start at the first - * address of the section, but overall we want the section to be - * aligned by the align amount. - */ -#define MD_SECTION_PROLOGUE(sect, entry_pt) \ - __asm ( \ - ".section "#sect",\"ax\",@progbits \n" \ - " .globl " #entry_pt " \n" \ - " .type " #entry_pt ",@function \n" \ - #entry_pt": \n" \ - " .align 16 \n" \ - " /* fall thru */ \n" \ - " .previous") - - -#define MD_SECTION_EPILOGUE(sect) \ - __asm ( \ - ".section "#sect",\"ax\",@progbits \n" \ - " ret \n" \ - " .previous") diff --git a/lib/libarch/Makefile b/lib/libarch/Makefile index 1aef148c108..0c58b6a39d2 100644 --- a/lib/libarch/Makefile +++ b/lib/libarch/Makefile @@ -1,6 +1,6 @@ -# $OpenBSD: Makefile,v 1.5 2004/02/26 00:11:05 deraadt Exp $ +# $OpenBSD: Makefile,v 1.6 2004/02/27 17:36:14 deraadt Exp $ # $NetBSD: Makefile,v 1.8 1996/02/21 02:43:52 jtk Exp $ -SUBDIR= alpha i386 x86_64 +SUBDIR= alpha i386 amd64 .include <bsd.subdir.mk> diff --git a/lib/libarch/amd64/Makefile b/lib/libarch/amd64/Makefile index b32bd7996b8..ec8831b5ccf 100644 --- a/lib/libarch/amd64/Makefile +++ b/lib/libarch/amd64/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.1 2004/02/26 00:10:54 deraadt Exp $ +# $OpenBSD: Makefile,v 1.2 2004/02/27 17:36:14 deraadt Exp $ # $NetBSD: Makefile,v 1.1 1996/02/21 02:45:47 jtk Exp $ MAN+= x86_64_get_ldt.2 \ @@ -7,8 +7,8 @@ MANSUBDIR=amd64 MLINKS+=x86_64_get_ldt.2 x86_64_set_ldt.2 \ x86_64_get_ioperm.2 x86_64_set_ioperm.2 -.if ${MACHINE_ARCH} == "x86_64" -.PATH: ${LIBC}/x86_64 +.if ${MACHINE_ARCH} == "amd64" +.PATH: ${LIBC}/amd64 NOPIC= SRCS+= x86_64_get_ldt.c x86_64_set_ldt.c \ x86_64_iopl.c x86_64_get_ioperm.c x86_64_set_ioperm.c diff --git a/lib/libc/arch/amd64/Makefile.inc b/lib/libc/arch/amd64/Makefile.inc index 53949f1c6bc..c6e08b41c00 100644 --- a/lib/libc/arch/amd64/Makefile.inc +++ b/lib/libc/arch/amd64/Makefile.inc @@ -1,5 +1,5 @@ -# $OpenBSD: Makefile.inc,v 1.1 2004/01/28 01:44:44 mickey Exp $ +# $OpenBSD: Makefile.inc,v 1.2 2004/02/27 17:36:14 deraadt Exp $ -KMINCLUDES= arch/x86_64/SYS.h +KMINCLUDES= arch/amd64/SYS.h KMSRCS= bcmp.S bzero.S ffs.S strcat.S strcmp.S strcpy.S strlen.S \ htonl.S htons.S ntohl.S ntohs.S diff --git a/lib/libc/arch/x86_64/Makefile.inc b/lib/libc/arch/x86_64/Makefile.inc deleted file mode 100644 index 53949f1c6bc..00000000000 --- a/lib/libc/arch/x86_64/Makefile.inc +++ /dev/null @@ -1,5 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.1 2004/01/28 01:44:44 mickey Exp $ - -KMINCLUDES= arch/x86_64/SYS.h -KMSRCS= bcmp.S bzero.S ffs.S strcat.S strcmp.S strcpy.S strlen.S \ - htonl.S htons.S ntohl.S ntohs.S diff --git a/lib/libc/arch/x86_64/SYS.h b/lib/libc/arch/x86_64/SYS.h deleted file mode 100644 index ebac9b0df16..00000000000 --- a/lib/libc/arch/x86_64/SYS.h +++ /dev/null @@ -1,135 +0,0 @@ -/* $OpenBSD: SYS.h,v 1.3 2004/02/22 21:28:21 miod Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)SYS.h 5.5 (Berkeley) 5/7/91 - * $NetBSD: SYS.h,v 1.5 2002/06/03 18:30:32 fvdl Exp $ - */ - -/* - * XXXfvdl change to use syscall/sysret. - */ - -#include <machine/asm.h> -#include <sys/syscall.h> - -#ifdef __STDC__ - -#define SYSTRAP(x) movl $(SYS_ ## x),%eax; movq %rcx, %r10; syscall -#define OSYSTRAP(x) movl $(SYS_ ## x),%eax; int $0x80 -#define SYSENTRY(x) \ - ENTRY(_thread_sys_ ## x); \ - .weak _C_LABEL(x); \ - _C_LABEL(x) = _C_LABEL(_thread_sys_ ## x) -#else - -#define SYSTRAP(x) movl $(SYS_/**/x),%eax; movq %rcx, %r10; syscall -#define OSYSTRAP(x) movl $(SYS_/**/x),%eax; int $0x80 -#define SYSENTRY(x) \ - ENTRY(_thread_sys_/**/x); \ - .weak _C_LABEL(x); \ - _C_LABEL(x) = _C_LABEL(_thread_sys_/**/x) - -#endif - -#define CERROR _C_LABEL(__cerror) -#define CURBRK _C_LABEL(__curbrk) - -#define _SYSCALL_NOERROR(x,y) \ - SYSENTRY(x); \ - SYSTRAP(y) - -#define _OSYSCALL_NOERROR(x,y) \ - SYSENTRY(x); \ - OSYSTRAP(y) - -#ifdef PIC -#define _SYSCALL(x,y) \ - .text; _ALIGN_TEXT; \ - 2: mov PIC_GOT(CERROR), %rcx; \ - jmp *%rcx; \ - _SYSCALL_NOERROR(x,y); \ - jc 2b -#define _OSYSCALL(x,y) \ - .text; _ALIGN_TEXT; \ - 2: mov PIC_GOT(CERROR), %rcx; \ - jmp *%rcx; \ - _OSYSCALL_NOERROR(x,y); \ - jc 2b -#else -#define _SYSCALL(x,y) \ - .text; _ALIGN_TEXT; \ - 2: jmp CERROR; \ - _SYSCALL_NOERROR(x,y); \ - jc 2b -#define _OSYSCALL(x,y) \ - .text; _ALIGN_TEXT; \ - 2: jmp CERROR; \ - _OSYSCALL_NOERROR(x,y); \ - jc 2b -#endif - -#define SYSCALL_NOERROR(x) \ - _SYSCALL_NOERROR(x,x) - -#define OSYSCALL_NOERROR(x) \ - _OSYSCALL_NOERROR(x,x) - -#define SYSCALL(x) \ - _SYSCALL(x,x) - -#define OSYSCALL(x) \ - _OSYSCALL(x,x) - -#define PSEUDO_NOERROR(x,y) \ - _SYSCALL_NOERROR(x,y); \ - ret - -#define PSEUDO(x,y) \ - _SYSCALL(x,y); \ - ret - -#define RSYSCALL_NOERROR(x) \ - PSEUDO_NOERROR(x,x) - -#define RSYSCALL(x) \ - PSEUDO(x,x) - -#define WSYSCALL(weak,strong) \ - WEAK_ALIAS(weak,strong); \ - PSEUDO(strong,weak) - - .globl CERROR diff --git a/lib/libc/arch/x86_64/gen/Makefile.inc b/lib/libc/arch/x86_64/gen/Makefile.inc deleted file mode 100644 index a150d95eba0..00000000000 --- a/lib/libc/arch/x86_64/gen/Makefile.inc +++ /dev/null @@ -1,7 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.1 2004/01/28 01:44:44 mickey Exp $ - -SRCS+= _setjmp.S alloca.S fabs.S frexp.c infinity.c isinf.c isnan.c ldexp.c \ - modf.S setjmp.S sigsetjmp.S -SRCS+= flt_rounds.S fpgetmask.S fpgetround.S fpgetsticky.S fpsetmask.S \ - fpsetround.S fpsetsticky.S - diff --git a/lib/libc/arch/x86_64/gen/_setjmp.S b/lib/libc/arch/x86_64/gen/_setjmp.S deleted file mode 100644 index d9a59f7aa14..00000000000 --- a/lib/libc/arch/x86_64/gen/_setjmp.S +++ /dev/null @@ -1,82 +0,0 @@ -/* $OpenBSD: _setjmp.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: _setjmp.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */ - -/* - * Copyright (c) 2001 Wasabi Systems, Inc. - * All rights reserved. - * - * Written by Frank van der Linden for Wasabi Systems, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the NetBSD Project by - * Wasabi Systems, Inc. - * 4. The name of Wasabi Systems, Inc. may not be used to endorse - * or promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC - * 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> -#include <machine/setjmp.h> - -/* - * 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. - * The previous signal state is NOT restored. - */ - -ENTRY(_setjmp) - movq (%rsp),%r11 - movq %rbx,(_JB_RBX * 8)(%rdi) - movq %rbp,(_JB_RBP * 8)(%rdi) - movq %r12,(_JB_R12 * 8)(%rdi) - movq %r13,(_JB_R13 * 8)(%rdi) - movq %r14,(_JB_R14 * 8)(%rdi) - movq %r15,(_JB_R15 * 8)(%rdi) - movq %rsp,(_JB_RSP * 8)(%rdi) - movq %r11,(_JB_PC * 8)(%rdi) - - xorl %eax,%eax - ret - -ENTRY(_longjmp) - movq (_JB_RBX * 8)(%rdi),%rbx - movq (_JB_RBP * 8)(%rdi),%rbp - movq (_JB_R12 * 8)(%rdi),%r12 - movq (_JB_R13 * 8)(%rdi),%r13 - movq (_JB_R14 * 8)(%rdi),%r14 - movq (_JB_R15 * 8)(%rdi),%r15 - movq (_JB_RSP * 8)(%rdi),%rsp - movq (_JB_PC * 8)(%rdi),%r11 - - movl %esi,%eax - testl %eax,%eax - jnz 1f - incl %eax -1: movq %r11,0(%rsp) - ret diff --git a/lib/libc/arch/x86_64/gen/alloca.S b/lib/libc/arch/x86_64/gen/alloca.S deleted file mode 100644 index 8c15583012c..00000000000 --- a/lib/libc/arch/x86_64/gen/alloca.S +++ /dev/null @@ -1,13 +0,0 @@ -/* $OpenBSD: alloca.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: alloca.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */ - -#include <machine/asm.h> - -ENTRY(alloca) - popq %rdx - movq %rsp,%rcx - addq $15,%rdi /* round up to 16 bytes */ - andq $~15,%rdi - subq %rdi,%rsp - movq %rsp,%rax - jmp *%rdx diff --git a/lib/libc/arch/x86_64/gen/fabs.S b/lib/libc/arch/x86_64/gen/fabs.S deleted file mode 100644 index ab31ac612fb..00000000000 --- a/lib/libc/arch/x86_64/gen/fabs.S +++ /dev/null @@ -1,17 +0,0 @@ -/* $OpenBSD: fabs.S,v 1.2 2004/02/08 17:29:57 deraadt Exp $ */ -/* $NetBSD: fabs.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */ - -#include <machine/asm.h> - -/* - * Ok, this sucks. Is there really no way to push an xmm register onto - * the FP stack directly? - */ - -ENTRY(fabs) - movsd %xmm0, -8(%rsp) - fldl -8(%rsp) - fabs - fstpl -8(%rsp) - movsd -8(%rsp),%xmm0 - ret diff --git a/lib/libc/arch/x86_64/gen/flt_rounds.S b/lib/libc/arch/x86_64/gen/flt_rounds.S deleted file mode 100644 index 009c59ab64a..00000000000 --- a/lib/libc/arch/x86_64/gen/flt_rounds.S +++ /dev/null @@ -1,30 +0,0 @@ -/* $OpenBSD: flt_rounds.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: flt_rounds.S,v 1.2 2002/06/06 23:04:35 fvdl Exp $ */ - -/* - * Written by J.T. Conklin, Apr 4, 1995 - * Public domain. - */ - -#include <machine/asm.h> - - .text - _ALIGN_TEXT -_map: - .byte 1 /* round to nearest */ - .byte 3 /* round to negative infinity */ - .byte 2 /* round to positive infinity */ - .byte 0 /* round to zero */ - -ENTRY(__flt_rounds) - fnstcw -4(%rsp) - movl -4(%rsp),%eax - shrl $10,%eax - andl $3,%eax -#ifdef PIC - leaq PIC_GOT(_map),%rcx - movb (%rcx,%rax,1),%al -#else - movb _map(,%rax,1),%al -#endif - ret diff --git a/lib/libc/arch/x86_64/gen/fpgetmask.S b/lib/libc/arch/x86_64/gen/fpgetmask.S deleted file mode 100644 index 688ba49cddc..00000000000 --- a/lib/libc/arch/x86_64/gen/fpgetmask.S +++ /dev/null @@ -1,27 +0,0 @@ -/* $OpenBSD: fpgetmask.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: fpgetmask.S,v 1.3 2002/06/12 19:17:22 fvdl Exp $ */ - -/* - * Written by J.T. Conklin, Apr 4, 1995 - * Public domain. - */ - -#include <machine/asm.h> - -/* - * XXX only read x87 control word here. If an application only - * uses the fp* interface to manipulate FP bits, it should - * always remain in sync with the SSE mxcsr register. - */ - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpgetmask, _fpgetmask) -ENTRY(_fpgetmask) -#else -ENTRY(fpgetmask) -#endif - fnstcw -4(%rsp) - movl -4(%rsp),%eax - notl %eax - andl $63,%eax - ret diff --git a/lib/libc/arch/x86_64/gen/fpgetround.S b/lib/libc/arch/x86_64/gen/fpgetround.S deleted file mode 100644 index 5220b3ef396..00000000000 --- a/lib/libc/arch/x86_64/gen/fpgetround.S +++ /dev/null @@ -1,26 +0,0 @@ -/* $OpenBSD: fpgetround.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: fpgetround.S,v 1.3 2002/06/12 19:17:22 fvdl Exp $ */ - -/* - * Written by J.T. Conklin, Apr 4, 1995 - * Public domain. - */ - -#include <machine/asm.h> - -/* - * XXX store only x87 state. If an application only uses the fp* - * interface, this should be in sync with the SSE mxcsr register. - */ - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpgetround, _fpgetround) -ENTRY(_fpgetround) -#else -ENTRY(fpgetround) -#endif - fnstcw -4(%rsp) - movl -4(%rsp),%eax - rorl $10,%eax - andl $3,%eax - ret diff --git a/lib/libc/arch/x86_64/gen/fpgetsticky.S b/lib/libc/arch/x86_64/gen/fpgetsticky.S deleted file mode 100644 index fd12e2b500a..00000000000 --- a/lib/libc/arch/x86_64/gen/fpgetsticky.S +++ /dev/null @@ -1,28 +0,0 @@ -/* $OpenBSD: fpgetsticky.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: fpgetsticky.S,v 1.3 2002/06/12 19:17:22 fvdl Exp $ */ - -/* - * Written by Frank van der Linden at Wasabi Systems for NetBSD. - * Public domain. - * - */ - -#include <machine/asm.h> - -/* - * XXX read both the x87 and SSE status words here, and OR - * them to get a complete picture of exceptions. - */ - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpgetsticky, _fpgetsticky) -ENTRY(_fpgetsticky) -#else -ENTRY(fpgetsticky) -#endif - fnstsw -4(%rsp) - stmxcsr -8(%rsp) - movl -4(%rsp),%eax - orl -8(%rsp),%eax - andl $63,%eax - ret diff --git a/lib/libc/arch/x86_64/gen/fpsetmask.S b/lib/libc/arch/x86_64/gen/fpsetmask.S deleted file mode 100644 index 665d55e8e47..00000000000 --- a/lib/libc/arch/x86_64/gen/fpsetmask.S +++ /dev/null @@ -1,42 +0,0 @@ -/* $OpenBSD: fpsetmask.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: fpsetmask.S,v 1.3 2002/06/12 19:17:22 fvdl Exp $ */ - -/* - * Written by Frank van der Linden at Wasabi Systems for NetBSD. - * Public domain. - */ - -#include <machine/asm.h> - -/* - * XXX set both the x87 control word and the SSE mxcsr register. - * Applications should only set exception and round flags - * via the fp*() interface, otherwise the status words - * will get our of sync. - */ - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpsetmask, _fpsetmask) -ENTRY(_fpsetmask) -#else -ENTRY(fpsetmask) -#endif - fnstcw -4(%rsp) - stmxcsr -8(%rsp) - andl $63,%edi - notl %edi - - movl -4(%rsp),%edx - movl %edx,%eax - andl %edi,%edx - movl %edx,-4(%rsp) - - movl -8(%rsp),%edx - roll $7,%edi - andl %edi,%edx - movl %edx,-8(%rsp) - - fldcw -4(%rsp) - ldmxcsr -8(%rsp) - andl $63,%eax - ret diff --git a/lib/libc/arch/x86_64/gen/fpsetround.S b/lib/libc/arch/x86_64/gen/fpsetround.S deleted file mode 100644 index b8508f8b6bd..00000000000 --- a/lib/libc/arch/x86_64/gen/fpsetround.S +++ /dev/null @@ -1,49 +0,0 @@ -/* $OpenBSD: fpsetround.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: fpsetround.S,v 1.3 2002/06/12 19:17:22 fvdl Exp $ */ - -/* - * Written by Frank van der Linden at Wasabi Systems for NetBSD. - * Public domain. - */ - -#include <machine/asm.h> - -/* - * XXX set both the x87 control word and the SSE mxcsr register. - * Applications should only set exception and round flags - * via the fp*() interface, otherwise the status words - * will get our of sync. - */ - - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpsetround, _fpsetround) -ENTRY(_fpsetround) -#else -ENTRY(fpsetround) -#endif - fnstcw -4(%rsp) - stmxcsr -8(%rsp) - - andl $3,%edi - - movl -4(%rsp),%edx - rorl $10,%edx - movl %edx,%eax - andl $3,%eax - - andl $~3,%edx - orl %edi,%edx - roll $10,%edx - movl %edx,-4(%rsp) - - movl -8(%rsp),%edx - rorl $13,%edx - andl $~3,%edx - orl %edi,%edx - roll $13,%edx - movl %edx,-8(%rsp) - - ldmxcsr -8(%rsp) - fldcw -4(%rsp) - ret diff --git a/lib/libc/arch/x86_64/gen/fpsetsticky.S b/lib/libc/arch/x86_64/gen/fpsetsticky.S deleted file mode 100644 index c8e61101a12..00000000000 --- a/lib/libc/arch/x86_64/gen/fpsetsticky.S +++ /dev/null @@ -1,43 +0,0 @@ -/* $OpenBSD: fpsetsticky.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: fpsetsticky.S,v 1.3 2002/06/12 19:17:23 fvdl Exp $ */ - -/* - * Written by Frank van der Linden at Wasabi Systems for NetBSD - * Public domain. - */ - -#include <machine/asm.h> - -/* - * XXX set both the x87 status word and the SSE mxcsr register. - * Applications should only set exception and round flags - * via the fp*() interface, otherwise the status words - * will get our of sync. - */ - - -#ifdef WEAK_ALIAS -WEAK_ALIAS(fpsetsticky, _fpsetsticky) -ENTRY(_fpsetsticky) -#else -ENTRY(fpsetsticky) -#endif - fnstenv -28(%rsp) - stmxcsr -32(%rsp) - - andl $63,%edi - - movl -24(%rsp),%eax - movl %eax,%edx - andl $63,%eax - - orl %edi,%edx - movl %edx,-24(%rsp) - - movl -32(%rsp),%edx - orl %edi,%edx - movl %edx,-32(%rsp) - - ldmxcsr -32(%rsp) - fldenv -28(%rsp) - ret diff --git a/lib/libc/arch/x86_64/gen/frexp.c b/lib/libc/arch/x86_64/gen/frexp.c deleted file mode 100644 index bc84467fa9e..00000000000 --- a/lib/libc/arch/x86_64/gen/frexp.c +++ /dev/null @@ -1,74 +0,0 @@ -/* $OpenBSD: frexp.c,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * 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. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: frexp.c,v 1.1 2004/01/28 01:44:45 mickey Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/types.h> -#include <machine/ieee.h> - -/* - * Split the given value into a fraction in the range [0.5, 1.0) and - * an exponent, such that frac * (2^exp) == value. If value is 0, - * return 0. - */ -double -frexp(value, eptr) - double value; - int *eptr; -{ - union { - double v; - struct ieee_double s; - } u; - - if (value) { - /* - * Fractions in [0.5..1.0) have an exponent of 2^-1. - * Leave Inf and NaN alone, however. - * WHAT ABOUT DENORMS? - */ - u.v = value; - if (u.s.dbl_exp != DBL_EXP_INFNAN) { - *eptr = u.s.dbl_exp - (DBL_EXP_BIAS - 1); - u.s.dbl_exp = DBL_EXP_BIAS - 1; - } - return (u.v); - } else { - *eptr = 0; - return ((double)0); - } -} diff --git a/lib/libc/arch/x86_64/gen/infinity.c b/lib/libc/arch/x86_64/gen/infinity.c deleted file mode 100644 index d1c2aa9a2f4..00000000000 --- a/lib/libc/arch/x86_64/gen/infinity.c +++ /dev/null @@ -1,12 +0,0 @@ -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: infinity.c,v 1.2 2004/02/08 17:31:44 deraadt Exp $"; -#endif /* LIBC_SCCS and not lint */ - -/* infinity.c */ - -#include <math.h> - -/* bytes for +Infinity on a 387 */ -char __infinity[] __attribute__((__aligned__(sizeof(double)))) = - { 0, 0, 0, 0, 0, 0, (char)0xf0, 0x7f }; - diff --git a/lib/libc/arch/x86_64/gen/isinf.c b/lib/libc/arch/x86_64/gen/isinf.c deleted file mode 100644 index 6d29660d7f2..00000000000 --- a/lib/libc/arch/x86_64/gen/isinf.c +++ /dev/null @@ -1,51 +0,0 @@ -/* $OpenBSD: isinf.c,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * 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. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: isinf.c,v 1.1 2004/01/28 01:44:45 mickey Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/types.h> -#include <machine/ieee.h> - -int -isinf(d) - double d; -{ - struct ieee_double *p = (struct ieee_double *)&d; - - return (p->dbl_exp == DBL_EXP_INFNAN && - p->dbl_frach == 0 && p->dbl_fracl == 0); -} diff --git a/lib/libc/arch/x86_64/gen/isnan.c b/lib/libc/arch/x86_64/gen/isnan.c deleted file mode 100644 index 5df82ecce25..00000000000 --- a/lib/libc/arch/x86_64/gen/isnan.c +++ /dev/null @@ -1,51 +0,0 @@ -/* $OpenBSD: isnan.c,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ - -/* - * Copyright (c) 1992, 1993 - * The Regents of the University of California. All rights reserved. - * - * This software was developed by the Computer Systems Engineering group - * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and - * contributed to Berkeley. - * - * 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. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: isnan.c,v 1.1 2004/01/28 01:44:45 mickey Exp $"; -#endif /* LIBC_SCCS and not lint */ - -#include <sys/types.h> -#include <machine/ieee.h> - -int -isnan(d) - double d; -{ - struct ieee_double *p = (struct ieee_double *)&d; - - return (p->dbl_exp == DBL_EXP_INFNAN && - (p->dbl_frach != 0 || p->dbl_fracl != 0)); -} diff --git a/lib/libc/arch/x86_64/gen/ldexp.c b/lib/libc/arch/x86_64/gen/ldexp.c deleted file mode 100644 index b3e95956652..00000000000 --- a/lib/libc/arch/x86_64/gen/ldexp.c +++ /dev/null @@ -1,57 +0,0 @@ -/* $OpenBSD: ldexp.c,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Charles Hannum. - * - * 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. - */ - -#if defined(LIBC_SCCS) && !defined(lint) -static char rcsid[] = "$OpenBSD: ldexp.c,v 1.1 2004/01/28 01:44:45 mickey Exp $"; -#endif /* LIBC_SCCS and not lint */ - -/* - * ldexp(value, exp): return value * (2 ** exp). - */ - -double -ldexp (double value, int exp) -{ - double temp; -#if __GNUC__ >= 2 - __asm ("fscale" - : "=t" (temp) - : "0" (value), "u" ((double)exp)); -#else - __asm ("fscale; fstp %%st(1)" - : "=f" (temp) - : "f" (value), "0" ((double)exp)); -#endif - return (temp); -} diff --git a/lib/libc/arch/x86_64/gen/modf.S b/lib/libc/arch/x86_64/gen/modf.S deleted file mode 100644 index 44ef74ab668..00000000000 --- a/lib/libc/arch/x86_64/gen/modf.S +++ /dev/null @@ -1,91 +0,0 @@ -/* $OpenBSD: modf.S,v 1.2 2004/02/08 17:29:39 deraadt Exp $ */ -/* $NetBSD: modf.S,v 1.1 2001/06/19 00:25:03 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * Sean Eric Fagan. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)modf.s 5.5 (Berkeley) 3/18/91 - */ - -#include <machine/asm.h> - -/* - * modf(value, iptr): return fractional part of value, and stores the - * integral part into iptr (a pointer to double). - * - * Written by Sean Eric Fagan (sef@kithrup.COM) - * Sun Mar 11 20:27:30 PST 1990 - */ - -/* With CHOP mode on, frndint behaves as TRUNC does. Useful. */ -ENTRY(modf) - - /* - * Set chop mode. - */ - fnstcw -12(%rsp) - movw -12(%rsp),%dx - orw $3072,%dx - movw %dx,-16(%rsp) - fldcw -16(%rsp) - - /* - * Get integral part. - */ - movsd %xmm0,-24(%rsp) - fldl -24(%rsp) - frndint - fstpl -8(%rsp) - - /* - * Restore control word. - */ - fldcw -12(%rsp) - - /* - * Store integral part. - */ - movsd -8(%rsp),%xmm0 - movsd %xmm0,(%rdi) - - /* - * Get fractional part and return it. - */ - fldl -24(%rsp) - fsubl -8(%rsp) - fstpl -8(%rsp) - movsd -8(%rsp),%xmm0 - - ret diff --git a/lib/libc/arch/x86_64/gen/setjmp.S b/lib/libc/arch/x86_64/gen/setjmp.S deleted file mode 100644 index b7ae81f2141..00000000000 --- a/lib/libc/arch/x86_64/gen/setjmp.S +++ /dev/null @@ -1,103 +0,0 @@ -/* $OpenBSD: setjmp.S,v 1.2 2004/02/09 21:25:08 deraadt Exp $ */ -/* $NetBSD: __setjmp14.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */ - -/* - * Copyright (c) 2001 Wasabi Systems, Inc. - * All rights reserved. - * - * Written by Frank van der Linden for Wasabi Systems, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the NetBSD Project by - * Wasabi Systems, Inc. - * 4. The name of Wasabi Systems, Inc. may not be used to endorse - * or promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC - * 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> -#include <machine/setjmp.h> - -/* - * 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. - * The previous signal state is restored. - */ - -ENTRY(setjmp) - pushq %rdi - xorq %rdi,%rdi -#ifdef PIC - call PIC_PLT(_C_LABEL(sigblock)) -#else - call _C_LABEL(sigblock) -#endif - popq %rdi - movq %rax,(_JB_SIGMASK * 8)(%rdi) - - movq (%rsp),%r11 - movq %rbx,(_JB_RBX * 8)(%rdi) - movq %rbp,(_JB_RBP * 8)(%rdi) - movq %r12,(_JB_R12 * 8)(%rdi) - movq %r13,(_JB_R13 * 8)(%rdi) - movq %r14,(_JB_R14 * 8)(%rdi) - movq %r15,(_JB_R15 * 8)(%rdi) - movq %rsp,(_JB_RSP * 8)(%rdi) - movq %r11,(_JB_PC * 8)(%rdi) - -2: xorl %eax,%eax - ret - -ENTRY(longjmp) - movq %rdi,%r12 - movl %esi,%r8d - - movq (_JB_SIGMASK * 8)(%rdi),%rdi - pushq %r8 -#ifdef PIC - call PIC_PLT(_C_LABEL(sigsetmask)) -#else - call _C_LABEL(sigsetmask) -#endif - popq %r8 - movq (_JB_RBX * 8)(%r12),%rbx - movq (_JB_RBP * 8)(%r12),%rbp - movq (_JB_R13 * 8)(%r12),%r13 - movq (_JB_R14 * 8)(%r12),%r14 - movq (_JB_R15 * 8)(%r12),%r15 - movq (_JB_RSP * 8)(%r12),%rsp - movq (_JB_PC * 8)(%r12),%r11 - movq (_JB_R12 * 8)(%r12),%r12 - - movl %r8d,%eax - testl %eax,%eax - jnz 1f - incl %eax -1: movq %r11,0(%rsp) - ret diff --git a/lib/libc/arch/x86_64/gen/sigsetjmp.S b/lib/libc/arch/x86_64/gen/sigsetjmp.S deleted file mode 100644 index e4c26d50927..00000000000 --- a/lib/libc/arch/x86_64/gen/sigsetjmp.S +++ /dev/null @@ -1,107 +0,0 @@ -/* $OpenBSD: sigsetjmp.S,v 1.2 2004/02/09 21:25:08 deraadt Exp $ */ -/* $NetBSD: __setjmp14.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */ - -/* - * Copyright (c) 2001 Wasabi Systems, Inc. - * All rights reserved. - * - * Written by Frank van der Linden for Wasabi Systems, Inc. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed for the NetBSD Project by - * Wasabi Systems, Inc. - * 4. The name of Wasabi Systems, Inc. may not be used to endorse - * or promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``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 WASABI SYSTEMS, INC - * 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> -#include <machine/setjmp.h> - -/* - * 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. - * The previous signal state is restored. - */ - -ENTRY(sigsetjmp) - movl %esi,(_JB_SIGFLAG * 8)(%rdi) - testl %esi,%esi - jz 2f - - pushq %rdi - xorq %rdi,%rdi -#ifdef PIC - call PIC_PLT(_C_LABEL(sigblock)) -#else - call _C_LABEL(sigblock) -#endif - popq %rdi - movq %rax,(_JB_SIGMASK * 8)(%rdi) - -2: movq (%rsp),%r11 - movq %rbx,(_JB_RBX * 8)(%rdi) - movq %rbp,(_JB_RBP * 8)(%rdi) - movq %r12,(_JB_R12 * 8)(%rdi) - movq %r13,(_JB_R13 * 8)(%rdi) - movq %r14,(_JB_R14 * 8)(%rdi) - movq %r15,(_JB_R15 * 8)(%rdi) - movq %rsp,(_JB_RSP * 8)(%rdi) - movq %r11,(_JB_PC * 8)(%rdi) - -2: xorl %eax,%eax - ret - -ENTRY(siglongjmp) - movq %rdi,%r12 - pushq %rsi - cmpl $0, (_JB_SIGFLAG * 8)(%rdi) - jz 2f - - movq (_JB_SIGMASK * 8)(%rdi),%rdi -#ifdef PIC - call PIC_PLT(_C_LABEL(sigsetmask)) -#else - call _C_LABEL(sigsetmask) -#endif -2: popq %rax - movq (_JB_RBX * 8)(%r12),%rbx - movq (_JB_RBP * 8)(%r12),%rbp - movq (_JB_R13 * 8)(%r12),%r13 - movq (_JB_R14 * 8)(%r12),%r14 - movq (_JB_R15 * 8)(%r12),%r15 - movq (_JB_RSP * 8)(%r12),%rsp - movq (_JB_PC * 8)(%r12),%r11 - movq (_JB_R12 * 8)(%r12),%r12 - - testl %eax,%eax - jnz 1f - incl %eax -1: movq %r11,0(%rsp) - ret diff --git a/lib/libc/arch/x86_64/net/Makefile.inc b/lib/libc/arch/x86_64/net/Makefile.inc deleted file mode 100644 index 4c046a624dd..00000000000 --- a/lib/libc/arch/x86_64/net/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.1 2004/01/28 01:44:45 mickey Exp $ - -SRCS+= htonl.S htons.S ntohl.S ntohs.S -LSRCS+= htonl.c htons.c ntohl.c ntohs.c diff --git a/lib/libc/arch/x86_64/net/htonl.S b/lib/libc/arch/x86_64/net/htonl.S deleted file mode 100644 index e4c951a4b40..00000000000 --- a/lib/libc/arch/x86_64/net/htonl.S +++ /dev/null @@ -1,10 +0,0 @@ -/* $OpenBSD: htonl.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ - -/* Written by Artur Grabowski. Public Domain */ - -#include <machine/asm.h> - -ENTRY(_C_LABEL(htonl)) - movl %edi,%eax - bswapl %eax - ret diff --git a/lib/libc/arch/x86_64/net/htons.S b/lib/libc/arch/x86_64/net/htons.S deleted file mode 100644 index 62295abcd97..00000000000 --- a/lib/libc/arch/x86_64/net/htons.S +++ /dev/null @@ -1,11 +0,0 @@ -/* $OpenBSD: htons.S,v 1.2 2004/02/10 00:08:11 drahn Exp $ */ - -/* Written by Artur Grabowski. Public Domain */ - -#include <machine/asm.h> - -ENTRY(_C_LABEL(htons)) - movl %edi,%eax - xchgb %ah,%al - ret - diff --git a/lib/libc/arch/x86_64/net/ntohl.S b/lib/libc/arch/x86_64/net/ntohl.S deleted file mode 100644 index 0e39c1317e0..00000000000 --- a/lib/libc/arch/x86_64/net/ntohl.S +++ /dev/null @@ -1,10 +0,0 @@ -/* $OpenBSD: ntohl.S,v 1.2 2004/02/10 00:08:11 drahn Exp $ */ - -/* Written by Artur Grabowski. Public Domain */ - -#include <machine/asm.h> - -ENTRY(_C_LABEL(ntohl)) - movl %edi,%eax - bswapl %eax - ret diff --git a/lib/libc/arch/x86_64/net/ntohs.S b/lib/libc/arch/x86_64/net/ntohs.S deleted file mode 100644 index 3ee61fc5684..00000000000 --- a/lib/libc/arch/x86_64/net/ntohs.S +++ /dev/null @@ -1,11 +0,0 @@ -/* $OpenBSD: ntohs.S,v 1.2 2004/02/10 00:08:11 drahn Exp $ */ - -/* Written by Artur Grabowski. Public Domain */ - -#include <machine/asm.h> - -ENTRY(_C_LABEL(ntohs)) - movl %edi,%eax - xchgb %ah,%al - ret - diff --git a/lib/libc/arch/x86_64/string/Makefile.inc b/lib/libc/arch/x86_64/string/Makefile.inc deleted file mode 100644 index 002194e1d8c..00000000000 --- a/lib/libc/arch/x86_64/string/Makefile.inc +++ /dev/null @@ -1,6 +0,0 @@ -# $OpenBSD: Makefile.inc,v 1.1 2004/01/28 01:44:45 mickey Exp $ - -SRCS+= bcmp.c ffs.S index.c memchr.c memcmp.c bcopy.c bzero.c \ - rindex.c strcat.c strcmp.c strcpy.c strcspn.c strlen.S \ - strncat.c strncmp.c strncpy.c strpbrk.c strsep.c \ - strspn.c strstr.c swab.c memset.c strlcpy.c strlcat.c diff --git a/lib/libc/arch/x86_64/string/ffs.S b/lib/libc/arch/x86_64/string/ffs.S deleted file mode 100644 index 2666bc49e9d..00000000000 --- a/lib/libc/arch/x86_64/string/ffs.S +++ /dev/null @@ -1,18 +0,0 @@ -/* $OpenBSD: ffs.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* - * Written by J.T. Conklin <jtc@netbsd.org>. - * Public domain. - * Adapted for NetBSD/x86_64 by Frank van der Linden <fvdl@wasabisystems.com> - */ - -#include <machine/asm.h> - -ENTRY(ffs) - bsfl %edi,%eax - jz L1 /* ZF is set if all bits are 0 */ - incl %eax /* bits numbered from 1, not 0 */ - ret - - _ALIGN_TEXT -L1: xorl %eax,%eax /* clear result */ - ret diff --git a/lib/libc/arch/x86_64/string/strlen.S b/lib/libc/arch/x86_64/string/strlen.S deleted file mode 100644 index 3afccb8f1ac..00000000000 --- a/lib/libc/arch/x86_64/string/strlen.S +++ /dev/null @@ -1,18 +0,0 @@ -/* $OpenBSD: strlen.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* - * Written by J.T. Conklin <jtc@netbsd.org>. - * Public domain. - * Adapted for NetBSD/x86_64 by Frank van der Linden <fvdl@wasabisystems.com> - */ - -#include <machine/asm.h> - -ENTRY(strlen) - cld /* set search forward */ - xorl %eax,%eax /* set search for null terminator */ - movq $-1,%rcx /* set search for lots of characters */ - repne /* search! */ - scasb - notq %rcx /* get length by taking complement */ - leaq -1(%rcx),%rax /* and subtracting one */ - ret diff --git a/lib/libc/arch/x86_64/sys/Ovfork.S b/lib/libc/arch/x86_64/sys/Ovfork.S deleted file mode 100644 index 865d460014f..00000000000 --- a/lib/libc/arch/x86_64/sys/Ovfork.S +++ /dev/null @@ -1,67 +0,0 @@ -/* $OpenBSD: Ovfork.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: Ovfork.S,v 1.2 2002/06/03 18:30:33 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)Ovfork.s 5.1 (Berkeley) 4/23/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - -/* - * pid = vfork(); - * - * %edx == 0 in parent process, %edx == 1 in child process. - * %eax == pid of child in parent, %eax == pid of parent in child. - * - */ -SYSENTRY(vfork) - popq %r9 /* my rta into r9 */ - SYSTRAP(vfork) - jc err - decl %edx - andl %edx,%eax - jmp *%r9 -err: - pushq %r9 -#ifdef PIC - movq PIC_GOT(CERROR), %rcx - jmp *%rcx -#else - jmp CERROR -#endif diff --git a/lib/libc/arch/x86_64/sys/brk.S b/lib/libc/arch/x86_64/sys/brk.S deleted file mode 100644 index 3c73525096e..00000000000 --- a/lib/libc/arch/x86_64/sys/brk.S +++ /dev/null @@ -1,89 +0,0 @@ -/* $OpenBSD: brk.S,v 1.2 2004/02/10 00:22:51 drahn Exp $ */ -/* $NetBSD: brk.S,v 1.2 2002/06/03 18:30:33 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)brk.s 5.2 (Berkeley) 12/17/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - - .globl _end - .globl _C_LABEL(__minbrk) - .globl _C_LABEL(minbrk) - .globl __curbrk - -#ifdef WEAK_ALIAS -WEAK_ALIAS(brk, _brk) -#endif - - .data -_C_LABEL(minbrk): -_C_LABEL(__minbrk): - .quad _end - .text - -SYSENTRY(_brk) -#ifdef PIC - movq PIC_GOT(_C_LABEL(__minbrk)),%rdx - cmpq %rdi,(%rdx) - jb 1f - movq (%rdx),%rdi -1: - SYSTRAP(break) - jc err - movq PIC_GOT(__curbrk),%rdx # set up GOT addressing - movq %rdi,(%rdx) - xorl %eax,%eax - ret -err: - movq PIC_GOT(CERROR),%rdx - jmp *%rdx -#else - cmpq %rdi,_C_LABEL(__minbrk)(%rip) - jb 1f - movq _C_LABEL(__minbrk)(%rip),%rdi -1: - SYSTRAP(break) - jc err - movq %rdi,__curbrk(%rip) - xorl %eax,%eax - ret -err: - jmp CERROR -#endif diff --git a/lib/libc/arch/x86_64/sys/cerror.S b/lib/libc/arch/x86_64/sys/cerror.S deleted file mode 100644 index 2bd7fb1484f..00000000000 --- a/lib/libc/arch/x86_64/sys/cerror.S +++ /dev/null @@ -1,56 +0,0 @@ -/* $OpenBSD: cerror.S,v 1.3 2004/02/18 16:51:21 miod Exp $ */ -/* $NetBSD: cerror.S,v 1.2 2002/06/03 18:30:33 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)cerror.s 5.1 (Berkeley) 4/23/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - - .globl _C_LABEL(errno) - -_ENTRY(CERROR) -#ifdef PIC - movq PIC_GOT(_C_LABEL(errno)), %rcx - movl %eax, (%rcx) -#else - movl %eax, _C_LABEL(errno)(%rip) -#endif /* PIC */ - movq $-1,%rax - ret diff --git a/lib/libc/arch/x86_64/sys/exect.S b/lib/libc/arch/x86_64/sys/exect.S deleted file mode 100644 index 31028402b6a..00000000000 --- a/lib/libc/arch/x86_64/sys/exect.S +++ /dev/null @@ -1,57 +0,0 @@ -/* $OpenBSD: exect.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: exect.S,v 1.1 2001/06/19 00:25:06 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)exect.s 5.1 (Berkeley) 4/23/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" -#include <machine/psl.h> - -SYSENTRY(exect) - pushfq - orb $(PSL_T>>8),1(%rsp) - popfq - SYSTRAP(execve) -#ifdef PIC - movq PIC_GOT(CERROR), %rcx - jmp *%rcx -#else - jmp CERROR -#endif diff --git a/lib/libc/arch/x86_64/sys/fork.S b/lib/libc/arch/x86_64/sys/fork.S deleted file mode 100644 index 155ee7227d6..00000000000 --- a/lib/libc/arch/x86_64/sys/fork.S +++ /dev/null @@ -1,49 +0,0 @@ -/* $OpenBSD: fork.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: fork.S,v 1.2 2003/02/13 02:50:51 nathanw Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)fork.s 5.1 (Berkeley) 4/23/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - -SYSCALL(fork) - decl %edx /* from 1 to 0 in child, 0 to -1 in parent */ - andl %edx,%eax - ret /* pid = fork(); */ diff --git a/lib/libc/arch/x86_64/sys/rfork.S b/lib/libc/arch/x86_64/sys/rfork.S deleted file mode 100644 index caedbbd9aff..00000000000 --- a/lib/libc/arch/x86_64/sys/rfork.S +++ /dev/null @@ -1,48 +0,0 @@ -/* $OpenBSD: rfork.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)fork.s 5.1 (Berkeley) 4/23/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - -SYSCALL(rfork) - decl %edx /* from 1 to 0 in child, 0 to -1 in parent */ - andl %edx,%eax - ret /* pid = rfork(); */ diff --git a/lib/libc/arch/x86_64/sys/sbrk.S b/lib/libc/arch/x86_64/sys/sbrk.S deleted file mode 100644 index 677068c4978..00000000000 --- a/lib/libc/arch/x86_64/sys/sbrk.S +++ /dev/null @@ -1,82 +0,0 @@ -/* $OpenBSD: sbrk.S,v 1.2 2004/02/10 00:22:51 drahn Exp $ */ -/* $NetBSD: sbrk.S,v 1.1 2001/06/19 00:25:06 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)sbrk.s 5.1 (Berkeley) 4/23/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - - .globl _end - .globl __curbrk - -#ifdef WEAK_ALIAS -WEAK_ALIAS(sbrk, _sbrk) -#endif - - .data -__curbrk: .quad _end - .text - -SYSENTRY(_sbrk) -#ifdef PIC - movq PIC_GOT(__curbrk),%rdx - movq (%rdx),%rax - addq %rax,%rdi - SYSTRAP(break) - jc err - movq PIC_GOT(__curbrk),%rdx - movq (%rdx),%rax - movq %rdi,(%rdx) - ret -err: - mov PIC_GOT(CERROR),%rdx - jmp *%rdx -#else - movq __curbrk(%rip),%rax - movq %rdi,%rsi - addq %rax,%rdi - SYSTRAP(break) - jc err - movq __curbrk(%rip),%rax - addq %rsi,__curbrk(%rip) - ret -err: - jmp CERROR -#endif diff --git a/lib/libc/arch/x86_64/sys/sigpending.S b/lib/libc/arch/x86_64/sys/sigpending.S deleted file mode 100644 index bbebd47c6bf..00000000000 --- a/lib/libc/arch/x86_64/sys/sigpending.S +++ /dev/null @@ -1,49 +0,0 @@ -/* $OpenBSD: sigpending.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: sigpending.S,v 1.1 2001/06/19 00:25:06 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)sigpending.s 5.1 (Berkeley) 7/1/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - -SYSCALL(sigpending) - movl %eax,(%rdi) # store old mask - xorl %eax,%eax - ret diff --git a/lib/libc/arch/x86_64/sys/sigprocmask.S b/lib/libc/arch/x86_64/sys/sigprocmask.S deleted file mode 100644 index c5a999582cf..00000000000 --- a/lib/libc/arch/x86_64/sys/sigprocmask.S +++ /dev/null @@ -1,66 +0,0 @@ -/* $OpenBSD: sigprocmask.S,v 1.2 2004/02/09 21:27:21 deraadt Exp $ */ -/* $NetBSD: sigprocmask.S,v 1.1 2001/06/19 00:25:06 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)sigprocmask.s 5.2 (Berkeley) 12/17/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - -SYSENTRY(sigprocmask) - testq %rsi,%rsi # check new sigset pointer - jnz 1f # if not null, indirect - movl $1,%edi # SIG_BLOCK - jmp 2f -1: movl (%rsi),%esi # fetch indirect ... -2: SYSTRAP(sigprocmask) - jc err - testq %rdx,%rdx # test if old mask requested - jz out - movl %eax,(%rdx) # store old mask -out: - xorl %eax,%eax - ret -err: -#ifdef PIC - movq PIC_GOT(CERROR), %rcx - jmp *%rcx -#else - jmp CERROR -#endif diff --git a/lib/libc/arch/x86_64/sys/sigreturn.S b/lib/libc/arch/x86_64/sys/sigreturn.S deleted file mode 100644 index 0faf6942988..00000000000 --- a/lib/libc/arch/x86_64/sys/sigreturn.S +++ /dev/null @@ -1,60 +0,0 @@ -/* $OpenBSD: sigreturn.S,v 1.2 2004/02/22 21:28:22 miod Exp $ */ -/* $NetBSD: __sigreturn14.S,v 1.1 2001/06/19 00:25:06 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)sigreturn.s 5.2 (Berkeley) 12/17/90" - */ - -#include <machine/asm.h> - -#include "SYS.h" - -/* - * We must preserve the state of the registers as the user has set them up. - */ -#if 0 /* XXXfvdl fix later, but this one is really low priority */ -#ifdef GPROF -#undef ENTRY -#define MCOUNT_SYMBOL __mcount -#define ENTRY(x) \ - .globl _/**/x; _ALIGN_TEXT; _/**/x: pusha ; \ - .data; 1:; .long 0; .text; movl $1b,%eax; call MCOUNT_SYMBOL; popa ; nop -#endif /* GPROF */ -#endif - -OSYSCALL(sigreturn) - ret diff --git a/lib/libc/arch/x86_64/sys/sigsuspend.S b/lib/libc/arch/x86_64/sys/sigsuspend.S deleted file mode 100644 index 985bf61b99d..00000000000 --- a/lib/libc/arch/x86_64/sys/sigsuspend.S +++ /dev/null @@ -1,58 +0,0 @@ -/* $OpenBSD: sigsuspend.S,v 1.1 2004/01/28 01:44:45 mickey Exp $ */ -/* $NetBSD: sigsuspend.S,v 1.1 2001/06/19 00:25:07 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)sigsuspend.s 5.2 (Berkeley) 12/17/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - -SYSENTRY(sigsuspend) - movl (%rdi),%edi # indirect to mask arg - SYSTRAP(sigsuspend) - jc err - xorl %eax,%eax # shouldn t happen - ret -err: -#ifdef PIC - movq PIC_GOT(CERROR), %rcx - jmp *%rcx -#else - jmp CERROR -#endif diff --git a/lib/libc/arch/x86_64/sys/syscall.S b/lib/libc/arch/x86_64/sys/syscall.S deleted file mode 100644 index ca64daf7ccf..00000000000 --- a/lib/libc/arch/x86_64/sys/syscall.S +++ /dev/null @@ -1,58 +0,0 @@ -/* $OpenBSD: syscall.S,v 1.2 2004/02/11 07:09:22 deraadt Exp $ */ -/* $NetBSD: syscall.S,v 1.2 2002/06/03 18:30:33 fvdl Exp $ */ - -/*- - * Copyright (c) 1990 The Regents of the University of California. - * All rights reserved. - * - * This code is derived from software contributed to Berkeley by - * William Jolitz. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * This product includes software developed by the University of - * California, Berkeley and its contributors. - * 4. Neither the name of the University nor the names of its contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * from: @(#)syscall.s 5.1 (Berkeley) 4/23/90 - */ - -#include <machine/asm.h> - -#include "SYS.h" - -SYSENTRY(syscall) - movq $0,%rax - movq %rcx,%r10 - syscall - jc err - ret -err: -#ifdef PIC - movq PIC_GOT(CERROR), %rcx - jmp *%rcx -#else - jmp CERROR -#endif diff --git a/lib/libkvm/kvm_amd64.c b/lib/libkvm/kvm_amd64.c new file mode 100644 index 00000000000..d8e27c4c94e --- /dev/null +++ b/lib/libkvm/kvm_amd64.c @@ -0,0 +1,209 @@ +/* $OpenBSD: kvm_amd64.c,v 1.1 2004/02/27 17:36:13 deraadt Exp $ */ +/* $NetBSD: kvm_x86_64.c,v 1.3 2002/06/05 22:01:55 fvdl Exp $ */ + +/*- + * Copyright (c) 1989, 1992, 1993 + * The Regents of the University of California. All rights reserved. + * + * This code is derived from software developed by the Computer Systems + * Engineering group at Lawrence Berkeley Laboratory under DARPA contract + * BG 91-66 and contributed to Berkeley. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include <sys/cdefs.h> + +/* + * x86-64 machine dependent routines for kvm. + */ + +#include <sys/param.h> +#include <sys/user.h> +#include <sys/proc.h> +#include <sys/stat.h> +#include <sys/kcore.h> +#include <machine/kcore.h> +#include <stdlib.h> +#include <unistd.h> +#include <nlist.h> +#include <kvm.h> + +#include <uvm/uvm_extern.h> + +#include <limits.h> +#include <db.h> + +#include "kvm_private.h" + +#include <machine/pmap.h> +#include <machine/pte.h> +#include <machine/vmparam.h> + +void +_kvm_freevtop(kd) + kvm_t *kd; +{ + + /* Not actually used for anything right now, but safe. */ + if (kd->vmst != 0) + free(kd->vmst); +} + +/*ARGSUSED*/ +int +_kvm_initvtop(kd) + kvm_t *kd; +{ + + return (0); +} + +/* + * Translate a kernel virtual address to a physical address. + */ +int +_kvm_kvatop(kd, va, pa) + kvm_t *kd; + u_long va; + u_long *pa; +{ + cpu_kcore_hdr_t *cpu_kh; + u_long page_off; + pd_entry_t pde; + pt_entry_t pte; + paddr_t pde_pa, pte_pa; + + if (ISALIVE(kd)) { + _kvm_err(kd, 0, "vatop called in live kernel!"); + return (0); + } + + cpu_kh = kd->cpu_data; + page_off = va & PGOFSET; + + /* + * Find and read all entries to get to the pa. + */ + + /* + * Level 4. + */ + pde_pa = cpu_kh->ptdpaddr + (pl4_i(va) * sizeof(pd_entry_t)); + if (pread(kd->pmfd, (void *)&pde, sizeof(pde), + _kvm_pa2off(kd, pde_pa)) != sizeof(pde)) { + _kvm_syserr(kd, 0, "could not read PT level 4 entry"); + goto lose; + } + if ((pde & PG_V) == 0) { + _kvm_err(kd, 0, "invalid translation (invalid level 4 PDE)"); + goto lose; + } + + /* + * Level 3. + */ + pde_pa = (pde_pa + PG_FRAME) + (pl3_i(va) * sizeof(pd_entry_t)); + if (pread(kd->pmfd, (void *)&pde, sizeof(pde), + _kvm_pa2off(kd, pde_pa)) != sizeof(pde)) { + _kvm_syserr(kd, 0, "could not read PT level 3 entry"); + goto lose; + } + if ((pde & PG_V) == 0) { + _kvm_err(kd, 0, "invalid translation (invalid level 3 PDE)"); + goto lose; + } + + /* + * Level 2. + */ + pde_pa = (pde_pa & PG_FRAME) + (pl2_i(va) * sizeof(pd_entry_t)); + if (pread(kd->pmfd, (void *)&pde, sizeof(pde), + _kvm_pa2off(kd, pde_pa)) != sizeof(pde)) { + _kvm_syserr(kd, 0, "could not read PT level 2 entry"); + goto lose; + } + if ((pde & PG_V) == 0) { + _kvm_err(kd, 0, "invalid translation (invalid level 2 PDE)"); + goto lose; + } + + + /* + * Level 1. + */ + pte_pa = (pde_pa & PG_FRAME) + (pl1_i(va) * sizeof(pt_entry_t)); + if (pread(kd->pmfd, (void *) &pte, sizeof(pte), + _kvm_pa2off(kd, pte_pa)) != sizeof(pte)) { + _kvm_syserr(kd, 0, "could not read PTE"); + goto lose; + } + /* + * Validate the PTE and return the physical address. + */ + if ((pte & PG_V) == 0) { + _kvm_err(kd, 0, "invalid translation (invalid PTE)"); + goto lose; + } + *pa = (pte & PG_FRAME) + page_off; + return (int)(NBPG - page_off); + + lose: + *pa = (u_long)~0L; + return (0); +} + +/* + * Translate a physical address to a file-offset in the crash dump. + */ +off_t +_kvm_pa2off(kd, pa) + kvm_t *kd; + u_long pa; +{ + cpu_kcore_hdr_t *cpu_kh; + phys_ram_seg_t *ramsegs; + off_t off; + int i; + + cpu_kh = kd->cpu_data; + ramsegs = (void *)((char *)(void *)cpu_kh + ALIGN(sizeof *cpu_kh)); + + off = 0; + for (i = 0; i < cpu_kh->nmemsegs; i++) { + if (pa >= ramsegs[i].start && + (pa - ramsegs[i].start) < ramsegs[i].size) { + off += (pa - ramsegs[i].start); + break; + } + off += ramsegs[i].size; + } + + return (kd->dump_off + off); +} diff --git a/lib/libm/Makefile b/lib/libm/Makefile index 758eb08eb4a..992a3ed424d 100644 --- a/lib/libm/Makefile +++ b/lib/libm/Makefile @@ -1,5 +1,5 @@ # $NetBSD: Makefile,v 1.28 1995/11/20 22:06:19 jtc Exp $ -# $OpenBSD: Makefile,v 1.31 2004/02/08 18:03:48 deraadt Exp $ +# $OpenBSD: Makefile,v 1.32 2004/02/27 17:36:13 deraadt Exp $ # # @(#)Makefile 5.1beta 93/09/24 # @@ -63,7 +63,7 @@ ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \ s_ilogb.S s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S \ s_rint.S s_rintf.S s_scalbn.S s_scalbnf.S s_significand.S \ s_significandf.S s_sin.S s_sinf.S s_tan.S s_tanf.S -.elif (${MACHINE_ARCH} == "x86_64") +.elif (${MACHINE_ARCH} == "amd64") .PATH: ${.CURDIR}/arch/x86_64 CPPFLAGS+=-I${.CURDIR}/arch/x86_64 ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \ diff --git a/lib/libpthread/arch/x86_64/_atomic_lock.c b/lib/libpthread/arch/x86_64/_atomic_lock.c deleted file mode 100644 index 0d187dee87d..00000000000 --- a/lib/libpthread/arch/x86_64/_atomic_lock.c +++ /dev/null @@ -1,26 +0,0 @@ -/* $OpenBSD: _atomic_lock.c,v 1.3 2004/02/25 04:10:53 deraadt Exp $ */ - -/* David Leonard, <d@csee.uq.edu.au>. Public domain. */ - -/* - * Atomic lock for amd64 -- taken from i386 code. - */ - -#include "spinlock.h" - -int -_atomic_lock(volatile _spinlock_lock_t *lock) -{ - _spinlock_lock_t old; - - /* - * Use the eXCHanGe instruction to swap the lock value with - * a local variable containing the locked state. - */ - old = _SPINLOCK_LOCKED; - __asm__("xchg %0,%1" - : "=r" (old), "=m" (*lock) - : "0" (old), "1" (*lock)); - - return (old != _SPINLOCK_UNLOCKED); -} diff --git a/lib/libpthread/arch/x86_64/uthread_machdep.c b/lib/libpthread/arch/x86_64/uthread_machdep.c deleted file mode 100644 index c827a35a10c..00000000000 --- a/lib/libpthread/arch/x86_64/uthread_machdep.c +++ /dev/null @@ -1,108 +0,0 @@ -/* $OpenBSD: uthread_machdep.c,v 1.3 2004/02/25 04:10:53 deraadt Exp $ */ - -/* - * Copyright (c) 2004 Theo de Raadt - * - * 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/param.h> -#include <pthread.h> -#include "pthread_private.h" - -struct frame { - long fr_gs; - long fr_fs; - long fr_es; - long fr_ds; - - long flag; - long fr_r15; - long fr_r14; - long fr_r13; - long fr_r12; - - long fr_r11; - long fr_r10; - long fr_r9; - long fr_r8; - - long fr_rdi; - long fr_rsi; - long fr_rbp; - - long fr_rbx; - long fr_rdx; - long fr_rcx; - long fr_rax; - - long fr_rip; - int fr_cs; /* XXX unreachable? */ - int pad; -}; - -#define copyreg(reg, lval) \ - __asm__("mov %%" #reg ", %0" : "=g"(lval)) - -/* - * Given a stack and an entry function, initialise a state - * structure that can be later switched to. - */ -void -_thread_machdep_init(struct _machdep_state* statep, void *base, int len, - void (*entry)(void)) -{ - struct frame *f; - int foo; - - /* Locate the initial frame, aligned at the top of the stack */ - f = (struct frame *)(((long)base + len - sizeof *f) & ~ALIGNBYTES); - - copyreg(cs, foo); - f->fr_cs = foo; - copyreg(ds, foo); - f->fr_ds = foo; - copyreg(es, foo); - f->fr_es = foo; - copyreg(fs, foo); - f->fr_fs = foo; - copyreg(gs, foo); - f->fr_gs = foo; - - f->fr_rbp = (long)-1; - f->fr_rip = (long)entry; - - statep->rsp = (long)f; - - _thread_machdep_save_float_state(statep); -} - -#define fxsave(addr) __asm("fxsave %0" : "=m" (*addr)) -#define fxrstor(addr) __asm("fxrstor %0" : : "m" (*addr)) -#define fwait() __asm("fwait") -#define fninit() __asm("fninit") - -void -_thread_machdep_save_float_state(struct _machdep_state *ms) -{ - fxsave(&ms->fpreg); - fninit(); - fwait(); -} - -void -_thread_machdep_restore_float_state(struct _machdep_state *ms) -{ - fxrstor(&ms->fpreg); -} diff --git a/lib/libpthread/arch/x86_64/uthread_machdep.h b/lib/libpthread/arch/x86_64/uthread_machdep.h deleted file mode 100644 index 34532db8b48..00000000000 --- a/lib/libpthread/arch/x86_64/uthread_machdep.h +++ /dev/null @@ -1,26 +0,0 @@ -/* $OpenBSD: uthread_machdep.h,v 1.3 2004/02/25 04:10:53 deraadt Exp $ */ - -/* - * Copyright (c) 2004 Theo de Raadt - * - * 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 <sys/types.h> -#include <machine/fpu.h> - -struct _machdep_state { - long rsp; - /* must be 128-bit aligned */ - struct savefpu fpreg __attribute__ ((aligned (16))); -}; diff --git a/lib/libpthread/arch/x86_64/uthread_machdep_asm.S b/lib/libpthread/arch/x86_64/uthread_machdep_asm.S deleted file mode 100644 index 818d157de93..00000000000 --- a/lib/libpthread/arch/x86_64/uthread_machdep_asm.S +++ /dev/null @@ -1,88 +0,0 @@ -/* $OpenBSD: uthread_machdep_asm.S,v 1.3 2004/02/25 04:10:53 deraadt Exp $ */ - -/* - * Copyright (c) 2004 Theo de Raadt - * - * 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/asm.h> - -/* - * Switch stacks - */ - -/* void _thread_machdep_switch(new, oldsave); */ -ENTRY(_thread_machdep_switch) - pushq %rax - pushq %rcx - pushq %rdx - pushq %rbx - - pushq %rbp - pushq %rsi - pushq %rdi - - pushq %r8 - pushq %r9 - pushq %r10 - pushq %r11 - - pushq %r12 - pushq %r13 - pushq %r14 - pushq %r15 - movq $0xdeaf12345678beaf, %r15 - pushq %r15 - - movl %ds,%eax - pushq %rax - movl %es,%eax - pushq %rax - movl %fs,%eax - pushq %rax - movl %gs,%eax - pushq %rax - - movq %rsp, 0(%rsi) /* *arg2 = %rsp */ - movq 0(%rdi), %rsp /* %rsp = *arg1 */ - - popq %rax - movl %eax,%gs - popq %rax - movl %eax,%fs - popq %rax - movl %eax,%es - popq %rax - movl %eax,%ds - - popq %r15 # flag word. - popq %r15 - popq %r14 - popq %r13 - popq %r12 - - popq %r11 - popq %r10 - popq %r9 - popq %r8 - - popq %rdi - popq %rsi - popq %rbp - - popq %rbx - popq %rdx - popq %rcx - popq %rax - ret diff --git a/lib/libssl/crypto/Makefile b/lib/libssl/crypto/Makefile index 5179b85de77..9baf729b5b9 100644 --- a/lib/libssl/crypto/Makefile +++ b/lib/libssl/crypto/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.35 2004/01/29 03:05:33 deraadt Exp $ +# $OpenBSD: Makefile,v 1.36 2004/02/27 17:36:13 deraadt Exp $ LIB= crypto @@ -7,7 +7,7 @@ SSL_SRC= ${.CURDIR}/../${SSLEAYDIST} LCRYPTO_SRC= ${SSL_SRC}/crypto .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "arm" || \ - ${MACHINE_ARCH} == "vax" || ${MACHINE_ARCH} == "x86_64" || \ + ${MACHINE_ARCH} == "vax" || ${MACHINE_ARCH} == "amd64" || \ ${MACHINE_ARCH} == "alpha" CFLAGS+= -DL_ENDIAN .else diff --git a/lib/libssl/crypto/arch/x86_64/opensslconf.h b/lib/libssl/crypto/arch/x86_64/opensslconf.h deleted file mode 100644 index c33ccc8a0f9..00000000000 --- a/lib/libssl/crypto/arch/x86_64/opensslconf.h +++ /dev/null @@ -1,180 +0,0 @@ -/* opensslconf.h */ -/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ - -/* OpenSSL was configured with the following options: */ -#ifndef OPENSSL_DOING_MAKEDEPEND - -#ifndef OPENSSL_NO_KRB5 -# define OPENSSL_NO_KRB5 -#endif - -#endif /* OPENSSL_DOING_MAKEDEPEND */ - -/* The OPENSSL_NO_* macros are also defined as NO_* if the application - asks for it. This is a transient feature that is provided for those - who haven't had the time to do the appropriate changes in their - applications. */ -#ifdef OPENSSL_ALGORITHM_DEFINES -# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) -# define NO_KRB5 -# endif -#endif - -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define OPENSSLDIR "/etc/ssl" -#endif -#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_DES_H) || defined(HEADER_DES_OLD_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 */ -#undef 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 -#define 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 -#undef DES_RISC1 -#endif - -#ifndef DES_RISC2 -#define 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 -#undef 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 */ |