summaryrefslogtreecommitdiff
path: root/upb/stdc/README
diff options
context:
space:
mode:
authorJoshua Haberman <jhaberman@gmail.com>2012-03-31 12:17:32 -0700
committerJoshua Haberman <jhaberman@gmail.com>2012-03-31 12:17:32 -0700
commitcca4818eb7769d6e776bdc30516a5f871f1d6393 (patch)
treee67dd65d5c016028ae976b09b2d69f6b7525aa5f /upb/stdc/README
parent26ed1e996171c8ffa2ced42ac69b1b82c1956e1f (diff)
Sync from internal Google development.
Diffstat (limited to 'upb/stdc/README')
-rw-r--r--upb/stdc/README15
1 files changed, 15 insertions, 0 deletions
diff --git a/upb/stdc/README b/upb/stdc/README
new file mode 100644
index 0000000..1815af4
--- /dev/null
+++ b/upb/stdc/README
@@ -0,0 +1,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