diff --git a/linker/Android.bp b/linker/Android.bp index e1a5a91c6..1ede380de 100644 --- a/linker/Android.bp +++ b/linker/Android.bp @@ -367,7 +367,9 @@ cc_defaults { "liblinker_main", "liblinker_malloc", - "libc++_static", + // Use a version of libc++ built without exceptions, because accessing EH globals uses + // ELF TLS, which is not supported in the loader. + "libc++_static_noexcept", "libc_nomalloc", "libc_dynamic_dispatch", "libm", @@ -434,7 +436,7 @@ cc_binary { "linker_debuggerd_android.cpp", ], static_libs: [ - "libc++demangle", + "libc++demangle_noexcept", "libdebuggerd_handler_fallback", ], },