aboutsummaryrefslogtreecommitdiff
path: root/lib/libc/powerpc64
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libc/powerpc64')
-rw-r--r--lib/libc/powerpc64/Makefile.inc1
-rw-r--r--lib/libc/powerpc64/SYS.h97
-rw-r--r--lib/libc/powerpc64/Symbol.map35
-rw-r--r--lib/libc/powerpc64/gen/Makefile.inc1
-rw-r--r--lib/libc/powerpc64/gen/_ctx_start.S14
-rw-r--r--lib/libc/powerpc64/gen/flt_rounds.c1
-rw-r--r--lib/libc/powerpc64/gen/fpgetmask.c1
-rw-r--r--lib/libc/powerpc64/gen/fpgetround.c1
-rw-r--r--lib/libc/powerpc64/gen/fpgetsticky.c5
-rw-r--r--lib/libc/powerpc64/gen/fpsetmask.c1
-rw-r--r--lib/libc/powerpc64/gen/fpsetround.c1
-rw-r--r--lib/libc/powerpc64/gen/makecontext.c4
-rw-r--r--lib/libc/powerpc64/gen/signalcontext.c1
-rw-r--r--lib/libc/powerpc64/gen/syncicache.c5
-rw-r--r--lib/libc/powerpc64/static_tls.h44
-rw-r--r--lib/libc/powerpc64/string/Makefile.inc1
-rw-r--r--lib/libc/powerpc64/string/bcopy_resolver.c1
-rw-r--r--lib/libc/powerpc64/string/strcpy.c1
-rw-r--r--lib/libc/powerpc64/string/strcpy_resolver.c1
-rw-r--r--lib/libc/powerpc64/string/strncpy.c1
-rw-r--r--lib/libc/powerpc64/string/strncpy_resolver.c1
-rw-r--r--lib/libc/powerpc64/sys/Makefile.inc5
-rw-r--r--lib/libc/powerpc64/sys/__vdso_gettc.c63
-rw-r--r--lib/libc/powerpc64/sys/cerror.S59
24 files changed, 17 insertions, 328 deletions
diff --git a/lib/libc/powerpc64/Makefile.inc b/lib/libc/powerpc64/Makefile.inc
index 4aac4e3a6e68..734afe95f243 100644
--- a/lib/libc/powerpc64/Makefile.inc
+++ b/lib/libc/powerpc64/Makefile.inc
@@ -1,4 +1,3 @@
-
# Long double is 64-bits
SRCS+=machdep_ldisd.c
SYM_MAPS+=${LIBC_SRCTOP}/powerpc64/Symbol.map
diff --git a/lib/libc/powerpc64/SYS.h b/lib/libc/powerpc64/SYS.h
deleted file mode 100644
index c364090a5487..000000000000
--- a/lib/libc/powerpc64/SYS.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 2002 Benno Rice. All rights reserved.
- * Copyright (c) 2002 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 any 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 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.
- *
- * $NetBSD: SYS.h,v 1.8 2002/01/14 00:55:56 thorpej Exp $
- */
-
-#include <sys/syscall.h>
-#include <machine/asm.h>
-
-#define _SYSCALL(name) \
- .text; \
- .align 2; \
- li 0,(SYS_##name); \
- sc
-
-#define SYSCALL(name) \
- .text; \
- .align 2; \
-2: mflr %r0; \
- std %r0,16(%r1); \
- stdu %r1,-48(%r1); \
- bl CNAME(HIDENAME(cerror)); \
- nop; \
- addi %r1,%r1,48; \
- ld %r0,16(%r1); \
- mtlr %r0; \
- blr; \
-ENTRY(__sys_##name); \
- WEAK_REFERENCE(__sys_##name, name); \
- WEAK_REFERENCE(__sys_##name, _##name); \
- _SYSCALL(name); \
- bso 2b
-
-#define PSEUDO(name) \
- .text; \
- .align 2; \
-ENTRY(__sys_##name); \
- WEAK_REFERENCE(__sys_##name, _##name); \
- _SYSCALL(name); \
- bnslr; \
- mflr %r0; \
- std %r0,16(%r1); \
- stdu %r1,-48(%r1); \
- bl CNAME(HIDENAME(cerror)); \
- nop; \
- addi %r1,%r1,48; \
- ld %r0,16(%r1); \
- mtlr %r0; \
- blr; \
-END(__sys_##name)
-
-#define RSYSCALL(name) \
- .text; \
- .align 2; \
-ENTRY(__sys_##name); \
- WEAK_REFERENCE(__sys_##name, name); \
- WEAK_REFERENCE(__sys_##name, _##name); \
- _SYSCALL(name); \
- bnslr; \
- \
- mflr %r0; \
- std %r0,16(%r1); \
- stdu %r1,-48(%r1); \
- bl CNAME(HIDENAME(cerror)); \
- nop; \
- addi %r1,%r1,48; \
- ld %r0,16(%r1); \
- mtlr %r0; \
- blr; \
-END(__sys_##name)
diff --git a/lib/libc/powerpc64/Symbol.map b/lib/libc/powerpc64/Symbol.map
index 7d010fda6693..62f20e7f352c 100644
--- a/lib/libc/powerpc64/Symbol.map
+++ b/lib/libc/powerpc64/Symbol.map
@@ -1,49 +1,16 @@
/*
- */
-
-/*
* This only needs to contain symbols that are not listed in
* symbol maps from other parts of libc (i.e., not found in
* stdlib/Symbol.map, string/Symbol.map, sys/Symbol.map, ...).
*/
FBSD_1.0 {
- /* PSEUDO syscalls */
- _exit;
-
_mcount;
- _setjmp;
- _longjmp;
- fabs;
__flt_rounds;
+ brk;
fpgetmask;
fpgetround;
fpgetsticky;
fpsetmask;
fpsetround;
- __infinity;
- __nan;
- makecontext;
- setjmp;
- longjmp;
- sigsetjmp;
- siglongjmp;
- htonl;
- htons;
- ntohl;
- ntohs;
- brk;
sbrk;
- vfork;
-};
-
-FBSDprivate_1.0 {
- /* PSEUDO syscalls */
- _getlogin;
-
- _fpgetsticky;
- __makecontext;
- __longjmp;
- signalcontext;
- __signalcontext;
- __syncicache;
};
diff --git a/lib/libc/powerpc64/gen/Makefile.inc b/lib/libc/powerpc64/gen/Makefile.inc
index 26265df5fbd2..c48ff05ae552 100644
--- a/lib/libc/powerpc64/gen/Makefile.inc
+++ b/lib/libc/powerpc64/gen/Makefile.inc
@@ -1,4 +1,3 @@
-
SRCS += _ctx_start.S fabs.S flt_rounds.c fpgetmask.c fpgetround.c \
fpgetsticky.c fpsetmask.c fpsetround.c \
infinity.c ldexp.c makecontext.c _setjmp.S \
diff --git a/lib/libc/powerpc64/gen/_ctx_start.S b/lib/libc/powerpc64/gen/_ctx_start.S
index c2f8abfd6486..98225f9c1138 100644
--- a/lib/libc/powerpc64/gen/_ctx_start.S
+++ b/lib/libc/powerpc64/gen/_ctx_start.S
@@ -34,6 +34,16 @@
ld %r2,8(%r14)
ld %r14,0(%r14)
#else
+ /*
+ * The stack frame was already set up in makecontext(),
+ * so we can safely use the guaranteed fields here.
+ *
+ * Note we do step on the allocated stack frame's TOC,
+ * but since we never return from this function (i.e.
+ * never restore the stack frame) this should be safe.
+ */
+ std %r2,24(%r1) /* save TOC */
+
/* Load global entry point */
mr %r12,%r14
#endif
@@ -41,6 +51,10 @@
blrl /* branch to start function */
mr %r3,%r15 /* pass pointer to ucontext as argument */
nop
+#if defined(_CALL_ELF) && _CALL_ELF != 1
+ /* Restore TOC */
+ ld %r2,24(%r1)
+#endif
bl CNAME(_ctx_done) /* branch to ctxt completion func */
/*
* we should never return from the
diff --git a/lib/libc/powerpc64/gen/flt_rounds.c b/lib/libc/powerpc64/gen/flt_rounds.c
index 16ec162fc14b..800ec6944d79 100644
--- a/lib/libc/powerpc64/gen/flt_rounds.c
+++ b/lib/libc/powerpc64/gen/flt_rounds.c
@@ -33,7 +33,6 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
#include <sys/types.h>
#include <machine/float.h>
diff --git a/lib/libc/powerpc64/gen/fpgetmask.c b/lib/libc/powerpc64/gen/fpgetmask.c
index b4399f23cf72..6817a32bdc65 100644
--- a/lib/libc/powerpc64/gen/fpgetmask.c
+++ b/lib/libc/powerpc64/gen/fpgetmask.c
@@ -32,7 +32,6 @@
*
*/
-#include <sys/cdefs.h>
#include <sys/types.h>
#include <ieeefp.h>
diff --git a/lib/libc/powerpc64/gen/fpgetround.c b/lib/libc/powerpc64/gen/fpgetround.c
index f6a98d3ffe1f..b135807b613f 100644
--- a/lib/libc/powerpc64/gen/fpgetround.c
+++ b/lib/libc/powerpc64/gen/fpgetround.c
@@ -32,7 +32,6 @@
*
*/
-#include <sys/cdefs.h>
#include <sys/types.h>
#include <ieeefp.h>
diff --git a/lib/libc/powerpc64/gen/fpgetsticky.c b/lib/libc/powerpc64/gen/fpgetsticky.c
index a79f4062c7f9..3512c97f8cf9 100644
--- a/lib/libc/powerpc64/gen/fpgetsticky.c
+++ b/lib/libc/powerpc64/gen/fpgetsticky.c
@@ -31,7 +31,6 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
#include "namespace.h"
@@ -39,10 +38,6 @@
#include <ieeefp.h>
#ifndef _SOFT_FLOAT
-#ifdef __weak_alias
-__weak_alias(fpgetsticky,_fpgetsticky)
-#endif
-
fp_except_t
fpgetsticky()
{
diff --git a/lib/libc/powerpc64/gen/fpsetmask.c b/lib/libc/powerpc64/gen/fpsetmask.c
index eb5884aa080c..4170b385e9e4 100644
--- a/lib/libc/powerpc64/gen/fpsetmask.c
+++ b/lib/libc/powerpc64/gen/fpsetmask.c
@@ -32,7 +32,6 @@
*
*/
-#include <sys/cdefs.h>
#include <sys/types.h>
#include <ieeefp.h>
diff --git a/lib/libc/powerpc64/gen/fpsetround.c b/lib/libc/powerpc64/gen/fpsetround.c
index 82ec0ea354c2..2a70fd781474 100644
--- a/lib/libc/powerpc64/gen/fpsetround.c
+++ b/lib/libc/powerpc64/gen/fpsetround.c
@@ -32,7 +32,6 @@
*
*/
-#include <sys/cdefs.h>
#include <sys/types.h>
#include <ieeefp.h>
diff --git a/lib/libc/powerpc64/gen/makecontext.c b/lib/libc/powerpc64/gen/makecontext.c
index 34d16fc673a8..9e3a976fa1bd 100644
--- a/lib/libc/powerpc64/gen/makecontext.c
+++ b/lib/libc/powerpc64/gen/makecontext.c
@@ -26,7 +26,6 @@
* SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
#include <sys/param.h>
#include <stdarg.h>
@@ -79,7 +78,7 @@ __makecontext(ucontext_t *ucp, void (*start)(void), int argc, ...)
*/
stackargs = (argc > 8) ? argc - 8 : 0;
sp = (char *) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size
- - sizeof(uintptr_t)*(stackargs + 2);
+ - sizeof(uintptr_t)*(stackargs + 6);
sp = (char *)((uintptr_t)sp & ~0x1f);
mc = &ucp->uc_mcontext;
@@ -120,6 +119,7 @@ __makecontext(ucontext_t *ucp, void (*start)(void), int argc, ...)
mc->mc_srr0 = *(uintptr_t *)_ctx_start;
#else
mc->mc_srr0 = (uintptr_t) _ctx_start;
+ mc->mc_gpr[12] = (uintptr_t) _ctx_start;/* required for prologue */
#endif
mc->mc_gpr[1] = (uintptr_t) sp; /* new stack pointer */
mc->mc_gpr[14] = (uintptr_t) start; /* r14 <- start */
diff --git a/lib/libc/powerpc64/gen/signalcontext.c b/lib/libc/powerpc64/gen/signalcontext.c
index 5fac663fb15b..de0b2109bba4 100644
--- a/lib/libc/powerpc64/gen/signalcontext.c
+++ b/lib/libc/powerpc64/gen/signalcontext.c
@@ -26,7 +26,6 @@
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/ucontext.h>
#include <signal.h>
diff --git a/lib/libc/powerpc64/gen/syncicache.c b/lib/libc/powerpc64/gen/syncicache.c
index d96529bc3833..7885a36bd1d1 100644
--- a/lib/libc/powerpc64/gen/syncicache.c
+++ b/lib/libc/powerpc64/gen/syncicache.c
@@ -33,11 +33,6 @@
* $NetBSD: syncicache.c,v 1.2 1999/05/05 12:36:40 tsubai Exp $
*/
-#ifndef lint
-static const char rcsid[] =
- "$FreeBSD$";
-#endif /* not lint */
-
#include <sys/param.h>
#if defined(_KERNEL) || defined(_STANDALONE)
#include <sys/time.h>
diff --git a/lib/libc/powerpc64/static_tls.h b/lib/libc/powerpc64/static_tls.h
deleted file mode 100644
index 014b8a931453..000000000000
--- a/lib/libc/powerpc64/static_tls.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * 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.
- */
-
-#ifndef _LIBC_POWERPC64_STATIC_TLS_H
-#define _LIBC_POWERPC64_STATIC_TLS_H
-
-static __inline uintptr_t
-_libc_get_static_tls_base(size_t offset)
-{
- uintptr_t tlsbase;
-
- __asm __volatile("mr %0,13" : "=r"(tlsbase));
- tlsbase += offset - 0x7010;
- return (tlsbase);
-}
-
-#endif
diff --git a/lib/libc/powerpc64/string/Makefile.inc b/lib/libc/powerpc64/string/Makefile.inc
index d1918ff027c3..c9d7c9d71676 100644
--- a/lib/libc/powerpc64/string/Makefile.inc
+++ b/lib/libc/powerpc64/string/Makefile.inc
@@ -1,4 +1,3 @@
-
MDSRCS+= \
bcopy.S \
bcopy_vsx.S \
diff --git a/lib/libc/powerpc64/string/bcopy_resolver.c b/lib/libc/powerpc64/string/bcopy_resolver.c
index a551d5d3ca5e..c99c53b2f9b3 100644
--- a/lib/libc/powerpc64/string/bcopy_resolver.c
+++ b/lib/libc/powerpc64/string/bcopy_resolver.c
@@ -27,7 +27,6 @@
*
*/
-#include <sys/cdefs.h>
#include <machine/cpu.h>
#include <machine/ifunc.h>
diff --git a/lib/libc/powerpc64/string/strcpy.c b/lib/libc/powerpc64/string/strcpy.c
index 23531264d8f4..d0be3ca468a0 100644
--- a/lib/libc/powerpc64/string/strcpy.c
+++ b/lib/libc/powerpc64/string/strcpy.c
@@ -26,6 +26,5 @@
*/
-#include <sys/cdefs.h>
#define WEAK_STRCPY
#include "../../string/strcpy.c"
diff --git a/lib/libc/powerpc64/string/strcpy_resolver.c b/lib/libc/powerpc64/string/strcpy_resolver.c
index 513d33e96e28..7a64ce41c7e4 100644
--- a/lib/libc/powerpc64/string/strcpy_resolver.c
+++ b/lib/libc/powerpc64/string/strcpy_resolver.c
@@ -26,7 +26,6 @@
*/
-#include <sys/cdefs.h>
#include <machine/cpu.h>
#include <machine/ifunc.h>
diff --git a/lib/libc/powerpc64/string/strncpy.c b/lib/libc/powerpc64/string/strncpy.c
index 6879834c5818..aef3fb88724a 100644
--- a/lib/libc/powerpc64/string/strncpy.c
+++ b/lib/libc/powerpc64/string/strncpy.c
@@ -26,6 +26,5 @@
*/
-#include <sys/cdefs.h>
#define WEAK_STRNCPY
#include "../../string/strncpy.c"
diff --git a/lib/libc/powerpc64/string/strncpy_resolver.c b/lib/libc/powerpc64/string/strncpy_resolver.c
index b3b5511c74b5..402b5c5226d0 100644
--- a/lib/libc/powerpc64/string/strncpy_resolver.c
+++ b/lib/libc/powerpc64/string/strncpy_resolver.c
@@ -26,7 +26,6 @@
*/
-#include <sys/cdefs.h>
#include <machine/cpu.h>
#include <machine/ifunc.h>
diff --git a/lib/libc/powerpc64/sys/Makefile.inc b/lib/libc/powerpc64/sys/Makefile.inc
deleted file mode 100644
index 17b7b3b26111..000000000000
--- a/lib/libc/powerpc64/sys/Makefile.inc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-SRCS+= __vdso_gettc.c \
- sched_getcpu_gen.c
-
-MDASM+= cerror.S
diff --git a/lib/libc/powerpc64/sys/__vdso_gettc.c b/lib/libc/powerpc64/sys/__vdso_gettc.c
deleted file mode 100644
index b9c924e0e542..000000000000
--- a/lib/libc/powerpc64/sys/__vdso_gettc.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause
- *
- * Copyright (c) 2020 Brandon Bergren <bdragon@FreeBSD.org>
- *
- * This software was developed by Konstantin Belousov
- * 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.
- */
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <sys/elf.h>
-#include <sys/time.h>
-#include <sys/vdso.h>
-
-#include <machine/cpufunc.h>
-
-#include <errno.h>
-
-#include "libc_private.h"
-
-#pragma weak __vdso_gettc
-int
-__vdso_gettc(const struct vdso_timehands *th, u_int *tc)
-{
- u_quad_t tb;
-
- if (__predict_false(th->th_algo != VDSO_TH_ALGO_PPC_TB))
- return (ENOSYS);
-
- __asm __volatile ("mftb %0" : "=r"(tb));
- *tc = tb;
- return (0);
-}
-
-#pragma weak __vdso_gettimekeep
-int
-__vdso_gettimekeep(struct vdso_timekeep **tk)
-{
-
- return (_elf_aux_info(AT_TIMEKEEP, tk, sizeof(*tk)));
-}
diff --git a/lib/libc/powerpc64/sys/cerror.S b/lib/libc/powerpc64/sys/cerror.S
deleted file mode 100644
index 2be58cf8a84b..000000000000
--- a/lib/libc/powerpc64/sys/cerror.S
+++ /dev/null
@@ -1,59 +0,0 @@
-/*-
- * Copyright (c) 2002 Peter Grehan.
- * 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.
- */
-/* $NetBSD: cerror.S,v 1.5 2000/01/27 14:58:48 kleink Exp $ */
-
-#include <machine/asm.h>
-#include "SYS.h"
-
- .globl HIDENAME(cerror)
- .globl CNAME(__error)
-
- /*
- * The __error() function is thread aware. For non-threaded
- * programs and the initial thread in threaded programs,
- * it returns a pointer to the global errno variable.
- */
-ENTRY_NOPROF(HIDENAME(cerror))
- mflr %r0
- std %r0,16(%r1) /* save lr */
- stdu %r1,-64(%r1) /* allocate new stack frame */
- std %r31,48(%r1)
-
- mr %r31,%r3 /* stash errval in callee-saved register */
- bl CNAME(__error)
- nop
- stw %r31,0(%r3) /* store errval into &errno */
-
- ld %r31,48(%r1)
- ld %r1,0(%r1)
- ld %r0,16(%r1)
- mtlr %r0
- li %r3,-1
- li %r4,-1
- blr
-END(HIDENAME(cerror))
-
- .section .note.GNU-stack,"",%progbits