about summary refs log tree commit diff
path: root/math
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-06-16 09:31:23 +0000
committerRoland McGrath <roland@gnu.org>1996-06-16 09:31:23 +0000
commit26da047f376abd5da2561be914b93179c7230afa (patch)
treec2f1ae03ba5e26ee38a222f6a27ee027ac13a264 /math
parent3433189e8a3934084db3945f1e9c0c8fa3f8f166 (diff)
downloadglibc-26da047f376abd5da2561be914b93179c7230afa.tar.gz
glibc-26da047f376abd5da2561be914b93179c7230afa.tar.xz
glibc-26da047f376abd5da2561be914b93179c7230afa.zip
* hurd/hurdinit.c (map0): Remove [!PIC] conditional. cvs/libc-960616
	* shlib-versions (*-*-*): Add libutil=1.

	* rpm/Makefile (install-lib): Add libc.a et al.
	(install-others): Only add libc.so if $(build-shared) is yes.

	* math/Makefile (install-lib): New variable, list libieee.a.
	(non-lib.a): Likewise.
	(extra-objs): Likewise, and ieee-math.o.
	($(objpfx)libieee.a): New target, link to ieee-math.o.
	* math/ieee-math.c: New file.
	* sysdeps/unix/sysv/linux/Makefile [$(subdir)=math]: Remove setfpucw
	and libieee.a stuff.
	* sysdeps/unix/sysv/linux/ieee-fpucw.c: File removed.
	* sysdeps/unix/sysv/linux/i386/ieee_fpu.c: File removed.
Diffstat (limited to 'math')
-rw-r--r--math/Makefile14
-rw-r--r--math/ieee-math.c6
2 files changed, 19 insertions, 1 deletions
diff --git a/math/Makefile b/math/Makefile
index 65302911c4..dfcbff7fc7 100644
--- a/math/Makefile
+++ b/math/Makefile
@@ -52,7 +52,6 @@ long-m-routines = $(patsubst %_rl,%l_r,$(libm-calls:=l)) # not ready yet
 #long-m-yes = $(long-m-routines) # uncomment this when code works
 #distribute += $(long-m-routines:=.c) # and this when at least all files exist
 
-
 # These functions are in libc instead of libm because __printf_fp
 # calls them, so any program using printf will need them linked in,
 # and we don't want to have to link every program with -lm.
@@ -62,6 +61,12 @@ long-c-yes = $(calls:=l)
 distribute += $(long-c-yes:=.c)
 
 
+# The -lieee module sets the _LIB_VERSION_ switch to IEEE mode
+# for error handling in the -lm functions.
+install-lib += libieee.a
+non-lib.a += libieee.a
+extra-objs += libieee.a ieee-math.o
+
 include ../Rules
 
 
@@ -82,3 +87,10 @@ endif
 
 # The fdlibm code generates a lot of these warnings but is otherwise clean.
 override CFLAGS += -Wno-uninitialized -Wno-write-strings
+
+# The -lieee library is actually an object file.
+# The module just defines the _LIB_VERSION_ variable.
+# It's not a library to make sure it is linked in instead of s_lib_version.o.
+$(objpfx)libieee.a: $(objpfx)ieee-math.o
+	rm -f $@
+	ln $< $@
diff --git a/math/ieee-math.c b/math/ieee-math.c
new file mode 100644
index 0000000000..99e41a31c0
--- /dev/null
+++ b/math/ieee-math.c
@@ -0,0 +1,6 @@
+/* Linking in this module forces IEEE error handling rules for math functions.
+   The default is POSIX.1 error handling.  */
+
+#include <math.h>
+
+_LIB_VERSION_TYPE _LIB_VERSION = _IEEE_;