TODO 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. Erik's TODO list for the next release:
  2. 1) Fix profiling support
  3. 2) Implement getgrgid_r and getgrnam_r, per SuSv3
  4. 3) When options are disabled, also disable them in the
  5. include files as well.
  6. 4) Make all configured out symbols optionally add a linker warning saying
  7. "Hey! You are trying to use a function that you have configured out.
  8. If you really want to use this function, enable CONFIG_FOO and rebuild
  9. uClibc".
  10. 5) Make all small objects (>~50 bytes) into either inlines or
  11. into a static library
  12. 6) Rework all code that fails conformance tests
  13. 7) Document all differences between the feature set of uClibc
  14. and glibc.
  15. 8) Add missing syscall() function to ports that are still
  16. missing it. (x86 and arm are finished so far).
  17. 9) Fix regex so it isn't so stinking big
  18. 10) Fix glob so it isn't so stinking big
  19. -----------------------------------------------------------------------------
  20. Manuel's todo:
  21. I'm currently working on completing the wide char and locale support.
  22. 1) Little things that need fixing:
  23. ----------------------------------
  24. *) Fix bug in *printf: outdigit precison bug
  25. a) Use locale decimal point in *printf() and strto*d() -- slightly
  26. complicated by the fact that at least one locale uses a wchar
  27. radix that does not map to a single byte in UTF-8.
  28. b) Use locale digit grouping in *printf() flosting point.
  29. c) Deal with mb format string issues in scanf and strftime (at least).
  30. d) Support gnu/bsd extension members tm_gmtoff and tm_zone in struct tm.
  31. 2) Implement wide char floating point conversion functions -- wcsto*().
  32. 3) Reimplement scanf for narrow and wide streams.
  33. -------------------------------------------------
  34. The current char version of scanf() needs some cleanup. Also,
  35. modifying the char version of scanf() to create the wchar versions
  36. will require reworking the implementation of matching char sets
  37. (enclosed in []).
  38. 4) Additional str{f|p}time issues.
  39. ----------------------------------
  40. a) Spacing issue wrt strptime.
  41. b) Support locale specific alternate digits. (data is in place)
  42. c) Support locale era in year designations. (data is in place)
  43. 5) Other locale issues (my implementation):
  44. -------------------------------------------
  45. a) Additional clean up of ctype and wctype, primarily to allow for mmap'd
  46. locales and updateable locale data.
  47. b) Build a C-only locale object for linking and allow full locale data to
  48. be mmap'd in later, to allow updating and to make locale support useful
  49. for staticly linked apps.
  50. c) Adapt regex lib to use my collation data and add the necessary collating
  51. item tables to support SUSv3 required features.
  52. d) transliteration of unsupported wchars in 8-bit locales (like glibc).
  53. e) Support ISO/IEC 14652 draft locale extensions (LC_PAPER, etc).
  54. Other stuff:
  55. Reimplement _dtostr to correct its deficiencies (%A support!) and hopefully
  56. reduce its size.
  57. Move the target-specific sysconf.c generator to extra (as it needs to be
  58. run on the target) and fix libc/unistd/Makefile.
  59. Make errno and endptr handling the default in the strto* functions and
  60. document how to turn those off to save space.
  61. -----------------------------------------------------------------------------
  62. ds's list:
  63. Search for string literals that are not in the .rodata section. (Varies
  64. by architecture and gcc version.)
  65. man pages for binaries
  66. add obstack stuff for gettext (?)
  67. check compiling without FP support -- are FP instructions still generated?
  68. Needs a uClibc_config.h entry dependent on HAS_FLOATING_POINT.
  69. Why does ld.so search /usr/powerpc-uclibc/lib before LD_LIBRARY_PATH?
  70. -----------------------------------------------------------------------------
  71. Any takers?
  72. *) Documentation
  73. - List all differences between the feature set of uClibc and glibc.
  74. *) run 'nm -D --size-sort -t d libuClibc-0.9.5.so' and work on the biggest things
  75. (i.e. stuff at the end of the list) to make them smaller.
  76. *) make inb/outb work for all arches. This is complete for i386 and arm.
  77. Other archs like powerpc, still need fixing.
  78. -----------------------------------------------------------------------------
  79. PORTING
  80. -------
  81. bits/dirent.h currently differs from the glibc version (d_type unsupported)