1998-09-25  Ulrich Drepper  <drepper@cygnus.com>

	* math/Makefile (gmp-objs): Add mp_clz_tab.

1998-09-25  David S. Miller  <davem@pierdol.cobaltmicro.com>

	* sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear bits don't
	set them.
	* stdlib/longlong.h (sparc udiv_qrnnd): Define inline version for
	cpus lacking hardware multiply and divide.

1998-09-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* db/Makefile ($(inst_slibdir)/libdb.so$(libdb1.so-version)): Use
	$(<F), not $(^F).

1998-09-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* db/btree/bt_delete.c: Fix -Wparentheses warning.

1998-09-24  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile ($(inst_includedir)/gnu/lib-names.h): Use
	$(do-install).

	* time/strftime.c (f_wkday): Remove duplicate definition.
	* time/strftime.c (my_strftime): Don't store past the end of a
This commit is contained in:
Ulrich Drepper 1998-09-25 21:55:47 +00:00
parent e503270ca5
commit 390a4882ff
7 changed files with 71 additions and 22 deletions

View file

@ -1,10 +1,35 @@
1998-09-25 Ulrich Drepper <drepper@cygnus.com>
* math/Makefile (gmp-objs): Add mp_clz_tab.
1998-09-25 David S. Miller <davem@pierdol.cobaltmicro.com>
* sysdeps/sparc/fpu/feholdexcpt.c (feholdexcept): Clear bits don't
set them.
* stdlib/longlong.h (sparc udiv_qrnnd): Define inline version for
cpus lacking hardware multiply and divide.
1998-09-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* db/Makefile ($(inst_slibdir)/libdb.so$(libdb1.so-version)): Use
$(<F), not $(^F).
1998-09-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* db/btree/bt_delete.c: Fix -Wparentheses warning.
1998-09-24 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* Makefile ($(inst_includedir)/gnu/lib-names.h): Use
$(do-install).
1998-09-24 Ulrich Drepper <drepper@cygnus.com>
* debug/catchsegv.sh: Also produce output if cloned process died.
1998-09-24 Paul Eggert <eggert@twinsun.com>
* strftime.c (f_wkday): Remove duplicate definition.
* time/strftime.c (f_wkday): Remove duplicate definition.
(f_wkday, f_month, a_wkday, a_month, ampm): Define as macros when
!defined _NL_CURRENT && !HAVE_STRFTIME; this propagates the
1998-09-11 fix to this case.
@ -12,7 +37,7 @@
1998-09-24 Paul Eggert <eggert@twinsun.com>
* strftime.c (my_strftime): Don't store past the end of a
* time/strftime.c (my_strftime): Don't store past the end of a
zero-sized buffer.
1998-09-24 Paul Eggert <eggert@twinsun.com>

View file

@ -153,10 +153,7 @@ $(inst_includedir)/gnu/stubs.h: subdir_install
ifeq (yes,$(build-shared))
$(inst_includedir)/gnu/lib-names.h: $(common-objpfx)gnu/lib-names.h $(+force)
$(make-target-directory)
if test -r $@ && cmp -s $< $@; \
then echo 'gnu/lib-names.h unchanged'; \
else $(INSTALL_DATA) $< $@; fi
$(do-install)
endif
# The `glibcbug' script contains the version number and it shall be rebuild

View file

@ -34,7 +34,7 @@ install-others := $(inst_slibdir)/libdb.so$(libdb1.so-version) \
$(inst_slibdir)/libdb.so$(libdb1.so-version): $(inst_slibdir)/libdb1-$(version).so $(+force)
rm -f $@
$(LN_S) $(^F) $@
$(LN_S) $(<F) $@
$(db1-headers:%=$(inst_includedir)/db1/%): $(inst_includedir)/db1/%: % $(+force)
$(do-install)

View file

