[Midnightbsd-cvs] src [10568] trunk/lib/libc/powerpc64: add powerpc64

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Thu Jun 7 21:20:45 EDT 2018


Revision: 10568
          http://svnweb.midnightbsd.org/src/?rev=10568
Author:   laffer1
Date:     2018-06-07 21:20:45 -0400 (Thu, 07 Jun 2018)
Log Message:
-----------
add powerpc64

Added Paths:
-----------
    trunk/lib/libc/powerpc64/
    trunk/lib/libc/powerpc64/Makefile.inc
    trunk/lib/libc/powerpc64/SYS.h
    trunk/lib/libc/powerpc64/Symbol.map
    trunk/lib/libc/powerpc64/_fpmath.h
    trunk/lib/libc/powerpc64/arith.h
    trunk/lib/libc/powerpc64/gd_qnan.h
    trunk/lib/libc/powerpc64/gen/
    trunk/lib/libc/powerpc64/gen/Makefile.inc
    trunk/lib/libc/powerpc64/gen/_ctx_start.S
    trunk/lib/libc/powerpc64/gen/_set_tp.c
    trunk/lib/libc/powerpc64/gen/_setjmp.S
    trunk/lib/libc/powerpc64/gen/fabs.S
    trunk/lib/libc/powerpc64/gen/flt_rounds.c
    trunk/lib/libc/powerpc64/gen/fpgetmask.c
    trunk/lib/libc/powerpc64/gen/fpgetround.c
    trunk/lib/libc/powerpc64/gen/fpgetsticky.c
    trunk/lib/libc/powerpc64/gen/fpsetmask.c
    trunk/lib/libc/powerpc64/gen/fpsetround.c
    trunk/lib/libc/powerpc64/gen/getcontextx.c
    trunk/lib/libc/powerpc64/gen/infinity.c
    trunk/lib/libc/powerpc64/gen/makecontext.c
    trunk/lib/libc/powerpc64/gen/setjmp.S
    trunk/lib/libc/powerpc64/gen/signalcontext.c
    trunk/lib/libc/powerpc64/gen/sigsetjmp.S
    trunk/lib/libc/powerpc64/gen/syncicache.c
    trunk/lib/libc/powerpc64/softfloat/
    trunk/lib/libc/powerpc64/softfloat/milieu.h
    trunk/lib/libc/powerpc64/softfloat/powerpc-gcc.h
    trunk/lib/libc/powerpc64/softfloat/softfloat.h
    trunk/lib/libc/powerpc64/sys/
    trunk/lib/libc/powerpc64/sys/Makefile.inc
    trunk/lib/libc/powerpc64/sys/__vdso_gettc.c
    trunk/lib/libc/powerpc64/sys/brk.S
    trunk/lib/libc/powerpc64/sys/cerror.S
    trunk/lib/libc/powerpc64/sys/exect.S
    trunk/lib/libc/powerpc64/sys/pipe.S
    trunk/lib/libc/powerpc64/sys/sbrk.S
    trunk/lib/libc/powerpc64/sys/setlogin.S

Added: trunk/lib/libc/powerpc64/Makefile.inc
===================================================================
--- trunk/lib/libc/powerpc64/Makefile.inc	                        (rev 0)
+++ trunk/lib/libc/powerpc64/Makefile.inc	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,8 @@
+# $MidnightBSD$
+# $FreeBSD: stable/10/lib/libc/powerpc64/Makefile.inc 246117 2013-01-30 12:48:16Z kib $
+
+SRCS+=	__vdso_gettc.c
+
+# Long double is 64-bits
+MDSRCS+=machdep_ldisd.c
+SYM_MAPS+=${.CURDIR}/powerpc64/Symbol.map


Property changes on: trunk/lib/libc/powerpc64/Makefile.inc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/SYS.h
===================================================================
--- trunk/lib/libc/powerpc64/SYS.h	                        (rev 0)
+++ trunk/lib/libc/powerpc64/SYS.h	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,95 @@
+/* $MidnightBSD$ */
+/*-
+ * 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 $
+ * $FreeBSD: stable/10/lib/libc/powerpc64/SYS.h 231044 2012-02-05 20:04:43Z andreast $
+ */
+
+#include <sys/syscall.h>
+#include <machine/asm.h>
+
+#define	_SYSCALL(name)						\
+	.text;							\
+	.align 2;						\
+	li	0,(__CONCAT(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(__CONCAT(__sys_, name));						\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), name);			\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, name)); 	\
+	_SYSCALL(name);							\
+	bso	2b
+
+#define	PSEUDO(name)						\
+	.text;							\
+	.align 2;						\
+ENTRY(__CONCAT(__sys_, name));					\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, 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;
+
+#define	RSYSCALL(name)						\
+	.text;							\
+	.align 2;						\
+ENTRY(__CONCAT(__sys_, name));					\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), name);		\
+	WEAK_REFERENCE(__CONCAT(__sys_, name), __CONCAT(_, 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;


Property changes on: trunk/lib/libc/powerpc64/SYS.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/Symbol.map
===================================================================
--- trunk/lib/libc/powerpc64/Symbol.map	                        (rev 0)
+++ trunk/lib/libc/powerpc64/Symbol.map	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,58 @@
+/* $MidnightBSD$
+ * $FreeBSD: stable/10/lib/libc/powerpc64/Symbol.map 226606 2011-10-21 06:40:36Z das $
+ */
+
+/*
+ * 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;
+	fpgetmask;
+	fpgetround;
+	fpgetsticky;
+	fpsetmask;
+	fpsetround;
+	__infinity;
+	__nan;
+	makecontext;
+	setjmp;
+	longjmp;
+	sigsetjmp;
+	siglongjmp;
+	htonl;
+	htons;
+	ntohl;
+	ntohs;
+	brk;
+	exect;
+	sbrk;
+	vfork;
+};
+
+FBSDprivate_1.0 {
+	/* PSEUDO syscalls */
+	__sys_getlogin;
+	_getlogin;
+	__sys_exit;
+
+	_set_tp;
+	_fpgetsticky;
+	__makecontext;
+	__longjmp;
+	signalcontext;
+	__signalcontext;
+	__syncicache;
+	_end;
+	_curbrk;
+	_minbrk;
+	_cerror;
+};


Property changes on: trunk/lib/libc/powerpc64/Symbol.map
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/_fpmath.h
===================================================================
--- trunk/lib/libc/powerpc64/_fpmath.h	                        (rev 0)
+++ trunk/lib/libc/powerpc64/_fpmath.h	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,50 @@
+/* $MidnightBSD$ */
+/*-
+ * Copyright (c) 2003 David Schultz <das at 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.
+ *
+ * $FreeBSD: stable/10/lib/libc/powerpc64/_fpmath.h 209878 2010-07-10 14:45:03Z nwhitehorn $
+ */
+
+union IEEEl2bits {
+	long double	e;
+	struct {
+		unsigned int		sign	:1;
+		unsigned int		exp	:11;
+		unsigned int		manh	:20;
+		unsigned int		manl	:32;
+	} bits;
+};
+
+#define	mask_nbit_l(u)	((void)0)
+#define	LDBL_IMPLICIT_NBIT
+#define	LDBL_NBIT	0
+
+#define	LDBL_MANH_SIZE	20
+#define	LDBL_MANL_SIZE	32
+
+#define	LDBL_TO_ARRAY32(u, a) do {			\
+	(a)[0] = (uint32_t)(u).bits.manl;		\
+	(a)[1] = (uint32_t)(u).bits.manh;		\
+} while(0)


Property changes on: trunk/lib/libc/powerpc64/_fpmath.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/arith.h
===================================================================
--- trunk/lib/libc/powerpc64/arith.h	                        (rev 0)
+++ trunk/lib/libc/powerpc64/arith.h	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,17 @@
+/* $MidnightBSD$ */
+/*
+ * MD header for contrib/gdtoa
+ *
+ * $FreeBSD: stable/10/lib/libc/powerpc64/arith.h 209878 2010-07-10 14:45:03Z nwhitehorn $
+ */
+
+/*
+ * NOTE: The definitions in this file must be correct or strtod(3) and
+ * floating point formats in printf(3) will break!  The file can be
+ * generated by running contrib/gdtoa/arithchk.c on the target
+ * architecture.  See contrib/gdtoa/gdtoaimp.h for details.
+ */
+
+#define IEEE_MC68k
+#define Arith_Kind_ASL 2
+#define Double_Align


