Update.
[platform/upstream/glibc.git] / BUGS
diff --git a/BUGS b/BUGS
index 701acf0..9bbae22 100644 (file)
--- a/BUGS
+++ b/BUGS
@@ -1,7 +1,7 @@
            List of known bugs (certainly very incomplete)
            ----------------------------------------------
 
-Time-stamp: <1997-10-31T16:49:39+0100 drepper>
+Time-stamp: <2001-06-15T21:21:36 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
@@ -15,54 +15,81 @@ GNU project.  There is an easy to use WWW interface available at
 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.
+`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 libm-ieee `log2' function seems to be very inaccurate.
+[ **]  The RPC code is not 64 bit clean.  This is getting slowly fixed
+       but expect incompatible changes on 64 bit platforms like Alpha.
 
-[  *]  The libm-ieee `remquo' function rounds 3.0/2.0 incorrectly.
+[ **]  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.
 
-[  *]  The syslog function should print to the console if the LOG_CONS
-       flag was given.
-       [PR libc/72]
-
 [  *]  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 localedef program should not generate errors if for categories
-       which are not used for the output there are characters referenced
-       which are not defined in the charmap.
-       [PR libc/229]
+[  *]  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.
+
+[  *]  Collation symbol and equivalence class handling in regex are not
+       yet 100% correct.
+       - [. .] at end of a range does not work
+       - [. .] and [= =] do not handle collating symbols (where a symbol
+         stands for multiple character) and multibyte character in
+         general not correctly.
+
+       This is *extremely* hard to fix since regex has to be rewritten
+       completely.
+
+[  *]  The regex implementation has various other problems, like limitations
+       of the expression size etc. [PR libc/1570, PR libc/1777]
+
+       None of these can be fixed without a rewrite.
+
+[  *]  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).
 
-[  *]  The rcmd() functions (more concrete: the handling of .rhosts) does
-       not support netgroups and wildcards (+).
+       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 first alias definition in locale.alias is ignored.
-       [PR libc/205]
+       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.
 
-[  *]  When assembling a locale definition, that uses the "copy"
-       directive, with localedef, not only the copied category is
-       checked for errors, but the whole file containing the same
-       category.
-       [PR libc/207]
+[  *]  Some of the functions which also handled IPv6 are currently broken.
+       This includes getaddrinfo() and getnameinfo().  IPv4 handling of
+       these functions is OK though and there are patches available to fix
+       the IPv6 code as well.
 
-[  *]  configuring with CFLAGS="-pipe" configure doesn't work
-       with gcc. This seems to be a bug in gcc 2.7.2.x (egcs doesn't
-       have this bug).
-       [PR libc/245]
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 Ulrich Drepper
 drepper@cygnus.com