]>
Commit | Line | Data |
---|---|---|
0200214b RM |
1 | Open jobs for finishing GNU libc: |
2 | --------------------------------- | |
0413b54c | 3 | Status: August 1997 |
0200214b RM |
4 | |
5 | If you have time and talent to take over any of the jobs below please | |
6 | contact <bug-glibc@prep.ai.mit.edu> | |
7 | ||
8 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
9 | \f | |
10 | [ 1] Port to new platforms or test current version on formerly supported | |
11 | platforms. | |
12 | ||
9d187dd4 UD |
13 | **** See http://www.gnu.org/software/libc/porting.html for more details. |
14 | ||
0200214b RM |
15 | |
16 | [ 2] Test compliance with standards. If you have access to recent | |
17 | standards (IEEE, ISO, ANSI, X/Open, ...) and/or test suites you | |
18 | could do some checks as the goal is to be compliant with all | |
19 | standards if they do not contradict each other. | |
20 | ||
21 | ||
34b402e5 UD |
22 | [ 3] The IMHO opinion most important task is to write a more complete |
23 | test suite. We cannot get too many people working on this. It is | |
24 | not difficult to write a test, find a definition of the function | |
25 | which I normally can provide, if necessary, and start writing tests | |
26 | to test for compliance. Beside this, take a look at the sources | |
27 | and write tests which in total test as many paths of execution as | |
28 | possible. | |
29 | ||
30 | ||
31 | [ 4] Write translations for the GNU libc message for the so far | |
0200214b RM |
32 | unsupported languages. GNU libc is fully internationalized and |
33 | users can immediately benefit from this. | |
34 | ||
35 | Take a look at the matrix in | |
36 | ftp://prep.ai.mit.edu/pub/gnu/ABOUT-NLS | |
37 | for the current status (of course better use a mirror of prep). | |
38 | ||
39 | ||
34b402e5 | 40 | [ 6] Write `long double' versions of the math functions. This should be |
0200214b RM |
41 | done in collaboration with the NetBSD and FreeBSD people. |
42 | ||
43 | The libm is in fact fdlibm (not the same as in Linux libc). | |
44 | ||
a68b0d31 UD |
45 | **** Partly done. But we need someone with numerical experiences for |
46 | the rest. | |
78b5ba3e | 47 | |
0200214b | 48 | |
34b402e5 UD |
49 | [ 7] Several math functions have to be written: |
50 | ||
51 | - exp2 | |
34b402e5 | 52 | |
9d8067d8 | 53 | each with float, double, and long double arguments. |
34b402e5 UD |
54 | |
55 | Beside this most of the complex math functions which are new in | |
9d8067d8 UD |
56 | ISO C 9X should be improved. Writing some of them in assembler is |
57 | useful to exploit the parallelism which often is available. | |
34b402e5 UD |
58 | |
59 | ||
60 | [ 8] If you enjoy assembler programming (as I do --drepper :-) you might | |
0200214b RM |
61 | be interested in writing optimized versions for some functions. |
62 | Especially the string handling functions can be optimized a lot. | |
63 | ||
64 | Take a look at | |
65 | ||
66 | Faster String Functions | |
67 | Henry Spencer, University of Toronto | |
68 | Usenix Winter '92, pp. 419--428 | |
69 | ||
d41c6f61 UD |
70 | or just ask. Currently mostly i?86 and Alpha optimized versions |
71 | exist. Please ask before working on this to avoid duplicate | |
72 | work. | |
0200214b RM |
73 | |
74 | ||
993b3242 | 75 | [10] Extend regex and/or rx to work with wide characters and complete |
d41c6f61 UD |
76 | implementation of character class and collation class handling. |
77 | ||
78 | It is planed to do a complete rewrite. | |
0200214b RM |
79 | |
80 | ||
993b3242 | 81 | [11] Write access function for netmasks, bootparams, and automount |
26761c28 | 82 | databases for nss_files and nss_db module. |
78b5ba3e RM |
83 | The functions should be embedded in the nss scheme. This is not |
84 | hard and not all services must be supported at once. | |
d41c6f61 UD |
85 | |
86 | ||
993b3242 | 87 | [13] Several more or less small functions have to be written: |
9d187dd4 UD |
88 | |
89 | + tcgetid() and waitid() from XPG4.2 | |
90 | + grantpt(), ptsname(), unlockpt() from XPG4.2 | |
9d187dd4 | 91 | |
714a562f | 92 | More information is available on request. |
34b402e5 UD |
93 | |
94 | ||
993b3242 | 95 | [14] We need to write a library for on-the-fly transformation of streams |
34b402e5 UD |
96 | of text. In fact, this would be a recode-library (you know, GNU recode). |
97 | This is needed in several places in the GNU libc and I already have | |
98 | rather concrete plans but so far no possibility to start this. | |
26dee9c4 UD |
99 | |
100 | ||
101 | [15] Cleaning up the header files. Ideally, each header style should | |
102 | follow the "good examples". Each variable and function should have | |
103 | a short description of the function and its parameters. The prototypes | |
104 | should always contain variable names which can help to identify their | |
105 | meaning; better than | |
106 | ||
107 | int foo __P ((int, int, int, int)); | |
108 | ||
109 | Blargh! | |
0413b54c UD |
110 | |
111 | [16] Write an nss_hesiod module. The Hesiod daemon from the MIT Athena | |
112 | project should be available. The goal is to avoid the ugly NIS | |
113 | emulation interface and contacting the daemon directly. |