Property changes on: trunk/lib/libc/powerpc64/arith.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gd_qnan.h
===================================================================
--- trunk/lib/libc/powerpc64/gd_qnan.h	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gd_qnan.h	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,22 @@
+/* $MidnightBSD$ */
+/*
+ * MD header for contrib/gdtoa
+ *
+ * This file can be generated by compiling and running contrib/gdtoa/qnan.c
+ * on the target architecture after arith.h has been generated.
+ *
+ * $FreeBSD: stable/10/lib/libc/powerpc64/gd_qnan.h 209878 2010-07-10 14:45:03Z nwhitehorn $
+ */
+
+#define f_QNAN 0x7fc00000
+#define d_QNAN0 0x7ff80000
+#define d_QNAN1 0x0
+#define ld_QNAN0 0x7ff80000
+#define ld_QNAN1 0x0
+#define ld_QNAN2 0x0
+#define ld_QNAN3 0x0
+#define ldus_QNAN0 0x7ff8
+#define ldus_QNAN1 0x0
+#define ldus_QNAN2 0x0
+#define ldus_QNAN3 0x0
+#define ldus_QNAN4 0x0


Property changes on: trunk/lib/libc/powerpc64/gd_qnan.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/Makefile.inc
===================================================================
--- trunk/lib/libc/powerpc64/gen/Makefile.inc	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/Makefile.inc	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,10 @@
+# $MidnightBSD$
+# $FreeBSD: stable/10/lib/libc/powerpc64/gen/Makefile.inc 230429 2012-01-21 18:00:28Z kib $
+
+SRCS += _ctx_start.S fabs.S flt_rounds.c fpgetmask.c fpgetround.c \
+	fpgetsticky.c fpsetmask.c fpsetround.c getcontextx.c \
+	infinity.c ldexp.c makecontext.c _setjmp.S \
+	setjmp.S sigsetjmp.S signalcontext.c syncicache.c \
+	_set_tp.c
+
+


Property changes on: trunk/lib/libc/powerpc64/gen/Makefile.inc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/_ctx_start.S
===================================================================
--- trunk/lib/libc/powerpc64/gen/_ctx_start.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/_ctx_start.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,51 @@
+/* $MidnightBSD$ */
+/*
+ * Copyright (c) 2004 Suleiman Souhlal
+ * 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: stable/10/lib/libc/powerpc64/gen/_ctx_start.S 218824 2011-02-18 21:44:53Z nwhitehorn $");
+
+	.globl  CNAME(_ctx_done)
+	.globl  CNAME(abort)
+
+ ENTRY(_ctx_start)
+	ld	%r2,8(%r14)
+	ld	%r14,0(%r14)
+	mtlr	%r14
+	blrl			/* branch to start function */
+	mr	%r3,%r15	/* pass pointer to ucontext as argument */
+	nop
+	bl	CNAME(_ctx_done) /* branch to ctxt completion func */
+	/*
+	 * we should never return from the
+	 * above branch.
+	 */
+	nop
+	bl	CNAME(abort)	/* abort */
+	nop
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/gen/_ctx_start.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/_set_tp.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/_set_tp.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/_set_tp.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,36 @@
+/* $MidnightBSD$ */
+/*-
+ * Copyright (c) 2004 Doug Rabson
+ * 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.
+ *
+ *	$FreeBSD: stable/10/lib/libc/powerpc64/gen/_set_tp.c 209878 2010-07-10 14:45:03Z nwhitehorn $
+ */
+
+void
+_set_tp(void *tpval)
+{
+	register void *tp __asm__("r13");
+
+	__asm __volatile("mr %0,%1" : "=r"(tp) : "r"((char*)tpval + 0x7010));
+}


Property changes on: trunk/lib/libc/powerpc64/gen/_set_tp.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/_setjmp.S
===================================================================
--- trunk/lib/libc/powerpc64/gen/_setjmp.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/_setjmp.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,118 @@
+/* $MidnightBSD$ */
+/*-
+ * 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: _setjmp.S,v 1.1 1997/03/29 20:55:53 thorpej Exp $      */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/_setjmp.S 234115 2012-04-11 00:00:40Z nwhitehorn $");
+
+/*
+ * C library -- _setjmp, _longjmp
+ *
+ *      _longjmp(a,v)
+ * will generate a "return(v?v:1)" from the last call to
+ *      _setjmp(a)
+ * by restoring registers from the stack.
+ * The previous signal state is NOT restored.
+ *
+ * jmpbuf layout:
+ *     +------------+
+ *     |   unused   |
+ *     +------------+
+ *     |   unused   |
+ *     |            |
+ *     | (4 words)  |
+ *     |            |
+ *     +------------+
+ *     | saved regs |
+ *     |    ...     |	
+ */
+
+ENTRY(_setjmp)
+	mflr	%r11
+	mfcr	%r12
+	mr	%r10,%r1
+	mr	%r9,%r2
+	std	%r9,40 + 0*8(%r3)
+	std	%r10,40 + 1*8(%r3)
+	std	%r11,40 + 2*8(%r3)
+	std	%r12,40 + 3*8(%r3)
+	std	%r13,40 + 4*8(%r3)
+	std	%r14,40 + 5*8(%r3)
+	std	%r15,40 + 6*8(%r3)
+	std	%r16,40 + 7*8(%r3)
+	std	%r17,40 + 8*8(%r3)
+	std	%r18,40 + 9*8(%r3)
+	std	%r19,40 + 10*8(%r3)
+	std	%r20,40 + 11*8(%r3)
+	std	%r21,40 + 12*8(%r3)
+	std	%r22,40 + 13*8(%r3)
+	std	%r23,40 + 14*8(%r3)
+	std	%r24,40 + 15*8(%r3)
+	std	%r25,40 + 16*8(%r3)
+	std	%r26,40 + 17*8(%r3)
+	std	%r27,40 + 18*8(%r3)
+	std	%r28,40 + 19*8(%r3)
+	std	%r29,40 + 20*8(%r3)
+	std	%r30,40 + 21*8(%r3)
+	std	%r31,40 + 22*8(%r3)
+	li	%r3,0
+	blr
+
+ENTRY(_longjmp)
+	ld	%r9,40 + 0*8(%r3)
+	ld	%r10,40 + 1*8(%r3)
+	ld	%r11,40 + 2*8(%r3)
+	ld	%r12,40 + 3*8(%r3)
+	ld	%r14,40 + 5*8(%r3)
+	ld	%r15,40 + 6*8(%r3)
+	ld	%r16,40 + 7*8(%r3)
+	ld	%r17,40 + 8*8(%r3)
+	ld	%r18,40 + 9*8(%r3)
+	ld	%r19,40 + 10*8(%r3)
+	ld	%r20,40 + 11*8(%r3)
+	ld	%r21,40 + 12*8(%r3)
+	ld	%r22,40 + 13*8(%r3)
+	ld	%r23,40 + 14*8(%r3)
+	ld	%r24,40 + 15*8(%r3)
+	ld	%r25,40 + 16*8(%r3)
+	ld	%r26,40 + 17*8(%r3)
+	ld	%r27,40 + 18*8(%r3)
+	ld	%r28,40 + 19*8(%r3)
+	ld	%r29,40 + 20*8(%r3)
+	ld	%r30,40 + 21*8(%r3)
+	ld	%r31,40 + 22*8(%r3)
+
+	mtlr	%r11
+	mtcr	%r12
+	mr	%r2,%r9
+	mr	%r1,%r10
+	or.	%r3,%r4,%r4
+	bnelr
+	li	%r3,1
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/gen/_setjmp.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/fabs.S
===================================================================
--- trunk/lib/libc/powerpc64/gen/fabs.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/fabs.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,38 @@
+/* $MidnightBSD$ */
+/*
+ * Copyright (c) 2004 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.
+ */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/fabs.S 217398 2011-01-14 11:33:40Z kib $");
+
+/*
+ * double fabs(double)
+ */
+ENTRY(fabs)
+	fabs	%f1,%f1
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/gen/fabs.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/flt_rounds.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/flt_rounds.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/flt_rounds.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,57 @@
+/* $MidnightBSD$ */
+/*	$NetBSD: flt_rounds.c,v 1.4.10.3 2002/03/22 20:41:53 nathanw Exp $	*/
+
+/*
+ * Copyright (c) 1996 Mark Brinicombe
+ * 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 Mark Brinicombe
+ *	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.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/flt_rounds.c 209878 2010-07-10 14:45:03Z nwhitehorn $");
+
+#include <sys/types.h>
+#include <machine/float.h>
+
+#ifndef _SOFT_FLOAT
+static const int map[] = {
+	1,	/* round to nearest */
+	0,	/* round to zero */
+	2,	/* round to positive infinity */
+	3	/* round to negative infinity */
+};
+
+int
+__flt_rounds()
+{
+	uint64_t fpscr;
+
+	__asm__ __volatile("mffs %0" : "=f"(fpscr));
+	return map[(fpscr & 0x03)];
+}
+#endif


