summaryrefslogtreecommitdiff
path: root/libc/LIB.status
blob: 43cc8de2b78fabb9ed2be74a7278bb671913194d (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
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
Stdlib:
------

What should stdlib contain, and current status.

atof     - ok, inlined, bound to sscanf
atoi     - ok, inlined, bound to sscanf, will read hex and octal
atol     - ok, inlined, bound to sscanf, will read hex and octal
strtod   - missing
strtof   - missing
strtold  - missing (do we want to support long double anyway?)
strtol   - missing
strtoul  - missing
strtoq   - missing
strtouq  - missing
strtoll  - missing (same as strtoq, different "standard")
strtoull - missing (same as strtouq, different "standard")


no locale function at all (__strtol_l, etc...)


random    - missing
srandom   - missing
initstate - missing
setstate  - missing
rand      - missing
srand     - missing
drand48   - missing

all *rand48 missing

malloc, calloc, realloc, free, are implemented, but not thread-safe

abort  - missing
atexit - ok
exit   - ok

getenv - missing
setenv - missing

system - missing, and won't be here anyway I think...

bsearch - missing
qsort   - ok, stolen from libnix
abs     - missing
labs    - missing
llabs   - missing
div     - missing
ldiv    - missing
lldiv   - missing
frexp   - missing
ldexp   - missing

ecvt    - missing
fcvt    - missing
gcvt    - missing

mblen, mbtowc, wctomb, mbstowcs, wcstombs - missing


Stdio/Unistd:
------------

stdin, stdout, stderr - ok

Also, should have buffering...

remove     - missing
rename     - missing
tmp*       - missing
fclose     - ok, inlined
fflush     - ok, dummy function
fcloseall  - missing, won't implement (we don't keep track of the FILE pointers)
fopen      - ok, inlined
freopen    - missing
fdopen     - missing
setbuf     - missing
setvbuf    - missing

*printf    - ok, v-versions inlined (f, s, d, sn, as + x)
*scanf     - ok, v-versions inlined (f, s, d + x)
*getc      - ok, inlined (f, .)
getchar    - missing
*putc      - missing
putchar    - missing
{get,put}w - missing
*gets      - missing
getdelim   - missing, gnu replacement to gets
getline    - missing, gnu replacement to gets
*puts      - missing
ungetc     - missing, won't implement, as we don't bufferize at all.
fread      - ok, inlined
fwrite     - ok, inlined
fseek      - ok, inlined
ftell      - ok, inlined
rewind     - missing
fgetpos    - missing
fsetpos    - missing
clearerr   - missing
feof       - ok, inlined
ferror     - missing
fileno     - ok, inlined

perror     - missing
fileno     - missing
pipe funcs - missing, can we make them ?
lock funcs - missing, can we make them ?

mkdir      - missing
rmdir      - missing

chdir      - missing
getcwd     - missing

open       - ok
close      - ok
read       - ok
write      - ok
lseek      - ok


String:
------

memcpy      - ok, inlined
memmove     - missing
memset      - ok, inlined
memcmp      - ok, inlined
memchr      - missing

strcpy      - ok, inlined
strncpy     - ok, inlined
strcat      - ok, inlined
strncat     - missing
strcmp      - missing
strncmp     - missing

strcoll     - missing
strxfrm     - missing

strdup      - missing

strchr      - ok, inlined
strrchr     - missing

strcspn     - missing
strspn      - missing
strpbrk     - missing
strstr      - missing
strcasestr  - missing
strtok      - missing

strlen      - ok, inlined
strerror    - missing

bzero       - missing
bcopy       - missing
bcmp        - missing
index       - missing
rindex      - missing

stricmp     - missing
strcasecmp  - missing
strnicmp    - missing
strncasecmp - missing

isalnum     - ok, inlined
iscntrl     - ok, inlined
isdigit     - ok, inlined
isgraph     - ok, inlined
islower     - ok, inlined
isprint     - ok, inlined
ispunct     - ok, inlined
isspace     - ok, inlined
isupper     - ok, inlined
isxdigit    - ok, inlined
tolower     - ok, inlined
toupper     - ok, inlined

asctime     - missing
clock       - missing
ctime       - missing
difftime    - missing
gmtime      - missing
localtime   - missing
mktime      - missing

longjmp     - cortex-m3, untested
setjmp      - cortex-m3, untested

raise       - missing, can we build signals ?