X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=TODO;h=c6ad7bfb5173cf2e146998b9b7101810448223fe;hb=7badf754cbe7882b2ff0ffea05e027820bd716f6;hp=1d24fcc381a05a2b341f65126d162af892707b82;hpb=69b082b4d3dcd856b485cb2430341bd0fa162b33;p=uclinux-h8%2FuClibc.git diff --git a/TODO b/TODO index 1d24fcc38..c6ad7bfb5 100644 --- a/TODO +++ b/TODO @@ -1,27 +1,55 @@ -TODO list for the uClibc 0.9.28 release: +TODO list for every uClibc release: ------------------------------------------------- + *) Test cris, i386, mips, mipsel, sh, x86_64, arm, armeb, and powerpc + with the latest LTP testsuite. Fix any regressions and post LTP + testsuite results for each architecture on uclibc.org. *) Audit header files. Remove prototypes for all functions that are not supported -- especially needed for the libm headers. *) Audit header files. When options are disabled, also disable them in the include files as well by checking for the proper define from include/bits/uClibc_config.h (pulled in from features.h) - *) Test cris, i386, mips, mipsel, sh, x86_64, arm, armeb, and powerpc - with the latest LTP testsuite. Fix any regressions and post LTP - testsuite results for each architecture on uclibc.org. - *) Fix it so valgrind 2.4.0 no longer complains about the memory mmaped - and used by ldso. Currently it whines on basically about virtually - every function call when doing default lazy binding, which makes its - output virtually useless due to the excess noise. - *) Change all references to the older "Library GPL" to the "Lesser GPL" - and update COPYING.LIB to LGPL version 2.1. - - - TODO list for the uClibc 1.0.0 release: ------------------------------------------------- - - *) Hide uClibc internal symbols from our exported namespace. + *) 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 + *) Add system for generating minimal system call asm wrappers that abuse + the C ABI to minimize amount of register/stack manipulation *) Explicity add some sortof CONFIG_LINUX_2_2_ABI, CONFIG_LINUX_2_4_ABI and CONFIG_LINUX_2_6_ABI type options, rather than having the abi depend on the selected set of kernel headers. This will likely also @@ -45,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 @@ -57,25 +85,20 @@ TODO list for the uClibc 1.0.0 release: *) poll emulation using select() for old 2.0.x uClinux kernels in libc/sysdeps/linux/common/poll.c fails some python self-tests. Of course, modern systems using the actuall poll() syscall work fine. - *) Rework the build system Makefile to eliminate recursive make. - *) Build both pic and non-pic objects where appropriate, so that - static libs need not pay the pic size penalty. *) 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 Linux 2.6.x NPTL pthreads, futexes, etc + *) 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 @@ -83,24 +106,37 @@ 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 Arch specific TODO: ------------------------------------------------- alpha: - _init/_fini hangs signal-ed (assert test) - output from cloned children seems funky (unistd/clone test) + ldso is not implemented + 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: + add support for fast system calls + ia64: + ldso is not implemented m68k: - need to verify libc again - ldso needs to be updated since it's totally broken atm + 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 - x86_64: - ldso needs to be finished off (elfinterp/resolve) - - + vax: + pthread support, linktime warning support (implies GAS patches), + general touchups, testing, ldso. ----------------------------------------------------------------------------- @@ -115,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. ---------------------------------- @@ -144,3 +185,4 @@ Manuel's todo: b) Write a space-efficient gettext substitute, to avoid storing large amounts of redundant data. +