Property changes on: trunk/lib/libc/powerpc64/gen/flt_rounds.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/fpgetmask.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/fpgetmask.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/fpgetmask.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,49 @@
+/* $MidnightBSD$ */
+/*	$NetBSD: fpgetmask.c,v 1.3 2002/01/13 21:45:47 thorpej Exp $	*/
+
+/*
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Dan Winship.
+ *
+ * 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 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.
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/fpgetmask.c 251091 2013-05-29 01:54:10Z emaste $");
+
+#include <sys/types.h>
+#include <ieeefp.h>
+
+#ifndef _SOFT_FLOAT
+fp_except_t
+fpgetmask()
+{
+	u_int64_t fpscr;
+
+	__asm__("mffs %0" : "=f"(fpscr));
+	return ((fp_except_t)((fpscr >> 3) & 0x1f));
+}
+#endif


Property changes on: trunk/lib/libc/powerpc64/gen/fpgetmask.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/fpgetround.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/fpgetround.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/fpgetround.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,49 @@
+/* $MidnightBSD$ */
+/*	$NetBSD: fpgetround.c,v 1.3 2002/01/13 21:45:47 thorpej Exp $	*/
+
+/*
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Dan Winship.
+ *
+ * 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 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.
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/fpgetround.c 251091 2013-05-29 01:54:10Z emaste $");
+
+#include <sys/types.h>
+#include <ieeefp.h>
+
+#ifndef _SOFT_FLOAT
+fp_rnd_t
+fpgetround()
+{
+	u_int64_t fpscr;
+
+	__asm__("mffs %0" : "=f"(fpscr));
+	return ((fp_rnd_t)(fpscr & 0x3));
+}
+#endif


Property changes on: trunk/lib/libc/powerpc64/gen/fpgetround.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/fpgetsticky.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/fpgetsticky.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/fpgetsticky.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,55 @@
+/* $MidnightBSD$ */
+/*	$NetBSD: fpgetsticky.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $	*/
+
+/*
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ * 
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Dan Winship.
+ * 
+ * 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 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.
+ *
+ * $FreeBSD: stable/10/lib/libc/powerpc64/gen/fpgetsticky.c 251091 2013-05-29 01:54:10Z emaste $
+ */
+
+#include <sys/cdefs.h>
+
+#include "namespace.h"
+
+#include <sys/types.h>
+#include <ieeefp.h>
+
+#ifndef _SOFT_FLOAT
+#ifdef __weak_alias
+__weak_alias(fpgetsticky,_fpgetsticky)
+#endif
+
+fp_except_t
+fpgetsticky()
+{
+	u_int64_t fpscr;
+
+	__asm__ __volatile("mffs %0" : "=f"(fpscr));
+	return ((fp_except_t)((fpscr >> 25) & 0x1f));
+}
+#endif


Property changes on: trunk/lib/libc/powerpc64/gen/fpgetsticky.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/fpsetmask.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/fpsetmask.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/fpsetmask.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,53 @@
+/* $MidnightBSD$ */
+/*	$NetBSD: fpsetmask.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $	*/
+
+/*
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Dan Winship.
+ *
+ * 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 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.
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/fpsetmask.c 251091 2013-05-29 01:54:10Z emaste $");
+
+#include <sys/types.h>
+#include <ieeefp.h>
+
+#ifndef _SOFT_FLOAT
+fp_except_t
+fpsetmask(fp_except_t mask)
+{
+	u_int64_t fpscr;
+	fp_rnd_t old;
+
+	__asm__("mffs %0" : "=f"(fpscr));
+	old = (fp_rnd_t)((fpscr >> 3) & 0x1f);
+	fpscr = (fpscr & 0xffffff07) | (mask << 3);
+	__asm__ __volatile("mtfsf 0xff,%0" :: "f"(fpscr));
+	return (old);
+}
+#endif


Property changes on: trunk/lib/libc/powerpc64/gen/fpsetmask.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/fpsetround.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/fpsetround.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/fpsetround.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,53 @@
+/* $MidnightBSD$ */
+/*	$NetBSD: fpsetround.c,v 1.3 2002/01/13 21:45:48 thorpej Exp $	*/
+
+/*
+ * Copyright (c) 1999 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Dan Winship.
+ *
+ * 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 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.
+ *
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/fpsetround.c 251091 2013-05-29 01:54:10Z emaste $");
+
+#include <sys/types.h>
+#include <ieeefp.h>
+
+#ifndef _SOFT_FLOAT
+fp_rnd_t
+fpsetround(fp_rnd_t rnd_dir)
+{
+	u_int64_t fpscr;
+	fp_rnd_t old;
+
+	__asm__ __volatile("mffs %0" : "=f"(fpscr));
+	old = (fp_rnd_t)(fpscr & 0x3);
+	fpscr = (fpscr & 0xfffffffc) | rnd_dir;
+	__asm__ __volatile("mtfsf 0xff,%0" :: "f"(fpscr));
+	return (old);
+}
+#endif


Property changes on: trunk/lib/libc/powerpc64/gen/fpsetround.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/getcontextx.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/getcontextx.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/getcontextx.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,77 @@
+/* $MidnightBSD$ */
+/*
+ * Copyright (c) 2011 Konstantin Belousov <kib at 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: stable/10/lib/libc/powerpc64/gen/getcontextx.c 251047 2013-05-28 04:54:16Z kib $");
+
+#include <sys/types.h>
+#include <sys/ucontext.h>
+#include <errno.h>
+#include <stdlib.h>
+
+int
+__getcontextx_size(void)
+{
+
+	return (sizeof(ucontext_t));
+}
+
+int
+__fillcontextx2(char *ctx)
+{
+
+	return (0);
+}
+
+int
+__fillcontextx(char *ctx)
+{
+	ucontext_t *ucp;
+
+	ucp = (ucontext_t *)ctx;
+	return (getcontext(ucp));
+}
+
+__weak_reference(__getcontextx, getcontextx);
+
+ucontext_t *
+__getcontextx(void)
+{
+	char *ctx;
+	int error;
+
+	ctx = malloc(__getcontextx_size());
+	if (ctx == NULL)
+		return (NULL);
+	if (__fillcontextx(ctx) == -1) {
+		error = errno;
+		free(ctx);
+		errno = error;
+		return (NULL);
+	}
+	return ((ucontext_t *)ctx);
+}


Property changes on: trunk/lib/libc/powerpc64/gen/getcontextx.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/infinity.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/infinity.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/infinity.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,18 @@
+/* $MidnightBSD$ */
+#include <sys/cdefs.h>
+#if 0
+#if defined(LIBC_SCCS) && !defined(lint)
+__RCSID("$NetBSD: infinity.c,v 1.2 1998/11/14 19:31:02 christos Exp $");
+#endif /* LIBC_SCCS and not lint */
+#endif
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/infinity.c 209878 2010-07-10 14:45:03Z nwhitehorn $");
+
+/* infinity.c */
+
+#include <math.h>
+
+/* bytes for +Infinity on powerpc */
+const union __infinity_un __infinity = { { 0x7f, 0xf0, 0, 0, 0, 0, 0, 0 } };
+
+/* bytes for NaN */
+const union __nan_un __nan = { { 0xff, 0xc0, 0, 0 } };


