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.
This commit is contained in:
Ulrich Drepper 2000-09-11 07:01:16 +00:00
parent 6fb7c68eb5
commit ab52d206a3
3 changed files with 22 additions and 14 deletions

View File

@ -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,

View 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;

View 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