Switch libc.so and linker to prebuilt LLVM libunwind
For libc.so, use a special build of libunwind.a whose symbols aren't
hidden ("libunwind-exported"), because libc.so exports the _Unwind_*
APIs.
Bug: http://b/153025717
Test: bionic unit tests
Change-Id: I7435e076ec8cc4410e3e6086d3cf5d2c6011c80c
diff --git a/libc/Android.bp b/libc/Android.bp
index 10f4311..cdd5473 100644
--- a/libc/Android.bp
+++ b/libc/Android.bp
@@ -1631,6 +1631,7 @@
"gwp_asan",
"libc_init_dynamic",
"libc_common_shared",
+ "libunwind-exported",
],
},
@@ -1672,8 +1673,6 @@
srcs: [":libc_sources_shared_arm"],
// special for arm
cflags: ["-DCRT_LEGACY_WORKAROUND"],
-
- whole_static_libs: [ "libunwind_llvm" ],
},
// Arm 32 bit does not produce complete exidx unwind information
@@ -1692,10 +1691,6 @@
strip: {
keep_symbols: true,
},
-
- shared: {
- whole_static_libs: [ "libgcc_stripped" ],
- },
},
x86: {
// TODO: This is to work around b/24465209. Remove after root cause is fixed.
@@ -1709,10 +1704,6 @@
strip: {
keep_symbols: true,
},
-
- shared: {
- whole_static_libs: [ "libgcc_stripped" ],
- },
},
x86_64: {
version_script: ":libc.x86_64.map",
@@ -1722,10 +1713,6 @@
strip: {
keep_symbols: true,
},
-
- shared: {
- whole_static_libs: [ "libgcc_stripped" ],
- },
},
},