about summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-10-13 01:27:24 +0000
committerUlrich Drepper <drepper@redhat.com>1997-10-13 01:27:24 +0000
commit1ea89a402d892b68b193e2e4390d8eb33ed686e7 (patch)
tree5e14832655316159895c8ee546fd73e4c1a72914 /sysdeps
parentdfd2257ad98eb0f6eab167e5fe5ff68ca87172e3 (diff)
downloadglibc-1ea89a402d892b68b193e2e4390d8eb33ed686e7.tar.gz
glibc-1ea89a402d892b68b193e2e4390d8eb33ed686e7.tar.xz
glibc-1ea89a402d892b68b193e2e4390d8eb33ed686e7.zip
1997-10-13 03:14  Ulrich Drepper  <drepper@cygnus.com>

	* libc.map: Move _IO_fopen, fopen, _IO_stdin_, _IO_stdout_,
	_IO_stderr_, _IO_list_all, and freopen to GLIBC_2.1 version.
	* include/libc-symbol.h: Define define_symbol.
	* libio/Makefile [$(versioning)=yes] (routines): Add oldiofopen and
	oldfreopen.
	[$(versioning)=yes] (aux): Add oldfileops and oldstdfiles.
	* libio/fileops.c: Use _IO_FILE_complete when accessing _offset field.
	* libio/freopen.c: Use versioning.
	* libio/iofopen.c: Likewise.  Generate object of type
	_IO_FILE_complete.
	* libio/iofopen64.c: Generate object of type _IO_FILE_complete.
	* libio/iolibio.h: Declare _IO_{old,new}_fopen and __{old,new}_freopen.
	Define _IO_old_freopen.
	* libio/libio.h: Remove _offset field from _IO_FILE.  Rename _unused2
	field to _old_offset.  Declare _IO_std*_ streams as of type
	_IO_FILE_complete.
	* libio/libioP.h: Define _IO_FILE_complete.
	Declare callbacks for old fileops implementation.
	* libio/stdfile.c: Define standard stream of type _IO_FILE_complete.
	* libio/stdio.c: Correctly address FILE part of standard streams.
	* libio/oldfileops.c: New file.
	* libio/oldfreopen.c: New file.
	* libio/oldiofopen.c: New file.
	* libio/oldstdfiles.c: New file.

	* sysdeps/i386/fpu/bits/mathinline.h: Define fma optimization.

	* sysdeps/libm-i387/e_scalb.S: Make sure code gets into .text section.
	* sysdeps/libm-i387/e_scalbl.S: Likewise.
	* sysdeps/libm-i387/s_fma.S: Fix typo.
	* sysdeps/libm-i387/s_fmaf.S: Likewise.
	* sysdeps/libm-i387/s_fmal.S: Likewise.

1997-10-12 20:14  Zack Weinberg  <zack@rabi.phys.columbia.edu>

	* sysdeps/stub/getsid.c: Add a stub_warning.
	* sysdeps/stub/mmap.c: Likewise.
	* sysdeps/stub/munmap.c: Likewise.

	* sysdeps/libm-ieee754/s_fma.c: New file.
	* sysdeps/libm-ieee754/s_fmaf.c: New file.
	* sysdeps/libm-ieee754/s_fmal.c: New file.
	* sysdeps/libm-ieee754/s_llrintf.c: New file.
	* sysdeps/libm-ieee754/s_llrintl.c: New file.
	* sysdeps/libm-ieee754/s_lrintf.c: New file.
	* sysdeps/libm-ieee754/s_lrintl.c: New file.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/i386/fpu/bits/mathinline.h34
