summaryrefslogtreecommitdiff
path: root/libnativeloader/libnativeloader_test.map
diff options
context:
space:
mode:
author Ryan Prichard <rprichard@google.com> 2024-04-16 20:34:49 -0700
committer Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-04-22 11:23:04 +0000
commitd229e50a7cf690dd6183efb4dad56ccb90349a71 (patch)
tree29f828cfcb797f27f6e62b848400c753727cd8e7 /libnativeloader/libnativeloader_test.map
parent4a79b17f374df876803e34edb60476fe33ab1671 (diff)
ART standalone tests: use static STL and version scripts
Set "stl" to "libc++_static" in art_standalone_test_defaults. By default, localize/hide all of a test binary's symbols. In particular, symbols from libc++_static.a must not be exported from the test executable, because only *some* libc++ symbols would be exported (e.g. those that are also seen in other .dynsym sections at build time), and exporting this subset of symbols can break libc++ (e.g. inconsistent facet registration, b/331873741). It is also important to hide libbase.a symbols, such as constructors/destructors for internal classes like LogMessage. Using a version script also hides vaguely-linked libc++ symbols that could come from libc++'s headers, not libc++_static.a, such as vtables and template functions. `--exclude-libs=libc++_static.a` wouldn't hide these symbols. Bug: 331873741 Bug: 333438055 Test: atest art_libnativebridge_cts_tests art_standalone_artd_tests art_standalone_cmdline_tests art_standalone_compiler_tests art_standalone_dex2oat_cts_tests art_standalone_dex2oat_tests art_standalone_dexdump_tests art_standalone_dexlist_tests art_standalone_dexopt_chroot_setup_tests art_standalone_dexoptanalyzer_tests art_standalone_dexpreopt_tests art_standalone_disassembler_tests art_standalone_libartbase_tests art_standalone_libartpalette_tests art_standalone_libartservice_tests art_standalone_libarttools_tests art_standalone_libdexfile_external_tests art_standalone_libdexfile_support_tests art_standalone_libdexfile_tests art_standalone_libprofile_tests art_standalone_oatdump_tests art_standalone_odrefresh_tests art_standalone_profman_tests art_standalone_runtime_tests art_standalone_sigchain_tests libnativeloader_lazy_test libnativeloader_test Change-Id: Ibfe8de492c76c83c76b00c7124d5a94775579d03
Diffstat (limited to 'libnativeloader/libnativeloader_test.map')
-rw-r--r--libnativeloader/libnativeloader_test.map26
1 files changed, 26 insertions, 0 deletions
diff --git a/libnativeloader/libnativeloader_test.map b/libnativeloader/libnativeloader_test.map
new file mode 100644
index 0000000000..1f26f9ffc8
--- /dev/null
+++ b/libnativeloader/libnativeloader_test.map
@@ -0,0 +1,26 @@
+#
+# Copyright (C) 2024 The Android Open Source Project
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+{
+ global:
+ # The tests mock libdl_android and libnativebridge symbols, so export them
+ # to override the ones loaded from their libs.
+ android_*;
+ NativeBridge*;
+
+ local:
+ *;
+};