X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=TODO;h=c6ad7bfb5173cf2e146998b9b7101810448223fe;hb=697dbb016e4bc63d20a7c871a9580e7dce32d1b0;hp=fbac20901158c909d7acccb4721b046c41fce4f5;hpb=f4ddfdf206f2944aecdd70b9ea409322e182add1;p=uclinux-h8%2FuClibc.git diff --git a/TODO b/TODO index fbac20901..c6ad7bfb5 100644 --- a/TODO +++ b/TODO @@ -9,40 +9,42 @@ TODO list for every uClibc release: them in the include files as well by checking for the proper define from include/bits/uClibc_config.h (pulled in from features.h) - - -General release feature sets: -------------------------------------------------- -.29 will be mostly as-is -.30 will be the NPTL merge -.31 for the no-kernel-headers fix, etc, etc. - - - -TODO list for the uClibc 0.9.29 release: -------------------------------------------------- - *) as many of the arch-specific issues as possible - *) Remove N instances of libc_hidden_proto() from uClibc internals. - Instead add internal only header(s) defining all hidden prototypes. - This will avoid clutter and guarantee prototype consistancy. - *) The __is*_l() functions were all removed, such that we now only export - the is*_l() functions (no prefix). Before, we had the prefixed versions - for use by libstdc++ and weak versions without prefixes exported because - those functions belong to no std (unless you call glibc a std). This should - be fixed. Similar problems likely were created elsewhere. - *) misc stdio bugs: - http://bugs.uclibc.org/view.php?id=420 - http://bugs.uclibc.org/view.php?id=539 - *) bug in getopt handling: - http://bugs.uclibc.org/view.php?id=61 - http://www.uclibc.org/lists/uclibc/2006-January/013851.html - *) Should integrate test subdir better ... need to propagate CPU - CFLAGS/LDFLAGS to the build/link for target binaries so that when we have - a multilib toolchain, the proper ABI is selected. - - TODO list for the uClibc 1.0.0 release: ------------------------------------------------- + *) NPTL + support arches: (o todo; + done) + o alpha + + arm + o avr32 + o bfin + o cris + o e1 + o frv + o h8300 + o hppa + + i386 + o i960 + o ia64 + o m68k + o microblaze + + mips + o nios + o nios2 + + powerpc + + sh + + sh64 + o sparc + o v850 + o vax + o x86_64 + o xtensa + o ... + *) Go through SUSv4 + TOC: http://www.opengroup.org/onlinepubs/9699919799/xrat/contents.html + shell (busybox): http://www.opengroup.org/onlinepubs/9699919799/xrat/V4_xcu_chap01.html#tag_22_01_01 + interface: + http://www.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap13.html#tag_21_13_02 + http://www.opengroup.org/onlinepubs/9699919799/xrat/V4_xsh_chap01.html#tag_23_01_01 *) glob / fnmatch tests fail *) regex should pass AT&T conformance tests *) Finish hiding uClibc internal symbols from our exported namespace @@ -71,8 +73,8 @@ TODO list for the uClibc 1.0.0 release: and perhaps others (finalize list) produce a lib with a differing ABI. Make it so apps cannot use an ABI mis-matched uClibc. This is most easily done using symbol versioning... - *) Implement the long double versions of math funcs - using wrappers on top of the double versions (size / precision + *) Implement the long double versions of math funcs on interrested + arches using wrappers on top of the double versions (size / precision trade off where size clearly wins). *) Make all small objects (>~50 bytes) into either inlines or into a static library @@ -86,18 +88,17 @@ TODO list for the uClibc 1.0.0 release: *) Cleanup/scrub all the Makefile copyright junk *) Fix dlopen, for both static and dynamic cases, and make it fully comply with SuSv3 - *) From the the ELF spec "...All shared object initializations happen - before the executable file gains control. ... Before the initialization - code for any object A is called, the initialization code for any other - objects that object A depends on are called. For these purposes, an object - A depends on another object B, if B appears in Ads list of needed objects - (recorded in the DT_NEEDED entries of the dynamic structure). The order of - initialization for circular dependencies is undefined." uClibc's shared - lib loader should be fixed to run ctors in the specified order. + *) check if sched_getcpu is only pulled in where it should be + *) remove HANDLE_OLDER_RLIMIT, NEW_GETRLIMIT (conditionalize on + ugetrlimit, it seems, else use the modern variant) + *) simplify exec*() in the light of execvpe (perhaps single internal + impl); USE_GNU for execvpe (and other GNU extensions, see psm). TODO list for AFTER the uClibc 1.0.0 release: ------------------------------------------------- + *) Add support for 64bit time (to deal withhttp://2038bug.com/): + date -s 011903142038 sets epoch to roll over in a few seconds (2^31) *) Add support for Linux 2.6.x fast vsyscalls *) Enable pristine source tree builds *) Fix regex so it isn't so stinking big @@ -105,6 +106,7 @@ TODO list for AFTER the uClibc 1.0.0 release: *) run 'nm -D --size-sort -t d libuClibc-0.9.26.so' and work on the biggest things (i.e. stuff at the end of the list) to make them smaller. + *) Fix dlopen/dlsym/dlclose locking to more fine grained or use RCU @@ -115,6 +117,9 @@ Arch specific TODO: arm: update crt1 code again for nommu (http://bugs.uclibc.org/view.php?id=538) recruit jbowler and integrate thumb support + frv: + needs to be updated for the new ldso changes and unification of the + uClibc_main funcs (__uClibc_start_main doesnt exist anymore) hppa: errno.c test segfaults causes segfault in clone.S (seems to be in glibc too) i386: @@ -123,16 +128,15 @@ Arch specific TODO: ldso is not implemented m68k: ldso lazy relocation doesnt work + sh64: + ldso is reasonably broken, presently requiring additional + coaxing/threatening. sparc: need a sigaction.c since common one doesnt work (signal tests) ldso needs to be updated since it's totally broken atm vax: pthread support, linktime warning support (implies GAS patches), general touchups, testing, ldso. - frv sh64: - need to be updated to new ldso changes and unification of the - two uClibc_main funcs (__uClibc_start_main doesnt exist anymore) - ----------------------------------------------------------------------------- @@ -147,6 +151,11 @@ Manuel's todo: d) Implement glibc 'a' flag for scanf string conversions. e) Allow use of the older non-table-based ctype functions when using stub locale support. (smaller) + f) __drand48_iterate should be void + g) alphasort vs. versionsort. The former seems to be SVID, the latter GNU + i.e. reverse to what we currently do. The latter is unimplemented. + h) ponder removal/configs to turn off: __xpg_*, bsd_signal, dysize, + getw/putw, utimes, 2) Additional str{f|p}time issues. ---------------------------------- @@ -176,3 +185,4 @@ Manuel's todo: b) Write a space-efficient gettext substitute, to avoid storing large amounts of redundant data. +