-rw-r--r--sysdeps/libm-i387/e_scalb.S2
-rw-r--r--sysdeps/libm-i387/e_scalbl.S2
-rw-r--r--sysdeps/libm-i387/s_fma.S2
-rw-r--r--sysdeps/libm-i387/s_fmaf.S2
-rw-r--r--sysdeps/libm-i387/s_fmal.S2
-rw-r--r--sysdeps/stub/getsid.c1
-rw-r--r--sysdeps/stub/mmap.c1
-rw-r--r--sysdeps/stub/munmap.c1
9 files changed, 30 insertions, 17 deletions
diff --git a/sysdeps/i386/fpu/bits/mathinline.h b/sysdeps/i386/fpu/bits/mathinline.h
index edb6ee01d7..482b47e3b3 100644
--- a/sysdeps/i386/fpu/bits/mathinline.h
+++ b/sysdeps/i386/fpu/bits/mathinline.h
@@ -125,9 +125,21 @@
   __inline_mathcode_ (double, func, arg, code)				      \
   __inline_mathcode_ (float, __CONCAT(func,f), arg, code)		      \
   __inline_mathcode_ (long double, __CONCAT(func,l), arg, code)
+# define __inline_mathcode2(func, arg1, arg2, code) \
+  __inline_mathcode2_ (double, func, arg1, arg2, code)			      \
+  __inline_mathcode2_ (float, __CONCAT(func,f), arg1, arg2, code)	      \
+  __inline_mathcode2_ (long double, __CONCAT(func,l), arg1, arg2, code)
+# define __inline_mathcode3(func, arg1, arg2, arg3, code) \
+  __inline_mathcode3_ (double, func, arg1, arg2, arg3, code)		      \
+  __inline_mathcode3_ (float, __CONCAT(func,f), arg1, arg2, arg3, code)	      \
+  __inline_mathcode3_ (long double, __CONCAT(func,l), arg1, arg2, arg3, code)
 #else
 # define __inline_mathcode(func, arg, code) \
-  __inline_mathcode_ (double, func, arg, code)
+  __inline_mathcode_ (double, func, (arg), code)
+# define __inline_mathcode2(func, arg1, arg2, code) \
+  __inline_mathcode2_ (double, func, arg1, arg2, code)
+# define __inline_mathcode3(func, arg1, arg2, arg3, code) \
+  __inline_mathcode3_ (double, func, arg1, arg2, arg3, code)
 #endif
 
 #define __inline_mathcode_(float_type, func, arg, code) \
@@ -137,17 +149,6 @@
     code;								      \
   }
 
-
-#if defined __USE_MISC || defined __USE_ISOC9X
-# define __inline_mathcode2(func, arg1, arg2, code)			      \
-  __inline_mathcode2_ (double, func, arg1, arg2, code)			      \
-  __inline_mathcode2_ (float, __CONCAT(func,f), arg1, arg2, code)	      \
-  __inline_mathcode2_ (long double, __CONCAT(func,l), arg1, arg2, code)
-#else
-# define __inline_mathcode2(func, arg1, arg2, code) \
-  __inline_mathcode2_ (double, func, arg1, arg2, code)
-#endif
-
 #define __inline_mathcode2_(float_type, func, arg1, arg2, code) \
   __MATH_INLINE float_type func (float_type, float_type);		      \
   __MATH_INLINE float_type func (float_type arg1, float_type arg2)	      \
@@ -155,6 +156,14 @@
     code;								      \
   }
 
+#define __inline_mathcode3_(float_type, func, arg1, arg2, arg3, code) \
+  __MATH_INLINE float_type func (float_type, float_type, float_type);	      \
+  __MATH_INLINE float_type func (float_type arg1, float_type arg2,	      \
+				 float_type arg3)			      \
+  {									      \
+    code;								      \
+  }
+
 
 /* Miscellaneous functions */
 
@@ -493,6 +502,7 @@ ldexpl (long double __x, int __y)
   __ldexp_code;
 }
 
+__inline_mathcode3 (fma, __x, __y, __z, return (__x * __y) + __z)
 #endif
 
 
diff --git a/sysdeps/libm-i387/e_scalb.S b/sysdeps/libm-i387/e_scalb.S
index 790f1c1d56..b4c23ca595 100644
--- a/sysdeps/libm-i387/e_scalb.S
+++ b/sysdeps/libm-i387/e_scalb.S
@@ -34,7 +34,7 @@ minus_zero:
 #define MOX(op,x,f) op(,x,f)
 #endif
 
