diff mbox series

m68k: Reorganize log1p and significand implementations

Message ID 20180622213326.8533-1-tuliom@linux.ibm.com
State New
Headers show
Series m68k: Reorganize log1p and significand implementations | expand

Commit Message

Tulio Magno Quites Machado Filho June 22, 2018, 9:33 p.m. UTC
Commit 5e79e0292bfb03f40e43379fd92581ad8eae9cb8 broke m68k after
s_significand.c became available in the build directory.  All m68k
implementations of log1p and significand were including s_significand.c
and stopped working after the inclusion of the the auto-generated file.

This patch reorganizes the implementation of log1p and significand for
m680x0 in order to avoid hitting this problem.

2018-06-22  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>

	* sysdeps/m68k/m680x0/fpu/s_log1p.c: Set as the generic file for
	all log1p and significand functions on m680x0.
	* sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_log1p.c instead
	of s_significand.c..
	* sysdeps/m68k/m680x0/fpu/s_log1pl.c: Likewise.
	* sysdeps/m68k/m680x0/fpu/s_significandf.c: Likewise.
	* sysdeps/m68k/m680x0/fpu/s_significandl.c: Likewise.
	* sysdeps/m68k/m680x0/fpu/s_significand.c: Move all the code to
	s_log1p.c and include it..

Signed-off-by: Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
---
 sysdeps/m68k/m680x0/fpu/s_log1p.c        | 38 ++++++++++++++++++++++++++++----
 sysdeps/m68k/m680x0/fpu/s_log1pf.c       |  5 ++---
 sysdeps/m68k/m680x0/fpu/s_log1pl.c       |  5 ++---
 sysdeps/m68k/m680x0/fpu/s_significand.c  | 18 ++-------------
 sysdeps/m68k/m680x0/fpu/s_significandf.c |  5 ++---
 sysdeps/m68k/m680x0/fpu/s_significandl.c |  5 ++---
 6 files changed, 44 insertions(+), 32 deletions(-)

Comments

Jeff Law June 22, 2018, 9:34 p.m. UTC | #1
On 06/22/2018 03:33 PM, Tulio Magno Quites Machado Filho wrote:
> Commit 5e79e0292bfb03f40e43379fd92581ad8eae9cb8 broke m68k after
> s_significand.c became available in the build directory.  All m68k
> implementations of log1p and significand were including s_significand.c
> and stopped working after the inclusion of the the auto-generated file.
> 
> This patch reorganizes the implementation of log1p and significand for
> m680x0 in order to avoid hitting this problem.
> 
> 2018-06-22  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
> 
> 	* sysdeps/m68k/m680x0/fpu/s_log1p.c: Set as the generic file for
> 	all log1p and significand functions on m680x0.
> 	* sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_log1p.c instead
> 	of s_significand.c..
> 	* sysdeps/m68k/m680x0/fpu/s_log1pl.c: Likewise.
> 	* sysdeps/m68k/m680x0/fpu/s_significandf.c: Likewise.
> 	* sysdeps/m68k/m680x0/fpu/s_significandl.c: Likewise.
> 	* sysdeps/m68k/m680x0/fpu/s_significand.c: Move all the code to
> 	s_log1p.c and include it..
Thanks.  My testers have been complaining about this for a couple days,
but I haven't had a chance to investigate.

jeff
Joseph Myers June 22, 2018, 9:53 p.m. UTC | #2
On Fri, 22 Jun 2018, Tulio Magno Quites Machado Filho wrote:

> Commit 5e79e0292bfb03f40e43379fd92581ad8eae9cb8 broke m68k after
> s_significand.c became available in the build directory.  All m68k
> implementations of log1p and significand were including s_significand.c
> and stopped working after the inclusion of the the auto-generated file.
> 
> This patch reorganizes the implementation of log1p and significand for
> m680x0 in order to avoid hitting this problem.
> 
> 2018-06-22  Tulio Magno Quites Machado Filho  <tuliom@linux.ibm.com>
> 
> 	* sysdeps/m68k/m680x0/fpu/s_log1p.c: Set as the generic file for
> 	all log1p and significand functions on m680x0.
> 	* sysdeps/m68k/m680x0/fpu/s_log1pf.c: Include s_log1p.c instead
> 	of s_significand.c..
> 	* sysdeps/m68k/m680x0/fpu/s_log1pl.c: Likewise.
> 	* sysdeps/m68k/m680x0/fpu/s_significandf.c: Likewise.
> 	* sysdeps/m68k/m680x0/fpu/s_significandl.c: Likewise.
> 	* sysdeps/m68k/m680x0/fpu/s_significand.c: Move all the code to
> 	s_log1p.c and include it..

