summaryrefslogtreecommitdiffstats
path: root/lib/libm
diff options
context:
space:
mode:
authormartynas <martynas@openbsd.org>2011-07-08 22:28:32 +0000
committermartynas <martynas@openbsd.org>2011-07-08 22:28:32 +0000
commitaeb694e3afa554db8dd44ee8140d036724efada5 (patch)
tree27134d6d85c1d25448c6bbdb4cc7222c925034fe /lib/libm
parentDon't accidentally mask off the T_USER bit before calling trap(). (diff)
downloadwireguard-openbsd-aeb694e3afa554db8dd44ee8140d036724efada5.tar.xz
wireguard-openbsd-aeb694e3afa554db8dd44ee8140d036724efada5.zip
Revert (leaving the complex math part alone). Some stuff is depending
on this historical behavior; so we're stuck in this stupid situation. No cookie for me.
Diffstat (limited to 'lib/libm')
-rw-r--r--lib/libm/Makefile60
-rw-r--r--lib/libm/arch/alpha/s_fabs.S37
-rw-r--r--lib/libm/arch/amd64/s_fabs.S17
-rw-r--r--lib/libm/arch/amd64/s_modf.S91
-rw-r--r--lib/libm/arch/hppa/s_fabs.c17
-rw-r--r--lib/libm/arch/hppa64/s_fabs.c13
-rw-r--r--lib/libm/arch/i387/s_fabs.S39
-rw-r--r--lib/libm/arch/i387/s_modf.S68
-rw-r--r--lib/libm/arch/m88k/s_fabs.S46
-rw-r--r--lib/libm/arch/mc68881/s_fabs.S47
-rw-r--r--lib/libm/arch/mc68881/s_modf.S50
-rw-r--r--lib/libm/arch/mips64/s_fabs.S46
-rw-r--r--lib/libm/arch/mips64/s_modf.S71
-rw-r--r--lib/libm/arch/powerpc/s_fabs.c38
-rw-r--r--lib/libm/arch/sh/s_fabs.c40
-rw-r--r--lib/libm/arch/sparc/s_fabs.S44
-rw-r--r--lib/libm/arch/sparc/s_modf.S186
-rw-r--r--lib/libm/arch/sparc64/s_fabs.S42
-rw-r--r--lib/libm/arch/sparc64/s_modf.S181
-rw-r--r--lib/libm/arch/vax/n_fabs.S41
-rw-r--r--lib/libm/arch/vax/n_modf.S54
-rw-r--r--lib/libm/man/frexp.395
-rw-r--r--lib/libm/man/modf.384
-rw-r--r--lib/libm/noieee_src/n_frexp.c69
-rw-r--r--lib/libm/shlib_version2
-rw-r--r--lib/libm/src/n_fabs.c1
-rw-r--r--lib/libm/src/n_modf.c1
27 files changed, 26 insertions, 1454 deletions
diff --git a/lib/libm/Makefile b/lib/libm/Makefile
index 040cf0a2e18..1651cfbe909 100644
--- a/lib/libm/Makefile
+++ b/lib/libm/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.88 2011/07/08 19:25:31 martynas Exp $
+# $OpenBSD: Makefile,v 1.89 2011/07/08 22:28:33 martynas Exp $
# $NetBSD: Makefile,v 1.28 1995/11/20 22:06:19 jtc Exp $
#
# @(#)Makefile 5.1beta 93/09/24
@@ -18,7 +18,7 @@ CFLAGS+= -O0
.if (${MACHINE_ARCH} == "alpha")
.PATH: ${.CURDIR}/arch/alpha
-ARCH_SRCS = s_copysign.S s_copysignf.S s_fabs.S
+ARCH_SRCS = s_copysign.S s_copysignf.S
.elif (${MACHINE_ARCH} == "i386")
.PATH: ${.CURDIR}/arch/i387
ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \
@@ -26,10 +26,10 @@ ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \
e_sqrtl.S \
invtrig.c \
s_atan.S s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S \
- s_cos.S s_cosf.S s_fabs.S s_floor.S s_floorf.S \
+ s_cos.S s_cosf.S s_floor.S s_floorf.S \
s_ilogb.S s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S \
- s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S s_modf.S s_rint.S \
- s_rintf.S s_scalbn.S s_scalbnf.S s_significand.S s_significandf.S \
+ s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S s_rint.S s_rintf.S\
+ s_scalbn.S s_scalbnf.S s_significand.S s_significandf.S \
s_sin.S s_sinf.S s_tan.S s_tanf.S
.elif (${MACHINE_ARCH} == "amd64")
.PATH: ${.CURDIR}/arch/amd64
@@ -39,9 +39,9 @@ ARCH_SRCS = e_acos.S e_asin.S e_atan2.S e_exp.S e_fmod.S e_log.S e_log10.S \
e_sqrtl.S \
invtrig.c \
s_atan.S s_atanf.S s_ceil.S s_ceilf.S s_copysign.S s_copysignf.S \
- s_cos.S s_cosf.S s_fabs.S s_floor.S s_floorf.S \
+ s_cos.S s_cosf.S s_floor.S s_floorf.S \
s_ilogb.S s_ilogbf.S s_log1p.S s_log1pf.S s_logb.S s_logbf.S \
- s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S s_modf.S \
+ s_llrint.S s_llrintf.S s_lrint.S s_lrintf.S \
s_rint.S s_rintf.S s_scalbn.S s_scalbnf.S s_significand.S \
s_significandf.S s_sin.S s_sinf.S s_tan.S s_tanf.S
.elif (${MACHINE_ARCH} == "m68k")
@@ -52,46 +52,38 @@ ARCH_SRCS = e_acos.S e_acosf.S e_acosl.S e_asin.S e_asinf.S e_asinl.S \
e_scalb.S e_scalbf.S e_sinh.S e_sinhf.S e_sqrt.S e_sqrtf.S \
e_sqrtl.S s_atan.S s_atanf.S s_atanl.S s_ceil.S s_ceilf.S \
s_copysign.S s_copysignf.S s_copysignl.S s_cos.S s_cosf.S s_cosl.S \
- s_expm1.S s_expm1f.S s_fabs.S s_floor.S s_floorf.S s_log1p.S \
- s_log1pf.S s_logb.S s_logbf.S s_logbl.S s_modf.S s_rint.S \
- s_rintf.S s_rintl.S s_scalbn.S s_scalbnf.S s_scalbnl.S s_sin.S \
- s_sinf.S s_sinl.S s_tan.S s_tanf.S s_tanl.S s_tanh.S s_tanhf.S
+ s_expm1.S s_expm1f.S s_floor.S s_floorf.S s_log1p.S s_log1pf.S \
+ s_logb.S s_logbf.S s_logbl.S s_rint.S s_rintf.S s_rintl.S \
+ s_scalbn.S s_scalbnf.S s_scalbnl.S s_sin.S s_sinf.S s_sinl.S \
+ s_tan.S s_tanf.S s_tanl.S s_tanh.S s_tanhf.S
.elif (${MACHINE_ARCH} == "hppa")
.PATH: ${.CURDIR}/arch/hppa
ARCH_SRCS = e_sqrt.c e_sqrtf.c e_remainder.c e_remainderf.c \
- s_ceil.c s_ceilf.c s_fabs.c s_floor.c s_floorf.c s_rint.c \
- s_rintf.c s_round.c s_roundf.c s_trunc.c s_truncf.c
+ s_ceil.c s_ceilf.c s_floor.c s_floorf.c s_rint.c s_rintf.c \
+ s_round.c s_roundf.c s_trunc.c s_truncf.c
.elif (${MACHINE_ARCH} == "sh")
.PATH: ${.CURDIR}/arch/sh
-ARCH_SRCS = e_sqrt.c e_sqrtf.c s_fabs.c s_fabsf.c
+ARCH_SRCS = e_sqrt.c e_sqrtf.c s_fabsf.c
.elif (${MACHINE_ARCH} == "arm")
.PATH: ${.CURDIR}/arch/arm
.elif (${MACHINE_ARCH} == "hppa64")
.PATH: ${.CURDIR}/arch/hppa64
-ARCH_SRCS = s_fabs.c
.elif (${MACHINE_ARCH} == "m88k")
.PATH: ${.CURDIR}/arch/m88k
-ARCH_SRCS = s_fabs.S
.elif (${MACHINE_ARCH} == "mips64")
.PATH: ${.CURDIR}/arch/mips64
-ARCH_SRCS = s_fabs.S s_modf.S
.elif (${MACHINE_ARCH} == "mips64el")
.PATH: ${.CURDIR}/arch/mips64
-ARCH_SRCS = s_fabs.S s_modf.S
.elif (${MACHINE_ARCH} == "powerpc")
.PATH: ${.CURDIR}/arch/powerpc
-ARCH_SRCS = s_fabs.c
.elif (${MACHINE_ARCH} == "sparc")
.PATH: ${.CURDIR}/arch/sparc
-ARCH_SRCS = s_fabs.S s_modf.S
.elif (${MACHINE_ARCH} == "sparc64")
.PATH: ${.CURDIR}/arch/sparc64
-ARCH_SRCS = s_fabs.S s_modf.S
.elif (${MACHINE_ARCH} == "vax")
.PATH: ${.CURDIR}/arch/vax
-NOIEEE_ARCH = n_argred.S n_fabs.S n_infnan.S n_modf.S n_sqrt.S
-ARCH_SRCS = n_atan2.S n_cbrt.S n_fabs.S n_hypot.S n_modf.S n_sincos.S \
- n_support.S n_tan.S
+NOIEEE_ARCH = n_argred.S n_infnan.S n_sqrt.S
+ARCH_SRCS = n_atan2.S n_cbrt.S n_hypot.S n_sincos.S n_support.S n_tan.S
.endif
.PATH: ${.CURDIR}/man
@@ -123,12 +115,11 @@ COMMON_SRCS = b_exp__D.c b_log__D.c b_tgamma.c \
s_cproj.c s_cprojf.c s_creal.c s_crealf.c s_csin.c s_csinf.c s_csinh.c \
s_csinhf.c s_csqrt.c s_csqrtf.c s_ctan.c s_ctanf.c s_ctanh.c \
s_ctanhf.c s_erf.c s_erff.c s_exp2.c s_exp2f.c s_expm1.c s_expm1f.c \
- s_fabs.c s_fabsf.c s_fdim.c s_fma.c s_fmaf.c s_fmax.c s_fmaxf.c \
- s_fmin.c s_fminf.c s_floor.c s_floorf.c s_frexp.c s_frexpf.c s_ilogb.c \
- s_ilogbf.c \
+ s_fabsf.c s_fdim.c s_fma.c s_fmaf.c s_fmax.c s_fmaxf.c s_fmin.c \
+ s_fminf.c s_floor.c s_floorf.c s_frexpf.c s_ilogb.c s_ilogbf.c \
s_log1p.c \
s_log1pf.c s_logb.c s_logbf.c s_llrint.c s_llrintf.c s_lrint.c \
- s_lrintf.c s_modf.c s_modff.c s_nan.c s_nearbyint.c s_nextafter.c \
+ s_lrintf.c s_modff.c s_nan.c s_nearbyint.c s_nextafter.c \
s_nextafterf.c s_nexttowardf.c s_remquo.c s_remquof.c s_rint.c \
s_rintf.c s_round.c s_roundf.c \
s_scalbln.c s_scalbn.c s_scalbnf.c s_signgam.c s_significand.c \
@@ -161,12 +152,15 @@ NOIEEE_SRCS = n_acosh.c n_argred.c n_asincos.c n_asinh.c n_atan.c \
n_conjf.c n_cosh.c n_cpow.c n_cproj.c n_cprojf.c n_creal.c \
n_crealf.c n_csin.c n_csinh.c n_csqrt.c n_ctan.c n_ctanh.c \
n_erf.c n_exp.c n_exp__E.c n_expm1.c n_fdim.c n_floor.c \
- n_fmax.c n_fmaxf.c n_fmin.c n_fminf.c n_fmod.c n_frexp.c n_hypot.c \
+ n_fmax.c n_fmaxf.c n_fmin.c n_fminf.c n_fmod.c n_hypot.c \
n_infnan.c n_j0.c n_j1.c n_jn.c n_lgamma.c n_log.c n_log10.c \
n_log1p.c n_log__L.c n_nan.c n_pow.c n_round.c n_scalbln.c \
n_sincos.c n_sinh.c n_sqrt.c n_support.c n_tan.c n_tanh.c \
n_tgamma.c
+# OpenBSD's C library supplies these functions:
+#COMMON_SRCS+= s_fabs.c s_frexp.c s_modf.c
+
.if (${MACHINE_ARCH} == "vax")
SRCS= ${NOIEEE_SRCS} ${NOIEEE_ARCH}
MAN+= infnan.3
@@ -202,8 +196,8 @@ SRCS+= ${LONG_SRCS}
MAN+= acos.3 acosh.3 asin.3 asinh.3 atan.3 atan2.3 atanh.3 ceil.3 \
cimag.3 conj.3 copysign.3 cos.3 cosh.3 cproj.3 erf.3 exp.3 \
fabs.3 fdim.3 feclearexcept.3 feenableexcept.3 fegetenv.3 \
- fegetround.3 floor.3 fmax.3 fmod.3 frexp.3 hypot.3 ilogb.3 j0.3 \
- lgamma.3 logb.3 lrint.3 lround.3 modf.3 nan.3 nextafter.3 \
+ fegetround.3 floor.3 fmax.3 fmod.3 hypot.3 ilogb.3 j0.3 \
+ lgamma.3 logb.3 lrint.3 lround.3 nan.3 nextafter.3 \
remainder.3 rint.3 round.3 scalbn.3 sin.3 sinh.3 sqrt.3 \
tan.3 tanh.3 trunc.3
@@ -269,7 +263,6 @@ MLINKS+=floor.3 floorf.3
MLINKS+=fmax.3 fmaxf.3
MLINKS+=fmax.3 fminf.3
MLINKS+=fmod.3 fmodf.3
-MLINKS+=frexp.3 frexpf.3
MLINKS+=hypot.3 cabsf.3
MLINKS+=hypot.3 hypotf.3
MLINKS+=ilogb.3 ilogbf.3
@@ -289,7 +282,6 @@ MLINKS+=lrint.3 llrintf.3
MLINKS+=lrint.3 lrintf.3
MLINKS+=lround.3 llroundf.3
MLINKS+=lround.3 lroundf.3
-MLINKS+=modf.3 modff.3
MLINKS+=nan.3 nanf.3
MLINKS+=nearbyint.3 nearbyintf.3
MLINKS+=nextafter.3 nextafterf.3
@@ -336,7 +328,6 @@ MLINKS+=floor.3 floorl.3
MLINKS+=fmax.3 fmaxl.3
MLINKS+=fmax.3 fminl.3
MLINKS+=fmod.3 fmodl.3
-MLINKS+=frexp.3 frexpl.3
MLINKS+=hypot.3 hypotl.3
MLINKS+=ilogb.3 ilogbl.3
MLINKS+=lgamma.3 lgammal.3
@@ -347,7 +338,6 @@ MLINKS+=lrint.3 llrintl.3
MLINKS+=lrint.3 lrintl.3
MLINKS+=lround.3 llroundl.3
MLINKS+=lround.3 lroundl.3
-MLINKS+=modf.3 modfl.3
MLINKS+=nan.3 nanl.3
MLINKS+=nearbyint.3 nearbyintl.3
MLINKS+=nextafter.3 nextafterl.3
diff --git a/lib/libm/arch/alpha/s_fabs.S b/lib/libm/arch/alpha/s_fabs.S
deleted file mode 100644
index c97714c08c2..00000000000
--- a/lib/libm/arch/alpha/s_fabs.S
+++ /dev/null
@@ -1,37 +0,0 @@
-/* $OpenBSD: s_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/* $NetBSD: fabs.S,v 1.2 1996/10/17 03:08:05 cgd Exp $ */
-
-/*
- * Copyright (c) 1994, 1995 Carnegie-Mellon University.
- * All rights reserved.
- *
- * Author: Chris G. Demetriou
- *
- * Permission to use, copy, modify and distribute this software and
- * its documentation is hereby granted, provided that both the copyright
- * notice and this permission notice appear in all copies of the
- * software, derivative works or modified versions, and any portions
- * thereof, and that both notices appear in supporting documentation.
- *
- * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
- * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
- * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
- *
- * Carnegie Mellon requests users of this software to return to
- *
- * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
- * School of Computer Science
- * Carnegie Mellon University
- * Pittsburgh PA 15213-3890
- *
- * any improvements or extensions that they make and grant Carnegie the
- * rights to redistribute these changes.
- */
-
-#include <machine/asm.h>
-
-WEAK_ALIAS(fabsl, fabs)
-LEAF(fabs, 1)
- cpys fzero, fa0, fv0
- RET
-END(fabs)
diff --git a/lib/libm/arch/amd64/s_fabs.S b/lib/libm/arch/amd64/s_fabs.S
deleted file mode 100644
index 67852816dc1..00000000000
--- a/lib/libm/arch/amd64/s_fabs.S
+++ /dev/null
@@ -1,17 +0,0 @@
-/* $OpenBSD: s_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/* $NetBSD: fabs.S,v 1.1 2001/06/19 00:25:02 fvdl Exp $ */
-
-#include <machine/asm.h>
-
-/*
- * Ok, this sucks. Is there really no way to push an xmm register onto
- * the FP stack directly?
- */
-
-ENTRY(fabs)
- movsd %xmm0, -8(%rsp)
- fldl -8(%rsp)
- fabs
- fstpl -8(%rsp)
- movsd -8(%rsp),%xmm0
- ret
diff --git a/lib/libm/arch/amd64/s_modf.S b/lib/libm/arch/amd64/s_modf.S
deleted file mode 100644
index c028b5bfe25..00000000000
--- a/lib/libm/arch/amd64/s_modf.S
+++ /dev/null
@@ -1,91 +0,0 @@
-/* $OpenBSD: s_modf.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/* $NetBSD: modf.S,v 1.1 2001/06/19 00:25:03 fvdl Exp $ */
-
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Sean Eric Fagan.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * from: @(#)modf.s 5.5 (Berkeley) 3/18/91
- */
-
-#include <machine/asm.h>
-
-/*
- * modf(value, iptr): return fractional part of value, and stores the
- * integral part into iptr (a pointer to double).
- *
- * Written by Sean Eric Fagan (sef@kithrup.COM)
- * Sun Mar 11 20:27:30 PST 1990
- */
-
-/* With CHOP mode on, frndint behaves as TRUNC does. Useful. */
-ENTRY(modf)
-
- /*
- * Set chop mode.
- */
- fnstcw -12(%rsp)
- movw -12(%rsp),%dx
- orw $3072,%dx
- movw %dx,-16(%rsp)
- fldcw -16(%rsp)
-
- /*
- * Get integral part.
- */
- movsd %xmm0,-24(%rsp)
- fldl -24(%rsp)
- frndint
- fstpl -8(%rsp)
-
- /*
- * Restore control word.
- */
- fldcw -12(%rsp)
-
- /*
- * Store integral part.
- */
- movsd -8(%rsp),%xmm0
- movsd %xmm0,(%rdi)
-
- /*
- * Get fractional part and return it.
- */
- fldl -24(%rsp)
- fsubl -8(%rsp)
- fstpl -8(%rsp)
- movsd -8(%rsp),%xmm0
-
- ret
diff --git a/lib/libm/arch/hppa/s_fabs.c b/lib/libm/arch/hppa/s_fabs.c
deleted file mode 100644
index e93635ab07b..00000000000
--- a/lib/libm/arch/hppa/s_fabs.c
+++ /dev/null
@@ -1,17 +0,0 @@
-/* $OpenBSD: s_fabs.c,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-
-/*
- * Written by Miodrag Vallat. Public domain
- */
-
-#include <sys/cdefs.h>
-
-double
-fabs(double val)
-{
-
- __asm__ __volatile__("fabs,dbl %0,%0" : "+f" (val));
- return (val);
-}
-
-__weak_alias(fabsl, fabs);
diff --git a/lib/libm/arch/hppa64/s_fabs.c b/lib/libm/arch/hppa64/s_fabs.c
deleted file mode 100644
index 9ed0ded94ca..00000000000
--- a/lib/libm/arch/hppa64/s_fabs.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* $OpenBSD: s_fabs.c,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-
-/*
- * Written by Miodrag Vallat. Public domain
- */
-
-double
-fabs(double val)
-{
-
- __asm__ __volatile__("fabs,dbl %0,%0" : "+f" (val));
- return (val);
-}
diff --git a/lib/libm/arch/i387/s_fabs.S b/lib/libm/arch/i387/s_fabs.S
deleted file mode 100644
index 2922728f426..00000000000
--- a/lib/libm/arch/i387/s_fabs.S
+++ /dev/null
@@ -1,39 +0,0 @@
-/* $OpenBSD: s_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * William Jolitz.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-ENTRY(fabs)
- fldl 4(%esp)
- fabs
- ret
diff --git a/lib/libm/arch/i387/s_modf.S b/lib/libm/arch/i387/s_modf.S
deleted file mode 100644
index 205c157234e..00000000000
--- a/lib/libm/arch/i387/s_modf.S
+++ /dev/null
@@ -1,68 +0,0 @@
-/* $OpenBSD: s_modf.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Sean Eric Fagan.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-/*
- * modf(value, iptr): return fractional part of value, and stores the
- * integral part into iptr (a pointer to double).
- *
- * Written by Sean Eric Fagan (sef@kithrup.COM)
- * Sun Mar 11 20:27:30 PST 1990
- */
-
-/* With CHOP mode on, frndint behaves as TRUNC does. Useful. */
-ENTRY(modf)
- pushl %ebp
- movl %esp,%ebp
- subl $16,%esp
- fnstcw -12(%ebp)
- movw -12(%ebp),%dx
- orw $3072,%dx
- movw %dx,-16(%ebp)
- fldcw -16(%ebp)
- fldl 8(%ebp)
- frndint
- fstpl -8(%ebp)
- fldcw -12(%ebp)
- movl 16(%ebp),%eax
- movl -8(%ebp),%edx
- movl -4(%ebp),%ecx
- movl %edx,(%eax)
- movl %ecx,4(%eax)
- fldl 8(%ebp)
- fsubl -8(%ebp)
- jmp L1
-L1:
- leave
- ret
diff --git a/lib/libm/arch/m88k/s_fabs.S b/lib/libm/arch/m88k/s_fabs.S
deleted file mode 100644
index 494e6200ba5..00000000000
--- a/lib/libm/arch/m88k/s_fabs.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $OpenBSD: s_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*-
- * Copyright (c) 1996 Nivas Madhur
- * 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 Nivas Madhur.
- * 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 "DEFS.h"
-
-/*
- * Will work only if the argument passed is in IEEE format!
- */
-
-ENTRY(fabs)
- subu r31,r31,16
- st.d r2,r31,0
- ld.bu r4,r31,0
- mask r4,r4,0x7f /* set sign bit to 0 */
- st.b r4,r31,0
- ld.d r2,r31,0
- jmp.n r1
- addu r31,r31,16
diff --git a/lib/libm/arch/mc68881/s_fabs.S b/lib/libm/arch/mc68881/s_fabs.S
deleted file mode 100644
index 082d0629c9b..00000000000
--- a/lib/libm/arch/mc68881/s_fabs.S
+++ /dev/null
@@ -1,47 +0,0 @@
-/* $OpenBSD: s_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * the Systems Programming Group of the University of Utah Computer
- * Science Department.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* fabs - floating absolute value */
-
-#include "DEFS.h"
-
-ENTRY(fabs)
- fmoved sp@(4),fp0
- fjnlt L1
- fnegx fp0
-L1:
- fmoved fp0,sp@-
- movel sp@+,d0
- movel sp@+,d1
- rts
diff --git a/lib/libm/arch/mc68881/s_modf.S b/lib/libm/arch/mc68881/s_modf.S
deleted file mode 100644
index 038c5b86a54..00000000000
--- a/lib/libm/arch/mc68881/s_modf.S
+++ /dev/null
@@ -1,50 +0,0 @@
-/* $OpenBSD: s_modf.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*-
- * Copyright (c) 1990 The Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * the Systems Programming Group of the University of Utah Computer
- * Science Department.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include "DEFS.h"
-
-/*
- * double modf(val, iptr)
- * returns: xxx and n (in *iptr) where val == n.xxx
- */
-ENTRY(modf)
- fmoved sp@(4),fp0
- movel sp@(12),a0
- fintrzx fp0,fp1
- fmoved fp1,a0@
- fsubx fp1,fp0
- fmoved fp0,sp@-
- movel sp@+,d0
- movel sp@+,d1
- rts
diff --git a/lib/libm/arch/mips64/s_fabs.S b/lib/libm/arch/mips64/s_fabs.S
deleted file mode 100644
index 622052b8a14..00000000000
--- a/lib/libm/arch/mips64/s_fabs.S
+++ /dev/null
@@ -1,46 +0,0 @@
-/* $OpenBSD: s_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*-
- * Copyright (c) 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Ralph Campbell.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-/*
- * fabs(x)
- * double x;
- *
- * Return absolute value of x.
- */
-LEAF(fabs, 0)
- .set noreorder
- j ra
- abs.d $f0, $f12 # compute absolute value of x
-END(fabs)
diff --git a/lib/libm/arch/mips64/s_modf.S b/lib/libm/arch/mips64/s_modf.S
deleted file mode 100644
index c48ab11fa4f..00000000000
--- a/lib/libm/arch/mips64/s_modf.S
+++ /dev/null
@@ -1,71 +0,0 @@
-/* $OpenBSD: s_modf.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*-
- * Copyright (c) 1991, 1993, 1995
- * The Regents of the University of California. All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Ralph Campbell.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-/*
- * double modf(val, iptr)
- * double val, *iptr;
- * returns: xxx and n (in *iptr) where val == n.xxx
- */
-LEAF(modf, 0)
- .set reorder
- cfc1 t0, $31 # get the control register
- li.d $f2, 4503599627370496e0 # f2 <- 2^52
-
- or t1, t0, 0x3 # set rounding mode to round to zero
- xor t1, t1, 0x2 # (i.e., 01)
- ctc1 t1, $31
-
- mov.d $f0, $f12 # f0 <- f12
- abs.d $f4, $f12 # f4 <- |f12|
- c.olt.d $f4, $f2 # f4 ? < f2
- bc1f 1f # leave f0 alone if Nan, infinity
- # or >=2^52
- c.eq.d $f12,$f4 # was f12 positive ?
- add.d $f4,$f2,$f4 # round off to integer
- bc1f 2f # No -> will have to negate result
- sub.d $f0,$f4,$f2 # Remove fudge factor
- j 1f # integer fraction got
-2:
- sub.d $f0,$f2,$f4 # Remove fudge factor and negate
-1:
- ctc1 t0, $31 # restore old rounding mode
-#ifdef __mips64
- s.d $f0, 0(a1) # save the integer part
-#else
- s.d $f0, 0(a2) # save the integer part
-#endif
- sub.d $f0, $f12, $f0 # subtract val - integer part
- j ra
-END(modf)
diff --git a/lib/libm/arch/powerpc/s_fabs.c b/lib/libm/arch/powerpc/s_fabs.c
deleted file mode 100644
index cb11c544f7e..00000000000
--- a/lib/libm/arch/powerpc/s_fabs.c
+++ /dev/null
@@ -1,38 +0,0 @@
-/* $OpenBSD: s_fabs.c,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-
-/*
- * Copyright (c) 2002 Theo de Raadt
- * 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>
-#include <math.h>
-
-double
-fabs(double x)
-{
- __asm__ __volatile("fabs %0,%1" : "=f"(x) : "f"(x));
- return (x);
-}
-
-__weak_alias(fabsl, fabs);
diff --git a/lib/libm/arch/sh/s_fabs.c b/lib/libm/arch/sh/s_fabs.c
deleted file mode 100644
index 4be78384eda..00000000000
--- a/lib/libm/arch/sh/s_fabs.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* $OpenBSD: s_fabs.c,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*
- * Copyright (c) 2006 Miodrag Vallat.
- *
- * Permission to use, copy, modify, and distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice, this permission notice, and the disclaimer below
- * appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <sys/cdefs.h>
-#if !defined(__SH4__) || defined(__SH4_NOFPU__)
-#include <sys/types.h>
-#include <machine/ieee.h>
-#endif /* !defined(__SH4__) || defined(__SH4_NOFPU__) */
-
-#include <math.h>
-
-double
-fabs(double d)
-{
-#if defined(__SH4__) && !defined(__SH4_NOFPU__)
- __asm__ __volatile__("fabs %0" : "+f" (d));
-#else
- struct ieee_double *p = (struct ieee_double *)&d;
-
- p->dbl_sign = 0;
-#endif
- return (d);
-}
-
-__weak_alias(fabsl, fabs);
diff --git a/lib/libm/arch/sparc/s_fabs.S b/lib/libm/arch/sparc/s_fabs.S
deleted file mode 100644
index 793e92c8ec7..00000000000
--- a/lib/libm/arch/sparc/s_fabs.S
+++ /dev/null
@@ -1,44 +0,0 @@
-/* $OpenBSD: s_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* fabs - floating absolute value */
-
-#include "DEFS.h"
-
-WEAK_ALIAS(fabsl, fabs)
-ENTRY(fabs)
- std %o0, [%sp + 32] ! return value => %f0:f1
- ldd [%sp + 32], %f0 ! (via kernel %o0/%o1 slot)
- retl
- fabss %f0, %f0 ! return absolute value
diff --git a/lib/libm/arch/sparc/s_modf.S b/lib/libm/arch/sparc/s_modf.S
deleted file mode 100644
index 4b356f7c7c5..00000000000
--- a/lib/libm/arch/sparc/s_modf.S
+++ /dev/null
@@ -1,186 +0,0 @@
-/* $OpenBSD: s_modf.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include "DEFS.h"
-#include <machine/fsr.h>
-
-/*
- * double modf(double val, double *iptr)
- *
- * Returns the fractional part of `val', storing the integer part of
- * `val' in *iptr. Both *iptr and the return value have the same sign
- * as `val'.
- *
- * Method:
- *
- * We use the fpu's normalization hardware to compute the integer portion
- * of the double precision argument. Sun IEEE double precision numbers
- * have 52 bits of mantissa, 11 bits of exponent, and one bit of sign,
- * with the sign occupying bit 31 of word 0, and the exponent bits 30:20
- * of word 0. Thus, values >= 2^52 are by definition integers.
- *
- * If we take a value that is in the range [+0..2^52) and add 2^52, all
- * of the fractional bits fall out and all of the integer bits are summed
- * with 2^52. If we then subtract 2^52, we get those integer bits back.
- * This must be done with rounding set to `towards 0' or `towards -inf'.
- * `Toward -inf' fails when the value is 0 (we get -0 back)....
- *
- * Note that this method will work anywhere, but is machine dependent in
- * various aspects.
- *
- * Stack usage:
- * 4@[%fp - 4] saved %fsr
- * 4@[%fp - 8] new %fsr with rounding set to `towards 0'
- * 8@[%fp - 16] space for moving between %i and %f registers
- * Register usage:
- * %i0%i1 double val;
- * %l0 scratch
- * %l1 sign bit (0x80000000)
- * %i2 double *iptr;
- * %f2:f3 `magic number' 2^52, in fpu registers
- * %f4:f5 double v, in fpu registers
- */
-
- .align 8
-Lmagic:
- .word 0x43300000 ! sign = 0, exponent = 52 + 1023, mantissa = 0
- .word 0 ! (i.e., .double 0r4503599627370496e+00)
-
-L0:
- .word 0 ! 0.0
- .word 0
-
-ENTRY(modf)
- save %sp, -64-16, %sp
-
- /*
- * First, compute v = abs(val) by clearing sign bit,
- * and then set up the fpu registers. This would be
- * much easier if we could do alu operations on fpu registers!
- */
- sethi %hi(0x80000000), %l1 ! sign bit
- andn %i0, %l1, %l0
- st %l0, [%fp - 16]
-#ifdef PIC
- PICCY_SET(Lmagic, %l0, %o7)
- ldd [%l0], %f2
-#else
- sethi %hi(Lmagic), %l0
- ldd [%l0 + %lo(Lmagic)], %f2
-#endif
- st %i1, [%fp - 12]
- ldd [%fp - 16], %f4 ! %f4:f5 = v
-
- /*
- * Is %f4:f5 >= %f2:f3 ? If so, it is all integer bits.
- * It is probably less, though.
- */
- fcmped %f4, %f2
- nop ! fpop2 delay
- fbuge Lbig ! if >= (or unordered), go out
- nop
-
- /*
- * v < 2^52, so add 2^52, then subtract 2^52, but do it all
- * with rounding set towards zero. We leave any enabled
- * traps enabled, but change the rounding mode. This might
- * not be so good. Oh well....
- */
- st %fsr, [%fp - 4] ! %l5 = current FSR mode
- set FSR_RD, %l3 ! %l3 = rounding direction mask
- ld [%fp - 4], %l5
- set FSR_RD_RZ << FSR_RD_SHIFT, %l4
- andn %l5, %l3, %l6
- or %l6, %l4, %l6 ! round towards zero, please
- and %l5, %l3, %l5 ! save original rounding mode
- st %l6, [%fp - 8]
- ld [%fp - 8], %fsr
-
- faddd %f4, %f2, %f4 ! %f4:f5 += 2^52
- fsubd %f4, %f2, %f4 ! %f4:f5 -= 2^52
-
- /*
- * Restore %fsr, but leave exceptions accrued.
- */
- st %fsr, [%fp - 4]
- ld [%fp - 4], %l6
- andn %l6, %l3, %l6 ! %l6 = %fsr & ~FSR_RD;
- or %l5, %l6, %l5 ! %l5 |= %l6;
- st %l5, [%fp - 4]
- ld [%fp - 4], %fsr ! restore %fsr, leaving accrued stuff
-
- /*
- * Now insert the original sign in %f4:f5.
- * This is a lot of work, so it is conditional here.
- */
- btst %l1, %i0
- be 1f
- nop
- st %f4, [%fp - 16]
- ld [%fp - 16], %g1
- or %l1, %g1, %g1
- st %g1, [%fp - 16]
- ld [%fp - 16], %f4
-1:
-
- /*
- * The value in %f4:f5 is now the integer portion of the original
- * argument. We need to store this in *ival (%i2), subtract it
- * from the original value argument (%i0:i1), and return the result.
- */
- std %f4, [%i2] ! *ival = %f4:f5;
- std %i0, [%fp - 16]
- ldd [%fp - 16], %f0 ! %f0:f1 = val;
- fsubd %f0, %f4, %f0 ! %f0:f1 -= %f4:f5;
- ret
- restore
-
-Lbig:
- /*
- * We get here if the original comparison of %f4:f5 (v) to
- * %f2:f3 (2^52) came out `greater or unordered'. In this
- * case the integer part is the original value, and the
- * fractional part is 0.
- */
-#ifdef PIC
- PICCY_SET(L0, %l0, %o7)
- std %f0, [%i2] ! *ival = val;
- ldd [%l0], %f0 ! return 0.0;
-#else
- sethi %hi(L0), %l0
- std %f0, [%i2] ! *ival = val;
- ldd [%l0 + %lo(L0)], %f0 ! return 0.0;
-#endif
- ret
- restore
diff --git a/lib/libm/arch/sparc64/s_fabs.S b/lib/libm/arch/sparc64/s_fabs.S
deleted file mode 100644
index 4f977d8251a..00000000000
--- a/lib/libm/arch/sparc64/s_fabs.S
+++ /dev/null
@@ -1,42 +0,0 @@
-/* $OpenBSD: s_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/* $NetBSD: fabs.S,v 1.2 2000/07/23 07:12:22 eeh Exp $ */
-/*
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-/* fabs - floating absolute value */
-
-ENTRY(fabs)
- retl
- fabsd %f0, %f0 ! return absolute value
diff --git a/lib/libm/arch/sparc64/s_modf.S b/lib/libm/arch/sparc64/s_modf.S
deleted file mode 100644
index 5241b127bd3..00000000000
--- a/lib/libm/arch/sparc64/s_modf.S
+++ /dev/null
@@ -1,181 +0,0 @@
-/* $OpenBSD: s_modf.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/* $NetBSD: modf.S,v 1.3 2000/11/01 23:32:41 eeh Exp $ */
-
-/*
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <machine/asm.h>
-
-#include <machine/fsr.h>
-
-/*
- * double modf(double val, double *iptr)
- *
- * Returns the fractional part of `val', storing the integer part of
- * `val' in *iptr. Both *iptr and the return value have the same sign
- * as `val'.
- *
- * Method:
- *
- * We use the fpu's normalization hardware to compute the integer portion
- * of the double precision argument. Sun IEEE double precision numbers
- * have 52 bits of mantissa, 11 bits of exponent, and one bit of sign,
- * with the sign occupying bit 31 of word 0, and the exponent bits 30:20
- * of word 0. Thus, values >= 2^52 are by definition integers.
- *
- * If we take a value that is in the range [+0..2^52) and add 2^52, all
- * of the fractional bits fall out and all of the integer bits are summed
- * with 2^52. If we then subtract 2^52, we get those integer bits back.
- * This must be done with rounding set to `towards 0' or `towards -inf'.
- * `Toward -inf' fails when the value is 0 (we get -0 back)....
- *
- * Note that this method will work anywhere, but is machine dependent in
- * various aspects.
- *
- * Stack usage:
- * 4@[%fp + BIAS - 4] saved %fsr
- * 4@[%fp + BIAS - 8] new %fsr with rounding set to `towards 0'
- * 8@[%fp + BIAS - 16] space for moving between %i and %f registers
- * Register usage:
- * %f0:f1 double val;
- * %l0 scratch
- * %l1 sign bit (0x80000000)
- * %i1 double *iptr;
- * %f2:f3 `magic number' 2^52, in fpu registers
- * %f4:f5 double v, in fpu registers
- * %f6:f7 double temp.
- */
-
- .align 8
-Lmagic:
- .word 0x43300000 ! sign = 0, exponent = 52 + 1023, mantissa = 0
- .word 0 ! (i.e., .double 0r4503599627370496e+00)
-
-L0:
- .word 0 ! 0.0
- .word 0
-
-ENTRY(modf)
- save %sp, -CC64FSZ-16, %sp
-
- /*
- * First, compute v = abs(val)
- */
- fabsd %f0, %f4 ! %f4:f5 = v
- fcmped %fcc1, %f0, %f4 ! %fcc1 = (val == abs(val))
-#ifdef PIC
- PICCY_SET(Lmagic, %l0, %o7)
- ldd [%l0], %f2
-#else
- sethi %hi(Lmagic), %l0
- ldd [%l0 + %lo(Lmagic)], %f2
-#endif
-
- /*
- * Is %f4:f5 >= %f2:f3 ? If so, it is all integer bits.
- * It is probably less, though.
- */
- fcmped %f4, %f2
- fbuge Lbig ! if >= (or unordered), go out
- nop
-
- /*
- * v < 2^52, so add 2^52, then subtract 2^52, but do it all
- * with rounding set towards zero. We leave any enabled
- * traps enabled, but change the rounding mode. This might
- * not be so good. Oh well....
- */
- st %fsr, [%fp + BIAS - 4] ! %l5 = current FSR mode
- set FSR_RD, %l3 ! %l3 = rounding direction mask
- ld [%fp + BIAS - 4], %l5
- set FSR_RD_RZ << FSR_RD_SHIFT, %l4
- andn %l5, %l3, %l6
- or %l6, %l4, %l6 ! round towards zero, please
- and %l5, %l3, %l5 ! save original rounding mode
- st %l6, [%fp + BIAS - 8]
- ld [%fp + BIAS - 8], %fsr
-
- faddd %f4, %f2, %f4 ! %f4:f5 += 2^52
- fsubd %f4, %f2, %f4 ! %f4:f5 -= 2^52
-
- /*
- * Restore %fsr, but leave exceptions accrued.
- */
- st %fsr, [%fp + BIAS - 4]
- ld [%fp + BIAS - 4], %l6
- andn %l6, %l3, %l6 ! %l6 = %fsr & ~FSR_RD;
- or %l5, %l6, %l5 ! %l5 |= %l6;
- st %l5, [%fp + BIAS - 4]
- ld [%fp + BIAS - 4], %fsr ! restore %fsr, leaving accrued stuff
-
- /*
- * Now insert the original sign in %f4:f5.
- * %fcc1 should still have the reults of (val == abs(val))
- * from above, so we use a conditional move on %fcc1 to:
- *
- * %f4 = (val == abs(val)) ? %f4 : -%f4
- *
- */
- fnegd %f4, %f6
- fmovdnz %fcc1, %f6, %f4
-1:
-
- /*
- * The value in %f4:f5 is now the integer portion of the original
- * argument. We need to store this in *ival (%i1), subtract it
- * from the original value argument (%d0), and return the result.
- */
- std %f4, [%i1] ! *ival = %f4:f5;
- fsubd %f0, %f4, %f0 ! %f0:f1 -= %f4:f5;
- ret
- restore
-
-Lbig:
- /*
- * We get here if the original comparison of %f4:f5 (v) to
- * %f2:f3 (2^52) came out `greater or unordered'. In this
- * case the integer part is the original value, and the
- * fractional part is 0.
- */
-#ifdef PIC
- PICCY_SET(L0, %l0, %o7)
- std %f0, [%i1] ! *ival = val;
- ldd [%l0], %f0 ! return 0.0;
-#else
- sethi %hi(L0), %l0
- std %f0, [%i1] ! *ival = val;
- ldd [%l0 + %lo(L0)], %f0 ! return 0.0;
-#endif
- ret
- restore
-
diff --git a/lib/libm/arch/vax/n_fabs.S b/lib/libm/arch/vax/n_fabs.S
deleted file mode 100644
index 16c57e62a10..00000000000
--- a/lib/libm/arch/vax/n_fabs.S
+++ /dev/null
@@ -1,41 +0,0 @@
-/* $OpenBSD: n_fabs.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*
- * Copyright (c) 1983, 1993
- * The Regents of the University of California. 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 University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* fabs - floating absolute value */
-
-#include "DEFS.h"
-
-WEAK_ALIAS(fabsl,fabs)
-ENTRY(fabs, 0)
- movd 4(ap),r0
- bgeq 1f
- mnegd r0,r0
-1:
- ret
diff --git a/lib/libm/arch/vax/n_modf.S b/lib/libm/arch/vax/n_modf.S
deleted file mode 100644
index 840c0b7d084..00000000000
--- a/lib/libm/arch/vax/n_modf.S
+++ /dev/null
@@ -1,54 +0,0 @@
-/* $OpenBSD: n_modf.S,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*
- * Copyright (c) 1983, 1993
- * The Regents of the University of California. 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 University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/*
- * double modf (value, iptr)
- * double value, *iptr;
- *
- * Modf returns the fractional part of "value",
- * and stores the integer part indirectly through "iptr".
- */
-
-#include "DEFS.h"
-
-ENTRY(modf, R2)
- cvtdl 4(ap),r2
- bvs 0f
- cvtld r2,*12(ap)
- subd3 *12(ap),4(ap),r0
- ret
-0:
- emodd 4(ap),$0,$0f1.0,r2,r0
- bvs 1f # integer overflow
- cvtld r2,*12(ap)
- ret
-1:
- subd3 r0,4(ap),*12(ap)
- ret
diff --git a/lib/libm/man/frexp.3 b/lib/libm/man/frexp.3
deleted file mode 100644
index a8b00828925..00000000000
--- a/lib/libm/man/frexp.3
+++ /dev/null
@@ -1,95 +0,0 @@
-.\" $OpenBSD: frexp.3,v 1.1 2011/07/08 19:21:42 martynas Exp $
-.\"
-.\" Copyright (c) 1991, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" This code is derived from software contributed to Berkeley by
-.\" the American National Standards Committee X3, on Information
-.\" Processing Systems.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd $Mdocdate: July 8 2011 $
-.Dt FREXP 3
-.Os
-.Sh NAME
-.Nm frexp ,
-.Nm frexpf ,
-.Nm frexpl
-.Nd convert floating-point number to fractional and integral components
-.Sh SYNOPSIS
-.Fd #include <math.h>
-.Ft double
-.Fn frexp "double value" "int *exp"
-.Ft float
-.Fn frexpf "float value" "int *exp"
-.Ft long double
-.Fn frexpl "long double value" "int *exp"
-.Sh DESCRIPTION
-The
-.Fn frexp
-function breaks a floating-point number into a normalized
-fraction and an integral power of 2.
-It stores the integer in the
-.Li int
-object pointed to by
-.Fa exp .
-The
-.Fn frexpf
-function is a single precision version of
-.Fn frexp .
-The
-.Fn frexpl
-function is an extended precision version of
-.Fn frexp .
-.Sh RETURN VALUES
-The
-.Fn frexp ,
-.Fn frexpf
-and
-.Fn frexpl
-functions return the value
-.Li x ,
-such that
-.Li x
-is a
-.Li double
-with magnitude in the interval [1/2,\ 1) or zero, and
-.Fa value
-equals
-.Li x
-times 2 raised to the power
-.Fa *exp .
-If
-.Fa value
-is zero, both parts of the result are zero.
-.Sh SEE ALSO
-.Xr ldexp 3 ,
-.Xr modf 3
-.Sh STANDARDS
-The
-.Fn frexp
-function conforms to
-.St -ansiC .
diff --git a/lib/libm/man/modf.3 b/lib/libm/man/modf.3
deleted file mode 100644
index 243f17cc662..00000000000
--- a/lib/libm/man/modf.3
+++ /dev/null
@@ -1,84 +0,0 @@
-.\" $OpenBSD: modf.3,v 1.1 2011/07/08 19:21:42 martynas Exp $
-.\"
-.\" Copyright (c) 1991, 1993
-.\" The Regents of the University of California. All rights reserved.
-.\"
-.\" This code is derived from software contributed to Berkeley by
-.\" the American National Standards Committee X3, on Information
-.\" Processing Systems.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd $Mdocdate: July 8 2011 $
-.Dt MODF 3
-.Os
-.Sh NAME
-.Nm modf ,
-.Nm modff ,
-.Nm modfl
-.Nd extract signed integral and fractional values from floating-point number
-.Sh SYNOPSIS
-.Fd #include <math.h>
-.Ft double
-.Fn modf "double value" "double *iptr"
-.Ft float
-.Fn modff "float value" "float *iptr"
-.Ft long double
-.Fn modfl "long double value" "long double *iptr"
-.Sh DESCRIPTION
-The
-.Fn modf
-function breaks the argument
-.Fa value
-into integral and fractional parts, each of which has the
-same sign as the argument.
-It stores the integral part as a
-.Li double
-in the object pointed to by
-.Fa iptr .
-The
-.Fn modff
-function is a single precision version of
-.Fn modf .
-The
-.Fn modfl
-function is an extended precision version of
-.Fn modf .
-.Sh RETURN VALUES
-The
-.Fn modf ,
-.Fn modff
-and
-.Fn modfl
-functions return the signed fractional part of
-.Fa value .
-.Sh SEE ALSO
-.Xr frexp 3 ,
-.Xr ldexp 3
-.Sh STANDARDS
-The
-.Fn modf
-function conforms to
-.St -ansiC .
diff --git a/lib/libm/noieee_src/n_frexp.c b/lib/libm/noieee_src/n_frexp.c
deleted file mode 100644
index b0615647edb..00000000000
--- a/lib/libm/noieee_src/n_frexp.c
+++ /dev/null
@@ -1,69 +0,0 @@
-/* $OpenBSD: n_frexp.c,v 1.1 2011/07/08 19:21:42 martynas Exp $ */
-/*-
- * Copyright (c) 1991, 1993
- * The Regents of the University of California. 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 University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-/* LINTLIBRARY */
-
-#include <sys/cdefs.h>
-#include <sys/types.h>
-#include <math.h>
-
-double
-frexp(value, eptr)
- double value;
- int *eptr;
-{
- union {
- double v;
- struct {
- u_int u_mant1 : 7;
- u_int u_exp : 8;
- u_int u_sign : 1;
- u_int u_mant2 : 16;
- u_int u_mant3 : 32;
- } s;
- } u;
-
- if (value) {
- u.v = value;
- *eptr = u.s.u_exp - 128;
- u.s.u_exp = 128;
- return(u.v);
- } else {
- *eptr = 0;
- return((double)0);
- }
-}
-
-#ifdef lint
-/* PROTOLIB1 */
-long double frexpl(long double, int *);
-#else /* lint */
-__weak_alias(frexpl, frexp);
-#endif /* lint */
diff --git a/lib/libm/shlib_version b/lib/libm/shlib_version
index 9c1551636c5..5b844bbf422 100644
--- a/lib/libm/shlib_version
+++ b/lib/libm/shlib_version
@@ -1,2 +1,2 @@
-major=6
+major=7
minor=0
diff --git a/lib/libm/src/n_fabs.c b/lib/libm/src/n_fabs.c
deleted file mode 100644
index 5f30645ff6e..00000000000
--- a/lib/libm/src/n_fabs.c
+++ /dev/null
@@ -1 +0,0 @@
-/* empty file for lint to chew on */
diff --git a/lib/libm/src/n_modf.c b/lib/libm/src/n_modf.c
deleted file mode 100644
index 5f30645ff6e..00000000000
--- a/lib/libm/src/n_modf.c
+++ /dev/null
@@ -1 +0,0 @@
-/* empty file for lint to chew on */