* config/atof-ieee.c (gen_to_words): When adding carry back in,

don't permit lp to become less than the words array.
This commit is contained in:
Ian Lance Taylor 2000-05-03 21:23:52 +00:00
parent d41707c868
commit 44877466ff
2 changed files with 9 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2000-05-03 Ian Lance Taylor <ian@zembu.com>
* config/atof-ieee.c (gen_to_words): When adding carry back in,
don't permit lp to become less than the words array.
2000-05-03 Rodney Brown <RodneyBrown@pmsc.com> 2000-05-03 Rodney Brown <RodneyBrown@pmsc.com>
config/tc-mcore.c (md_apply_fix3): BFD_RELOC_MCORE_PCREL_IMM11BY2 config/tc-mcore.c (md_apply_fix3): BFD_RELOC_MCORE_PCREL_IMM11BY2

View File

@ -1,5 +1,5 @@
/* atof_ieee.c - turn a Flonum into an IEEE floating point number /* atof_ieee.c - turn a Flonum into an IEEE floating point number
Copyright (C) 1987, 92, 93, 94, 95, 96, 97, 98, 1999 Copyright (C) 1987, 92, 93, 94, 95, 96, 97, 98, 99, 2000
Free Software Foundation, Inc. Free Software Foundation, Inc.
This file is part of GAS, the GNU Assembler. This file is part of GAS, the GNU Assembler.
@ -624,11 +624,13 @@ gen_to_words (words, precision, exponent_bits)
don't get a sticky sign bit after shifting right, and that don't get a sticky sign bit after shifting right, and that
permits us to propagate the carry without any masking of bits. permits us to propagate the carry without any masking of bits.
#endif */ #endif */
for (carry = 1, lp--; carry && (lp >= words); lp--) for (carry = 1, lp--; carry; lp--)
{ {
carry = *lp + carry; carry = *lp + carry;
*lp = carry; *lp = carry;
carry >>= LITTLENUM_NUMBER_OF_BITS; carry >>= LITTLENUM_NUMBER_OF_BITS;
if (lp == words)
break;
} }
if (precision == X_PRECISION && exponent_bits == 15) if (precision == X_PRECISION && exponent_bits == 15)
{ {