summaryrefslogtreecommitdiff
path: root/TODO
blob: e6dfb79b6d715f36b34344cf3198a23b5cbc1c1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108

Erik's TODO list for the next release:

    1) Fix profiling support
    2) Implement getgrgid_r and getgrnam_r, per SuSv3 
    3) When options are disabled, also disable them in the
	include files as well.
    4) Make all small objects (>~50 bytes) into either inlines or
	into a static library
    5) Rework code that fails POSIX conformance tests
    6) Document all differences between the feature set of uClibc 
	and glibc.
    7) Add missing syscall() function to ports that are still 
	missing it.  (x86 and arm are finished so far).



-----------------------------------------------------------------------------
Manuel's todo:

I'm currently working on completing the wide char and locale support.
Right now i'm looking at collation.  Other tasks on my list include:

  1) Little things that need fixing:
  ----------------------------------
  a) Use locale decimal point in *printf() and strto*d() -- slightly
     complicated by the fact that at least one locale uses a wchar
     radix that does not map to a single byte in UTF-8.
  b) Use locale digit grouping in *printf() flosting point.
  c) Deal with mb format string issues in scanf and strftime (at least).
  
  2) Implement wide char numeric conversion functions -- wcsto*().
  ----------------------------------------------------------------
     These should be relatively minor modifications to the corresponding
     strto*() functions, unless locale specific alternate digit support
     is desired.
  
  4) Reimplement scanf for narrow and wide streams.
  -------------------------------------------------
     The current char version of scanf() needs some cleanup.  Also,
     modifying the char version of scanf() to create the wchar versions
     will require reworking the implementation of matching char sets
     (enclosed in []).
  
  5) Additional str{f|p}time issues.
  ----------------------------------
     Support locale specific alternate digits.
     Support locale era in year designations.
  
  6) Other locale issues (my implementation):
  -------------------------------------------
  a) Clean up locale code to make building easier.  Fix alt_digits.
     (Note: This is only _clean_up_ of the current stuff in extra/locale
      so that it can be cross-compiled, etc.  I'm not talking about the
      complete rewrite that should really be done.)
  b) Additional clean up of ctype and wctype.
  c) Implement collation support for char and wchar -- *xfrm() and *coll().
  d) transliteration of unsupported wchars in 8-bit locales (like glibc).
  e) Support ISO/IEC 14652 draft locale extensions (LC_PAPER, etc).


Other stuff:

Reimplement _dtostr to correct its deficiencies (%A support!) and hopefully
	reduce its size.

Move the target-specific sysconf.c generator to extra (as it needs to be
	run on the target) and fix libc/unistd/Makefile.

Make errno and endptr handling the default in the strto* functions and
	document how to turn those off to save space.

-----------------------------------------------------------------------------
ds's list:

Search for string literals that are not in the .rodata section.  (Varies
by architecture and gcc version.)

man pages for binaries

add obstack stuff for gettext (?)

check compiling without FP support -- are FP instructions still generated?
Needs a uClibc_config.h entry dependent on HAS_FLOATING_POINT.

Why does ld.so search /usr/powerpc-uclibc/lib before LD_LIBRARY_PATH?

-----------------------------------------------------------------------------

Any takers?

*) Fix regex so it isn't so stinking big
*) Fix glob so it isn't so stinking big
*) Documentation
	- List all differences between the feature set of uClibc and glibc.
*) run 'nm -D --size-sort -t d libuClibc-0.9.5.so' and work on the biggest things 
	(i.e. stuff at the end of the list) to make them smaller.
*) make inb/outb work for all arches.  This is complete for i386 and arm.  
	Other archs like powerpc, still need fixing.

-----------------------------------------------------------------------------

PORTING
-------

bits/dirent.h currently differs from the glibc version (d_type unsupported)