* sysdeps/unix/readdir.c: Make sure we don't modify errno when we reached EOF.
[glibc.git] / BUGS
blob85fd19d81d1728056320c3deff91c62021c69d61
1             List of known bugs (certainly very incomplete)
2             ----------------------------------------------
4 Time-stamp: <2000-11-08T09:14:07 drepper>
6 This following list contains those bugs which I'm aware of.  Please
7 make sure that bugs you report are not listed here.  If you can fix one
8 of these bugs/limitations I'll certainly be glad to receive a patch.
10 Another source of information about bugs is the problem data base of the
11 GNU project.  There is an easy to use WWW interface available at
13        http://www-gnats.gnu.org:8080/cgi-bin/wwwgnats.pl
15 I would appreciate it very much if you could verify the problem was not
16 reported before by looking through the database.  To make the information
17 in this database as useful as possible please report bugs always using the
18 `glibcbug' shell script which gets installed with GNU libc.  Before reporting
19 a bug please check the FAQ since it discusses also a lot of problematic
20 situations.
23 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25 Severity: [  *] to [***]
27 [ **]  Closing shared objects in statically linked binaries most of the
28        times leads to crashes during the dlopen().  Hard to fix.
30 [ **]  There are problems with signal handling when using LinuxThreads.
32 [ **]  The RPC code is not 64 bit clean.  This is getting slowly fixed
33        but expect incompatible changes on 64 bit platforms like Alpha.
35 [  *]  The precision of the `sinhl' and/or `asinhl' function do not seem
36        to be the best.
38 [  *]  On Linux, there should be a way to prevent defining the symbol
39        NGROUPS_MAX in the <linux/limits.h> header file.  In glibc it
40        is defined in <posix1_lim.h> which must not make the other
41        symbols in <linux/limits.h> available.
42        [PR libc/140]
44 [  *]  The libm-ieee `gamma' function gives wrong results (at least for
45        -0.5).
47 [  *]  The libm-ieee `scalb' function gives wrong results for
48        non-integral second parameters.
50 [  *]  Collation symbol and equivalence class handling in regex are not
51        yet 100% correct.
52        - [. .] at end of a range does not work
53        - [. .] and [= =] do not handle collating symbols (where a symbol
54          stands for multiple character) and multibyte character in
55          general not correctly.
57        This is *extremely* hard to fix since regex has to be rewritten
58        completely.
60 [  *]  The regex implementation has various other problems, like limitations
61        of the expression size etc. [PR libc/1570, PR libc/1777]
63        None of these can be fixed without a rewrite.
65 [  *]  Several (most?) collation specifications are broken.  The code which
66        is currently there is in most cases inherited from the originial
67        author (in case there is a LC_COLLATE specification in the locale
68        file) or is defined using the default (if iso14651_t1 is included).
70        In any case we are missing information to correct the specification.
71        If you find the specification for your language be faulty please
72        send a report with instruction on what to fix.  You don't have to
73        fix the specification yourself.
75        The way it finally should look like (if the generic specification
76        is not correct) can be seen in the sv_SE file.  Quite a few changes
77        on top of the generic specification can be made without duplication
78        of the whole LC_COLLATE description.
80 [  *]  Some of the functions which also handled IPv6 are currently broken.
81        This includes getaddrinfo() and getnameinfo().  IPv4 handling of
82        these functions is OK though and there are patches available to fix
83        the IPv6 code as well.
85 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
86 Ulrich Drepper
87 drepper@cygnus.com