summaryrefslogtreecommitdiff
path: root/upb/stdc/README
blob: 1815af49c9680de19be1ce6c4c1ba5cd87e7db6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
This directory contains code that is ANSI C but uses parts of the
standard library that are not available to very limited environments
like Linux Kernel modules.  The standard calls environments like this
"freestanding implementations."

This does *not* imply that the upb core can be compiled directly on a
freestanding implementation.  Even the core uses library functions
that are not directly available on freestanding implementations
(notably malloc()/free(), vsnprintf(), and assert()).  So compiling on
freestanding implementations may require implementing compatibility
versions of functions like malloc().

Also, Linux is not technically a freestanding implementation either,
since it does not accept functions that return float or double on
x86-64 (these use SSE registers which are disabled in kernel mode).
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback