summaryrefslogtreecommitdiff
path: root/TODO
blob: 90dbdaba8b404be21c676c8e7ccd646d00e62011 (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
Erik's TODO list for the 0.9.10, which will hopefully
take place around March 1st.

Erik's current plans for uClibc 0.9.10 (which will hopefull
be released around March 1st):
    1) Fix C++ global constructors/destructors
    2) Fix uClibc timezone support so date(1) will show a real
	timezone, instead of just '???'
    3) Group all common include/bits files together to avoid
        the current situation where there are many redundnant
        files.
    4) Add struct _res support to libc/inet/resolv.c.  Right now, 
	struct _res, and res_init do nothing.  The other res_* 
	functions are not yet implemented.  So fix that.
    5) Rework pwd/grp for standards compliance (and integrate 
	Jeff Garzik's key-value reading code for pwd/grp, and
	perhaps for /etc/hosts and friends as well)
    6) Fix the bugs in crypt so it passes conformance tests 
    7) Rework some?/most?/all? code that fails POSIX conformance 
	tests


Erik's current plans for uClibc 0.9.11:
    1) Better configuration system (CML1 + kbuild + menuconfig) 
    2) When fixing the config system, ensure that _every_ option
        that is enabled or disabled is listed in uClibc_config.h
    3) When options are disabled, also disable them in the 
        include files as well.
    4) Reentrancy auditing
    5) Make all small objects (>~50 bytes) into either inlines or 
        into a static library


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

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

Add a usage message to the gcc wrapper.

Look at older, (pre-cephes-addition) floating point code and 
    rework for proper nan and infinity handling

Make scanf and strtod aware of nan and inf.

Add overflow error-checking to fread and fwrite.

Document uClibc-specific extensions I know of or have implemented.
	binary string conversion for printf
	malloc-less stdio
	optional printf unconfigured-for-type error messages

Add binary string conversion to scanf to mirror printf?

Teach scanf about (nil) for %p.

What to do about %m in printf?

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 basename() and dirname() for gettext

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.

getaddrinfo()

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
*) Add drand48()
*) Add missing syscall() function to allow arbitraty syscalls to be made. 
*) 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)