d1cdb07719
they're not defined in the core: so putw() can call stdio stuff, for example. So the earlier concept of pureness isn't necessary. Rename accordingly.
765 B
765 B
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.