Property changes on: trunk/lib/libc/powerpc64/gen/infinity.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/makecontext.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/makecontext.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/makecontext.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,119 @@
+/* $MidnightBSD$ */
+/*
+ * Copyright (c) 2004 Suleiman Souhlal
+ * 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 <sys/cdefs.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/makecontext.c 234003 2012-04-07 22:28:50Z nwhitehorn $");
+
+#include <sys/param.h>
+
+#include <stdarg.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <ucontext.h>
+
+__weak_reference(__makecontext, makecontext);
+
+void _ctx_done(ucontext_t *ucp);
+void _ctx_start(void);
+
+void
+_ctx_done(ucontext_t *ucp)
+{
+	if (ucp->uc_link == NULL)
+		exit(0);
+	else {
+		/* invalidate context */
+		ucp->uc_mcontext.mc_len = 0;
+
+		setcontext((const ucontext_t *)ucp->uc_link);
+
+		abort(); /* should never return from above call */
+	}
+}
+
+void
+__makecontext(ucontext_t *ucp, void (*start)(void), int argc, ...)
+{
+	mcontext_t *mc;
+	char *sp;
+	va_list ap;
+	int i, regargs, stackargs;
+
+	/* Sanity checks */
+	if ((ucp == NULL) || (argc < 0) || (argc > NCARGS)
+	    || (ucp->uc_stack.ss_sp == NULL)
+	    || (ucp->uc_stack.ss_size < MINSIGSTKSZ)) {
+		/* invalidate context */
+		ucp->uc_mcontext.mc_len = 0;
+		return;
+	}
+
+	/*
+	 * The stack must have space for the frame pointer, saved
+	 * link register, overflow arguments, and be 16-byte
+	 * aligned.
+	 */
+	stackargs = (argc > 8) ? argc - 8 : 0;
+	sp = (char *) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size
+		- sizeof(uintptr_t)*(stackargs + 2);
+	sp = (char *)((uintptr_t)sp & ~0x1f);
+
+	mc = &ucp->uc_mcontext;
+
+	/*
+	 * Up to 8 register args. Assumes all args are 64-bit and
+	 * integer only. Not sure how to cater for floating point.
+	 */
+	regargs = (argc > 8) ? 8 : argc;
+	va_start(ap, argc);
+	for (i = 0; i < regargs; i++)
+		mc->mc_gpr[3 + i] = va_arg(ap, uint64_t);
+
+	/*
+	 * Overflow args go onto the stack
+	 */
+	if (argc > 8) {
+		uint64_t *argp;
+
+		/* Skip past frame pointer and saved LR */
+		argp = (uint64_t *)sp + 6;
+
+		for (i = 0; i < stackargs; i++)
+			*argp++ = va_arg(ap, uint64_t);
+	}
+	va_end(ap);
+
+	/*
+	 * Use caller-saved regs 14/15 to hold params that _ctx_start
+	 * will use to invoke the user-supplied func
+	 */
+	mc->mc_srr0 = *(uintptr_t *)_ctx_start;
+	mc->mc_gpr[1] = (uintptr_t) sp;		/* new stack pointer */
+	mc->mc_gpr[14] = (uintptr_t) start;	/* r14 <- start */
+	mc->mc_gpr[15] = (uintptr_t) ucp;	/* r15 <- ucp */
+}


Property changes on: trunk/lib/libc/powerpc64/gen/makecontext.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/setjmp.S
===================================================================
--- trunk/lib/libc/powerpc64/gen/setjmp.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/setjmp.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,137 @@
+/* $MidnightBSD$ */
+/*-
+ * 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: setjmp.S,v 1.3 1998/10/03 12:30:38 tsubai Exp $        */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/setjmp.S 234115 2012-04-11 00:00:40Z nwhitehorn $");
+
+#include <sys/syscall.h>
+	
+/*
+ * C library -- setjmp, longjmp
+ *
+ *      longjmp(a,v)
+ * will generate a "return(v?v:1)" from the last call to
+ *      setjmp(a)
+ * by restoring registers from the stack.
+ * The previous signal state is restored.
+ *
+ * jmpbuf layout:
+ *     +------------+
+ *     |   unused   |
+ *     +------------+
+ *     | sig state  |
+ *     |            |
+ *     | (4 words)  |
+ *     |            |
+ *     +------------+
+ *     | saved regs |
+ *     |    ...     |
+ */
+
+ENTRY(setjmp)
+	mr	%r6,%r3
+	li	%r3,1			/* SIG_BLOCK, but doesn't matter */
+					/*            since set == NULL  */
+	li	%r4,0			/* set = NULL */
+	mr	%r5,%r6			/* &oset */
+	addi	%r5,%r5,4
+	li	%r0, SYS_sigprocmask	/*sigprocmask(SIG_BLOCK, NULL, &oset)*/
+	sc				/*assume no error       XXX */
+	mflr	%r11			/* r11 <- link reg */
+	mfcr	%r12			/* r12 <- condition reg */
+	mr	%r10,%r1		/* r10 <- stackptr */
+	mr	%r9,%r2			/*  r9 <- global ptr */
+
+	std	%r9,40 + 0*8(%r6)
+	std	%r10,40 + 1*8(%r6)
+	std	%r11,40 + 2*8(%r6)
+	std	%r12,40 + 3*8(%r6)
+	std	%r13,40 + 4*8(%r6)
+	std	%r14,40 + 5*8(%r6)
+	std	%r15,40 + 6*8(%r6)
+	std	%r16,40 + 7*8(%r6)
+	std	%r17,40 + 8*8(%r6)
+	std	%r18,40 + 9*8(%r6)
+	std	%r19,40 + 10*8(%r6)
+	std	%r20,40 + 11*8(%r6)
+	std	%r21,40 + 12*8(%r6)
+	std	%r22,40 + 13*8(%r6)
+	std	%r23,40 + 14*8(%r6)
+	std	%r24,40 + 15*8(%r6)
+	std	%r25,40 + 16*8(%r6)
+	std	%r26,40 + 17*8(%r6)
+	std	%r27,40 + 18*8(%r6)
+	std	%r28,40 + 19*8(%r6)
+	std	%r29,40 + 20*8(%r6)
+	std	%r30,40 + 21*8(%r6)
+	std	%r31,40 + 22*8(%r6)
+
+	li	%r3,0			/* return (0) */
+	blr
+
+	WEAK_REFERENCE(__longjmp, longjmp)
+ENTRY(__longjmp)
+	ld	%r9,40 + 0*8(%r3)
+	ld	%r10,40 + 1*8(%r3)
+	ld	%r11,40 + 2*8(%r3)
+	ld	%r12,40 + 3*8(%r3)
+	ld	%r14,40 + 5*8(%r3)
+	ld	%r15,40 + 6*8(%r3)
+	ld	%r16,40 + 7*8(%r3)
+	ld	%r17,40 + 8*8(%r3)
+	ld	%r18,40 + 9*8(%r3)
+	ld	%r19,40 + 10*8(%r3)
+	ld	%r20,40 + 11*8(%r3)
+	ld	%r21,40 + 12*8(%r3)
+	ld	%r22,40 + 13*8(%r3)
+	ld	%r23,40 + 14*8(%r3)
+	ld	%r24,40 + 15*8(%r3)
+	ld	%r25,40 + 16*8(%r3)
+	ld	%r26,40 + 17*8(%r3)
+	ld	%r27,40 + 18*8(%r3)
+	ld	%r28,40 + 19*8(%r3)
+	ld	%r29,40 + 20*8(%r3)
+	ld	%r30,40 + 21*8(%r3)
+	ld	%r31,40 + 22*8(%r3)
+	mr	%r6,%r4			/* save val param */
+	mtlr	%r11			/* r11 -> link reg */
+	mtcr	%r12			/* r12 -> condition reg */
+	mr	%r2,%r9			/* r9  -> global ptr */
+	mr	%r1,%r10		/* r10 -> stackptr */
+	mr	%r4,%r3
+	li	%r3,3			/* SIG_SETMASK */
+	addi	%r4,%r4,4		/* &set */
+	li	%r5,0			/* oset = NULL */
+	li	%r0,SYS_sigprocmask	/* sigprocmask(SIG_SET, &set, NULL) */
+	sc                              /* assume no error       XXX */
+	or.	%r3,%r6,%r6
+	bnelr
+	li	%r3,1
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/gen/setjmp.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/signalcontext.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/signalcontext.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/signalcontext.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,104 @@
+/* $MidnightBSD$ */
+/*
+ * Copyright (c) 2004 Marcel Moolenaar, 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 ``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: stable/10/lib/libc/powerpc64/gen/signalcontext.c 209878 2010-07-10 14:45:03Z nwhitehorn $");
+
+#include <sys/param.h>
+#include <sys/ucontext.h>
+#include <signal.h>
+#include <stdlib.h>
+#include <strings.h>
+
+typedef void (*handler_t)(uint32_t, uint32_t, uint32_t);
+
+/* Prototypes */
+static void ctx_wrapper(ucontext_t *ucp, handler_t func, uint32_t sig,
+			uint32_t sig_si, uint32_t sig_uc);
+
+__weak_reference(__signalcontext, signalcontext);
+
+int
+__signalcontext(ucontext_t *ucp, int sig, __sighandler_t *func)
+{
+	siginfo_t *sig_si;
+	ucontext_t *sig_uc;
+	uintptr_t sp;
+
+	/* Bail out if we don't have a valid ucontext pointer. */
+	if (ucp == NULL)
+		abort();
+
+	/*
+	 * Build a 16-byte-aligned signal frame
+	 */
+	sp = (ucp->uc_mcontext.mc_gpr[1] - sizeof(ucontext_t)) & ~15UL;
+	sig_uc = (ucontext_t *)sp;
+	bcopy(ucp, sig_uc, sizeof(*sig_uc));
+	sp = (sp - sizeof(siginfo_t)) & ~15UL;
+	sig_si = (siginfo_t *)sp;
+	bzero(sig_si, sizeof(*sig_si));
+	sig_si->si_signo = sig;
+
+	/*
+	 * Subtract 48 bytes from stack to allow for frameptr
+	 */
+	sp -= 6*sizeof(uint64_t);
+	sp &= ~15UL;
+
+	/*
+	 * Setup the ucontext of the signal handler.
+	 */
+	bzero(&ucp->uc_mcontext, sizeof(ucp->uc_mcontext));
+	ucp->uc_link = sig_uc;
+	sigdelset(&ucp->uc_sigmask, sig);
+
+	ucp->uc_mcontext.mc_vers = _MC_VERSION;
+	ucp->uc_mcontext.mc_len = sizeof(struct __mcontext);
+	ucp->uc_mcontext.mc_srr0 = (uint64_t) ctx_wrapper;
+	ucp->uc_mcontext.mc_gpr[1] = (uint64_t) sp;
+	ucp->uc_mcontext.mc_gpr[3] = (uint64_t) func;
+	ucp->uc_mcontext.mc_gpr[4] = (uint64_t) sig;
+	ucp->uc_mcontext.mc_gpr[5] = (uint64_t) sig_si;
+	ucp->uc_mcontext.mc_gpr[6] = (uint64_t) sig_uc;
+
+	return (0);
+}
+
+static void
+ctx_wrapper(ucontext_t *ucp, handler_t func, uint32_t sig, uint32_t sig_si,
+	    uint32_t sig_uc)
+{
+
+	(*func)(sig, sig_si, sig_uc);
+	if (ucp->uc_link == NULL)
+		exit(0);
+	setcontext((const ucontext_t *)ucp->uc_link);
+	/* should never get here */
+	abort();
+	/* NOTREACHED */
+}


