diff options
author | Warner Losh <imp@FreeBSD.org> | 2020-02-27 04:44:58 +0000 |
---|---|---|
committer | Warner Losh <imp@FreeBSD.org> | 2020-02-27 04:44:58 +0000 |
commit | f33b14f02ef7c5aff623734b1a24abe0567ff51d (patch) | |
tree | cf0177b1acc085ee64244f450343d6cdfaa8d1f5 /lib | |
parent | c49be4f1c6845b24981037794c561cf319d6040a (diff) | |
download | src-f33b14f02ef7c5aff623734b1a24abe0567ff51d.tar.gz src-f33b14f02ef7c5aff623734b1a24abe0567ff51d.zip |
Remove libthr, csu, libthread_db and testfloat sparc64 specific directories.
Submitted by: kib@ (libthr)
Notes
Notes:
svn path=/head/; revision=358364
Diffstat (limited to 'lib')
-rw-r--r-- | lib/csu/sparc64/Makefile | 28 | ||||
-rw-r--r-- | lib/csu/sparc64/Makefile.depend | 12 | ||||
-rw-r--r-- | lib/csu/sparc64/crt.h | 33 | ||||
-rw-r--r-- | lib/csu/sparc64/crt1.c | 105 | ||||
-rw-r--r-- | lib/csu/sparc64/crti.S | 57 | ||||
-rw-r--r-- | lib/csu/sparc64/crtn.S | 42 | ||||
-rw-r--r-- | lib/libthr/arch/sparc64/Makefile.inc | 3 | ||||
-rw-r--r-- | lib/libthr/arch/sparc64/include/pthread_md.h | 80 | ||||
-rw-r--r-- | lib/libthr/arch/sparc64/include/pthread_tls.h | 46 | ||||
-rw-r--r-- | lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S | 38 | ||||
-rw-r--r-- | lib/libthread_db/arch/sparc64/libpthread_md.c | 92 |
11 files changed, 0 insertions, 536 deletions
diff --git a/lib/csu/sparc64/Makefile b/lib/csu/sparc64/Makefile deleted file mode 100644 index f87129b5e890..000000000000 --- a/lib/csu/sparc64/Makefile +++ /dev/null @@ -1,28 +0,0 @@ -# $FreeBSD$ - -.PATH: ${.CURDIR:H}/common - -SRCS= crt1.c crti.S crtn.S -OBJS= ${SRCS:N*.h:R:S/$/.o/g} -OBJS+= Scrt1.o gcrt1.o -CFLAGS+= -I${.CURDIR:H}/common \ - -I${SRCTOP}/lib/libc/include -CFLAGS+= -DCRT_IRELOC_SUPPRESS - -FILES= ${OBJS} -FILESMODE= ${LIBMODE} -FILESOWN= ${LIBOWN} -FILESGRP= ${LIBGRP} -FILESDIR= ${LIBDIR} -# These FILES qualify as libraries for the purpose of LIBRARIES_ONLY. -.undef LIBRARIES_ONLY - -CLEANFILES= ${OBJS} - -gcrt1.o: crt1.c - ${CC} ${CFLAGS} -DGCRT -c -o gcrt1.o ${.ALLSRC} - -Scrt1.o: crt1.c - ${CC} ${CFLAGS} -fPIC -DPIC -c -o Scrt1.o ${.ALLSRC} - -.include <bsd.lib.mk> diff --git a/lib/csu/sparc64/Makefile.depend b/lib/csu/sparc64/Makefile.depend deleted file mode 100644 index 79506ce16b79..000000000000 --- a/lib/csu/sparc64/Makefile.depend +++ /dev/null @@ -1,12 +0,0 @@ -# $FreeBSD$ -# Autogenerated - do NOT edit! - -DIRDEPS = \ - include \ - - -.include <dirdeps.mk> - -.if ${DEP_RELDIR} == ${_DEP_RELDIR} -# local dependencies - needed for -jN in clean tree -.endif diff --git a/lib/csu/sparc64/crt.h b/lib/csu/sparc64/crt.h deleted file mode 100644 index 82984849630d..000000000000 --- a/lib/csu/sparc64/crt.h +++ /dev/null @@ -1,33 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-1-Clause - * - * Copyright 2018 Andrew Turner - * - * 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. - * - * 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. - * - * $FreeBSD$ - */ - -#ifndef _CRT_H_ -#define _CRT_H_ - -#define HAVE_CTORS -#define CTORS_CONSTRUCTORS -#define INIT_CALL_SEQ(func) "call " __STRING(func) "; nop" - -#endif diff --git a/lib/csu/sparc64/crt1.c b/lib/csu/sparc64/crt1.c deleted file mode 100644 index 4cef03f60efd..000000000000 --- a/lib/csu/sparc64/crt1.c +++ /dev/null @@ -1,105 +0,0 @@ -/* LINTLIBRARY */ -/*- - * SPDX-License-Identifier: BSD-3-Clause - * - * Copyright 2001 David E. O'Brien. - * All rights reserved. - * Copyright (c) 1995, 1998 Berkeley Software Design, Inc. - * All rights reserved. - * Copyright 1996-1998 John D. Polstra. - * 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. The name of the authors 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. - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include <stdlib.h> - -#include "libc_private.h" -#include "crtbrand.c" -#include "ignore_init.c" - -struct Struct_Obj_Entry; -struct ps_strings; - -extern void __sparc_utrap_setup(void); - -#ifdef GCRT -extern void _mcleanup(void); -extern void monstartup(void *, void *); -extern int eprol; -extern int etext; -#endif - -void _start(char **, void (*)(void), struct Struct_Obj_Entry *, - struct ps_strings *); - -/* The entry function. */ -/* - * %o0 holds ps_strings pointer. - * - * Note: kernel may (is not set in stone yet) pass ELF aux vector in %o1, - * but for now we do not use it here. - * - * The SPARC compliance definitions specifies that the kernel pass the - * address of a function to be executed on exit in %g1. We do not make - * use of it as it is quite broken, because gcc can use this register - * as a temporary, so it is not safe from C code. Its even more broken - * for dynamic executables since rtld runs first. - */ -/* ARGSUSED */ -void -_start(char **ap, void (*cleanup)(void), struct Struct_Obj_Entry *obj __unused, - struct ps_strings *ps_strings __unused) -{ - int argc; - char **argv; - char **env; - - argc = *(long *)(void *)ap; - argv = ap + 1; - env = ap + 2 + argc; - handle_argv(argc, argv, env); - - if (&_DYNAMIC != NULL) - atexit(cleanup); - else { - __sparc_utrap_setup(); - _init_tls(); - } -#ifdef GCRT - atexit(_mcleanup); - monstartup(&eprol, &etext); -#endif - - handle_static_init(argc, argv, env); - exit(main(argc, argv, env)); -} - -#ifdef GCRT -__asm__(".text"); -__asm__("eprol:"); -__asm__(".previous"); -#endif diff --git a/lib/csu/sparc64/crti.S b/lib/csu/sparc64/crti.S deleted file mode 100644 index 9e529a5ac471..000000000000 --- a/lib/csu/sparc64/crti.S +++ /dev/null @@ -1,57 +0,0 @@ -/*- - * Copyright 2001 David E. O'Brien - * 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. Neither the name of the author nor the names of additional contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <machine/asm.h> -__FBSDID("$FreeBSD$"); - - .file "crti.S" - - /* The minimum stack frame size (bytes) is: - * 16 extended words for saving the current register window, - * 1 extended word for "hidden parameter", - * 6 extended words in wihch a callee can store its arguments - * ("The SPARC Architecure Manual" by Weaver & Germond) - * This gives 184 bytes. However we must round up to an extended - * word boundary, thus 192 bytes. - * (if we weren't v9, it would be 96 bytes rather than 192) - */ - - .section .init,"ax",@progbits - .align 4 - .globl _init - .type _init,#function -_init: - save %sp,-192,%sp - - - .section .fini,"ax",@progbits - .globl _fini - .type _fini,#function - .align 4 -_fini: - save %sp,-192,%sp diff --git a/lib/csu/sparc64/crtn.S b/lib/csu/sparc64/crtn.S deleted file mode 100644 index 5b6d4a77abc1..000000000000 --- a/lib/csu/sparc64/crtn.S +++ /dev/null @@ -1,42 +0,0 @@ -/*- - * Copyright 2001 David E. O'Brien - * 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. Neither the name of the author nor the names of additional contributors - * may be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <machine/asm.h> -__FBSDID("$FreeBSD$"); - - .file "crtn.S" - - .section .init,"ax",@progbits - .align 4 - ret - restore - - .section .fini,"ax",@progbits - .align 4 - ret - restore diff --git a/lib/libthr/arch/sparc64/Makefile.inc b/lib/libthr/arch/sparc64/Makefile.inc deleted file mode 100644 index bdab0bc90fe6..000000000000 --- a/lib/libthr/arch/sparc64/Makefile.inc +++ /dev/null @@ -1,3 +0,0 @@ -# $FreeBSD$ - -SRCS+= _umtx_op_err.S diff --git a/lib/libthr/arch/sparc64/include/pthread_md.h b/lib/libthr/arch/sparc64/include/pthread_md.h deleted file mode 100644 index 85c5b7e80b16..000000000000 --- a/lib/libthr/arch/sparc64/include/pthread_md.h +++ /dev/null @@ -1,80 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2003 Jake Burkholder <jake@freebsd.org>. - * Copyright (c) 2003 Marcel Moolenaar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - * $FreeBSD$ - */ - -/* - * Machine-dependent thread prototypes/definitions. - */ -#ifndef _PTHREAD_MD_H_ -#define _PTHREAD_MD_H_ - -#include <stddef.h> - -#define CPU_SPINWAIT - -#define DTV_OFFSET offsetof(struct tcb, tcb_dtv) - -/* - * Variant II tcb, first two members are required by rtld. - * %g7 points to the structure. - */ -struct tcb { - struct tcb *tcb_self; /* required by rtld */ - void *tcb_dtv; /* required by rtld */ - struct pthread *tcb_thread; /* our hook */ - void *tcb_spare[1]; -}; - -/* Called from the thread to set its private data. */ -static __inline void -_tcb_set(struct tcb *tcb) -{ - - __asm __volatile("mov %0, %%g7" : : "r" (tcb)); -} - -static __inline struct tcb * -_tcb_get(void) -{ - register struct tcb *tp __asm("%g7"); - - return (tp); -} - -static __inline struct pthread * -_get_curthread(void) -{ - - return (_tcb_get()->tcb_thread); -} - -#define HAS__UMTX_OP_ERR 1 - -#endif /* _PTHREAD_MD_H_ */ diff --git a/lib/libthr/arch/sparc64/include/pthread_tls.h b/lib/libthr/arch/sparc64/include/pthread_tls.h deleted file mode 100644 index 7dd194f08604..000000000000 --- a/lib/libthr/arch/sparc64/include/pthread_tls.h +++ /dev/null @@ -1,46 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2019 The FreeBSD Foundation - * - * This software was developed by Konstantin Belousov <kib@FreeBSD.org> - * under sponsorship from the FreeBSD Foundation. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $FreeBSD$ - */ - -#ifndef _ARCH_SPARC64_PTHREAD_TLS_H -#define _ARCH_SPARC64_PTHREAD_TLS_H - -static __inline uintptr_t -_get_static_tls_base(struct pthread *thr, size_t offset) -{ - uintptr_t tlsbase; - - tlsbase = (uintptr_t)thr->tcb; - tlsbase -= offset; - return (tlsbase); -} - -#endif diff --git a/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S b/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S deleted file mode 100644 index 220d279ce4a8..000000000000 --- a/lib/libthr/arch/sparc64/sparc64/_umtx_op_err.S +++ /dev/null @@ -1,38 +0,0 @@ -/*- - * Copyright (c) 2011 Marius Strobl <marius@FreeBSD.org> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - */ - -#include <machine/asm.h> -__FBSDID("$FreeBSD$"); - -#include <sys/syscall.h> - -#include <machine/utrap.h> - -ENTRY(_umtx_op_err) - mov SYS__umtx_op, %g1 - retl - ta %xcc, ST_SYSCALL -END(_umtx_op_err) diff --git a/lib/libthread_db/arch/sparc64/libpthread_md.c b/lib/libthread_db/arch/sparc64/libpthread_md.c deleted file mode 100644 index d91ceaaa76bd..000000000000 --- a/lib/libthread_db/arch/sparc64/libpthread_md.c +++ /dev/null @@ -1,92 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2004 Marcel Moolenaar - * Copyright (c) 2011 Marius Strobl <marius@FreeBSD.org> - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include <sys/types.h> -#include <string.h> -#include <thread_db.h> -#include <ucontext.h> -#include <machine/fsr.h> - -#include "libpthread_db.h" - -void -pt_reg_to_ucontext(const struct reg *r, ucontext_t *uc) -{ - - memcpy(&uc->uc_mcontext, r, MIN(sizeof(uc->uc_mcontext), sizeof(*r))); -} - -void -pt_ucontext_to_reg(const ucontext_t *uc, struct reg *r) -{ - - memcpy(r, &uc->uc_mcontext, MIN(sizeof(uc->uc_mcontext), sizeof(*r))); -} - -void -pt_fpreg_to_ucontext(const struct fpreg* r, ucontext_t *uc) -{ - mcontext_t *mc = &uc->uc_mcontext; - - memcpy(mc->mc_fp, r->fr_regs, MIN(sizeof(mc->mc_fp), - sizeof(r->fr_regs))); - mc->_mc_fsr = r->fr_fsr; - mc->_mc_gsr = r->fr_gsr; - mc->_mc_fprs |= FPRS_FEF; -} - -void -pt_ucontext_to_fpreg(const ucontext_t *uc, struct fpreg *r) -{ - const mcontext_t *mc = &uc->uc_mcontext; - - if ((mc->_mc_fprs & FPRS_FEF) != 0) { - memcpy(r->fr_regs, mc->mc_fp, MIN(sizeof(mc->mc_fp), - sizeof(r->fr_regs))); - r->fr_fsr = mc->_mc_fsr; - r->fr_gsr = mc->_mc_gsr; - } else - memset(r, 0, sizeof(*r)); -} - -void -pt_md_init(void) -{ - -} - -int -pt_reg_sstep(struct reg *reg __unused, int step __unused) -{ - - return (0); -} |