summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--math/test-misc.c27
-rw-r--r--sysdeps/unix/sysv/linux/i386/fcntl.c6
3 files changed, 31 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index 5eefa95efa..d215af634c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2000-10-25 Jakub Jelinek <jakub@redhat.com>
+
+ * sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl): When
+ converting struct flock64 to struct flock and back, use fcntl commands
+ which work on struct flock.
+
+2000-10-25 Jakub Jelinek <jakub@redhat.com>
+
+ * math/test-misc.c (main): Only check modfl if NO_LONG_DOUBLE is not
+ defined.
+ * sysdeps/sparc/sparc32/fpu/libm-test-ulps: Update.
+ * sysdeps/sparc/sparc64/fpu/libm-test-ulps: Update.
+
2000-10-25 Ulrich Drepper <drepper@redhat.com>
* sysdeps/arm/libm-test-ulps: Updated.
diff --git a/math/test-misc.c b/math/test-misc.c
index 962e5f69de..515277f5ad 100644
--- a/math/test-misc.c
+++ b/math/test-misc.c
@@ -26,19 +26,20 @@ main (void)
{
int result = 0;
- if (sizeof (long double) >= 12)
- {
- long double x = 0x100000001ll + (long double) 0.5;
- long double q;
- long double r;
-
- r = modfl (x, &q);
- if (q != (long double) 0x100000001ll || r != 0.5)
- {
- printf ("modfl (%Lg, ...) failed\n", x);
- result = 1;
- }
- }
+#ifndef NO_LONG_DOUBLE
+ {
+ long double x = 0x100000001ll + (long double) 0.5;
+ long double q;
+ long double r;
+
+ r = modfl (x, &q);
+ if (q != (long double) 0x100000001ll || r != 0.5)
+ {
+ printf ("modfl (%Lg, ...) failed\n", x);
+ result = 1;
+ }
+ }
+#endif
{
double x = 0x100000001ll + (double) 0.5;
diff --git a/sysdeps/unix/sysv/linux/i386/fcntl.c b/sysdeps/unix/sysv/linux/i386/fcntl.c
index e67931ec71..c7f02b2c31 100644
--- a/sysdeps/unix/sysv/linux/i386/fcntl.c
+++ b/sysdeps/unix/sysv/linux/i386/fcntl.c
@@ -16,6 +16,7 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+#include <assert.h>
#include <errno.h>
#include <fcntl.h>
#include <stdarg.h>
@@ -84,7 +85,7 @@ __libc_fcntl (int fd, int cmd, ...)
fl.l_whence = fl64->l_whence;
fl.l_pid = fl64->l_pid;
- res = INLINE_SYSCALL (fcntl, 3, fd, cmd, &fl);
+ res = INLINE_SYSCALL (fcntl, 3, fd, F_GETLK, &fl);
if (res != 0)
return res;
/* Everything ok, convert back. */
@@ -120,7 +121,8 @@ __libc_fcntl (int fd, int cmd, ...)
fl.l_type = fl64->l_type;
fl.l_whence = fl64->l_whence;
fl.l_pid = fl64->l_pid;
- return INLINE_SYSCALL (fcntl, 3, fd, cmd, &fl);
+ assert (F_SETLK - F_SETLKW == F_SETLK64 - F_SETLKW64);
+ return INLINE_SYSCALL (fcntl, 3, fd, cmd + F_SETLK - F_SETLK64, &fl);
}
default:
return INLINE_SYSCALL (fcntl, 3, fd, cmd, arg);