Property changes on: trunk/lib/libc/powerpc64/gen/signalcontext.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/sigsetjmp.S
===================================================================
--- trunk/lib/libc/powerpc64/gen/sigsetjmp.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/sigsetjmp.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,146 @@
+/* $MidnightBSD$ */
+/*-
+ * 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: sigsetjmp.S,v 1.4 1998/10/03 12:30:38 tsubai Exp $     */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/gen/sigsetjmp.S 234115 2012-04-11 00:00:40Z nwhitehorn $");
+
+/*
+ * C library -- sigsetjmp, siglongjmp
+ *
+ *      siglongjmp(a,v)
+ * will generate a "return(v?v:1)" from the last call to
+ *      sigsetjmp(a, savemask)
+ * by restoring registers from the stack.
+ * The previous signal state is restored if savemask is non-zero
+ *
+ * jmpbuf layout:
+ *     +------------+
+ *     |  savemask  |
+ *     +------------+
+ *     | sig state  |
+ *     |            |
+ *     | (4 words)  |
+ *     |            |
+ *     +------------+
+ *     | saved regs |
+ *     |    ...     |
+ */
+
+	
+#include <sys/syscall.h>
+
+ENTRY(sigsetjmp)
+	mr	%r6,%r3
+	stw	%r4,0(%r3)
+	or.	%r7,%r4,%r4
+	beq	1f
+	li	%r3,1			/* SIG_BLOCK, but doesn't matter */
+					/*            since set == NULL  */
+	li	%r4,0			/* set = NULL */
+	mr	%r5,%r6			/* &oset */
+	addi	%r5,%r5,4
+	li	%r0, SYS_sigprocmask   /* sigprocmask(SIG_BLOCK, NULL, &oset)*/
+	sc				/* assume no error       XXX */
+1:
+	mflr	%r11
+	mfcr	%r12
+	mr	%r10,%r1
+	mr	%r9,%r2
+
+	std	%r9,40 + 0*8(%r6)
+	std	%r10,40 + 1*8(%r6)
+	std	%r11,40 + 2*8(%r6)
+	std	%r12,40 + 3*8(%r6)
+	std	%r13,40 + 4*8(%r6)
+	std	%r14,40 + 5*8(%r6)
+	std	%r15,40 + 6*8(%r6)
+	std	%r16,40 + 7*8(%r6)
+	std	%r17,40 + 8*8(%r6)
+	std	%r18,40 + 9*8(%r6)
+	std	%r19,40 + 10*8(%r6)
+	std	%r20,40 + 11*8(%r6)
+	std	%r21,40 + 12*8(%r6)
+	std	%r22,40 + 13*8(%r6)
+	std	%r23,40 + 14*8(%r6)
+	std	%r24,40 + 15*8(%r6)
+	std	%r25,40 + 16*8(%r6)
+	std	%r26,40 + 17*8(%r6)
+	std	%r27,40 + 18*8(%r6)
+	std	%r28,40 + 19*8(%r6)
+	std	%r29,40 + 20*8(%r6)
+	std	%r30,40 + 21*8(%r6)
+	std	%r31,40 + 22*8(%r6)
+
+	li	%r3,0
+	blr
+
+ENTRY(siglongjmp)
+	ld	%r9,40 + 0*8(%r3)
+	ld	%r10,40 + 1*8(%r3)
+	ld	%r11,40 + 2*8(%r3)
+	ld	%r12,40 + 3*8(%r3)
+	ld	%r14,40 + 5*8(%r3)
+	ld	%r15,40 + 6*8(%r3)
+	ld	%r16,40 + 7*8(%r3)
+	ld	%r17,40 + 8*8(%r3)
+	ld	%r18,40 + 9*8(%r3)
+	ld	%r19,40 + 10*8(%r3)
+	ld	%r20,40 + 11*8(%r3)
+	ld	%r21,40 + 12*8(%r3)
+	ld	%r22,40 + 13*8(%r3)
+	ld	%r23,40 + 14*8(%r3)
+	ld	%r24,40 + 15*8(%r3)
+	ld	%r25,40 + 16*8(%r3)
+	ld	%r26,40 + 17*8(%r3)
+	ld	%r27,40 + 18*8(%r3)
+	ld	%r28,40 + 19*8(%r3)
+	ld	%r29,40 + 20*8(%r3)
+	ld	%r30,40 + 21*8(%r3)
+	ld	%r31,40 + 22*8(%r3)
+
+	lwz	%r7,0(%r3)
+	mr	%r6,%r4
+	mtlr	%r11
+	mtcr	%r12
+	mr	%r2,%r9
+	mr	%r1,%r10
+	or.	%r7,%r7,%r7
+	beq	1f
+	mr	%r4,%r3
+	li	%r3,3			/* SIG_SETMASK */
+	addi	%r4,%r4,4		/* &set */
+	li	%r5,0			/* oset = NULL */
+	li	%r0,SYS_sigprocmask	/* sigprocmask(SIG_SET, &set, NULL) */
+	sc				/* assume no error       XXX */
+1:
+	or.	%r3,%r6,%r6
+	bnelr
+	li	%r3,1
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/gen/sigsetjmp.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/gen/syncicache.c
===================================================================
--- trunk/lib/libc/powerpc64/gen/syncicache.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/gen/syncicache.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,104 @@
+/* $MidnightBSD$ */
+/*-
+ * Copyright (C) 1995-1997, 1999 Wolfgang Solfrank.
+ * Copyright (C) 1995-1997, 1999 TooLs GmbH.
+ * 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 TooLs GmbH.
+ * 4. The name of TooLs GmbH may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY TOOLS GMBH ``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 TOOLS GMBH 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: syncicache.c,v 1.2 1999/05/05 12:36:40 tsubai Exp $
+ */
+
+#ifndef lint
+static const char rcsid[] =
+  "$FreeBSD: stable/10/lib/libc/powerpc64/gen/syncicache.c 253750 2013-07-28 18:44:17Z avg $";
+#endif /* not lint */
+
+#include <sys/param.h>
+#if	defined(_KERNEL) || defined(_STANDALONE)
+#include <sys/time.h>
+#include <sys/proc.h>
+#include <vm/vm.h>
+#endif
+#include <sys/sysctl.h>
+
+#include <machine/cpu.h>
+#include <machine/md_var.h>
+
+#ifdef _STANDALONE
+int cacheline_size = 32;
+#endif
+
+#if	!defined(_KERNEL) && !defined(_STANDALONE)
+#include <stdlib.h>
+
+int cacheline_size = 0;
+
+static void getcachelinesize(void);
+
+static void
+getcachelinesize()
+{
+	static int	cachemib[] = { CTL_MACHDEP, CPU_CACHELINE };
+	long		clen;
+
+	clen = sizeof(cacheline_size);
+
+	if (sysctl(cachemib, sizeof(cachemib) / sizeof(cachemib[0]),
+	    &cacheline_size, &clen, NULL, 0) < 0 || !cacheline_size) {
+		abort();
+	}
+}
+#endif
+
+void
+__syncicache(void *from, int len)
+{
+	off_t	l, off;
+	char	*p;
+
+#if	!defined(_KERNEL) && !defined(_STANDALONE)
+	if (!cacheline_size)
+		getcachelinesize();
+#endif	
+
+	off = (uintptr_t)from & (cacheline_size - 1);
+	l = len += off;
+	p = (char *)from - off;
+
+	do {
+		__asm __volatile ("dcbst 0,%0" :: "r"(p));
+		p += cacheline_size;
+	} while ((l -= cacheline_size) > 0);
+	__asm __volatile ("sync");
+	p = (char *)from - off;
+	do {
+		__asm __volatile ("icbi 0,%0" :: "r"(p));
+		p += cacheline_size;
+	} while ((len -= cacheline_size) > 0);
+	__asm __volatile ("sync; isync");
+}
+