OK, please commit.
diff mbox series

Patch

diff --git a/sysdeps/m68k/m680x0/fpu/s_log1p.c b/sysdeps/m68k/m680x0/fpu/s_log1p.c
index 7eb2529547..5da96c5834 100644
--- a/sysdeps/m68k/m680x0/fpu/s_log1p.c
+++ b/sysdeps/m68k/m680x0/fpu/s_log1p.c
@@ -1,4 +1,34 @@ 
-#define	FUNC	log1p
-#undef weak_alias
-#define weak_alias(a,b)
-#include <s_significand.c>
+/* Implement logp1 for m68k.
+   Copyright (C) 2018 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library.  If not, see
+   <http://www.gnu.org/licenses/>.  */
+
+#include <math.h>
+
+#ifndef FUNC
+#define FUNC log1p
+#endif
+#ifndef float_type
+#define float_type double
+#endif
+
+#define __CONCATX(a,b) __CONCAT(a,b)
+
+float_type
+__CONCATX(__,FUNC) (float_type x)
+{
+  return __m81_u(__CONCATX(__,FUNC))(x);
+}
diff --git a/sysdeps/m68k/m680x0/fpu/s_log1pf.c b/sysdeps/m68k/m680x0/fpu/s_log1pf.c
index 40f332ff36..1e408ffffe 100644
--- a/sysdeps/m68k/m680x0/fpu/s_log1pf.c
+++ b/sysdeps/m68k/m680x0/fpu/s_log1pf.c
@@ -1,4 +1,3 @@ 
 #define	FUNC	log1pf
-#undef weak_alias
-#define weak_alias(a,b)
-#include <s_significandf.c>
+#define float_type float
+#include <s_log1p.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_log1pl.c b/sysdeps/m68k/m680x0/fpu/s_log1pl.c
index e580bafbc5..ffe1d8893f 100644
--- a/sysdeps/m68k/m680x0/fpu/s_log1pl.c
+++ b/sysdeps/m68k/m680x0/fpu/s_log1pl.c
@@ -1,4 +1,3 @@ 
 #define FUNC log1pl
-#undef weak_alias
-#define weak_alias(a,b)
-#include <s_significandl.c>
+#define float_type long double
+#include <s_log1p.c>
diff --git a/sysdeps/m68k/m680x0/fpu/s_significand.c b/sysdeps/m68k/m680x0/fpu/s_significand.c
index bcc9a8a475..3259d4ee6a 100644
--- a/sysdeps/m68k/m680x0/fpu/s_significand.c
+++ b/sysdeps/m68k/m680x0/fpu/s_significand.c
@@ -16,20 +16,6 @@ 
    License along with the GNU C Library.  If not, see
    <http://www.gnu.org/licenses/>.  */
 
-#include <math.h>
-
-#ifndef FUNC
 #define FUNC significand
-#endif
-#ifndef float_type
-#define float_type double
-#endif
-
-#define __CONCATX(a,b) __CONCAT(a,b)
-
-float_type
-__CONCATX(__,FUNC) (float_type x)
-{
-  return __m81_u(__CONCATX(__,FUNC))(x);
-}
-weak_alias (__CONCATX(__,FUNC), FUNC)
+#include <s_log1p.c>
+weak_alias (__significand, significand)
diff --git a/sysdeps/m68k/m680x0/fpu/s_significandf.c b/sysdeps/m68k/m680x0/fpu/s_significandf.c
index bbaa64bb13..95da7cf969 100644
--- a/sysdeps/m68k/m680x0/fpu/s_significandf.c
+++ b/sysdeps/m68k/m680x0/fpu/s_significandf.c
@@ -1,5 +1,4 @@ 
-#ifndef FUNC
 #define FUNC significandf
-#endif
 #define float_type float
-#include <s_significand.c>
+#include <s_log1p.c>
+weak_alias (__significandf, significandf)
diff --git a/sysdeps/m68k/m680x0/fpu/s_significandl.c b/sysdeps/m68k/m680x0/fpu/s_significandl.c
index f3496ee862..356b48d138 100644
--- a/sysdeps/m68k/m680x0/fpu/s_significandl.c
+++ b/sysdeps/m68k/m680x0/fpu/s_significandl.c
@@ -1,5 +1,4 @@ 
-#ifndef FUNC
 #define FUNC significandl
-#endif
 #define float_type long double
-#include <s_significand.c>
+#include <s_log1p.c>
+weak_alias (__significandl, significandl)