diff options
author | Ulrich Drepper <drepper@redhat.com> | 2000-01-04 17:51:12 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2000-01-04 17:51:12 +0000 |
commit | cbc85992cd683cbadbf2ed2011cad1ee04aa42b5 (patch) | |
tree | 9a09d928fbaa199a801ae58cc0063c89bd0af0ef /soft-fp | |
parent | 52354636d3ba63e3467c9062f6ddbaf5138f0229 (diff) | |
download | glibc-cbc85992cd683cbadbf2ed2011cad1ee04aa42b5.tar.gz glibc-cbc85992cd683cbadbf2ed2011cad1ee04aa42b5.tar.xz glibc-cbc85992cd683cbadbf2ed2011cad1ee04aa42b5.zip |
Update.
2000-01-04 Andreas Jaeger <aj@suse.de> * nss/nss_db/dummy-db.h (struct db24): Add missing field flags. (struct db27): Add missing fields byteswapped, join and flags; remove wrong member handleq. (struct dbc27): Correct lock field. * nss/makedb.c: Remove __P. 2000-01-04 Andreas Jaeger <aj@suse.de> * nss/nss_db/db-open.c (internal_setent): Check for db_open for success, fix a memory leak and clean up function. 2000-01-04 Ulrich Drepper <drepper@cygnus.com> * Makefile (install): Pass $(install_root) to ldconfig. Patch by Akira YOSHIYAMA <yosshy@tkf.att.ne.jp>. 2000-01-03 Jakub Jelinek <jakub@redhat.com> * soft-fp/op-1.h: Fix division for machines using not normalizing version of udiv_qrnnd in longlong.h. * soft-fp/sysdeps/mips/sfp-machine.h: Likewise. * soft-fp/sysdeps/mips/mips64/sfp-machine.h: Likewise. * soft-fp/sysdeps/sparc/sparc64/sfp-machine.h: Likewise. Patch by Eddie C. Dost <ecd@skynet.be>. * soft-fp/soft-fp.h (QItype, UQItype): New types used by longlong.h. 2000-01-03 Andreas Schwab <schwab@suse.de> * sysdeps/generic/dl-sysdep.c: Initialize __libc_multiple_libcs, needed for change in common symbol handing in newer binutils.
Diffstat (limited to 'soft-fp')
-rw-r--r-- | soft-fp/op-1.h | 12 | ||||
-rw-r--r-- | soft-fp/soft-fp.h | 2 | ||||
-rw-r--r-- | soft-fp/sysdeps/mips/mips64/sfp-machine.h | 2 | ||||
-rw-r--r-- | soft-fp/sysdeps/mips/sfp-machine.h | 2 | ||||
-rw-r--r-- | soft-fp/sysdeps/sparc/sparc64/sfp-machine.h | 2 |
5 files changed, 11 insertions, 9 deletions
diff --git a/soft-fp/op-1.h b/soft-fp/op-1.h index 48bf4ce7e2..53e0fce1b1 100644 --- a/soft-fp/op-1.h +++ b/soft-fp/op-1.h @@ -199,25 +199,25 @@ #define _FP_DIV_MEAT_1_udiv_norm(fs, R, X, Y) \ do { \ - _FP_W_TYPE _nh, _nl, _q, _r; \ + _FP_W_TYPE _nh, _nl, _q, _r, _y; \ \ /* Normalize Y -- i.e. make the most significant bit set. */ \ - Y##_f <<= _FP_WFRACXBITS_##fs - 1; \ + _y = Y##_f << _FP_WFRACXBITS_##fs; \ \ /* Shift X op correspondingly high, that is, up one full word. */ \ - if (X##_f <= Y##_f) \ + if (X##_f < Y##_f) \ { \ + R##_e--; \ _nl = 0; \ _nh = X##_f; \ } \ else \ { \ - R##_e++; \ - _nl = X##_f << (_FP_W_TYPE_SIZE-1); \ + _nl = X##_f << (_FP_W_TYPE_SIZE - 1); \ _nh = X##_f >> 1; \ } \ \ - udiv_qrnnd(_q, _r, _nh, _nl, Y##_f); \ + udiv_qrnnd(_q, _r, _nh, _nl, _y); \ R##_f = _q | (_r != 0); \ } while (0) diff --git a/soft-fp/soft-fp.h b/soft-fp/soft-fp.h index 3c5072e516..26798ecf25 100644 --- a/soft-fp/soft-fp.h +++ b/soft-fp/soft-fp.h @@ -159,8 +159,10 @@ do { \ #define UWtype _FP_W_TYPE #define W_TYPE_SIZE _FP_W_TYPE_SIZE +typedef int QItype __attribute__((mode(QI))); typedef int SItype __attribute__((mode(SI))); typedef int DItype __attribute__((mode(DI))); +typedef unsigned int UQItype __attribute__((mode(QI))); typedef unsigned int USItype __attribute__((mode(SI))); typedef unsigned int UDItype __attribute__((mode(DI))); #if _FP_W_TYPE_SIZE == 32 diff --git a/soft-fp/sysdeps/mips/mips64/sfp-machine.h b/soft-fp/sysdeps/mips/mips64/sfp-machine.h index 3f9d3abb8c..730deae872 100644 --- a/soft-fp/sysdeps/mips/mips64/sfp-machine.h +++ b/soft-fp/sysdeps/mips/mips64/sfp-machine.h @@ -11,7 +11,7 @@ _FP_MUL_MEAT_2_wide_3mul(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) #define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm) -#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv(D,R,X,Y) +#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y) #define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y) #define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1) diff --git a/soft-fp/sysdeps/mips/sfp-machine.h b/soft-fp/sysdeps/mips/sfp-machine.h index 575225a69b..3b2a40f0e2 100644 --- a/soft-fp/sysdeps/mips/sfp-machine.h +++ b/soft-fp/sysdeps/mips/sfp-machine.h @@ -10,7 +10,7 @@ #define _FP_MUL_MEAT_Q(R,X,Y) \ _FP_MUL_MEAT_4_wide(_FP_WFRACBITS_Q,R,X,Y,umul_ppmm) -#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_udiv(S,R,X,Y) +#define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(S,R,X,Y) #define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_2_udiv(D,R,X,Y) #define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_4_udiv(Q,R,X,Y) diff --git a/soft-fp/sysdeps/sparc/sparc64/sfp-machine.h b/soft-fp/sysdeps/sparc/sparc64/sfp-machine.h index 0d82c60a30..4703dd070e 100644 --- a/soft-fp/sysdeps/sparc/sparc64/sfp-machine.h +++ b/soft-fp/sysdeps/sparc/sparc64/sfp-machine.h @@ -49,7 +49,7 @@ do { \ _FP_MUL_MEAT_RESET_FE) #define _FP_DIV_MEAT_S(R,X,Y) _FP_DIV_MEAT_1_imm(S,R,X,Y,_FP_DIV_HELP_imm) -#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv(D,R,X,Y) +#define _FP_DIV_MEAT_D(R,X,Y) _FP_DIV_MEAT_1_udiv_norm(D,R,X,Y) #define _FP_DIV_MEAT_Q(R,X,Y) _FP_DIV_MEAT_2_udiv(Q,R,X,Y) #define _FP_NANFRAC_S ((_FP_QNANBIT_S << 1) - 1) |