[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit
Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/build/uClibc/docs/threads.txt b/ap/build/uClibc/docs/threads.txt
new file mode 100644
index 0000000..182f1be
--- /dev/null
+++ b/ap/build/uClibc/docs/threads.txt
@@ -0,0 +1,56 @@
+uClibc thread-safety analysis
+
+Things that are still known to be needed for thread safety:
+
+ none
+
+
+
+
+Things that might be nice, but are not required:
+
+ getnetent_r <desired, but not required for SuSv3>
+ gethostent_r <desired, but not required for SuSv3>
+ getprotoent_r <desired, but not required for SuSv3>
+ getnetbyname_r <desired, but not required for SuSv3>
+ getnetbyaddr_r <desired, but not required for SuSv3>
+
+
+
+
+
+Functions that use static data and may still need locking:
+
+
+ --------------------------------------------------------------------
+
+ libc/inet/rpc/rpc_thread.c:
+
+ __rpc_thread_variables is currently disabled, since thread
+ local storage seems to not be correctly specified as
+ weak functions.
+
+ --------------------------------------------------------------------
+
+ unistd/getpass.c:
+
+ static char buf[PWD_BUFFER_SIZE];
+
+ getpass <fix required> <---
+
+ NOTE: This function returns a pointer to a static data structure.
+ This seems like it requires an _r version of this function. Glibc
+ does the same thing. Oops! So much for thread-safe glibc!
+
+ --------------------------------------------------------------------
+
+ unistd/sysconf.c:
+
+ static long int ret_vals[_UCLIBC_SYSCONF_NUM_VALID_ARGS];
+
+ find_or_add_in_table <fix required?> <---
+ main <fix required?> <---
+
+ NOTE: I'm not sure if this needs to be made reentrant...
+
+ --------------------------------------------------------------------