freebsd-skq/lib
Poul-Henning Kamp b384108ed6 /* You're not supposed to hit this problem */
For some denormalized long double values, a bug in __hldtoa() (called
from *printf()'s %A format) results in a base 16 digit being rounded
up from 0xf to 0x10.

When this digit is subsequently converted to string format, an index
of 10 reaches past the end of the uppper-case hex/char array, picking
up whatever the code segment happen to contain at that address.

This mostly seem to be some character from the upper half of the
byte range.

When using the %a format instead of %A, the first character past
the end of the lowercase hex/char table happens to be index 0 in
the uppercase hex/char table hextable and therefore the string
representation features a '0', which is supposedly correct.

This leads me to belive that the proper fix _may_ be as simple as
masking all but the lower four bits off after incrementing a hex-digit
in libc/gdtoa/_hdtoa.c:roundup().  I worry however that the upper
bit in 0x10 indicates a carry not carried.

Until das@ or bde@ finds time to visit this issue, extend the
hexdigit arrays with a 17th index containing '?' so that we get a
invalid but consistent and printable output in both %a and %A formats
whenever this bug strikes.

This unmasks the bug in the %a format therefore solving the real
issue may both become easier and more urgent.

Possibly related to:	PR 85080
With help by:		bde@
2005-12-13 13:23:27 +00:00
..
bind Finish the removal of threads support in ../config.mk,v 1.15. 2005-11-07 15:22:35 +00:00
csu Fixed profiling of main() for amd64 and i386. This started rotting 2005-10-07 22:13:17 +00:00
libalias Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libarchive Portability: Remove AC_CHECK_MALLOC from configure.ac.in. 2005-11-27 03:16:46 +00:00
libatm Enforce style.Makefile(5). 2005-04-22 18:57:32 +00:00
libautofs Fix all the spelling mistakes I could find in the man pages for words 2005-07-31 03:30:48 +00:00
libbegemot Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libbluetooth Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libbsnmp Catch up with the import of bsnmp-1.11. Add a couple of new 2005-10-04 15:02:07 +00:00
libbz2 Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libc /* You're not supposed to hit this problem */ 2005-12-13 13:23:27 +00:00
libc_r - Prefix MUTEX_TYPE_MAX with PTHREAD_ to avoid namespace pollution. 2005-08-19 21:31:42 +00:00
libcalendar
libcam Better memory handling: 2005-07-13 10:40:07 +00:00
libcom_err
libcompat Expand contractions. 2005-02-13 23:45:54 +00:00
libcrypt Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libdevinfo Add __BEGIN_DECLS/__END_DECLS so that this header can be included in C++ 2005-08-31 14:57:39 +00:00
libdevstat Remove an unused variable. 2005-10-04 22:00:35 +00:00
libdisk Fix prototypes. 2005-11-24 10:30:44 +00:00
libedit Merge NetBSD's revision 1.27. This bug can be observed eg. when browsing 2005-12-04 09:34:56 +00:00
libexpat Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libfetch Fix misspelling in Poul-Henning Kamp's email address under AUTHORS, from 2005-11-30 04:08:45 +00:00
libform Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
libftpio Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libgeom Fix prototype. 2005-11-24 10:43:35 +00:00
libgpib Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libio
libipsec Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libipx Various markup and spelling fixes. 2004-12-29 02:18:24 +00:00
libkiconv - Fix checking range of strings of struct iconv_add_in in libsmb and libkiconv, 2005-08-24 12:38:26 +00:00
libkse o Include <sys/time.h> 2005-11-19 04:47:06 +00:00
libkvm Fix a well duplicated fencepost error that stopped crashdumps being 2005-10-20 05:41:38 +00:00
libmagic Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
libmd -mdoc sweep. 2005-11-17 13:00:00 +00:00
libmemstat Tidy up markup and fix two bugs. 2005-11-21 17:18:34 +00:00
libmenu Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
libmilter
libmp Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
libncp Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
libncurses Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libnetgraph Recognize all current standard node types. 2005-10-25 20:58:30 +00:00
libngatm Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libopie Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libpam Commenting out WARNS actually brought it up to 4. 2005-09-28 14:36:16 +00:00
libpanel Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
libpcap bump SHLIB_MAJOR as libpcap refers getnetbyname(3). 2005-06-03 09:41:26 +00:00
libpmc Fix prototypes. 2005-11-24 10:54:47 +00:00
libpthread o Include <sys/time.h> 2005-11-19 04:47:06 +00:00
libradius Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
librpcsvc Fix the source path. 2005-06-04 10:48:21 +00:00
libsbuf
libsdp Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libsm Add a new source file in sendmail 8.13.4 2005-06-07 04:18:25 +00:00
libsmb Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
libsmdb
libsmutil
libstand Fix prototypes. 2005-11-24 11:14:06 +00:00
libtacplus Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libtelnet
libthr Remove unused _get_curthread() call. 2005-12-12 07:14:57 +00:00
libthread_db Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libufs minor style.Makefile(5) fixes: 2005-09-26 06:23:43 +00:00
libugidfw Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libusbhid Fix prototypes. 2005-11-24 11:26:36 +00:00
libutil Restore the previous state after a FILL operation in properties_read() 2005-11-28 16:30:16 +00:00
libvgl Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libwrap Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
liby Drop useless with NO_PIC SHLIB_MAJOR. 2005-07-20 14:35:26 +00:00
libypclnt Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00
libz Correct a buffer overflow which can occur when decompressing a 2005-07-27 08:41:17 +00:00
msun Added comments about the magic behind 2005-12-11 19:51:30 +00:00
ncurses Add missing shared library interdependencies. 2005-11-10 18:07:07 +00:00
Makefile Disconnect libc_r from buildworld, it is still kept in the tree to 2005-10-27 03:09:20 +00:00
Makefile.inc Bump the shared library version number of all libraries that have not 2005-07-22 17:19:05 +00:00