TODO 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. Erik's TODO list for the next release:
  2. 1) Release gcc 2.95.x native uClibc toolchain with
  3. STLport (to provide full C++ support)
  4. 2) Commit new configuration system (CML1 + kbuild + menuconfig)
  5. work is already done and ready to commit...
  6. 3) Fix profiling support
  7. 4) Implement getgrgid_r and getgrnam_r, per SuSv3
  8. 5) Fix libc/inet/rpc/rpc_thread.c thread local storage
  9. 6) Change HAS_FLOATING_POINT so we can support -msoft-float
  10. 7) When options are disabled, also disable them in the
  11. include files as well.
  12. 8) Make all small objects (>~50 bytes) into either inlines or
  13. into a static library
  14. 9) Rework code that fails POSIX conformance tests
  15. 10) Document all differences between the feature set of uClibc
  16. and glibc.
  17. 11) Add missing syscall() function to ports that are still
  18. missing it. (x86 and arm are finished so far).
  19. 12) Make sure that shared library constructors that depend on
  20. prior libc initialization work correctly
  21. -----------------------------------------------------------------------------
  22. Manuel's todo:
  23. In the next couple of months, I plan on completing the wide char and locale
  24. support. Here's my current list of things to implement by early November.
  25. 1) Little things that need fixing:
  26. ----------------------------------
  27. a) Use locale decimal point in *printf() and strto*d() -- slightly
  28. complicated by the fact that at least one locale uses a wchar
  29. radix that does not map to a single byte in UTF-8.
  30. b) Use locale digit grouping in *printf().
  31. c) Implement %lc (%C) and %ls (%S) handling for printf.
  32. d) Deal with mb format string issues in printf, scanf,
  33. strftime (at least).
  34. e) Implement wcwidth() and wcswidth() -- use Markus Kuhn's versions.
  35. 2) Implement wide char numeric conversion functions -- wcsto*().
  36. ----------------------------------------------------------------
  37. These should be relatively minor modifications to the corresponding
  38. strto*() functions, unless locale specific alternate digit support
  39. is desired.
  40. 3) Implement wide formatted output -- *wprintf():
  41. -------------------------------------------------
  42. The stream output variants should be easily created by appropriately
  43. modifying the char *printf() functions.
  44. The string buffer variants may take some time to implement because
  45. they need to store wchars in a buffer. It will be necessary to hack
  46. the core stdio code slightly to support this.
  47. 4) Reimplement scanf for narrow and wide streams.
  48. -------------------------------------------------
  49. The current char version of scanf() needs some cleanup. Also,
  50. modifying the char version of scanf() to create the wchar versions
  51. will require reworking the implementation of matching char sets
  52. (enclosed in []).
  53. Also, as with *wprintf() above, the string buffer variants of wscanf()
  54. may require some additional work to the core stdio code.
  55. 5) Additional str{f|p}time issues.
  56. ----------------------------------
  57. Support locale specific alternate digits.
  58. Support locale era in year designations.
  59. 6) Other locale issues (my implementation):
  60. -------------------------------------------
  61. a) Clean up locale code to make building easier. Fix alt_digits.
  62. (Note: This is only _clean_up_ of the current stuff in extra/locale
  63. so that it can be cross-compiled, etc. I'm not talking about the
  64. complete rewrite that should really be done.)
  65. b) Additional clean up of ctype and wctype.
  66. c) Implement collation support for char and wchar -- *xfrm() and *coll().
  67. d) transliteration of unsupported wchars in 8-bit locales (like glibc).
  68. Other stuff:
  69. Reimplement _dtostr to correct its deficiencies (%A support!) and hopefully
  70. reduce its size.
  71. Move the target-specific sysconf.c generator to extra (as it needs to be
  72. run on the target) and fix libc/unistd/Makefile.
  73. Make errno and endptr handling the default in the strto* functions and
  74. document how to turn those off to save space.
  75. -----------------------------------------------------------------------------
  76. ds's list:
  77. Search for string literals that are not in the .rodata section. (Varies
  78. by architecture and gcc version.)
  79. man pages for binaries
  80. add obstack stuff for gettext (?)
  81. check compiling without FP support -- are FP instructions still generated?
  82. Needs a uClibc_config.h entry dependent on HAS_FLOATING_POINT.
  83. Why does ld.so search /usr/powerpc-uclibc/lib before LD_LIBRARY_PATH?
  84. -----------------------------------------------------------------------------
  85. Any takers?
  86. *) Fix regex so it isn't so stinking big
  87. *) Fix glob so it isn't so stinking big
  88. *) Documentation
  89. - List all differences between the feature set of uClibc and glibc.
  90. *) run 'nm -D --size-sort -t d libuClibc-0.9.5.so' and work on the biggest things
  91. (i.e. stuff at the end of the list) to make them smaller.
  92. *) make inb/outb work for all arches. This is complete for i386 and arm.
  93. Other archs like powerpc, still need fixing.
  94. -----------------------------------------------------------------------------
  95. PORTING
  96. -------
  97. bits/dirent.h currently differs from the glibc version (d_type unsupported)