Merge "Enable scudo for non-svelte configs." am: 06ea3cf883

Change-Id: I0be8e962cc75617da2762fdabd118d1581323f57
This commit is contained in:
Automerger Merge Worker 2020-02-12 16:00:36 +00:00
commit 5d1759bb08
2 changed files with 3 additions and 12 deletions

View file

@ -104,10 +104,9 @@ libc_scudo_product_variables = {
// Defaults for native allocator libs/includes to make it
// easier to change.
// Enable scudo for non-svelte config by adding the line:
// To disable scudo for the non-svelte config remove the line:
// product_variables: libc_scudo_product_variables,
// to the cc_defaults below. And remove the defaults line
// in the libc_scudo library.
// in the cc_defaults below.
// ========================================================
cc_defaults {
name: "libc_native_allocator_defaults",
@ -117,6 +116,7 @@ cc_defaults {
"libc_jemalloc_wrapper",
],
header_libs: ["gwp_asan_headers"],
product_variables: libc_scudo_product_variables,
}
// Functions not implemented by jemalloc directly, or that need to
@ -2566,7 +2566,6 @@ cc_defaults {
cc_library_shared {
name: "libc_scudo",
defaults: ["libc_scudo_wrapper_defaults"],
vendor_available: true,
stl: "none",
system_shared_libs: [],

View file

@ -277,17 +277,10 @@ bool InitSharedLibrary(void* impl_handle, const char* shared_lib, const char* pr
return true;
}
// Note about USE_SCUDO. This file is compiled into libc.so and libc_scudo.so.
// When compiled into libc_scudo.so, the libc_malloc_* libraries don't need
// to be loaded from the runtime namespace since libc_scudo.so is not from
// the runtime APEX, but is copied to any APEX that needs it.
#ifndef USE_SCUDO
extern "C" struct android_namespace_t* android_get_exported_namespace(const char* name);
#endif
void* LoadSharedLibrary(const char* shared_lib, const char* prefix, MallocDispatch* dispatch_table) {
void* impl_handle = nullptr;
#ifndef USE_SCUDO
// Try to load the libc_malloc_* libs from the "runtime" namespace and then
// fall back to dlopen() to load them from the default namespace.
//
@ -306,7 +299,6 @@ void* LoadSharedLibrary(const char* shared_lib, const char* prefix, MallocDispat
};
impl_handle = android_dlopen_ext(shared_lib, RTLD_NOW | RTLD_LOCAL, &dlextinfo);
}
#endif
if (impl_handle == nullptr) {
impl_handle = dlopen(shared_lib, RTLD_NOW | RTLD_LOCAL);