diff options
author | dimitry <dimitry@google.com> | 2017-08-29 13:38:04 +0200 |
---|---|---|
committer | dimitry <dimitry@google.com> | 2017-08-29 18:18:27 +0200 |
commit | 25bf29bbadaeb593bdb9211dc75063903ce369e4 (patch) | |
tree | 942cfd42e5f74284e3385c51c86f7d26b12af10d /linker/linker_libcxx_support.cpp | |
parent | 0e23c87de5bd223a79d397b45d97283509035f27 (diff) |
Implement __gnu_Unwind_Find_exidx/__cxa_type_match
Leaving these unimplemented causes linker to have 2 weak undefined
symbols which in turn results in 3 unwanted relocations for arm arch.
Implementing them removes unwanted relocations from resulted dynamic
object
Test: make && readelf --dyn-sym linker
Test: linker-unit-tests && bionic-unit-tests --gtest_filter=dl*:Dl*
Test: flash and boot angler
Change-Id: I10120271936c770659239898aaf852d31c5483c2
Diffstat (limited to 'linker/linker_libcxx_support.cpp')
-rw-r--r-- | linker/linker_libcxx_support.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/linker/linker_libcxx_support.cpp b/linker/linker_libcxx_support.cpp index 11e0f40be..41ed8bcd6 100644 --- a/linker/linker_libcxx_support.cpp +++ b/linker/linker_libcxx_support.cpp @@ -31,3 +31,7 @@ void* __find_icu_symbol(const char* symbol_name __attribute__((__unused__))) { async_safe_fatal("__find_icu_symbol should not be called in the linker"); } + +extern "C" int __cxa_type_match() { + async_safe_fatal("__cxa_type_match is not implemented in the linker"); +} |