List of known bugs (certainly very incomplete)
----------------------------------------------
-Time-stamp: <1999-02-03T17:51:49-0800 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
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.
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]
-
-[ *] 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 and PR libc/454]
-
[ *] 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.
-[ *] The *scanf() functions currently do not handle %l[ and %ls parameters
- correctly since the parsing of the multi-byte characters does not
- yet use mbsrtowcs().
+[ *] 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).
+
+ 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.
-[ *] The strftime() implementation cannot handle multibyte locales really
- good since the TOLOWER and TOUPPER are not prepared.
+[ *] 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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ulrich Drepper