	    List of known bugs (certainly very incomplete)
	    ----------------------------------------------

Time-stamp: <02/09/30 13:49:48 drepper>

This following list contains those bugs which I'm aware of.  Please
make sure that bugs you report are not listed here.  If you can fix one
of these bugs/limitations I'll certainly be glad to receive a patch.

Another source of information about bugs is the problem data base of the
GNU project.  There is an easy to use WWW interface available at

       http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl

I would appreciate it very much if you could verify the problem was not
reported before by looking through the database.  To make the information
in this database as useful as possible please report bugs always using the
`glibcbug' shell script which gets installed with GNU libc.  Before reporting
a bug please check the FAQ since it discusses also a lot of problematic
situations.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Severity: [  *] to [***]

[ **]  Closing shared objects in statically linked binaries most of the
       times leads to crashes during the dlopen().  Hard to fix.

[ **]  There are problems with signal handling when using LinuxThreads.

[ **]  The RPC code is not 64 bit clean.  This is getting slowly fixed
       but expect incompatible changes on 64 bit platforms like Alpha.

[ **]  If a DSO is using implicitly libpthread and the application itself
       does not there is a name lookup problem.  E.g., the function fork()
       will be found in the libc.so instead of libpthread since the thread
       library is behind the libc.  To correct this problem it must *not*
       be relied on the currently still enabled handling of weak symbols
       in the dynamic linker.  Instead explicit tests for the availability
       of the libpthread version are needed.  [PR libc/2325]

[  *]  The precision of the `sinhl' and/or `asinhl' function do not seem
       to be the best.

[  *]  On Linux, there should be a way to prevent defining the symbol
       NGROUPS_MAX in the <linux/limits.h> header file.  In glibc it
       is defined in <posix1_lim.h> which must not make the other
       symbols in <linux/limits.h> available.
       [PR libc/140]

[  *]  The libm-ieee `gamma' function gives wrong results (at least for
       -0.5).

[  *]  The libm-ieee `scalb' function gives wrong results for
       non-integral second parameters.

[  *]  Several (most?) collation specifications are broken.  The code which
       is currently there is in most cases inherited from the originial
       author (in case there is a LC_COLLATE specification in the locale
       file) or is defined using the default (if iso14651_t1 is included).

       In any case we are missing information to correct the specification.
       If you find the specification for your language be faulty please
       send a report with instruction on what to fix.  You don't have to
       fix the specification yourself.

       The way it finally should look like (if the generic specification
       is not correct) can be seen in the sv_SE file.  Quite a few changes
       on top of the generic specification can be made without duplication
       of the whole LC_COLLATE description.

[  *]  Some of the functions which also handled IPv6 are currently broken.
       IPv6 and IPv4 lookups occasionally happen when not needed.  This
       happens in getaddrinfo() and getnameinfo().  IPv4 handling of
       these functions is OK though and there are patches available to fix
       the IPv6 code as well.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ulrich Drepper
drepper@redhat.com
