]>
Commit | Line | Data |
---|---|---|
df9eee16 | 1 | TODO list for every uClibc release: |
f6b6b3b7 | 2 | ------------------------------------------------- |
b8f5be70 EA |
3 | *) Test cris, i386, mips, mipsel, sh, x86_64, arm, armeb, and powerpc |
4 | with the latest LTP testsuite. Fix any regressions and post LTP | |
5 | testsuite results for each architecture on uclibc.org. | |
0f05d699 EA |
6 | *) Audit header files. Remove prototypes for all functions that |
7 | are not supported -- especially needed for the libm headers. | |
8 | *) Audit header files. When options are disabled, also disable | |
9 | them in the include files as well by checking for the proper | |
10 | define from include/bits/uClibc_config.h (pulled in from features.h) | |
b8f5be70 EA |
11 | |
12 | ||
13 | ||
14 | General release feature sets: | |
15 | ------------------------------------------------- | |
16 | .29 will be mostly as-is | |
17 | .30 will be the NPTL merge | |
18 | .31 for the no-kernel-headers fix, etc, etc. | |
19 | ||
df9eee16 MF |
20 | |
21 | ||
22 | TODO list for the uClibc 0.9.29 release: | |
23 | ------------------------------------------------- | |
b8f5be70 EA |
24 | *) as many of the arch-specific issues as possible |
25 | *) Remove N instances of libc_hidden_proto() from uClibc internals. | |
26 | Instead add internal only header(s) defining all hidden prototypes. | |
27 | This will avoid clutter and guarantee prototype consistancy. | |
28 | *) The __is*_l() functions were all removed, such that we now only export | |
29 | the is*_l() functions (no prefix). Before, we had the prefixed versions | |
30 | for use by libstdc++ and weak versions without prefixes exported because | |
31 | those functions belong to no std (unless you call glibc a std). This should | |
32 | be fixed. Similar problems likely were created elsewhere. | |
df9eee16 MF |
33 | *) misc stdio bugs: |
34 | http://bugs.uclibc.org/view.php?id=420 | |
35 | http://bugs.uclibc.org/view.php?id=539 | |
36 | *) bug in getopt handling: | |
37 | http://bugs.uclibc.org/view.php?id=61 | |
38 | http://www.uclibc.org/lists/uclibc/2006-January/013851.html | |
f4ddfdf2 MF |
39 | *) Should integrate test subdir better ... need to propagate CPU |
40 | CFLAGS/LDFLAGS to the build/link for target binaries so that when we have | |
41 | a multilib toolchain, the proper ABI is selected. | |
f6b6b3b7 EA |
42 | |
43 | ||
7b28e09c | 44 | TODO list for the uClibc 1.0.0 release: |
9b906508 | 45 | ------------------------------------------------- |
0ed1f493 | 46 | *) glob / fnmatch tests fail |
18ff6555 | 47 | *) regex should pass AT&T conformance tests |
550aa275 MF |
48 | *) Finish hiding uClibc internal symbols from our exported namespace |
49 | *) Add system for generating minimal system call asm wrappers that abuse | |
50 | the C ABI to minimize amount of register/stack manipulation | |
df2b6469 EA |
51 | *) Explicity add some sortof CONFIG_LINUX_2_2_ABI, CONFIG_LINUX_2_4_ABI |
52 | and CONFIG_LINUX_2_6_ABI type options, rather than having the abi | |
53 | depend on the selected set of kernel headers. This will likely also | |
54 | require that we provide a set of kernel headers (probably a derivitive | |
55 | of Mazur's linux-libc-headers) that can supplies the 2.2, 2.4, and 2.6 | |
56 | kernel abi. | |
9b906508 EA |
57 | *) Documentation updates: |
58 | *) Write a uClibc HOWTO document | |
59 | *) Update README document | |
60 | *) Update INSTALL document | |
61 | *) Update docs/Glibc_vs_uClibc_Differences.txt document | |
62 | and fully document all differences between the feature | |
63 | set of uClibc and glibc. | |
64 | *) Update docs/uClibc_vs_SuSv3.txt document | |
65 | *) Update docs/threads.txt document | |
66 | *) Write man pages for ldd and ldconfig utility binaries | |
0f05d699 EA |
67 | *) Implement some mechanism (perhaps encoded in the .so name, |
68 | perhaps using an abi tag magically embedded into each object) | |
69 | for flagging config options that break the ABI. Options | |
70 | such as UCLIBC_HAS_SOFT_FLOAT, UCLIBC_HAS_THREADS, UCLIBC_HAS_LOCALE, | |
71 | and perhaps others (finalize list) produce a lib with a differing | |
72 | ABI. Make it so apps cannot use an ABI mis-matched uClibc. | |
73 | This is most easily done using symbol versioning... | |
9decb47d | 74 | *) Implement the long double versions of math funcs |
7b28e09c | 75 | using wrappers on top of the double versions (size / precision |
9b906508 | 76 | trade off where size clearly wins). |
db286376 | 77 | *) Make all small objects (>~50 bytes) into either inlines or |
520204ff | 78 | into a static library |
7b28e09c EA |
79 | *) Cleanup / rewrite sysconf.c. It should get some information |
80 | from ldso (such as HZ). Other stuff it currently just makes | |
81 | up, which is obviously wrong. Also bits/uClibc_clk_tck.h | |
82 | needs to be updated at the same time to get proper HZ values. | |
9b906508 EA |
83 | *) poll emulation using select() for old 2.0.x uClinux kernels |
84 | in libc/sysdeps/linux/common/poll.c fails some python self-tests. | |
85 | Of course, modern systems using the actuall poll() syscall work fine. | |
af897c39 | 86 | *) Cleanup/scrub all the Makefile copyright junk |
0f05d699 EA |
87 | *) Fix dlopen, for both static and dynamic cases, and make it |
88 | fully comply with SuSv3 | |
9b906508 EA |
89 | |
90 | ||
91 | TODO list for AFTER the uClibc 1.0.0 release: | |
92 | ------------------------------------------------- | |
a01454bb MF |
93 | *) Add support for 64bit time (to deal withhttp://2038bug.com/): |
94 | date -s 011903142038 sets epoch to roll over in a few seconds (2^31) | |
9b906508 EA |
95 | *) Add support for Linux 2.6.x fast vsyscalls |
96 | *) Enable pristine source tree builds | |
97 | *) Fix regex so it isn't so stinking big | |
98 | *) Fix glob so it isn't so stinking big | |
99 | *) run 'nm -D --size-sort -t d libuClibc-0.9.26.so' and work on the | |
100 | biggest things (i.e. stuff at the end of the list) to make | |
101 | them smaller. | |
102 | <more wishlist items here> | |
103 | ||
be6ad2b2 | 104 | |
128d0c53 MF |
105 | Arch specific TODO: |
106 | ------------------------------------------------- | |
107 | alpha: | |
7d3c3aab | 108 | ldso is not implemented |
27bdbb5a MF |
109 | arm: |
110 | update crt1 code again for nommu (http://bugs.uclibc.org/view.php?id=538) | |
111 | recruit jbowler and integrate thumb support | |
50753417 PM |
112 | frv: |
113 | needs to be updated for the new ldso changes and unification of the | |
114 | uClibc_main funcs (__uClibc_start_main doesnt exist anymore) | |
df9eee16 MF |
115 | hppa: |
116 | errno.c test segfaults causes segfault in clone.S (seems to be in glibc too) | |
550aa275 MF |
117 | i386: |
118 | add support for fast system calls | |
df9eee16 MF |
119 | ia64: |
120 | ldso is not implemented | |
128d0c53 | 121 | m68k: |
6d23df61 | 122 | ldso lazy relocation doesnt work |
50753417 PM |
123 | sh64: |
124 | ldso is reasonably broken, presently requiring additional | |
125 | coaxing/threatening. | |
128d0c53 MF |
126 | sparc: |
127 | need a sigaction.c since common one doesnt work (signal tests) | |
128 | ldso needs to be updated since it's totally broken atm | |
783b8268 JBG |
129 | vax: |
130 | pthread support, linktime warning support (implies GAS patches), | |
131 | general touchups, testing, ldso. | |
6e80c6c0 | 132 | |
03f338ab MNI |
133 | |
134 | ----------------------------------------------------------------------------- | |
16952cf2 | 135 | Manuel's todo: |
2a1d34e7 | 136 | |
eb7c9eb0 MNI |
137 | 1) Little things that need fixing: |
138 | ---------------------------------- | |
71c31447 MNI |
139 | a) Fix bug in *printf: outdigit precison bug |
140 | b) Check that gnu/bsd extension members tm_gmtoff and tm_zone in struct tm | |
12172897 | 141 | are respected where they should be. |
71c31447 MNI |
142 | c) Implement the obstack printf funcs for glibc compat. |
143 | d) Implement glibc 'a' flag for scanf string conversions. | |
144 | e) Allow use of the older non-table-based ctype functions when using | |
12172897 | 145 | stub locale support. (smaller) |
e969404d | 146 | f) __drand48_iterate should be void |
4cc4b304 BRF |
147 | g) alphasort vs. versionsort. The former seems to be SVID, the latter GNU |
148 | i.e. reverse to what we currently do. The latter is unimplemented. | |
149 | h) ponder removal/configs to turn off: __xpg_*, bsd_signal, dysize, | |
150 | getw/putw, utimes, | |
7b28e09c | 151 | |
12172897 | 152 | 2) Additional str{f|p}time issues. |
eb7c9eb0 | 153 | ---------------------------------- |
d33195e1 MNI |
154 | a) Spacing issue wrt strptime. |
155 | b) Support locale specific alternate digits. (data is in place) | |
156 | c) Support locale era in year designations. (data is in place) | |
12172897 MNI |
157 | d) Deal with mb format string issues in strftime. |
158 | e) Implement wcsftime. | |
7b28e09c | 159 | |
12172897 | 160 | 3) Other locale issues (my implementation): |
eb7c9eb0 | 161 | ------------------------------------------- |
12172897 MNI |
162 | a) Do a little more clean up of ctype and wctype. |
163 | b) Rework of the locale data organization to make using locales reasonable | |
164 | when staticly linking. (mmap) | |
165 | c) Rewrite the locale data generation tools to process the text specifications | |
166 | rather than relying on glibc. | |
167 | d) Adapt regex lib to use my collation data and add the necessary collating | |
d33195e1 | 168 | item tables to support SUSv3 required features. |
12172897 MNI |
169 | e) transliteration of unsupported wchars in 8-bit locales (like glibc). |
170 | f) Support ISO/IEC 14652 draft locale extensions (LC_PAPER, etc). | |
171 | g) Implement strfrom. | |
172 | h) Shift-state codeset locale support? | |
eb7c9eb0 | 173 | |
71c31447 MNI |
174 | 4) Misc: |
175 | -------- | |
176 | a) Port uClibc to other OSs (including elks), or even bare metal (libgloss). | |
177 | b) Write a space-efficient gettext substitute, to avoid storing large amounts | |
178 | of redundant data. | |
179 |