Caveats for programmers.

diff --git a/CAVEATS b/CAVEATS
new file mode 100644
index 0000000..91f736f
--- /dev/null
+++ b/CAVEATS
@@ -0,0 +1,45 @@
+	  -------------------------------------------------
+	  Please note the following caveats to using klibc:
+	  -------------------------------------------------
+
+optimization:
+-------------
+
+Compiling with -O0 is not supported.  It may or may not work; please
+use -O1 if you want to do maximize debuggability.
+
+Compiling with -O0 is more likely to work on gcc 3.
+
+
+setjmp()/longjmp():
+-------------------
+
+setjmp() and longjmp() *do not* save signal state.  sigsetjmp() and
+siglongjmp() *do* save the signal mask -- regardless of the value of
+the extra argument.
+
+
+stdio:
+------
+
+Only a small subset of the stdio functions are implemented.  Those
+that are implemented do not buffer, although they *do* trap EINTR or
+short read/writes and iterate.
+
+_fread() and _fwrite(), which take only one size argument (like
+read/write), but do handle EINTR/short return are also available.
+
+
+namespaces:
+-----------
+
+klibc frequently includes headers in other headers in a way that
+exposes more symbols than POSIX says they should.  "Live with it."
+
+
+theading:
+---------
+
+klibc is not thread-safe.  Consequently, clone() or any of the
+pthreads functions are not included.
+
diff --git a/klibc/CAVEATS b/klibc/CAVEATS
new file mode 100644
index 0000000..91f736f
--- /dev/null
+++ b/klibc/CAVEATS
@@ -0,0 +1,45 @@
+	  -------------------------------------------------
+	  Please note the following caveats to using klibc:
+	  -------------------------------------------------
+
+optimization:
+-------------
+
+Compiling with -O0 is not supported.  It may or may not work; please
+use -O1 if you want to do maximize debuggability.
+
+Compiling with -O0 is more likely to work on gcc 3.
+
+
+setjmp()/longjmp():
+-------------------
+
+setjmp() and longjmp() *do not* save signal state.  sigsetjmp() and
+siglongjmp() *do* save the signal mask -- regardless of the value of
+the extra argument.
+
+
+stdio:
+------
+
+Only a small subset of the stdio functions are implemented.  Those
+that are implemented do not buffer, although they *do* trap EINTR or
+short read/writes and iterate.
+
+_fread() and _fwrite(), which take only one size argument (like
+read/write), but do handle EINTR/short return are also available.
+
+
+namespaces:
+-----------
+
+klibc frequently includes headers in other headers in a way that
+exposes more symbols than POSIX says they should.  "Live with it."
+
+
+theading:
+---------
+
+klibc is not thread-safe.  Consequently, clone() or any of the
+pthreads functions are not included.
+