From nobody Fri Dec 31 07:15:33 2021 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 67BEF191DE69; Fri, 31 Dec 2021 07:15:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4JQGd16YSmz4hYg; Fri, 31 Dec 2021 07:15:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id AF85527643; Fri, 31 Dec 2021 07:15:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 1BV7FX1q066075; Fri, 31 Dec 2021 07:15:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 1BV7FX19066074; Fri, 31 Dec 2021 07:15:33 GMT (envelope-from git) Date: Fri, 31 Dec 2021 07:15:33 GMT Message-Id: <202112310715.1BV7FX19066074@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Warner Losh Subject: git: b94b8bf7027e - main - mips: Remove msun support List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: imp X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: b94b8bf7027e2cf08b8db7a84b1a7426d4f96d44 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1640934934; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=G8wdN+1G1NJcCMLz47m3vjF/L+7Y346OaE30wd3Jm5I=; b=hjzC1UVsfgoAhK9G6cPwcVzczeXrg6uLAgXs8w6UNhzk7JQ6d3gXAaw++8C5B1QvFzW99w +eshmABS2Avdm90wAATBNMQk5uaAhSQ4AH2wVBJiYp7jS5TxgC0E771TO58Y2WJDBR/23Z yIm+/prVuRJRIdTTlT5UwnJl31KGLx0I4Z9tbHy4x+puxuDBYp3JAZx8vxKf9IZsWdEocv gkC7KrDO4t9Ij6A/flQQ4S7vFBDxg8lp3k05WLLQ9C+89h6rjq4r2noKXAMtQqSFtkp3kA CMOsCscK1y6D62z4aQHq6q+Mplq0qqv0p+jRfBQxvq3J98OXA+3Zw2EaR5qSRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1640934934; a=rsa-sha256; cv=none; b=NEK7B1Q3AkeuDWgaCJr9ag1jx40u+jitQFQFDxubIIgWWWTPOmqGHqO4Bt8YJAhg41X9sh joZaOYn/uINK5Ig6BeDgqx2H7rH/PnaTv26v+52VpO9bVhuNeNcEpk6pmBhKljM81jTGp5 5H5AUMaHG0g56OLuAzd7su17Tfs1rHIFmXtbjLso/B+O4yj+HBqLXBBH7BiLR0U/NcHE+N yDQkPMVFZdnA0Hbmf/lCU3gnWX0m+1HfPCH4OW5t01p+b4WB4Z6tPd8RErHVtkgowytKQ+ rKi1rsQCO2t99Wk1MI8rYY8JjyEhZU6B0GrpYrXK+Jqf5YfsqojdqW0u1CyoGg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by imp: URL: https://cgit.FreeBSD.org/src/commit/?id=b94b8bf7027e2cf08b8db7a84b1a7426d4f96d44 commit b94b8bf7027e2cf08b8db7a84b1a7426d4f96d44 Author: Warner Losh AuthorDate: 2021-12-31 05:48:55 +0000 Commit: Warner Losh CommitDate: 2021-12-31 07:14:52 +0000 mips: Remove msun support Decommision msun (libm) support for mips. Sponsored by: Netflix --- lib/msun/mips/Makefile.inc | 4 - lib/msun/mips/Symbol.map | 16 --- lib/msun/mips/fenv.c | 68 ----------- lib/msun/mips/fenv.h | 283 --------------------------------------------- 4 files changed, 371 deletions(-) diff --git a/lib/msun/mips/Makefile.inc b/lib/msun/mips/Makefile.inc deleted file mode 100644 index 8c1a4864f4cf..000000000000 --- a/lib/msun/mips/Makefile.inc +++ /dev/null @@ -1,4 +0,0 @@ -# $FreeBSD$ - -LDBL_PREC = 53 -SYM_MAPS += ${.CURDIR}/mips/Symbol.map diff --git a/lib/msun/mips/Symbol.map b/lib/msun/mips/Symbol.map deleted file mode 100644 index 40fbc549560b..000000000000 --- a/lib/msun/mips/Symbol.map +++ /dev/null @@ -1,16 +0,0 @@ -/* - * $FreeBSD$ - */ -FBSD_1.0 { -}; - -FBSD_1.3 { - fesetexceptflag; - feraiseexcept; - fegetenv; - feholdexcept; - feupdateenv; - feenableexcept; - fedisableexcept; - fegetexcept; -}; diff --git a/lib/msun/mips/fenv.c b/lib/msun/mips/fenv.c deleted file mode 100644 index 24c79a508aeb..000000000000 --- a/lib/msun/mips/fenv.c +++ /dev/null @@ -1,68 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2004 David Schultz - * 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$ - */ - -#define __fenv_static -#include "fenv.h" - -#ifdef __GNUC_GNU_INLINE__ -#error "This file must be compiled with C99 'inline' semantics" -#endif - -/* - * Hopefully the system ID byte is immutable, so it's valid to use - * this as a default environment. - */ -const fenv_t __fe_dfl_env = 0; - -#ifdef __mips_soft_float -#define __set_env(env, flags, mask, rnd) env = ((flags) \ - | (mask)<<_FPUSW_SHIFT \ - | (rnd) << 24) -#define __env_flags(env) ((env) & FE_ALL_EXCEPT) -#define __env_mask(env) (((env) >> _FPUSW_SHIFT) \ - & FE_ALL_EXCEPT) -#define __env_round(env) (((env) >> 24) & _ROUND_MASK) -#include "fenv-softfloat.h" -#endif - -extern inline int feclearexcept(int __excepts); -extern inline int fegetexceptflag(fexcept_t *__flagp, int __excepts); -extern inline int fesetexceptflag(const fexcept_t *__flagp, int __excepts); -extern inline int feraiseexcept(int __excepts); -extern inline int fetestexcept(int __excepts); -extern inline int fegetround(void); -extern inline int fesetround(int __round); -extern inline int fegetenv(fenv_t *__envp); -extern inline int feholdexcept(fenv_t *__envp); -extern inline int fesetenv(const fenv_t *__envp); -extern inline int feupdateenv(const fenv_t *__envp); -extern inline int feenableexcept(int __mask); -extern inline int fedisableexcept(int __mask); -extern inline int fegetexcept(void); diff --git a/lib/msun/mips/fenv.h b/lib/msun/mips/fenv.h deleted file mode 100644 index be846b7449ce..000000000000 --- a/lib/msun/mips/fenv.h +++ /dev/null @@ -1,283 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2004-2005 David Schultz - * 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$ - */ - -#ifndef _FENV_H_ -#define _FENV_H_ - -#include - -#ifndef __fenv_static -#define __fenv_static static -#endif - -typedef __uint32_t fenv_t; -typedef __uint32_t fexcept_t; - -/* Exception flags */ -#ifdef __mips_soft_float -#define _FPUSW_SHIFT 16 -#define FE_INVALID 0x0001 -#define FE_DIVBYZERO 0x0002 -#define FE_OVERFLOW 0x0004 -#define FE_UNDERFLOW 0x0008 -#define FE_INEXACT 0x0010 -#else -#define _FCSR_CAUSE_SHIFT 10 -#define FE_INVALID 0x0040 -#define FE_DIVBYZERO 0x0020 -#define FE_OVERFLOW 0x0010 -#define FE_UNDERFLOW 0x0008 -#define FE_INEXACT 0x0004 -#endif -#define FE_ALL_EXCEPT (FE_DIVBYZERO | FE_INEXACT | \ - FE_INVALID | FE_OVERFLOW | FE_UNDERFLOW) - -/* Rounding modes */ -#define FE_TONEAREST 0x0000 -#define FE_TOWARDZERO 0x0001 -#define FE_UPWARD 0x0002 -#define FE_DOWNWARD 0x0003 -#define _ROUND_MASK (FE_TONEAREST | FE_DOWNWARD | \ - FE_UPWARD | FE_TOWARDZERO) -__BEGIN_DECLS - -/* Default floating-point environment */ -extern const fenv_t __fe_dfl_env; -#define FE_DFL_ENV (&__fe_dfl_env) - -/* We need to be able to map status flag positions to mask flag positions */ -#define _ENABLE_SHIFT 5 -#define _ENABLE_MASK (FE_ALL_EXCEPT << _ENABLE_SHIFT) - -#if !defined(__mips_soft_float) && !defined(__mips_hard_float) -#error compiler didnt set soft/hard float macros -#endif - -#ifndef __mips_soft_float -#define __cfc1(__fcsr) __asm __volatile("cfc1 %0, $31" : "=r" (__fcsr)) -#define __ctc1(__fcsr) __asm __volatile("ctc1 %0, $31" :: "r" (__fcsr)) -#endif - -#ifdef __mips_soft_float -int feclearexcept(int __excepts); -int fegetexceptflag(fexcept_t *__flagp, int __excepts); -int fesetexceptflag(const fexcept_t *__flagp, int __excepts); -int feraiseexcept(int __excepts); -int fetestexcept(int __excepts); -int fegetround(void); -int fesetround(int __round); -int fegetenv(fenv_t *__envp); -int feholdexcept(fenv_t *__envp); -int fesetenv(const fenv_t *__envp); -int feupdateenv(const fenv_t *__envp); -#else -__fenv_static inline int -feclearexcept(int __excepts) -{ - fexcept_t fcsr; - - __excepts &= FE_ALL_EXCEPT; - __cfc1(fcsr); - fcsr &= ~(__excepts | (__excepts << _FCSR_CAUSE_SHIFT)); - __ctc1(fcsr); - - return (0); -} - -__fenv_static inline int -fegetexceptflag(fexcept_t *__flagp, int __excepts) -{ - fexcept_t fcsr; - - __excepts &= FE_ALL_EXCEPT; - __cfc1(fcsr); - *__flagp = fcsr & __excepts; - - return (0); -} - -__fenv_static inline int -fesetexceptflag(const fexcept_t *__flagp, int __excepts) -{ - fexcept_t fcsr; - - __excepts &= FE_ALL_EXCEPT; - __cfc1(fcsr); - fcsr &= ~__excepts; - fcsr |= *__flagp & __excepts; - __ctc1(fcsr); - - return (0); -} - -__fenv_static inline int -feraiseexcept(int __excepts) -{ - fexcept_t fcsr; - - __excepts &= FE_ALL_EXCEPT; - __cfc1(fcsr); - fcsr |= __excepts | (__excepts << _FCSR_CAUSE_SHIFT); - __ctc1(fcsr); - - return (0); -} - -__fenv_static inline int -fetestexcept(int __excepts) -{ - fexcept_t fcsr; - - __excepts &= FE_ALL_EXCEPT; - __cfc1(fcsr); - - return (fcsr & __excepts); -} - -__fenv_static inline int -fegetround(void) -{ - fexcept_t fcsr; - - __cfc1(fcsr); - - return (fcsr & _ROUND_MASK); -} - -__fenv_static inline int -fesetround(int __round) -{ - fexcept_t fcsr; - - if (__round & ~_ROUND_MASK) - return (-1); - - __cfc1(fcsr); - fcsr &= ~_ROUND_MASK; - fcsr |= __round; - __ctc1(fcsr); - - return (0); -} - -__fenv_static inline int -fegetenv(fenv_t *__envp) -{ - - __cfc1(*__envp); - - return (0); -} - -__fenv_static inline int -feholdexcept(fenv_t *__envp) -{ - fexcept_t fcsr; - - __cfc1(fcsr); - *__envp = fcsr; - fcsr &= ~(FE_ALL_EXCEPT | _ENABLE_MASK); - __ctc1(fcsr); - - return (0); -} - -__fenv_static inline int -fesetenv(const fenv_t *__envp) -{ - - __ctc1(*__envp); - - return (0); -} - -__fenv_static inline int -feupdateenv(const fenv_t *__envp) -{ - fexcept_t fcsr; - - __cfc1(fcsr); - fesetenv(__envp); - feraiseexcept(fcsr); - - return (0); -} -#endif /* !__mips_soft_float */ - -#if __BSD_VISIBLE - -/* We currently provide no external definitions of the functions below. */ - -#ifdef __mips_soft_float -int feenableexcept(int __mask); -int fedisableexcept(int __mask); -int fegetexcept(void); -#else -static inline int -feenableexcept(int __mask) -{ - fenv_t __old_fcsr, __new_fcsr; - - __cfc1(__old_fcsr); - __new_fcsr = __old_fcsr | (__mask & FE_ALL_EXCEPT) << _ENABLE_SHIFT; - __ctc1(__new_fcsr); - - return ((__old_fcsr >> _ENABLE_SHIFT) & FE_ALL_EXCEPT); -} - -static inline int -fedisableexcept(int __mask) -{ - fenv_t __old_fcsr, __new_fcsr; - - __cfc1(__old_fcsr); - __new_fcsr = __old_fcsr & ~((__mask & FE_ALL_EXCEPT) << _ENABLE_SHIFT); - __ctc1(__new_fcsr); - - return ((__old_fcsr >> _ENABLE_SHIFT) & FE_ALL_EXCEPT); -} - -static inline int -fegetexcept(void) -{ - fexcept_t fcsr; - - __cfc1(fcsr); - - return ((fcsr & _ENABLE_MASK) >> _ENABLE_SHIFT); -} - -#endif /* !__mips_soft_float */ - -#endif /* __BSD_VISIBLE */ - -__END_DECLS - -#endif /* !_FENV_H_ */