summaryrefslogtreecommitdiff
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
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)