Update.
authorUlrich Drepper <drepper@redhat.com>
Mon, 11 Sep 2000 07:01:16 +0000 (07:01 +0000)
committerUlrich Drepper <drepper@redhat.com>
Mon, 11 Sep 2000 07:01:16 +0000 (07:01 +0000)
2000-09-10  David S. Miller  <davem@redhat.com>

* sysdeps/sparc/sparc32/__longjmp.S (__longjmp): Correct %fp
frame pointer offset for non-fast path.

2000-09-10  Ulrich Drepper  <drepper@redhat.com>

* locale/programs/3level.h (*_init): Initialize level1, level2,
and level3 as well.
(*_add): Remove a few unnecessary conditionals.

ChangeLog
locale/programs/3level.h
sysdeps/sparc/sparc32/__longjmp.S

index 007e433..8d9ddf7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2000-09-10  David S. Miller  <davem@redhat.com>
+
+       * sysdeps/sparc/sparc32/__longjmp.S (__longjmp): Correct %fp
+       frame pointer offset for non-fast path.
+
+2000-09-10  Ulrich Drepper  <drepper@redhat.com>
+
+       * locale/programs/3level.h (*_init): Initialize level1, level2,
+       and level3 as well.
+       (*_add): Remove a few unnecessary conditionals.
+
 2000-09-05  Wolfram Gloger  <wg@malloc.de>
 
        * malloc/thread-m.h [_LIBC]: Even if not linking with libpthread,
index d829332..5bb8929 100644 (file)
@@ -66,8 +66,11 @@ struct TABLE
 static inline void
 CONCAT(TABLE,_init) (struct TABLE *t)
 {
+  t->level1 = NULL;
   t->level1_alloc = t->level1_size = 0;
+  t->level2 = NULL;
   t->level2_alloc = t->level2_size = 0;
+  t->level3 = NULL;
   t->level3_alloc = t->level3_size = 0;
 }
 
@@ -116,10 +119,8 @@ CONCAT(TABLE,_add) (struct TABLE *t, uint32_t wc, ELEMENT value)
          size_t alloc = 2 * t->level1_alloc;
          if (alloc <= index1)
            alloc = index1 + 1;
-         t->level1 = (t->level1_alloc > 0
-                      ? (uint32_t *) xrealloc ((char *) t->level1,
-                                               alloc * sizeof (uint32_t))
-                      : (uint32_t *) xmalloc (alloc * sizeof (uint32_t)));
+         t->level1 = (uint32_t *) xrealloc ((char *) t->level1,
+                                            alloc * sizeof (uint32_t));
          t->level1_alloc = alloc;
        }
       while (index1 >= t->level1_size)
@@ -131,10 +132,8 @@ CONCAT(TABLE,_add) (struct TABLE *t, uint32_t wc, ELEMENT value)
       if (t->level2_size == t->level2_alloc)
        {
          size_t alloc = 2 * t->level2_alloc + 1;
-         t->level2 = (t->level2_alloc > 0
-                      ? (uint32_t *) xrealloc ((char *) t->level2,
-                                               (alloc << t->q) * sizeof (uint32_t))
-                      : (uint32_t *) xmalloc ((alloc << t->q) * sizeof (uint32_t)));
+         t->level2 = (uint32_t *) xrealloc ((char *) t->level2,
+                                            (alloc << t->q) * sizeof (uint32_t));
          t->level2_alloc = alloc;
        }
       i1 = t->level2_size << t->q;
@@ -151,10 +150,8 @@ CONCAT(TABLE,_add) (struct TABLE *t, uint32_t wc, ELEMENT value)
       if (t->level3_size == t->level3_alloc)
        {
          size_t alloc = 2 * t->level3_alloc + 1;
-         t->level3 = (t->level3_alloc > 0
-                      ? (ELEMENT *) xrealloc ((char *) t->level3,
-                                              (alloc << t->p) * sizeof (ELEMENT))
-                      : (ELEMENT *) xmalloc ((alloc << t->p) * sizeof (ELEMENT)));
+         t->level3 = (ELEMENT *) xrealloc ((char *) t->level3,
+                                           (alloc << t->p) * sizeof (ELEMENT));
          t->level3_alloc = alloc;
        }
       i1 = t->level3_size << t->p;
index 1d49b26..ef83dee 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 93, 96, 97, 98, 99 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 93, 96, 97, 98, 99, 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
@@ -23,7 +23,7 @@
 #include <bits/setjmp.h>
 #define ENV(base,reg) [%base + (reg * 4)]
 #define ST_FLUSH_WINDOWS 3
-#define RW_FP [%fp + 0x38]
+#define RW_FP [%fp + 0x48]
 
 ENTRY(__longjmp)
        /* Store our arguments in global registers so we can still