af22b7ea85
breaks the dependency between exit/atexit and stdio. Buffers are no longer flushed on abort() (because it's pretty risky). Move the relevant functions into sys/core. |
||
---|---|---|
.. | ||
ctype | ||
errno | ||
locale | ||
math | ||
misc | ||
setjmp | ||
stdio | ||
stdlib | ||
string | ||
README.md |
This directory contains the libc core: functions here may depend on other
libc functions only (so, no unistd.h
stuff). Plats don't get to configure
this, so nothing here should add any overhead if the function isn't linked.
Examples of what goes here:
strcmp()
--- because it's pure code.setjmp()
--- in EM, it's portable.assert()
--- because it only calls other core functions (fputs()
andabort()
).
Examples of what doesn't go here:
malloc()
--- because it calls theunistd.h
functionsbrk()
(and so a plat might want to swap it out).- stdio --- because it calls the
unistd.h
functionsread()
,write()
etc. signal()
--- because it can't be implemented portably and needs to go in the plat.