about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>2018-06-22 18:18:21 -0300
committerTulio Magno Quites Machado Filho <tuliom@linux.ibm.com>2018-06-22 21:34:28 -0300
commitd93f4ff16b75f77b99cb095c3e83c9b8281261f2 (patch)
treeaf4edc4f3a726aabc8c21d0da4917b260aa96445
parentf6299d2a103efc46d8f75834f1e38f3eda9f4fcb (diff)
downloadglibc-d93f4ff16b75f77b99cb095c3e83c9b8281261f2.tar.gz
glibc-d93f4ff16b75f77b99cb095c3e83c9b8281261f2.tar.xz
glibc-d93f4ff16b75f77b99cb095c3e83c9b8281261f2.zip
m68k: Reorganize log1p and significand implementations
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.

	* 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>
-rw-r--r--ChangeLog12
-rw-r--r--sysdeps/m68k/m680x0/fpu/s_log1p.c38
-rw-r--r--sysdeps/m68k/m680x0/fpu/s_log1pf.c5
-rw-r--r--sysdeps/m68k/m680x0/fpu/s_log1pl.c5
-rw-r--r--sysdeps/m68k/m680x0/fpu/s_significand.c18
-rw-r--r--sysdeps/m68k/m680x0/fpu/s_significandf.c5
-rw-r--r--sysdeps/m68k/m680x0/fpu/s_significandl.c5
7 files changed, 56 insertions, 32 deletions
diff --git a/ChangeLog b/ChangeLog
index e54d7549ae..c1aafdd7ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+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..
+
 2018-06-21  Vincent Chen  <vincentc@andestech.com>
 
 	* elf/elf.h (R_NDS32_NONE): New define.
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)