@ -154,7 +154,7 @@ __bt_stkacq(t, hp, c)
pgno_t pgno;
recno_t nextpg, prevpg;
int exact, level;
/*
* Find the first occurrence of the key in the tree. Toss the
* currently locked page so we don't hit an already-locked page.
@ -270,7 +270,7 @@ __bt_stkacq(t, hp, c)
if ((h = mpool_get(t->bt_mp, prevpg, 0)) == NULL)
return (1);
}
ret: mpool_put(t->bt_mp, h, 0);
return ((*hp = mpool_get(t->bt_mp, c->pg.pgno, 0)) == NULL);
@ -402,7 +402,7 @@ __bt_pdelete(t, h)
/* Get the parent page. */
if ((pg = mpool_get(t->bt_mp, parent->pgno, 0)) == NULL)
return (RET_ERROR);
index = parent->index;
bi = GETBINTERNAL(pg, index);
@ -418,7 +418,7 @@ __bt_pdelete(t, h)
* root page. If it's the rootpage, turn it back into an empty
* leaf page.
*/
if (NEXTINDEX(pg) == 1)
if (NEXTINDEX(pg) == 1) {
if (pg->pgno == P_ROOT) {
pg->lower = BTDATAOFF;
pg->upper = t->bt_psize;
@ -428,7 +428,7 @@ __bt_pdelete(t, h)
return (RET_ERROR);
continue;
}
else {
} else {
/* Pack remaining key items at the end of the page. */
nksize = NBINTERNAL(bi->ksize);
from = (char *)pg + pg->upper;
@ -571,7 +571,7 @@ __bt_curdel(t, key, h, index)
key = &c->key;
}
/* Check previous key, if not at the beginning of the page. */
if (index > 0) {
if (index > 0) {
e.page = h;
e.index = index - 1;
if (__bt_cmp(t, key, &e) == 0) {

View file

@ -156,7 +156,7 @@ o = .os
endif
gmp-objs = $(patsubst %,$(common-objpfx)stdlib/%$o,\
add_n sub_n cmp addmul_1 mul_1 mul_n divmod_1 \
lshift rshift)
lshift rshift mp_clz_tab)
$(objpfx)atest-exp: $(gmp-objs)
$(objpfx)atest-sincos: $(gmp-objs)
$(objpfx)atest-exp2: $(gmp-objs)

View file

@ -1,5 +1,5 @@
/* longlong.h -- definitions for mixed size 32/64 bit arithmetic.
Copyright (C) 1991, 92, 93, 94, 96, 97 Free Software Foundation, Inc.
Copyright (C) 1991, 92, 93, 94, 96, 97, 98 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
@ -1135,12 +1135,39 @@ extern USItype __udiv_qrnnd ();
#define UMUL_TIME 39 /* 39 instructions */
#endif
#ifndef udiv_qrnnd
#ifndef LONGLONG_STANDALONE
/* It's quite necessary to add this much assembler for the sparc.
The default udiv_qrnnd (in C) is more than 10 times slower! */
#define udiv_qrnnd(q, r, n1, n0, d) \
do { USItype __r; \
(q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
(r) = __r; \
} while (0)
__asm__ ("! Inlined udiv_qrnnd
mov 32,%%g1
subcc %1,%2,%%g0
1: bcs 5f
addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb
sub %1,%2,%1 ! this kills msb of n
addx %1,%1,%1 ! so this can't give carry
subcc %%g1,1,%%g1
2: bne 1b
subcc %1,%2,%%g0
bcs 3f
addxcc %0,%0,%0 ! shift n1n0 and a q-bit in lsb
b 3f
sub %1,%2,%1 ! this kills msb of n
4: sub %1,%2,%1
5: addxcc %1,%1,%1
bcc 2b
subcc %%g1,1,%%g1
! Got carry from n. Subtract next step to cancel this carry.
bne 4b
addcc %0,%0,%0 ! shift n1n0 and a 0-bit in lsb
sub %1,%2,%1
3: xnor %0,0,%0
! End of inline udiv_qrnnd" \
: "=&r" ((USItype)(q)), \
"=&r" ((USItype)(r)) \
: "r" ((USItype)(d)), \
"1" ((USItype)(n1)), \
"0" ((USItype)(n0)) : "%g1" __AND_CLOBBER_CC)
#define UDIV_TIME (3+7*32) /* 7 instructions/iteration. 32 iterations. */
extern USItype __udiv_qrnnd __P ((USItype *, USItype, USItype, USItype));
#define UDIV_TIME 140
#endif /* LONGLONG_STANDALONE */

View file

@ -1,5 +1,5 @@
/* Store current floating-point environment and clear exceptions.
Copyright (C) 1997 Free Software Foundation, Inc.
Copyright (C) 1997, 1998 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
@ -27,7 +27,7 @@ feholdexcept (fenv_t *envp)
__fenv_stfsr (*envp);
/* Set all exceptions to non-stop. */
tmp = *envp | (0x1f << 23);
tmp = *envp & ~(0x1f << 23);
__fenv_ldfsr (tmp);