about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog3
-rw-r--r--linuxthreads_db/ChangeLog4
-rw-r--r--linuxthreads_db/td_thr_getgregs.c4
-rw-r--r--sysdeps/ieee754/ldbl-96/s_modfl.c2
4 files changed, 10 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 96643d61ab..1878bae26b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2000-01-19  Ulrich Drepper  <drepper@cygnus.com>
 
+	* sysdeps/ieee754/ldbl-96/s_modfl.c: Correct handling of arguments
+	with exponent >31 and < 63 (PR libc/1548).
+
 	* locale/programs/ld-collate.c (output_weightwc): Return index
 	measured in words, not bytes.  Don't write out words for ignored
 	characters.
diff --git a/linuxthreads_db/ChangeLog b/linuxthreads_db/ChangeLog
index feb8b823c0..72f8fc466e 100644
--- a/linuxthreads_db/ChangeLog
+++ b/linuxthreads_db/ChangeLog
@@ -1,3 +1,7 @@
+2000-01-19  Ulrich Drepper  <drepper@cygnus.com>
+
+	* td_thr_getgregs.c: Correct size parameter of memset call.
+
 1999-12-02  Ulrich Drepper  <drepper@cygnus.com>
 
 	* proc_service.h: Fix typos in last added declaractions.
diff --git a/linuxthreads_db/td_thr_getgregs.c b/linuxthreads_db/td_thr_getgregs.c
index 549c7d8b83..c485686afd 100644
--- a/linuxthreads_db/td_thr_getgregs.c
+++ b/linuxthreads_db/td_thr_getgregs.c
@@ -1,5 +1,5 @@
 /* Get a thread's general register set.
-   Copyright (C) 1999 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2000 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1999.
 
@@ -35,7 +35,7 @@ td_thr_getgregs (const td_thrhandle_t *th, prgregset_t gregs)
 
   /* If the thread already terminated we return all zeroes.  */
   if (pds.p_terminated)
-    memset (gregs, '\0', sizeof (gregs));
+    memset (gregs, '\0', sizeof (prgrepset_t));
   /* Otherwise get the register content through the callback.  */
   else if (ps_lgetregs (th->th_ta_p->ph, pds.p_pid, gregs) != PS_OK)
     return TD_ERR;
diff --git a/sysdeps/ieee754/ldbl-96/s_modfl.c b/sysdeps/ieee754/ldbl-96/s_modfl.c
index fb1b3acf30..99c0752efa 100644
--- a/sysdeps/ieee754/ldbl-96/s_modfl.c
+++ b/sysdeps/ieee754/ldbl-96/s_modfl.c
@@ -71,7 +71,7 @@ static long double one = 1.0;
 	    SET_LDOUBLE_WORDS(x,se&0x8000,0,0);	/* return +-0 */
 	    return x;
 	} else {			/* fraction part in low x */
-	    i = ((u_int32_t)(0xffffffff))>>(j0-32);
+	    i = ((u_int32_t)(0x7fffffff))>>(j0-32);
 	    if((i1&i)==0) { 		/* x is integral */
 		*iptr = x;
 		SET_LDOUBLE_WORDS(x,se&0x8000,0,0);	/* return +-0 */