-
+	.text
 ENTRY(__ieee754_scalb)
 	fldl	12(%esp)
 	fxam
diff --git a/sysdeps/libm-i387/e_scalbl.S b/sysdeps/libm-i387/e_scalbl.S
index e272614acf..33eb7323dc 100644
--- a/sysdeps/libm-i387/e_scalbl.S
+++ b/sysdeps/libm-i387/e_scalbl.S
@@ -36,7 +36,7 @@ minus_zero:
 #define MOX(op,x,f) op(,x,f)
 #endif
 
-
+	.text
 ENTRY(__ieee754_scalbl)
 	fldt	16(%esp)
 	fxam
diff --git a/sysdeps/libm-i387/s_fma.S b/sysdeps/libm-i387/s_fma.S
index deeac574a7..b472c70a0d 100644
--- a/sysdeps/libm-i387/s_fma.S
+++ b/sysdeps/libm-i387/s_fma.S
@@ -26,7 +26,7 @@ ENTRY(__fma)
 	fldl	12(%esp)	// x : y
 	fmulp			// x * y
 	fldl	20(%esp)	// z : x * y
-	fmulp			// (x * y) + z
+	faddp			// (x * y) + z
 	ret
 END(__fma)
 weak_alias (__fma, fma)
diff --git a/sysdeps/libm-i387/s_fmaf.S b/sysdeps/libm-i387/s_fmaf.S
index 726c49d12c..17939a819c 100644
--- a/sysdeps/libm-i387/s_fmaf.S
+++ b/sysdeps/libm-i387/s_fmaf.S
@@ -26,7 +26,7 @@ ENTRY(__fmaf)
 	flds	8(%esp)		// x : y
 	fmulp			// x * y
 	flds	12(%esp)	// z : x * y
-	fmulp			// (x * y) + z
+	faddp			// (x * y) + z
 	ret
 END(__fmaf)
 weak_alias (__fmaf, fmaf)
diff --git a/sysdeps/libm-i387/s_fmal.S b/sysdeps/libm-i387/s_fmal.S
index be8b557902..c15fca8dab 100644
--- a/sysdeps/libm-i387/s_fmal.S
+++ b/sysdeps/libm-i387/s_fmal.S
@@ -26,7 +26,7 @@ ENTRY(__fmal)
 	fldt	16(%esp)	// x : y
 	fmulp			// x * y
 	fldt	28(%esp)	// z : x * y
-	fmulp			// (x * y) + z
+	faddp			// (x * y) + z
 	ret
 END(__fmal)
 weak_alias (__fmal, fmal)
diff --git a/sysdeps/stub/getsid.c b/sysdeps/stub/getsid.c
index 8d2af8b070..5c65311ce0 100644
--- a/sysdeps/stub/getsid.c
+++ b/sysdeps/stub/getsid.c
@@ -27,3 +27,4 @@ getsid (pid_t pid)
   __set_errno (ENOSYS);
   return (pid_t) -1;
 }
+stub_warning (getsid)
diff --git a/sysdeps/stub/mmap.c b/sysdeps/stub/mmap.c
index 6b557764ee..02fb8d780d 100644
--- a/sysdeps/stub/mmap.c
+++ b/sysdeps/stub/mmap.c
@@ -36,4 +36,5 @@ __mmap (caddr_t addr, size_t len, int prot, int flags, int fd, off_t offset)
   return (caddr_t) -1;
 }
 
+stub_warning (mmap)
 weak_alias (__mmap, mmap)
diff --git a/sysdeps/stub/munmap.c b/sysdeps/stub/munmap.c
index 9c96042c26..4802a58f7f 100644
--- a/sysdeps/stub/munmap.c
+++ b/sysdeps/stub/munmap.c
@@ -30,4 +30,5 @@ __munmap (caddr_t addr, size_t len)
   return -1;
 }
 
+stub_warning (munmap)
 weak_alias (__munmap, munmap)