From e5ba28648f8ea79764e06c854af595595b7c9e8e Mon Sep 17 00:00:00 2001 From: Peter Collingbourne Date: Tue, 10 Dec 2019 18:37:45 -0800 Subject: build: Link the unwinder dynamically into platform and vendor binaries. Instead of linking the unwinder statically into every binary, link it dynamically, by exporting the symbols from libc.so. This has a number of advantages: - Reduces image size (system.img size decreases by 1.7MB on walleye-userdebug, and 1.2MB on crosshatch-userdebug). - Allows us to easily change/upgrade the unwinder throughout the system, including vendor prebuilts. - Allows code outside of libc++ to define custom personality routines. Previously, personality routines would call the unwinder routines in the local binary, which would cause problems with unwinders with global state (such as the libgcc unwinder) if the copy of the unwinder used for unwinding (normally libc++'s copy) were different from the copy linked against the personality routine. Bug: 144430859 Change-Id: I3b2a4a3ee58c6777989f811e19a3aeb47c0945bd --- Android.bp | 1 + 1 file changed, 1 insertion(+) (limited to 'Android.bp') diff --git a/Android.bp b/Android.bp index 9403b26f..45180c38 100644 --- a/Android.bp +++ b/Android.bp @@ -595,6 +595,7 @@ toolchain_library { vendor_available: true, recovery_available: true, native_bridge_supported: true, + sdk_version: "current", arch: { arm: { -- cgit v1.2.3