Property changes on: trunk/lib/libc/powerpc64/gen/syncicache.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/softfloat/milieu.h
===================================================================
--- trunk/lib/libc/powerpc64/softfloat/milieu.h	                        (rev 0)
+++ trunk/lib/libc/powerpc64/softfloat/milieu.h	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,50 @@
+/* $MidnightBSD$ */
+/* $NetBSD: milieu.h,v 1.1 2000/12/29 20:13:54 bjh21 Exp $ */
+/* $FreeBSD: stable/10/lib/libc/powerpc64/softfloat/milieu.h 209878 2010-07-10 14:45:03Z nwhitehorn $ */
+
+/*
+===============================================================================
+
+This C header file is part of the SoftFloat IEC/IEEE Floating-point
+Arithmetic Package, Release 2a.
+
+Written by John R. Hauser.  This work was made possible in part by the
+International Computer Science Institute, located at Suite 600, 1947 Center
+Street, Berkeley, California 94704.  Funding was partially provided by the
+National Science Foundation under grant MIP-9311980.  The original version
+of this code was written as part of a project to build a fixed-point vector
+processor in collaboration with the University of California at Berkeley,
+overseen by Profs. Nelson Morgan and John Wawrzynek.  More information
+is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
+arithmetic/SoftFloat.html'.
+
+THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE.  Although reasonable effort
+has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
+TIMES RESULT IN INCORRECT BEHAVIOR.  USE OF THIS SOFTWARE IS RESTRICTED TO
+PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
+AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
+
+Derivative works are acceptable, even for commercial purposes, so long as
+(1) they include prominent notice that the work is derivative, and (2) they
+include prominent notice akin to these four paragraphs for those parts of
+this code that are retained.
+
+===============================================================================
+*/
+
+/*
+-------------------------------------------------------------------------------
+Include common integer types and flags.
+-------------------------------------------------------------------------------
+*/
+#include "powerpc-gcc.h"
+
+/*
+-------------------------------------------------------------------------------
+Symbolic Boolean literals.
+-------------------------------------------------------------------------------
+*/
+enum {
+    FALSE = 0,
+    TRUE  = 1
+};


Property changes on: trunk/lib/libc/powerpc64/softfloat/milieu.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/softfloat/powerpc-gcc.h
===================================================================
--- trunk/lib/libc/powerpc64/softfloat/powerpc-gcc.h	                        (rev 0)
+++ trunk/lib/libc/powerpc64/softfloat/powerpc-gcc.h	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,93 @@
+/* $MidnightBSD$ */
+/* $NetBSD: arm-gcc.h,v 1.2 2001/02/21 18:09:25 bjh21 Exp $ */
+/* $FreeBSD: stable/10/lib/libc/powerpc64/softfloat/powerpc-gcc.h 209878 2010-07-10 14:45:03Z nwhitehorn $ */
+
+/*
+-------------------------------------------------------------------------------
+One of the macros `BIGENDIAN' or `LITTLEENDIAN' must be defined.
+-------------------------------------------------------------------------------
+*/
+#define BIGENDIAN
+
+/*
+-------------------------------------------------------------------------------
+The macro `BITS64' can be defined to indicate that 64-bit integer types are
+supported by the compiler.
+-------------------------------------------------------------------------------
+*/
+#define BITS64
+
+/*
+-------------------------------------------------------------------------------
+Each of the following `typedef's defines the most convenient type that holds
+integers of at least as many bits as specified.  For example, `uint8' should
+be the most convenient type that can hold unsigned integers of as many as
+8 bits.  The `flag' type must be able to hold either a 0 or 1.  For most
+implementations of C, `flag', `uint8', and `int8' should all be `typedef'ed
+to the same as `int'.
+-------------------------------------------------------------------------------
+*/
+typedef int flag;
+typedef unsigned int uint8;
+typedef int int8;
+typedef unsigned int uint16;
+typedef int int16;
+typedef unsigned int uint32;
+typedef signed int int32;
+#ifdef BITS64
+typedef unsigned long long int uint64;
+typedef signed long long int int64;
+#endif
+
+/*
+-------------------------------------------------------------------------------
+Each of the following `typedef's defines a type that holds integers
+of _exactly_ the number of bits specified.  For instance, for most
+implementation of C, `bits16' and `sbits16' should be `typedef'ed to
+`unsigned short int' and `signed short int' (or `short int'), respectively.
+-------------------------------------------------------------------------------
+*/
+typedef unsigned char bits8;
+typedef signed char sbits8;
+typedef unsigned short int bits16;
+typedef signed short int sbits16;
+typedef unsigned int bits32;
+typedef signed int sbits32;
+#ifdef BITS64
+typedef unsigned long long int bits64;
+typedef signed long long int sbits64;
+#endif
+
+#ifdef BITS64
+/*
+-------------------------------------------------------------------------------
+The `LIT64' macro takes as its argument a textual integer literal and
+if necessary ``marks'' the literal as having a 64-bit integer type.
+For example, the GNU C Compiler (`gcc') requires that 64-bit literals be
+appended with the letters `LL' standing for `long long', which is `gcc's
+name for the 64-bit integer type.  Some compilers may allow `LIT64' to be
+defined as the identity macro:  `#define LIT64( a ) a'.
+-------------------------------------------------------------------------------
+*/
+#define LIT64( a ) a##LL
+#endif
+
+/*
+-------------------------------------------------------------------------------
+The macro `INLINE' can be used before functions that should be inlined.  If
+a compiler does not support explicit inlining, this macro should be defined
+to be `static'.
+-------------------------------------------------------------------------------
+*/
+#define INLINE static __inline
+
+/*
+-------------------------------------------------------------------------------
+The ARM FPA is odd in that it stores doubles high-order word first, no matter
+what the endianness of the CPU.  VFP is sane.
+-------------------------------------------------------------------------------
+*/
+#if defined(SOFTFLOAT_FOR_GCC)
+#define FLOAT64_DEMANGLE(a)	(a)
+#define FLOAT64_MANGLE(a)	(a)
+#endif


