|
@@ -1,51 +1,49 @@
|
|
TODO list for the uClibc 1.0.0 release:
|
|
TODO list for the uClibc 1.0.0 release:
|
|
|
|
+-------------------------------------------------
|
|
|
|
|
|
- *) mjn3's mysterious python select/poll self-test failure that he
|
|
+ *) Documentation updates:
|
|
- still needs to tell me about
|
|
+ *) Write a uClibc HOWTO document
|
|
|
|
+ *) Update README document
|
|
|
|
+ *) Update INSTALL document
|
|
|
|
+ *) Update docs/Glibc_vs_uClibc_Differences.txt document
|
|
|
|
+ and fully document all differences between the feature
|
|
|
|
+ set of uClibc and glibc.
|
|
|
|
+ *) Update docs/uClibc_vs_SuSv3.txt document
|
|
|
|
+ *) Update docs/threads.txt document
|
|
|
|
+ *) Write man pages for ldd and ldconfig utility binaries
|
|
*) Perhaps implement glibc style frame-unwinding, so that gcc need
|
|
*) Perhaps implement glibc style frame-unwinding, so that gcc need
|
|
- not be built with --enable-sjlj-exceptions for exception handling to work.
|
|
+ not be built with --enable-sjlj-exceptions for C++ exception handling
|
|
- *) Implement some mechanism (perhaps encoded in the .so name)
|
|
+ to work.
|
|
|
|
+ *) Implement some mechanism (perhaps encoded in the .so name,
|
|
|
|
+ perhaps using an abi tag magically embedded into each object)
|
|
for flagging config options that break the ABI. Options
|
|
for flagging config options that break the ABI. Options
|
|
such as UCLIBC_HAS_SOFT_FLOAT, UCLIBC_HAS_THREADS, UCLIBC_HAS_LOCALE,
|
|
such as UCLIBC_HAS_SOFT_FLOAT, UCLIBC_HAS_THREADS, UCLIBC_HAS_LOCALE,
|
|
and perhaps others (finalize list) produce a lib with a differing
|
|
and perhaps others (finalize list) produce a lib with a differing
|
|
ABI. Make it so apps cannot use an ABI mis-matched uClibc.
|
|
ABI. Make it so apps cannot use an ABI mis-matched uClibc.
|
|
- *) Implement the float and long double versions of math funcs,
|
|
+ *) Implement the float and long double versions of math funcs
|
|
using wrappers on top of the double versions (size / precision
|
|
using wrappers on top of the double versions (size / precision
|
|
- trade off).
|
|
+ trade off where size clearly wins).
|
|
- *) Delete current profiling code (because it is crap
|
|
+ *) Delete current profiling code (because it is complete crap
|
|
- and only works when static + PIC)
|
|
+ and only works properly when static + PIC, and because it is
|
|
|
|
+ quite intrusive, and because there are better ways to profile)
|
|
*) Fix profiling by adding missing stub functions per
|
|
*) Fix profiling by adding missing stub functions per
|
|
http://uclibc.org/lists/uclibc/2004-February/008167.html
|
|
http://uclibc.org/lists/uclibc/2004-February/008167.html
|
|
and used by, i.e. http://www710.univ-lyon1.fr/~yperret/fnccheck/
|
|
and used by, i.e. http://www710.univ-lyon1.fr/~yperret/fnccheck/
|
|
*) Audit header files. Remove prototypes for all functions that
|
|
*) Audit header files. Remove prototypes for all functions that
|
|
- are not supported. Especially needed for the libm headers.
|
|
+ are not supported -- especially needed for the libm headers.
|
|
*) Audit header files. When options are disabled, also disable
|
|
*) Audit header files. When options are disabled, also disable
|
|
- them in the include files as well.
|
|
+ them in the include files as well by checking for the proper
|
|
|
|
+ define from include/bits/uClibc_config.h (pulled in from features.h)
|
|
*) Make all small objects (>~50 bytes) into either inlines or
|
|
*) Make all small objects (>~50 bytes) into either inlines or
|
|
into a static library
|
|
into a static library
|
|
- *) Add support for Linux 2.6.x NGPL pthreads, futexes, etc
|
|
|
|
- *) Documentation updates:
|
|
|
|
- *) Update README document
|
|
|
|
- *) Update INSTALL document
|
|
|
|
- *) Update docs/Glibc_vs_uClibc_Differences.txt document
|
|
|
|
- and fully document all differences between the feature
|
|
|
|
- set of uClibc and glibc.
|
|
|
|
- *) Update docs/uClibc_vs_SuSv3.txt document
|
|
|
|
- *) Update docs/threads.txt document
|
|
|
|
- *) Write a HOWTO document
|
|
|
|
- *) Write man pages for ldd and ldconfig utility binaries
|
|
|
|
- *) Fix regex so it isn't so stinking big
|
|
|
|
- *) Fix glob so it isn't so stinking big
|
|
|
|
- *) 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.
|
|
|
|
*) Cleanup / rewrite sysconf.c. It should get some information
|
|
*) Cleanup / rewrite sysconf.c. It should get some information
|
|
from ldso (such as HZ). Other stuff it currently just makes
|
|
from ldso (such as HZ). Other stuff it currently just makes
|
|
up, which is obviously wrong. Also bits/uClibc_clk_tck.h
|
|
up, which is obviously wrong. Also bits/uClibc_clk_tck.h
|
|
needs to be updated at the same time to get proper HZ values.
|
|
needs to be updated at the same time to get proper HZ values.
|
|
*) __data_start needs to be added to any crt0.S files that don't
|
|
*) __data_start needs to be added to any crt0.S files that don't
|
|
- currently have it. It is used by the boehm gc. mjn3 has added
|
|
+ currently have it. It is used by the boehm gc, amoung other
|
|
- it to i386 and mips, but some archs are still missing it.
|
|
+ things. mjn3 has added it to i386 and mips, but some archs
|
|
|
|
+ are still missing it.
|
|
*) It would nice if valgrind wouldn't complain about the atexit() malloc'd
|
|
*) It would nice if valgrind wouldn't complain about the atexit() malloc'd
|
|
memory for destructors, which happens since the dynamic linker calls
|
|
memory for destructors, which happens since the dynamic linker calls
|
|
atexit(), which calls malloc() prior to valgrind starting, so valgrind
|
|
atexit(), which calls malloc() prior to valgrind starting, so valgrind
|
|
@@ -58,6 +56,26 @@ TODO list for the uClibc 1.0.0 release:
|
|
(recorded in the DT_NEEDED entries of the dynamic structure). The order of
|
|
(recorded in the DT_NEEDED entries of the dynamic structure). The order of
|
|
initialization for circular dependencies is undefined." uClibc's shared
|
|
initialization for circular dependencies is undefined." uClibc's shared
|
|
lib loader should be fixed to run ctors in the specified order.
|
|
lib loader should be fixed to run ctors in the specified order.
|
|
|
|
+ *) 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.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+TODO list for AFTER the uClibc 1.0.0 release:
|
|
|
|
+-------------------------------------------------
|
|
|
|
+ *) Add support for Linux 2.6.x NPTL pthreads, futexes, etc
|
|
|
|
+ *) Add support for Linux 2.6.x fast vsyscalls
|
|
|
|
+ *) Enable pristine source tree builds
|
|
|
|
+ *) Fix regex so it isn't so stinking big
|
|
|
|
+ *) Fix glob so it isn't so stinking big
|
|
|
|
+ *) 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.
|
|
|
|
+ <more wishlist items here>
|
|
|
|
+
|
|
|
|
|
|
|
|
|
|
|
|
|