From 27c1e220361b0b3ab0b8fae35e8767935e8680ec Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Fri, 10 Jan 2020 10:40:11 -0800 Subject: [PATCH] Delete definitions of __aeabi_unwind_cpp_pr0. These are no longer necessary now that LLVM no longer emits references to this symbol on Android. Bug: 144430859 Change-Id: I6c43338f755ce5a79e2df36bd3f2006a748fab27 --- libdl/libdl.cpp | 12 ------------ libdl/libdl_android.cpp | 12 ------------ linker/ld_android.cpp | 12 ------------ 3 files changed, 36 deletions(-) diff --git a/libdl/libdl.cpp b/libdl/libdl.cpp index 1ee401289..a56a5aba3 100644 --- a/libdl/libdl.cpp +++ b/libdl/libdl.cpp @@ -138,16 +138,4 @@ int android_get_application_target_sdk_version() { return __loader_android_get_application_target_sdk_version(); } -#if defined(__arm__) -// An arm32 unwinding table has an R_ARM_NONE relocation to -// __aeabi_unwind_cpp_pr0. This shared library will never invoke the unwinder, -// so it doesn't actually need the routine. Define a dummy version here, -// because the real version calls libc functions (e.g. memcpy, abort), which -// would create a dependency cycle with libc.so. -__attribute__((visibility("hidden"))) -void __aeabi_unwind_cpp_pr0() { - __builtin_trap(); -} -#endif - } // extern "C" diff --git a/libdl/libdl_android.cpp b/libdl/libdl_android.cpp index 77b3bf8f1..47a164abb 100644 --- a/libdl/libdl_android.cpp +++ b/libdl/libdl_android.cpp @@ -115,16 +115,4 @@ struct android_namespace_t* android_get_exported_namespace(const char* name) { return __loader_android_get_exported_namespace(name); } -#if defined(__arm__) -// An arm32 unwinding table has an R_ARM_NONE relocation to -// __aeabi_unwind_cpp_pr0. This shared library will never invoke the unwinder, -// so it doesn't actually need the routine. Define a dummy version here, -// because the real version calls libc functions (e.g. memcpy, abort), which -// would create a dependency cycle with libc.so. -__attribute__((visibility("hidden"))) -void __aeabi_unwind_cpp_pr0() { - __builtin_trap(); -} -#endif - } // extern "C" diff --git a/linker/ld_android.cpp b/linker/ld_android.cpp index 152c2e266..0239c304b 100644 --- a/linker/ld_android.cpp +++ b/linker/ld_android.cpp @@ -58,15 +58,3 @@ __strong_alias(__loader_shared_globals, __internal_linker_error); __strong_alias(__loader_dl_unwind_find_exidx, __internal_linker_error); #endif __strong_alias(rtld_db_dlactivity, __internal_linker_error); - -#if defined(__arm__) -// An arm32 unwinding table has an R_ARM_NONE relocation to -// __aeabi_unwind_cpp_pr0. This shared library will never invoke the unwinder, -// so it doesn't actually need the routine. Define a dummy version here, -// because the real version calls libc functions (e.g. memcpy, abort), which -// would create a dependency cycle with libc.so. -__attribute__((visibility("hidden"))) -extern "C" void __aeabi_unwind_cpp_pr0() { - __builtin_trap(); -} -#endif