Property changes on: trunk/lib/libc/powerpc64/softfloat/powerpc-gcc.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/softfloat/softfloat.h
===================================================================
--- trunk/lib/libc/powerpc64/softfloat/softfloat.h	                        (rev 0)
+++ trunk/lib/libc/powerpc64/softfloat/softfloat.h	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,308 @@
+/* $MidnightBSD$ */
+/*	$NetBSD: softfloat.h,v 1.6 2002/05/12 13:12:46 bjh21 Exp $	*/
+/* $FreeBSD: stable/10/lib/libc/powerpc64/softfloat/softfloat.h 209878 2010-07-10 14:45:03Z nwhitehorn $ */
+
+/* This is a derivative work. */
+
+/*
+===============================================================================
+
+This C header file is part of the SoftFloat IEC/IEEE Floating-point
+Arithmetic Package, Release 2a.
+
+Written by John R. Hauser.  This work was made possible in part by the
+International Computer Science Institute, located at Suite 600, 1947 Center
+Street, Berkeley, California 94704.  Funding was partially provided by the
+National Science Foundation under grant MIP-9311980.  The original version
+of this code was written as part of a project to build a fixed-point vector
+processor in collaboration with the University of California at Berkeley,
+overseen by Profs. Nelson Morgan and John Wawrzynek.  More information
+is available through the Web page `http://HTTP.CS.Berkeley.EDU/~jhauser/
+arithmetic/SoftFloat.html'.
+
+THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE.  Although reasonable effort
+has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT
+TIMES RESULT IN INCORRECT BEHAVIOR.  USE OF THIS SOFTWARE IS RESTRICTED TO
+PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY
+AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE.
+
+Derivative works are acceptable, even for commercial purposes, so long as
+(1) they include prominent notice that the work is derivative, and (2) they
+include prominent notice akin to these four paragraphs for those parts of
+this code that are retained.
+
+===============================================================================
+*/
+
+/*
+-------------------------------------------------------------------------------
+The macro `FLOATX80' must be defined to enable the extended double-precision
+floating-point format `floatx80'.  If this macro is not defined, the
+`floatx80' type will not be defined, and none of the functions that either
+input or output the `floatx80' type will be defined.  The same applies to
+the `FLOAT128' macro and the quadruple-precision format `float128'.
+-------------------------------------------------------------------------------
+*/
+/* #define FLOATX80 */
+/* #define FLOAT128 */
+
+#include <machine/ieeefp.h>
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE floating-point types.
+-------------------------------------------------------------------------------
+*/
+typedef unsigned int float32;
+typedef unsigned long long float64;
+#ifdef FLOATX80
+typedef struct {
+    unsigned short high;
+    unsigned long long low;
+} floatx80;
+#endif
+#ifdef FLOAT128
+typedef struct {
+    unsigned long long high, low;
+} float128;
+#endif
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE floating-point underflow tininess-detection mode.
+-------------------------------------------------------------------------------
+*/
+#ifndef SOFTFLOAT_FOR_GCC
+extern int8 float_detect_tininess;
+#endif
+enum {
+    float_tininess_after_rounding  = 0,
+    float_tininess_before_rounding = 1
+};
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE floating-point rounding mode.
+-------------------------------------------------------------------------------
+*/
+extern fp_rnd_t float_rounding_mode;
+enum {
+    float_round_nearest_even = FP_RN,
+    float_round_to_zero      = FP_RZ,
+    float_round_down         = FP_RM,
+    float_round_up           = FP_RP
+};
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE floating-point exception flags.
+-------------------------------------------------------------------------------
+*/
+typedef fp_except_t fp_except;
+
+extern fp_except float_exception_flags;
+extern fp_except float_exception_mask;
+enum {
+    float_flag_inexact   = FP_X_IMP,
+    float_flag_underflow = FP_X_UFL,
+    float_flag_overflow  = FP_X_OFL,
+    float_flag_divbyzero = FP_X_DZ,
+    float_flag_invalid   = FP_X_INV
+};
+
+/*
+-------------------------------------------------------------------------------
+Routine to raise any or all of the software IEC/IEEE floating-point
+exception flags.
+-------------------------------------------------------------------------------
+*/
+void float_raise( fp_except );
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE integer-to-floating-point conversion routines.
+-------------------------------------------------------------------------------
+*/
+float32 int32_to_float32( int );
+float64 int32_to_float64( int );
+#ifdef FLOATX80
+floatx80 int32_to_floatx80( int );
+#endif
+#ifdef FLOAT128
+float128 int32_to_float128( int );
+#endif
+float32 int64_to_float32( long long );
+float64 int64_to_float64( long long );
+#ifdef FLOATX80
+floatx80 int64_to_floatx80( long long );
+#endif
+#ifdef FLOAT128
+float128 int64_to_float128( long long );
+#endif
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE single-precision conversion routines.
+-------------------------------------------------------------------------------
+*/
+int float32_to_int32( float32 );
+int float32_to_int32_round_to_zero( float32 );
+unsigned int float32_to_uint32_round_to_zero( float32 );
+long long float32_to_int64( float32 );
+long long float32_to_int64_round_to_zero( float32 );
+float64 float32_to_float64( float32 );
+#ifdef FLOATX80
+floatx80 float32_to_floatx80( float32 );
+#endif
+#ifdef FLOAT128
+float128 float32_to_float128( float32 );
+#endif
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE single-precision operations.
+-------------------------------------------------------------------------------
+*/
+float32 float32_round_to_int( float32 );
+float32 float32_add( float32, float32 );
+float32 float32_sub( float32, float32 );
+float32 float32_mul( float32, float32 );
+float32 float32_div( float32, float32 );
+float32 float32_rem( float32, float32 );
+float32 float32_sqrt( float32 );
+int float32_eq( float32, float32 );
+int float32_le( float32, float32 );
+int float32_lt( float32, float32 );
+int float32_eq_signaling( float32, float32 );
+int float32_le_quiet( float32, float32 );
+int float32_lt_quiet( float32, float32 );
+#ifndef SOFTFLOAT_FOR_GCC
+int float32_is_signaling_nan( float32 );
+#endif
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE double-precision conversion routines.
+-------------------------------------------------------------------------------
+*/
+int float64_to_int32( float64 );
+int float64_to_int32_round_to_zero( float64 );
+unsigned int float64_to_uint32_round_to_zero( float64 );
+long long float64_to_int64( float64 );
+long long float64_to_int64_round_to_zero( float64 );
+float32 float64_to_float32( float64 );
+#ifdef FLOATX80
+floatx80 float64_to_floatx80( float64 );
+#endif
+#ifdef FLOAT128
+float128 float64_to_float128( float64 );
+#endif
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE double-precision operations.
+-------------------------------------------------------------------------------
+*/
+float64 float64_round_to_int( float64 );
+float64 float64_add( float64, float64 );
+float64 float64_sub( float64, float64 );
+float64 float64_mul( float64, float64 );
+float64 float64_div( float64, float64 );
+float64 float64_rem( float64, float64 );
+float64 float64_sqrt( float64 );
+int float64_eq( float64, float64 );
+int float64_le( float64, float64 );
+int float64_lt( float64, float64 );
+int float64_eq_signaling( float64, float64 );
+int float64_le_quiet( float64, float64 );
+int float64_lt_quiet( float64, float64 );
+#ifndef SOFTFLOAT_FOR_GCC
+int float64_is_signaling_nan( float64 );
+#endif
+
+#ifdef FLOATX80
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE extended double-precision conversion routines.
+-------------------------------------------------------------------------------
+*/
+int floatx80_to_int32( floatx80 );
+int floatx80_to_int32_round_to_zero( floatx80 );
+long long floatx80_to_int64( floatx80 );
+long long floatx80_to_int64_round_to_zero( floatx80 );
+float32 floatx80_to_float32( floatx80 );
+float64 floatx80_to_float64( floatx80 );
+#ifdef FLOAT128
+float128 floatx80_to_float128( floatx80 );
+#endif
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE extended double-precision rounding precision.  Valid
+values are 32, 64, and 80.
+-------------------------------------------------------------------------------
+*/
+extern int floatx80_rounding_precision;
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE extended double-precision operations.
+-------------------------------------------------------------------------------
+*/
+floatx80 floatx80_round_to_int( floatx80 );
+floatx80 floatx80_add( floatx80, floatx80 );
+floatx80 floatx80_sub( floatx80, floatx80 );
+floatx80 floatx80_mul( floatx80, floatx80 );
+floatx80 floatx80_div( floatx80, floatx80 );
+floatx80 floatx80_rem( floatx80, floatx80 );
+floatx80 floatx80_sqrt( floatx80 );
+int floatx80_eq( floatx80, floatx80 );
+int floatx80_le( floatx80, floatx80 );
+int floatx80_lt( floatx80, floatx80 );
+int floatx80_eq_signaling( floatx80, floatx80 );
+int floatx80_le_quiet( floatx80, floatx80 );
+int floatx80_lt_quiet( floatx80, floatx80 );
+int floatx80_is_signaling_nan( floatx80 );
+
+#endif
+
+#ifdef FLOAT128
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE quadruple-precision conversion routines.
+-------------------------------------------------------------------------------
+*/
+int float128_to_int32( float128 );
+int float128_to_int32_round_to_zero( float128 );
+long long float128_to_int64( float128 );
+long long float128_to_int64_round_to_zero( float128 );
+float32 float128_to_float32( float128 );
+float64 float128_to_float64( float128 );
+#ifdef FLOATX80
+floatx80 float128_to_floatx80( float128 );
+#endif
+
+/*
+-------------------------------------------------------------------------------
+Software IEC/IEEE quadruple-precision operations.
+-------------------------------------------------------------------------------
+*/
+float128 float128_round_to_int( float128 );
+float128 float128_add( float128, float128 );
+float128 float128_sub( float128, float128 );
+float128 float128_mul( float128, float128 );
+float128 float128_div( float128, float128 );
+float128 float128_rem( float128, float128 );
+float128 float128_sqrt( float128 );
+int float128_eq( float128, float128 );
+int float128_le( float128, float128 );
+int float128_lt( float128, float128 );
+int float128_eq_signaling( float128, float128 );
+int float128_le_quiet( float128, float128 );
+int float128_lt_quiet( float128, float128 );
+int float128_is_signaling_nan( float128 );
+
+#endif
+


