]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 7 Oct 2000 22:28:05 +0000 (22:28 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 7 Oct 2000 22:28:05 +0000 (22:28 +0000)
2000-10-07  Ulrich Drepper  <drepper@redhat.com>

* include/features.h (__STDC_ISO_10646__): Set to correct date.
Patch by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.

2000-10-06  Jes Sorensen  <jes@linuxcare.com>

* sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Implement
overflow generation by adding DBL_MAX to DBL_MAX instead of
setting the bits manually in the fpsr and generating the exception
with kill() if necessary.
(feraiseexcept): Implement underflow by dividing DBL_MIN by
DBL_MIN - similar to the overflow change described above.

2000-08-27  H.J. Lu  <hjl@gnu.org>

* sysdeps/unix/sysv/linux/ia64/clone.S: Make it a dummy as clone
is not supported under Linux/ia64, use clone2.

2000-10-06  Jakub Jelinek  <jakub@redhat.com>

* malloc/malloc.h (__THROW): Define to nothing if not gcc.
* misc/sys/cdefs.h (__THROW): Likewise.

ChangeLog
include/features.h
malloc/malloc.h
misc/sys/cdefs.h
sysdeps/ia64/fpu/fraiseexcpt.c
sysdeps/unix/sysv/linux/ia64/clone.S

index cbe9141d723396a308b2cddffc87c6f6f7ec9bb4..bbc00d4fd3b8afb4ac389974320899ec582e697d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,27 @@
+2000-10-07  Ulrich Drepper  <drepper@redhat.com>
+
+       * include/features.h (__STDC_ISO_10646__): Set to correct date.
+       Patch by Markus Kuhn <Markus.Kuhn@cl.cam.ac.uk>.
+
+2000-10-06  Jes Sorensen  <jes@linuxcare.com>
+
+       * sysdeps/ia64/fpu/fraiseexcpt.c (feraiseexcept): Implement
+       overflow generation by adding DBL_MAX to DBL_MAX instead of
+       setting the bits manually in the fpsr and generating the exception
+       with kill() if necessary.
+       (feraiseexcept): Implement underflow by dividing DBL_MIN by
+       DBL_MIN - similar to the overflow change described above.
+
+2000-08-27  H.J. Lu  <hjl@gnu.org>
+
+       * sysdeps/unix/sysv/linux/ia64/clone.S: Make it a dummy as clone
+       is not supported under Linux/ia64, use clone2.
+
+2000-10-06  Jakub Jelinek  <jakub@redhat.com>
+
+       * malloc/malloc.h (__THROW): Define to nothing if not gcc.
+       * misc/sys/cdefs.h (__THROW): Likewise.
+
 2000-10-05  Jakub Jelinek  <jakub@redhat.com>
 
        * sysdeps/sparc/sparc64/fpu/libm-test-ulps: New file.
index 6f7da360e3f0cb8fbf0440c7a407fd6fb97bd002..dc30b13fe3e3c939436c48d95162c8cb6d4e24b7 100644 (file)
 #define __STDC_IEC_559__               1
 #define __STDC_IEC_559_COMPLEX__       1
 
-/* wchar_t uses Unicode 3.0.  */
-#define __STDC_ISO_10646__             200001L
+/* wchar_t uses ISO 10646-1:2000 / Unicode 3.0 */
+#define __STDC_ISO_10646__             200010L
 
 /* This macro indicates that the installed library is the GNU C Library.
    For historic reasons the value now is 6 and this will stay from now
index decf61c3c9c7dc6ea13929266c67d2d871edaabc..270642e679cca12fd3c272d10580bf7ad2dda6d5 100644 (file)
@@ -1,5 +1,5 @@
 /* Prototypes and definition for malloc implementation.
-   Copyright (C) 1996, 1997, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -76,6 +76,8 @@
 
 #else  /* Not GCC.  */
 
+# define __THROW
+
 # if (defined __STDC__ && __STDC__) || defined __cplusplus
 
 #  define __MALLOC_P(args)     args
index a4535e3cac72f751043760b946b62edb817179e2..3174a8524c7124e468039cbfa566476f37ca981b 100644 (file)
@@ -54,6 +54,7 @@
 
 # define __inline              /* No inline functions.  */
 
+# define __THROW
 # define __P(args)     args
 # define __PMT(args)   args
 
index 78a881117e0a1c8854d6f06b3a45342b86cd8bd4..57111a94cfc219bf0d3eff5ae56c12e934589cff 100644 (file)
@@ -51,35 +51,20 @@ feraiseexcept (int excepts)
   if (FE_DIVBYZERO & excepts)
     __asm__ __volatile__ ("frcpa.s0 %0,p1=f1,f0" : "=f" (tmp) : : "p1" );
 
-  /* XXX There seem to be no reliable way to generate
-     overflow/underflow exceptions without causing inexact exceptions
-     as well.  */
   /* Next: overflow.  */
   if (FE_OVERFLOW & excepts)
     {
-      __asm__ __volatile__ ("mov.m %0=ar.fpsr" : "=r" (fpsr));
-      fpsr |= (FE_OVERFLOW << 13);
-      __asm__ __volatile__ ("mov.m ar.fpsr=%0" : : "r" (fpsr));
+      dummy = DBL_MAX;
 
-      if (!((unsigned long int) fpsr & FE_OVERFLOW))
-       {
-         pid_t pid = getpid ();
-         kill (pid, SIGFPE);
-       }
+      __asm__ __volatile__ ("fadd.d.s0 %0=%1,%1" : "=f" (dummy) : "0" (dummy));
     }
 
   /* Next: underflow.  */
   if (FE_UNDERFLOW & excepts)
     {
-      __asm__ __volatile__ ("mov.m %0=ar.fpsr" : "=r" (fpsr));
-      fpsr |= (FE_UNDERFLOW << 13);
-      __asm__ __volatile__ ("mov.m ar.fpsr=%0" : : "r" (fpsr));
+      dummy = DBL_MIN;
 
-      if (!((unsigned long int) fpsr & FE_UNDERFLOW))
-       {
-         pid_t pid = getpid();
-         kill (pid, SIGFPE);
-       }
+      __asm__ __volatile__ ("fnma.d.s0 %0=%1,%1,f0" : "=f" (tmp) : "f" (dummy));
   }
 
   /* Last: inexact.  */
index 75a33d2f2c677d03d4d6b19110e00ef50d42d395..0cfaeab64e788c8cc725f63d42cd2b1977f15afd 100644 (file)
@@ -1,76 +1 @@
-/* Copyright (C) 1999,2000 Free Software Foundation, Inc.
-
-   The GNU C Library is free software; you can redistribute it and/or
-   modify it under the terms of the GNU Library General Public License as
-   published by the Free Software Foundation; either version 2 of the
-   License, or (at your option) any later version.
-
-   The GNU C Library is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   Library General Public License for more details.
-
-   You should have received a copy of the GNU Library General Public
-   License along with the GNU C Library; see the file COPYING.LIB.  If not,
-   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-   Boston, MA 02111-1307, USA.  */
-
-/* clone is even more special than fork as it mucks with stacks
-   and invokes a function in the right context after its all over.  */
-
-#include <sysdep.h>
-
-/* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */
-
-/*
- * Used for both clone and fork system calls.  Note that if fn is NULL
- *   then clone was called from fork.
- */
-
-ENTRY(__clone)
-       add     r2 = -16, r33           // save space for fn and arg
-       cmp.ne  p6,p0 = 0,r33
-       ;;
-(p6)   add     r33 = -16, r33
-       add     r12 = -16, r12
-       ;;
-(p6)   st8     [r2] = r32, 8           // save fn for child
-       st8     [r12] = r32             // save fn for parent
-       ;;
-(p6)   st8     [r2] = r35              // save arg for child
-       mov     r32 = r34               // put flags in out0
-       DO_CALL (SYS_ify (clone))
-1:
-       ld8     r33 = [r12], 8          // recover fn
-       ;;
-       ld8     r32 = [r12], 8          // recover arg
-
-       cmp.eq p6,p0=-1,r10
-(p6)   br.cond.spnt.many __syscall_error // handle error
-
-       cmp.ne p7,p0=0,r8
-(p7)   ret                             // parent process, just return
-
-       cmp.eq p8,p0=0,r33
-(p8)   ret                             // fork call, return
-
-       alloc   loc0 = ar.pfs,2,2,2,0
-       ;;
-       ld8     r2 = [in1], 8           // get address of fn
-       mov     out0 = in0
-       mov     loc1 = gp               // save gp across indirect call
-       ;;
-       ld8     gp = [in1]              // set new gp
-       mov     b6 = r2
-       br.call.sptk b0 = b6            // call thread routine
-       ;;
-
-       mov     ar.pfs = loc0
-       mov     gp = loc1
-       mov     r32 = r8                // exit value
-       ;;
-       br.call.sptk    b0 = _exit      // we're out of here
-
-PSEUDO_END(__clone)
-
-weak_alias (__clone, clone)
+/* clone is not supported under Linux/ia64, use clone2. */