Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
https://developer.android.com/ndk/guides/cpp-support recommends using c++_shared for applications that use more than one shared library. If multiple libraries using c++_static are loaded you end up with several copies of the globals in the C++ runtime. This also happens if the same library is dlopen/dlclosed several times. Some of the c++ runtime globals are thread_local, so each copy consumes a TLS key. There are only 128 TLS keys allowed on android, and the unit tests can hit this because of repeatedly loading and unloading VVL. See android/ndk#789 and the many issues linked to it for more info.
- Loading branch information