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
|
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 - ok, inlined
fgetpos - missing
fsetpos - missing
clearerr - missing
feof - ok, inlined
ferror - missing
perror - missing
fileno - ok, inlined
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 - ok, inlined
memset - ok, inlined
memcmp - ok, inlined
memchr - ok, inlined
strcpy - ok, inlined
strncpy - ok, inlined
strcat - ok, inlined
strncat - ok, inlined
strcmp - ok, inlined
strncmp - ok, inlined
strcoll - missing
strxfrm - missing
strdup - ok, inlined
strchr - ok, inlined
strrchr - ok, inlined
strcspn - missing
strspn - missing
strpbrk - missing
strstr - ok, inlined, dummy implementation (kmp eats too much stack space)
strcasestr - missing
strtok - missing
strlen - ok, inlined
strerror - missing, won't implement
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 ?
|