OSDN Git Service

mark local function static
[uclinux-h8/uClibc.git] / TODO
diff --git a/TODO b/TODO
index 2280d76..49eef61 100644 (file)
--- a/TODO
+++ b/TODO
@@ -1,37 +1,53 @@
 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.
+
+
+
+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
-    *)  Change all references to the older "Library GPL" to the "Lesser GPL"
-       and update COPYING.LIB to LGPL version 2.1.
-    *) fold NPTL branch back into trunk
-    *) as many of the arch-specific issues as possible
-
+    *) 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:
 -------------------------------------------------
-    *) Finish hiding uClibc internal symbols from our exported namespace.
+    *) 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
@@ -70,14 +86,6 @@ 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.
 
 
 TODO list for AFTER the uClibc 1.0.0 release:
@@ -95,30 +103,26 @@ TODO list for AFTER the uClibc 1.0.0 release:
 Arch specific TODO:
 -------------------------------------------------
   alpha:
-    signal handling is all screwed; common linux versions do not work for us,
-       need to import all the stuff from glibc ...
-    _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
   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:
     ldso lazy relocation doesnt work
-  mips:
-    brk/pipe fixes: http://bugs.uclibc.org/view.php?id=469
   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.
-  bfin cris rfv sh64:
-    need to be updated to new ldso changes and unification of the 
+  frv sh64:
+    need to be updated to new ldso changes and unification of the
      two uClibc_main funcs (__uClibc_start_main doesnt exist anymore)