Property changes on: trunk/lib/libc/powerpc64/softfloat/softfloat.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/sys/Makefile.inc
===================================================================
--- trunk/lib/libc/powerpc64/sys/Makefile.inc	                        (rev 0)
+++ trunk/lib/libc/powerpc64/sys/Makefile.inc	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,12 @@
+# $MidnightBSD$
+# $FreeBSD: stable/10/lib/libc/powerpc64/sys/Makefile.inc 305341 2016-09-03 11:09:47Z kib $
+
+MDASM+=	brk.S cerror.S exect.S pipe.S sbrk.S setlogin.S
+
+# Don't generate default code for these syscalls:
+NOASM=	break.o exit.o getlogin.o openbsd_poll.o sstk.o yield.o
+
+PSEUDO=	_getlogin.o _exit.o
+.if !defined(WITHOUT_SYSCALL_COMPAT)
+PSEUDO+= _pread.o _pwrite.o _lseek.o _mmap.o _ftruncate.o _truncate.o
+.endif


Property changes on: trunk/lib/libc/powerpc64/sys/Makefile.inc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/sys/__vdso_gettc.c
===================================================================
--- trunk/lib/libc/powerpc64/sys/__vdso_gettc.c	                        (rev 0)
+++ trunk/lib/libc/powerpc64/sys/__vdso_gettc.c	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,49 @@
+/* $MidnightBSD$ */
+/*-
+ * Copyright (c) 2013 Konstantin Belousov <kib at FreeBSD.org>
+ *
+ * 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>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/sys/__vdso_gettc.c 246117 2013-01-30 12:48:16Z kib $");
+
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/vdso.h>
+#include <errno.h>
+
+#pragma weak __vdso_gettc
+u_int
+__vdso_gettc(const struct vdso_timehands *th)
+{
+
+	return (0);
+}
+
+#pragma weak __vdso_gettimekeep
+int
+__vdso_gettimekeep(struct vdso_timekeep **tk)
+{
+
+	return (ENOSYS);
+}


Property changes on: trunk/lib/libc/powerpc64/sys/__vdso_gettc.c
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/sys/brk.S
===================================================================
--- trunk/lib/libc/powerpc64/sys/brk.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/sys/brk.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,74 @@
+/* $MidnightBSD$ */
+/*-
+ * 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: brk.S,v 1.9 2000/06/26 06:25:43 kleink Exp $   */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/sys/brk.S 218824 2011-02-18 21:44:53Z nwhitehorn $");
+
+#include "SYS.h"
+
+        .globl  HIDENAME(curbrk)
+        .globl  HIDENAME(minbrk)
+        .globl  CNAME(_end)
+
+        .data
+        .align 3
+HIDENAME(minbrk):
+        .llong   CNAME(_end)
+
+        .text
+
+ENTRY(brk)
+	addis	%r6,%r2,HIDENAME(minbrk)@toc at ha
+	ld	%r6,HIDENAME(minbrk)@toc at l(%r6)
+	cmpld   %r6,%r3			/* if (minbrk <= r3) */
+	bgt     0f
+	mr	%r6,%r3			/* r6 = r3 */
+0:
+	mr      %r3,%r6			/* new break value */
+	li      %r0,SYS_break
+	sc				/* assume, that r5 is kept */
+	bso	1f
+
+	/* record new break */
+	addis	%r7,%r2,HIDENAME(curbrk)@toc at ha
+	std	%r6,HIDENAME(curbrk)@toc at l(%r7)
+
+	blr				/* return 0 */
+
+1:
+	mflr	%r0
+	std	%r0,16(%r1)
+	stdu	%r1,-48(%r1)
+	bl	HIDENAME(cerror)
+	nop
+	ld	%r1,0(%r1)
+	ld	%r0,16(%r1)
+	mtlr	%r0
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/sys/brk.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/sys/cerror.S
===================================================================
--- trunk/lib/libc/powerpc64/sys/cerror.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/sys/cerror.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,61 @@
+/* $MidnightBSD$ */
+/*-
+ * 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>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/sys/cerror.S 230400 2012-01-20 22:34:19Z andreast $");
+	
+#include "SYS.h"
+
+	.globl  HIDENAME(cerror)
+	.globl  CNAME(__error)
+
+	/*
+	 * The __error() function is thread aware. For non-threaded
+	 * programs and the initial threaded 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
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/sys/cerror.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/sys/exect.S
===================================================================
--- trunk/lib/libc/powerpc64/sys/exect.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/sys/exect.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,50 @@
+/* $MidnightBSD$ */
+/*-
+ * 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: exect.S,v 1.3 1998/05/25 15:28:03 ws Exp $     */
+	
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/sys/exect.S 218824 2011-02-18 21:44:53Z nwhitehorn $");
+
+#include "SYS.h"
+
+ENTRY(exect)
+	li	%r0,SYS_execve
+	sc
+	bso	1f
+	blr
+1:
+	mflr	%r0
+	std	%r0,16(%r1)
+	stdu	%r1,-48(%r1)
+	bl	HIDENAME(cerror)
+	nop
+	ld	%r1,0(%r1)
+	ld	%r0,16(%r1)
+	mtlr	%r0
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/sys/exect.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/sys/pipe.S
===================================================================
--- trunk/lib/libc/powerpc64/sys/pipe.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/sys/pipe.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,54 @@
+/* $MidnightBSD$ */
+/*-
+ * 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: pipe.S,v 1.6 2000/09/28 08:38:54 kleink Exp $  */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/sys/pipe.S 218824 2011-02-18 21:44:53Z nwhitehorn $");
+
+#include "SYS.h"
+
+ENTRY(pipe)
+	mr	%r5,%r3		/* save pointer */
+	li	%r0,SYS_pipe
+	sc			/* r5 is preserved */
+	bso	1f
+	stw	%r3,0(%r5)	/* success, store fds */
+	stw	%r4,4(%r5)
+	li	%r3,0
+	blr			/* and return 0 */
+1:
+	mflr	%r0
+	std	%r0,16(%r1)
+	stdu	%r1,-48(%r1)
+	bl	HIDENAME(cerror)
+	nop
+	ld	%r1,0(%r1)
+	ld	%r0,16(%r1)
+	mtlr	%r0
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/sys/pipe.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/sys/sbrk.S
===================================================================
--- trunk/lib/libc/powerpc64/sys/sbrk.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/sys/sbrk.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,69 @@
+/* $MidnightBSD$ */
+/*-
+ * 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: sbrk.S,v 1.8 2000/06/26 06:25:44 kleink Exp $  */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/sys/sbrk.S 218824 2011-02-18 21:44:53Z nwhitehorn $");
+
+#include "SYS.h"
+
+	.globl	HIDENAME(curbrk)
+	.globl	CNAME(_end)
+
+	.data
+	.align 3
+HIDENAME(curbrk):
+	.llong	CNAME(_end)
+
+	.text
+ENTRY(sbrk)
+	addis	%r5,%r2,HIDENAME(curbrk)@toc at ha
+	addi	%r5,%r5,HIDENAME(curbrk)@toc at l
+	ld	%r6,0(%r5)			/* r6 = old break */
+	cmpdi	%r3,0				/* sbrk(0) - return curbrk */
+	beq	1f
+	add	%r3,%r3,%r6
+	mr	%r7,%r3				/* r7 = new break */
+	li	%r0,SYS_break
+	sc					/* break(new_break) */
+	bso	2f
+	std     %r7,0(%r5)
+1:
+	mr      %r3,%r6				/* set return value */
+	blr
+2:
+	mflr	%r0
+	std	%r0,16(%r1)
+	stdu	%r1,-48(%r1)
+	bl	HIDENAME(cerror)
+	nop
+	ld	%r1,0(%r1)
+	ld	%r0,16(%r1)
+	mtlr	%r0
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/sys/sbrk.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lib/libc/powerpc64/sys/setlogin.S
===================================================================
--- trunk/lib/libc/powerpc64/sys/setlogin.S	                        (rev 0)
+++ trunk/lib/libc/powerpc64/sys/setlogin.S	2018-06-08 01:20:45 UTC (rev 10568)
@@ -0,0 +1,42 @@
+/* $MidnightBSD$ */
+/*-
+ * 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: setlogin.S,v 1.3 1998/11/24 11:14:57 tsubai Exp $      */
+
+#include <machine/asm.h>
+__FBSDID("$FreeBSD: stable/10/lib/libc/powerpc64/sys/setlogin.S 217398 2011-01-14 11:33:40Z kib $");
+	
+#include "SYS.h"
+
+	.globl  CNAME(_logname_valid)		/* in _getlogin() */
+
+SYSCALL(setlogin)
+	addis	%r4,%r2,CNAME(_logname_valid)@toc at ha
+	li	%r5,0
+	stw	%r5,CNAME(_logname_valid)@toc at l(%r4)
+	blr
+
+	.section .note.GNU-stack,"",%progbits


Property changes on: trunk/lib/libc/powerpc64/sys/setlogin.S
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list