diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:28:35 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:28:35 -0800 |
commit | 1dc9e472e19acfe6dc7f41e429236e7eef7ceda1 (patch) | |
tree | 3be0c520fae17689bbf5584e1136fb820caef26f /libc/CAVEATS | |
parent | 1767f908af327fa388b1c66883760ad851267013 (diff) | |
download | bionic-1dc9e472e19acfe6dc7f41e429236e7eef7ceda1.zip bionic-1dc9e472e19acfe6dc7f41e429236e7eef7ceda1.tar.gz bionic-1dc9e472e19acfe6dc7f41e429236e7eef7ceda1.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'libc/CAVEATS')
-rw-r--r-- | libc/CAVEATS | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/libc/CAVEATS b/libc/CAVEATS new file mode 100644 index 0000000..72281a0 --- /dev/null +++ b/libc/CAVEATS @@ -0,0 +1,26 @@ +Bionic is a very small C library because we have decided to *not* implement various features +of the POSIX standard. we only add functions on a as-needed basis, and there are a few things +we wish we'll never put in there. + +this file is here to document explicitely what we don't want to support in Bionic: + +- C++ exceptions are not supported. on embedded systems, they lead to extremely larger and + slower code for no good reason (even when so-called zero-cost exception schemes are + implemented, they enforce very large numbers of registers spills to the stack, even + in functions that do not throw an exception themselves). + +- pthread cancellation is *not* supported. this seemingly simple "feature" is the source + of much bloat and complexity in a C library. Besides, you'd better write correct + multi-threaded code instead of relying on this stuff. + +- pthread_once() doesn't support C++ exceptions thrown from the init function, or the init + function doing a fork(). + +- locales and wide characters are not supported. we use ICU for all this i18n stuff, which + is much better than the ill-designed related C libraries functions. + +- at the moment, several user-account-related functions like getpwd are stubbed and return + the values corresponding to root. this will be fixed when we'll be able to have distinct + users on the Android filesystem. :-( + + see bionic/stubs.c for the details |