From 8782e1e85864ab4bac1d7b85b8cdada181b793de Mon Sep 17 00:00:00 2001 From: Jared Duke Date: Thu, 25 Apr 2024 19:04:01 +0000 Subject: Use a version script for libaconfig_storage_read_api_cc Restrict the set of exported symbols to those in the aconfig_storage namespace by way of a version script. This shrinks the shared lib size by ~75%, from ~800KB to <200KB. Bug: 336657207 Test: m Change-Id: I56044fe667a713cf1d94f96c992f379a5725850f --- tools/aconfig/aconfig_storage_read_api/Android.bp | 4 +--- .../libaconfig_storage_read_api_cc.map | 11 +++++++++++ 2 files changed, 12 insertions(+), 3 deletions(-) create mode 100644 tools/aconfig/aconfig_storage_read_api/libaconfig_storage_read_api_cc.map diff --git a/tools/aconfig/aconfig_storage_read_api/Android.bp b/tools/aconfig/aconfig_storage_read_api/Android.bp index 946c00bf23..880d8ccdc8 100644 --- a/tools/aconfig/aconfig_storage_read_api/Android.bp +++ b/tools/aconfig/aconfig_storage_read_api/Android.bp @@ -102,8 +102,6 @@ cc_library { "//apex_available:anyapex", ], min_sdk_version: "29", + version_script: "libaconfig_storage_read_api_cc.map", double_loadable: true, - cflags: [ - "-fvisibility=hidden", - ], } diff --git a/tools/aconfig/aconfig_storage_read_api/libaconfig_storage_read_api_cc.map b/tools/aconfig/aconfig_storage_read_api/libaconfig_storage_read_api_cc.map new file mode 100644 index 0000000000..7d47e0ba0e --- /dev/null +++ b/tools/aconfig/aconfig_storage_read_api/libaconfig_storage_read_api_cc.map @@ -0,0 +1,11 @@ +LIBACONFIG_STORAGE_READ_API_CC { + # Export everything in the aconfig_storage namespace. This includes both the + # public API and library internals. + global: + extern "C++" { + aconfig_storage::*; + }; + # Hide everything else. + local: + *; +}; -- cgit v1.2.3