djldv202.zip -- long double printf fixes for DJGPP v2.02. This archive contains C source and object files to improve floating point printf and scanf accuracy of D. J. Delorie's DJGPP C library (version 2.02). With this change, the I/O accuracy passes tests for compliance with IEEE 754 and 854 standards. djgpp/src/libc/ansi/stdlib/strtod.c djgpp/src/libc/ansi/stdio/doprnt.c djgpp/src/libc/ansi/stdio/ioldoubl.c strtod.c was fixed in DJGPP version 2.01 but is broken again in version 2.02 beta (denormal doubles get flushed to zero). ioldoubl.c is an extra-precision software floating point arithmetic that includes binary <-> decimal conversion. It adds about 15K bytes to the size of the library and a comparable amount to the size of executable programs. doprnt.c is modified to call the conversion routine in iodoubl.c for long double `Le' printf format. It does not (yet) do so for `Lf', though a function supporting that format is included. To install the change, delete doprnt.o and strtod.o from libc.a and add the three .o files to libc.a. The following commands will do that: copy libc.a libc.a00 (make a backup!) ar dv libc.a strtod.o ar dv libc.a doprnt.o ar rv libc.a doprnt.o ioldoubl.o strtod.o ranlib libc.a Steve Moshier (moshier@na-net.ornl.gov) October, 1998