summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--fedora/glibc.spec.in10
-rw-r--r--posix/fnmatch_loop.c3
-rw-r--r--stdlib/strtod_l.c16
-rw-r--r--time/tst-mktime2.c1
5 files changed, 29 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index 67012de252..677fdf054c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2004-11-29 Jakub Jelinek <jakub@redhat.com>
+
+ * stdlib/strtod_l.c (INTERNAL (__STRTOF)): If densize > 2
+ and numsize < densize, always shift num up by empty + 1
+ limbs.
+
+ * posix/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
+ normal_bracket label.
+
+ * time/tst-mktime2.c (bigtime_test): Initialize tm.tm_isdst to -1.
+
2004-11-29 Roland McGrath <roland@redhat.com>
* posix/confstr.c: Avoid punctuation in #error text.
@@ -51,8 +62,6 @@
2004-11-26 Jakub Jelinek <jakub@redhat.com>
- * sysdeps/generic/unsecvars.h (UNSECURE_ENVVARS): Add GETCONF_DIR.
-
* posix/Makefile (generated: Add getconf.speclist.
($(inst_libexecdir)/getconf): Use getconf.speclist instead of
getconf output.
diff --git a/fedora/glibc.spec.in b/fedora/glibc.spec.in
index d27fe6e4f2..fa2c6ccc50 100644
--- a/fedora/glibc.spec.in
+++ b/fedora/glibc.spec.in
@@ -1,4 +1,4 @@
-%define glibcrelease 85
+%define glibcrelease 86
%define auxarches i586 i686 athlon sparcv9 alphaev6
%define prelinkarches noarch
%define nptlarches i386 i686 athlon x86_64 ia64 s390 s390x sparcv9 ppc ppc64
@@ -1258,6 +1258,14 @@ rm -f *.filelist*
%endif
%changelog
+* Tue Nov 30 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-86
+- update from CVS
+ - some posix_opt.h fixes
+- fix strtold use of unitialized memory (#141000)
+- some more bugfixes for bugs detected by valgrind
+- rebuilt with GCC >= 3.4.3-5 to avoid packed stack layout
+ on s390{,x} (#139678)
+
* Fri Nov 26 2004 Jakub Jelinek <jakub@redhat.com> 2.3.3-85
- update from CVS
- support -v specification in getconf
diff --git a/posix/fnmatch_loop.c b/posix/fnmatch_loop.c
index fb56bd426b..449e5e02b4 100644
--- a/posix/fnmatch_loop.c
+++ b/posix/fnmatch_loop.c
@@ -600,6 +600,9 @@ FCT (pattern, string, string_end, no_leading_period, flags)
if (!is_range && c == fn)
goto matched;
+ /* This is needed if we goto normal_bracket; from
+ outside of is_seqval's scope. */
+ is_seqval = 0;
cold = c;
c = *p++;
}
diff --git a/stdlib/strtod_l.c b/stdlib/strtod_l.c
index dce65cb83c..a656789f4c 100644
--- a/stdlib/strtod_l.c
+++ b/stdlib/strtod_l.c
@@ -1442,15 +1442,10 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
if (numsize < densize)
{
mp_size_t empty = densize - numsize;
+ register int i;
if (bits <= 0)
- {
- register int i;
- for (i = numsize; i > 0; --i)
- num[i + empty] = num[i - 1];
- MPN_ZERO (num, empty + 1);
- exponent -= empty * BITS_PER_MP_LIMB;
- }
+ exponent -= empty * BITS_PER_MP_LIMB;
else
{
if (bits + empty * BITS_PER_MP_LIMB <= MANT_DIG)
@@ -1459,7 +1454,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
cannot optimize the `else' case that good and
this reflects all currently used FLOAT types
and GMP implementations. */
- register int i;
#if RETURN_LIMB_SIZE <= 2
assert (empty == 1);
__mpn_lshift_1 (retval, RETURN_LIMB_SIZE,
@@ -1470,9 +1464,6 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
while (i >= 0)
retval[i--] = 0;
#endif
- for (i = numsize; i > 0; --i)
- num[i + empty] = num[i - 1];
- MPN_ZERO (num, empty + 1);
}
else
{
@@ -1492,6 +1483,9 @@ INTERNAL (__STRTOF) (nptr, endptr, group, loc)
}
bits += empty * BITS_PER_MP_LIMB;
}
+ for (i = numsize; i > 0; --i)
+ num[i + empty] = num[i - 1];
+ MPN_ZERO (num, empty + 1);
}
else
{
diff --git a/time/tst-mktime2.c b/time/tst-mktime2.c
index fe7c370928..6279218cba 100644
--- a/time/tst-mktime2.c
+++ b/time/tst-mktime2.c
@@ -78,6 +78,7 @@ bigtime_test (int j)
struct tm tm;
time_t now;
tm.tm_year = tm.tm_mon = tm.tm_mday = tm.tm_hour = tm.tm_min = tm.tm_sec = j;
+ tm.tm_isdst = -1;
now = mktime (&tm);
if (now != (time_t) -1)
{