about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorPaul E. Murphy <murphyp@linux.vnet.ibm.com>2016-06-14 11:44:14 -0500
committerPaul E. Murphy <murphyp@linux.vnet.ibm.com>2016-08-17 14:06:03 -0500
commitce6698ea0aea863bbfb4e932494406789e4e36c1 (patch)
treefc8a53b53c2b6d459dd9b4a5042314bcad7f4482 /ChangeLog
parent1f645571d2db9008b3cd3d5acb9ff93357864283 (diff)
downloadglibc-ce6698ea0aea863bbfb4e932494406789e4e36c1.tar.gz
glibc-ce6698ea0aea863bbfb4e932494406789e4e36c1.tar.xz
glibc-ce6698ea0aea863bbfb4e932494406789e4e36c1.zip
Support for type-generic libm function implementations libm
This defines a new classes of libm objects.  The
<func>_template.c file which is used in conjunction
with the new makefile hooks to derive variants for
each type supported by the target machine.

The headers math-type-macros-TYPE.h are used to supply
macros to a common implementation of a function in
a file named FUNC_template.c and glued togethor via
a generated file matching existing naming in the
build directory.

This has the properties of preserving the existing
override mechanism and not requiring any arcane
build system twiddling.  Likewise, it enables machines
to override these files without any additional work.

I have verified the built objects for ppc64, x86_64,
alpha, arm, and m68k do not change in any meaningful
way with these changes using the Fedora cross toolchains.
I have verified the x86_64 and ppc64 changes still run.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog50
1 files changed, 50 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index a3df80811b..2fba9ad327 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,53 @@
+2016-08-17  Paul E. Murphy  <murphyp@linux.vnet.ibm.com>
+
+	* math/Makefile: (gen-libm-templates.stmp): New rule.
+	(libm-calls): Move carg conj cimag and cabs into ...
+	(gen-libm-calls): New variable.
+	(generated): Inform Make objects from gen-libm-calls
+	may be generated.
+
+	* sysdeps/generic/math-type-macros.h: New file.
+	* sysdeps/generic/math-type-macros-float.h: Likewise.
+	* sysdeps/generic/math-type-macros-double.h: Likewise.
+	* sysdeps/generic/math-type-macros-ldouble.h: Likewise.
+	* sysdeps/ieee754/ldbl-opt/math-type-macros-double.h: Likewise.
+	* sysdeps/ieee754/ldbl-opt/math-type-macros-ldouble.h: Likewise.
+
+	* math/cabs.c: Refactor into
+	* math/cabs_template.c: new file.
+	* math/cabsf.c: Removed.
+	* math/cabsl.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/cabsf.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/cabsl.c: Removed.
+
+	* math/carg.c: Refactor into
+	* math/carg_template.c: new file.
+	* math/cargf.c: Removed.
+	* math/cargl.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/cargf.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/cargl.c: Removed.
+
+	* math/conj.c: Refactor into
+	* math/conj_template.c: new file.
+	* math/conjf.c: Removed.
+	* math/conjl.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/conjf.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/conjl.c: Removed.
+
+	* math/cimag.c: Refactor into
+	* math/cimag_template.c: new file.
+	* math/cimagf.c: Removed.
+	* math/cimagl.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/cimagf.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/cimagl.c: Removed.
+
+	* math/cimag.c: Refactor into
+	* math/cimag_template.c: new file.
+	* math/cimagf.c: Removed.
+	* math/cimagl.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/cimagf.c: Removed.
+	* sysdeps/ieee754/ldbl-opt/cimagl.c: Removed.
+
 2016-08-17  Florian Weimer  <fweimer@redhat.com>
 
 	Reduce time to expected nptl/tst-once5 failure.