1*8d67ca89SAndroid Build Coastguard Worker// 2*8d67ca89SAndroid Build Coastguard Worker// Copyright (C) 2012 The Android Open Source Project 3*8d67ca89SAndroid Build Coastguard Worker// 4*8d67ca89SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License"); 5*8d67ca89SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License. 6*8d67ca89SAndroid Build Coastguard Worker// You may obtain a copy of the License at 7*8d67ca89SAndroid Build Coastguard Worker// 8*8d67ca89SAndroid Build Coastguard Worker// http://www.apache.org/licenses/LICENSE-2.0 9*8d67ca89SAndroid Build Coastguard Worker// 10*8d67ca89SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software 11*8d67ca89SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS, 12*8d67ca89SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*8d67ca89SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and 14*8d67ca89SAndroid Build Coastguard Worker// limitations under the License. 15*8d67ca89SAndroid Build Coastguard Worker// 16*8d67ca89SAndroid Build Coastguard Worker 17*8d67ca89SAndroid Build Coastguard Workerpackage { 18*8d67ca89SAndroid Build Coastguard Worker default_team: "trendy_team_native_tools_libraries", 19*8d67ca89SAndroid Build Coastguard Worker default_applicable_licenses: ["bionic_tests_license"], 20*8d67ca89SAndroid Build Coastguard Worker} 21*8d67ca89SAndroid Build Coastguard Worker 22*8d67ca89SAndroid Build Coastguard Workercc_defaults { 23*8d67ca89SAndroid Build Coastguard Worker name: "bionic_testlib_defaults", 24*8d67ca89SAndroid Build Coastguard Worker host_supported: true, 25*8d67ca89SAndroid Build Coastguard Worker cflags: [ 26*8d67ca89SAndroid Build Coastguard Worker "-Wall", 27*8d67ca89SAndroid Build Coastguard Worker "-Werror", 28*8d67ca89SAndroid Build Coastguard Worker ], 29*8d67ca89SAndroid Build Coastguard Worker ldflags: [ 30*8d67ca89SAndroid Build Coastguard Worker "-Wl,--rpath,${ORIGIN}", 31*8d67ca89SAndroid Build Coastguard Worker "-Wl,--enable-new-dtags", 32*8d67ca89SAndroid Build Coastguard Worker ], 33*8d67ca89SAndroid Build Coastguard Worker static_libs: ["libbase"], 34*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs", 35*8d67ca89SAndroid Build Coastguard Worker gtest: false, 36*8d67ca89SAndroid Build Coastguard Worker sanitize: { 37*8d67ca89SAndroid Build Coastguard Worker address: false, 38*8d67ca89SAndroid Build Coastguard Worker }, 39*8d67ca89SAndroid Build Coastguard Worker stl: "libc++_static", 40*8d67ca89SAndroid Build Coastguard Worker target: { 41*8d67ca89SAndroid Build Coastguard Worker darwin: { 42*8d67ca89SAndroid Build Coastguard Worker enabled: false, 43*8d67ca89SAndroid Build Coastguard Worker }, 44*8d67ca89SAndroid Build Coastguard Worker }, 45*8d67ca89SAndroid Build Coastguard Worker strip: { 46*8d67ca89SAndroid Build Coastguard Worker none: true, 47*8d67ca89SAndroid Build Coastguard Worker }, 48*8d67ca89SAndroid Build Coastguard Worker} 49*8d67ca89SAndroid Build Coastguard Worker 50*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 51*8d67ca89SAndroid Build Coastguard Worker// Test library ELFs for linker page size related tests 52*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 53*8d67ca89SAndroid Build Coastguard Workercc_test_library { 54*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elf_max_page_size_4kib", 55*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 56*8d67ca89SAndroid Build Coastguard Worker srcs: ["elf_max_page_size.c"], 57*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-z max-page-size=0x1000"], 58*8d67ca89SAndroid Build Coastguard Worker} 59*8d67ca89SAndroid Build Coastguard Worker 60*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 61*8d67ca89SAndroid Build Coastguard Worker// Libraries and helper binaries for ELF TLS 62*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 63*8d67ca89SAndroid Build Coastguard Workercc_test_library { 64*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_shared_var", 65*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 66*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_shared_var.cpp"], 67*8d67ca89SAndroid Build Coastguard Worker} 68*8d67ca89SAndroid Build Coastguard Worker 69*8d67ca89SAndroid Build Coastguard Workercc_test_library { 70*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_shared_var_ie", 71*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 72*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_shared_var_ie.cpp"], 73*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_elftls_shared_var"], 74*8d67ca89SAndroid Build Coastguard Worker} 75*8d67ca89SAndroid Build Coastguard Worker 76*8d67ca89SAndroid Build Coastguard Workercc_test_library { 77*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_tprel", 78*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 79*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_tprel.cpp"], 80*8d67ca89SAndroid Build Coastguard Worker} 81*8d67ca89SAndroid Build Coastguard Worker 82*8d67ca89SAndroid Build Coastguard Workercc_test { 83*8d67ca89SAndroid Build Coastguard Worker name: "elftls_dlopen_ie_error_helper", 84*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 85*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_dlopen_ie_error_helper.cpp"], 86*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/.."], 87*8d67ca89SAndroid Build Coastguard Worker} 88*8d67ca89SAndroid Build Coastguard Worker 89*8d67ca89SAndroid Build Coastguard Workercc_test_library { 90*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_dynamic", 91*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 92*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_dynamic.cpp"], 93*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_elftls_shared_var"], 94*8d67ca89SAndroid Build Coastguard Worker} 95*8d67ca89SAndroid Build Coastguard Worker 96*8d67ca89SAndroid Build Coastguard Workercc_test { 97*8d67ca89SAndroid Build Coastguard Worker name: "thread_exit_cb_helper", 98*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 99*8d67ca89SAndroid Build Coastguard Worker srcs: ["thread_exit_cb_helper.cpp"], 100*8d67ca89SAndroid Build Coastguard Worker} 101*8d67ca89SAndroid Build Coastguard Worker 102*8d67ca89SAndroid Build Coastguard Workercc_test { 103*8d67ca89SAndroid Build Coastguard Worker name: "tls_properties_helper", 104*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 105*8d67ca89SAndroid Build Coastguard Worker srcs: ["tls_properties_helper.cpp"], 106*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_elftls_shared_var"], 107*8d67ca89SAndroid Build Coastguard Worker} 108*8d67ca89SAndroid Build Coastguard Worker 109*8d67ca89SAndroid Build Coastguard Workercc_test_library { 110*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_dynamic_filler_1", 111*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 112*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_dynamic_filler.cpp"], 113*8d67ca89SAndroid Build Coastguard Worker cflags: [ 114*8d67ca89SAndroid Build Coastguard Worker "-DTLS_FILLER=100", 115*8d67ca89SAndroid Build Coastguard Worker ], 116*8d67ca89SAndroid Build Coastguard Worker} 117*8d67ca89SAndroid Build Coastguard Worker 118*8d67ca89SAndroid Build Coastguard Workercc_test_library { 119*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_dynamic_filler_2", 120*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 121*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_dynamic_filler.cpp"], 122*8d67ca89SAndroid Build Coastguard Worker cflags: [ 123*8d67ca89SAndroid Build Coastguard Worker "-DTLS_FILLER=200", 124*8d67ca89SAndroid Build Coastguard Worker ], 125*8d67ca89SAndroid Build Coastguard Worker} 126*8d67ca89SAndroid Build Coastguard Worker 127*8d67ca89SAndroid Build Coastguard Workercc_test_library { 128*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_dynamic_filler_3", 129*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 130*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_dynamic_filler.cpp"], 131*8d67ca89SAndroid Build Coastguard Worker cflags: [ 132*8d67ca89SAndroid Build Coastguard Worker "-DTLS_FILLER=300", 133*8d67ca89SAndroid Build Coastguard Worker ], 134*8d67ca89SAndroid Build Coastguard Worker} 135*8d67ca89SAndroid Build Coastguard Worker 136*8d67ca89SAndroid Build Coastguard Workercc_test_library { 137*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_dynamic_filler_4", 138*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 139*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_dynamic_filler.cpp"], 140*8d67ca89SAndroid Build Coastguard Worker cflags: [ 141*8d67ca89SAndroid Build Coastguard Worker "-DTLS_FILLER=400", 142*8d67ca89SAndroid Build Coastguard Worker ], 143*8d67ca89SAndroid Build Coastguard Worker} 144*8d67ca89SAndroid Build Coastguard Worker 145*8d67ca89SAndroid Build Coastguard Workercc_test_library { 146*8d67ca89SAndroid Build Coastguard Worker name: "libtest_elftls_dynamic_filler_5", 147*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 148*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_dynamic_filler.cpp"], 149*8d67ca89SAndroid Build Coastguard Worker cflags: [ 150*8d67ca89SAndroid Build Coastguard Worker "-DTLS_FILLER=500", 151*8d67ca89SAndroid Build Coastguard Worker ], 152*8d67ca89SAndroid Build Coastguard Worker} 153*8d67ca89SAndroid Build Coastguard Worker 154*8d67ca89SAndroid Build Coastguard Workercc_test { 155*8d67ca89SAndroid Build Coastguard Worker name: "elftls_dtv_resize_helper", 156*8d67ca89SAndroid Build Coastguard Worker defaults: [ 157*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 158*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 159*8d67ca89SAndroid Build Coastguard Worker ], 160*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_dtv_resize_helper.cpp"], 161*8d67ca89SAndroid Build Coastguard Worker include_dirs: [ 162*8d67ca89SAndroid Build Coastguard Worker "bionic/libc", 163*8d67ca89SAndroid Build Coastguard Worker ], 164*8d67ca89SAndroid Build Coastguard Worker static_libs: [ 165*8d67ca89SAndroid Build Coastguard Worker "libbase", 166*8d67ca89SAndroid Build Coastguard Worker ], 167*8d67ca89SAndroid Build Coastguard Worker} 168*8d67ca89SAndroid Build Coastguard Worker 169*8d67ca89SAndroid Build Coastguard Workercc_test { 170*8d67ca89SAndroid Build Coastguard Worker name: "elftls_align_test_helper", 171*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 172*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_align_test_helper.cpp"], 173*8d67ca89SAndroid Build Coastguard Worker stl: "none", // avoid including extra TLS variables in the executable 174*8d67ca89SAndroid Build Coastguard Worker} 175*8d67ca89SAndroid Build Coastguard Worker 176*8d67ca89SAndroid Build Coastguard Workercc_test { 177*8d67ca89SAndroid Build Coastguard Worker name: "elftls_skew_align_test_helper", 178*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 179*8d67ca89SAndroid Build Coastguard Worker srcs: ["elftls_skew_align_test_helper.cpp"], 180*8d67ca89SAndroid Build Coastguard Worker stl: "none", // avoid including extra TLS variables in the executable 181*8d67ca89SAndroid Build Coastguard Worker} 182*8d67ca89SAndroid Build Coastguard Worker 183*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 184*8d67ca89SAndroid Build Coastguard Worker// Library to test gnu-styled hash 185*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 186*8d67ca89SAndroid Build Coastguard Workercc_test_library { 187*8d67ca89SAndroid Build Coastguard Worker name: "libgnu-hash-table-library", 188*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 189*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlext_test_library.cpp"], 190*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--hash-style=gnu"], 191*8d67ca89SAndroid Build Coastguard Worker} 192*8d67ca89SAndroid Build Coastguard Worker 193*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 194*8d67ca89SAndroid Build Coastguard Worker// Library to test sysv-styled hash 195*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 196*8d67ca89SAndroid Build Coastguard Workercc_test_library { 197*8d67ca89SAndroid Build Coastguard Worker name: "libsysv-hash-table-library", 198*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 199*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlext_test_library.cpp"], 200*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--hash-style=sysv"], 201*8d67ca89SAndroid Build Coastguard Worker} 202*8d67ca89SAndroid Build Coastguard Worker 203*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 204*8d67ca89SAndroid Build Coastguard Worker// Library used by dlext tests - with GNU RELRO program header 205*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 206*8d67ca89SAndroid Build Coastguard Workercc_test_library { 207*8d67ca89SAndroid Build Coastguard Worker name: "libdlext_test", 208*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 209*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlext_test_library.cpp"], 210*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-z,relro"], 211*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_simple"], 212*8d67ca89SAndroid Build Coastguard Worker} 213*8d67ca89SAndroid Build Coastguard Worker 214*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 215*8d67ca89SAndroid Build Coastguard Worker// Library used by dlext tests - without GNU RELRO program header 216*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 217*8d67ca89SAndroid Build Coastguard Workercc_test_library { 218*8d67ca89SAndroid Build Coastguard Worker name: "libdlext_test_norelro", 219*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 220*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlext_test_library.cpp"], 221*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-z,norelro"], 222*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_simple"], 223*8d67ca89SAndroid Build Coastguard Worker} 224*8d67ca89SAndroid Build Coastguard Worker 225*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 226*8d67ca89SAndroid Build Coastguard Worker// Library used by dlext tests - recursive use of RELRO sharing 227*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 228*8d67ca89SAndroid Build Coastguard Workercc_test_library { 229*8d67ca89SAndroid Build Coastguard Worker name: "libdlext_test_recursive", 230*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 231*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlext_test_recursive_library.cpp"], 232*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-z,relro"], 233*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libdlext_test"], 234*8d67ca89SAndroid Build Coastguard Worker} 235*8d67ca89SAndroid Build Coastguard Worker 236*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 237*8d67ca89SAndroid Build Coastguard Worker// Library used by dlext tests - different name non-default location 238*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 239*8d67ca89SAndroid Build Coastguard Workercc_test_library { 240*8d67ca89SAndroid Build Coastguard Worker name: "libdlext_test_fd", 241*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 242*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 243*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlext_test_library.cpp"], 244*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/.."], 245*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/libdlext_test_fd", 246*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_simple"], 247*8d67ca89SAndroid Build Coastguard Worker} 248*8d67ca89SAndroid Build Coastguard Worker 249*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 250*8d67ca89SAndroid Build Coastguard Worker// Libraries used by dlext tests for open from a zip-file 251*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 252*8d67ca89SAndroid Build Coastguard Workercc_test_library { 253*8d67ca89SAndroid Build Coastguard Worker name: "libdlext_test_zip", 254*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 255*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 256*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlext_test_library.cpp"], 257*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libatest_simple_zip"], 258*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/libdlext_test_zip", 259*8d67ca89SAndroid Build Coastguard Worker} 260*8d67ca89SAndroid Build Coastguard Worker 261*8d67ca89SAndroid Build Coastguard Workercc_test_library { 262*8d67ca89SAndroid Build Coastguard Worker name: "libatest_simple_zip", 263*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 264*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 265*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_simple.cpp"], 266*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/libatest_simple_zip", 267*8d67ca89SAndroid Build Coastguard Worker} 268*8d67ca89SAndroid Build Coastguard Worker 269*8d67ca89SAndroid Build Coastguard Worker// ---------------------------------------------------------------------------- 270*8d67ca89SAndroid Build Coastguard Worker// Library with soname which does not match filename 271*8d67ca89SAndroid Build Coastguard Worker// ---------------------------------------------------------------------------- 272*8d67ca89SAndroid Build Coastguard Workercc_test_library { 273*8d67ca89SAndroid Build Coastguard Worker name: "libdlext_test_different_soname", 274*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 275*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlext_test_library.cpp"], 276*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-soname=libdlext_test_soname.so"], 277*8d67ca89SAndroid Build Coastguard Worker} 278*8d67ca89SAndroid Build Coastguard Worker 279*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 280*8d67ca89SAndroid Build Coastguard Worker// Library used by dlext tests - zipped and aligned 281*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 282*8d67ca89SAndroid Build Coastguard Worker// In Android.mk to support zipped and aligned tests 283*8d67ca89SAndroid Build Coastguard Worker 284*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 285*8d67ca89SAndroid Build Coastguard Worker// Library used by dlfcn tests 286*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 287*8d67ca89SAndroid Build Coastguard Workercc_test_library { 288*8d67ca89SAndroid Build Coastguard Worker name: "libtest_simple", 289*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 290*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_simple.cpp"], 291*8d67ca89SAndroid Build Coastguard Worker} 292*8d67ca89SAndroid Build Coastguard Worker 293*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 294*8d67ca89SAndroid Build Coastguard Worker// Libraries and binaries used by memtag_stack_dlopen_test tests 295*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 296*8d67ca89SAndroid Build Coastguard Workercc_test_library { 297*8d67ca89SAndroid Build Coastguard Worker name: "libtest_simple_memtag_stack", 298*8d67ca89SAndroid Build Coastguard Worker sanitize: { 299*8d67ca89SAndroid Build Coastguard Worker memtag_stack: true, 300*8d67ca89SAndroid Build Coastguard Worker }, 301*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_simple.cpp"], 302*8d67ca89SAndroid Build Coastguard Worker} 303*8d67ca89SAndroid Build Coastguard Worker 304*8d67ca89SAndroid Build Coastguard Workercc_test_library { 305*8d67ca89SAndroid Build Coastguard Worker name: "libtest_depends_on_simple_memtag_stack", 306*8d67ca89SAndroid Build Coastguard Worker sanitize: { 307*8d67ca89SAndroid Build Coastguard Worker memtag_stack: false, 308*8d67ca89SAndroid Build Coastguard Worker }, 309*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 310*8d67ca89SAndroid Build Coastguard Worker "libtest_simple_memtag_stack", 311*8d67ca89SAndroid Build Coastguard Worker ], 312*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_depends_on_simple.cpp"], 313*8d67ca89SAndroid Build Coastguard Worker} 314*8d67ca89SAndroid Build Coastguard Worker 315*8d67ca89SAndroid Build Coastguard Workercc_binary { 316*8d67ca89SAndroid Build Coastguard Worker name: "testbinary_is_stack_mte_after_dlopen", 317*8d67ca89SAndroid Build Coastguard Worker sanitize: { 318*8d67ca89SAndroid Build Coastguard Worker memtag_stack: false, 319*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 320*8d67ca89SAndroid Build Coastguard Worker }, 321*8d67ca89SAndroid Build Coastguard Worker srcs: ["testbinary_is_stack_mte_after_dlopen.cpp"], 322*8d67ca89SAndroid Build Coastguard Worker} 323*8d67ca89SAndroid Build Coastguard Worker 324*8d67ca89SAndroid Build Coastguard Workercc_binary { 325*8d67ca89SAndroid Build Coastguard Worker name: "testbinary_depends_on_simple_memtag_stack", 326*8d67ca89SAndroid Build Coastguard Worker sanitize: { 327*8d67ca89SAndroid Build Coastguard Worker memtag_stack: false, 328*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 329*8d67ca89SAndroid Build Coastguard Worker }, 330*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 331*8d67ca89SAndroid Build Coastguard Worker "libtest_simple_memtag_stack", 332*8d67ca89SAndroid Build Coastguard Worker ], 333*8d67ca89SAndroid Build Coastguard Worker srcs: ["testbinary_is_stack_mte.cpp"], 334*8d67ca89SAndroid Build Coastguard Worker} 335*8d67ca89SAndroid Build Coastguard Worker 336*8d67ca89SAndroid Build Coastguard Workercc_binary { 337*8d67ca89SAndroid Build Coastguard Worker name: "testbinary_depends_on_depends_on_simple_memtag_stack", 338*8d67ca89SAndroid Build Coastguard Worker sanitize: { 339*8d67ca89SAndroid Build Coastguard Worker memtag_stack: false, 340*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 341*8d67ca89SAndroid Build Coastguard Worker }, 342*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 343*8d67ca89SAndroid Build Coastguard Worker "libtest_depends_on_simple_memtag_stack", 344*8d67ca89SAndroid Build Coastguard Worker ], 345*8d67ca89SAndroid Build Coastguard Worker srcs: ["testbinary_is_stack_mte.cpp"], 346*8d67ca89SAndroid Build Coastguard Worker} 347*8d67ca89SAndroid Build Coastguard Worker 348*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 349*8d67ca89SAndroid Build Coastguard Worker// Libraries used by hwasan_test 350*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 351*8d67ca89SAndroid Build Coastguard Workercc_test_library { 352*8d67ca89SAndroid Build Coastguard Worker name: "libtest_simple_hwasan", 353*8d67ca89SAndroid Build Coastguard Worker arch: { 354*8d67ca89SAndroid Build Coastguard Worker arm64: { 355*8d67ca89SAndroid Build Coastguard Worker enabled: true, 356*8d67ca89SAndroid Build Coastguard Worker }, 357*8d67ca89SAndroid Build Coastguard Worker }, 358*8d67ca89SAndroid Build Coastguard Worker sanitize: { 359*8d67ca89SAndroid Build Coastguard Worker hwaddress: true, 360*8d67ca89SAndroid Build Coastguard Worker }, 361*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "hwasan", 362*8d67ca89SAndroid Build Coastguard Worker enabled: false, 363*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_simple_hwasan.cpp"], 364*8d67ca89SAndroid Build Coastguard Worker} 365*8d67ca89SAndroid Build Coastguard Worker 366*8d67ca89SAndroid Build Coastguard Workercc_test_library { 367*8d67ca89SAndroid Build Coastguard Worker // A weird name. This is the vanilla (non-HWASan) copy of the library that 368*8d67ca89SAndroid Build Coastguard Worker // is used for the hwasan test. 369*8d67ca89SAndroid Build Coastguard Worker name: "libtest_simple_hwasan_nohwasan", 370*8d67ca89SAndroid Build Coastguard Worker arch: { 371*8d67ca89SAndroid Build Coastguard Worker arm64: { 372*8d67ca89SAndroid Build Coastguard Worker enabled: true, 373*8d67ca89SAndroid Build Coastguard Worker }, 374*8d67ca89SAndroid Build Coastguard Worker }, 375*8d67ca89SAndroid Build Coastguard Worker stem: "libtest_simple_hwasan", 376*8d67ca89SAndroid Build Coastguard Worker enabled: false, 377*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_simple_hwasan.cpp"], 378*8d67ca89SAndroid Build Coastguard Worker} 379*8d67ca89SAndroid Build Coastguard Worker 380*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 381*8d67ca89SAndroid Build Coastguard Worker// Library used by dlext direct unload on the namespace boundary tests 382*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 383*8d67ca89SAndroid Build Coastguard Workercc_test_library { 384*8d67ca89SAndroid Build Coastguard Worker name: "libtest_missing_symbol", 385*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 386*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_missing_symbol.cpp"], 387*8d67ca89SAndroid Build Coastguard Worker allow_undefined_symbols: true, 388*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/public_namespace_libs", 389*8d67ca89SAndroid Build Coastguard Worker} 390*8d67ca89SAndroid Build Coastguard Worker 391*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 392*8d67ca89SAndroid Build Coastguard Worker// Library used by dlext indirect unload on the namespace boundary tests 393*8d67ca89SAndroid Build Coastguard Worker// 394*8d67ca89SAndroid Build Coastguard Worker// These libraries produce following dependency graph: 395*8d67ca89SAndroid Build Coastguard Worker// libtest_missing_symbol_root (private ns) 396*8d67ca89SAndroid Build Coastguard Worker// +-> libbnstest_public (public ns) 397*8d67ca89SAndroid Build Coastguard Worker// +-> libtest_missing_symbol_child_public (public ns) 398*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_public (public ns) 399*8d67ca89SAndroid Build Coastguard Worker// +-> libtest_missing_symbol_child_private (private_ns) 400*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_public (public_ns) 401*8d67ca89SAndroid Build Coastguard Worker// 402*8d67ca89SAndroid Build Coastguard Worker// All libraries except libtest_missing_symbol are located in 403*8d67ca89SAndroid Build Coastguard Worker// private_namespace_libs/ 404*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 405*8d67ca89SAndroid Build Coastguard Workercc_test_library { 406*8d67ca89SAndroid Build Coastguard Worker name: "libtest_missing_symbol_child_public", 407*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 408*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 409*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/public_namespace_libs", 410*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libnstest_public"], 411*8d67ca89SAndroid Build Coastguard Worker} 412*8d67ca89SAndroid Build Coastguard Worker 413*8d67ca89SAndroid Build Coastguard Workercc_test_library { 414*8d67ca89SAndroid Build Coastguard Worker name: "libtest_missing_symbol_child_private", 415*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 416*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 417*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/private_namespace_libs", 418*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libnstest_public"], 419*8d67ca89SAndroid Build Coastguard Worker} 420*8d67ca89SAndroid Build Coastguard Worker 421*8d67ca89SAndroid Build Coastguard Workercc_test_library { 422*8d67ca89SAndroid Build Coastguard Worker name: "libtest_missing_symbol_root", 423*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 424*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_missing_symbol.cpp"], 425*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/private_namespace_libs", 426*8d67ca89SAndroid Build Coastguard Worker allow_undefined_symbols: true, 427*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 428*8d67ca89SAndroid Build Coastguard Worker "libnstest_public", 429*8d67ca89SAndroid Build Coastguard Worker "libtest_missing_symbol_child_public", 430*8d67ca89SAndroid Build Coastguard Worker "libtest_missing_symbol_child_private", 431*8d67ca89SAndroid Build Coastguard Worker ], 432*8d67ca89SAndroid Build Coastguard Worker} 433*8d67ca89SAndroid Build Coastguard Worker 434*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 435*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 436*8d67ca89SAndroid Build Coastguard Worker// Library used by dlfcn nodelete tests 437*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 438*8d67ca89SAndroid Build Coastguard Workercc_test_library { 439*8d67ca89SAndroid Build Coastguard Worker name: "libtest_nodelete_1", 440*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 441*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_nodelete_1.cpp"], 442*8d67ca89SAndroid Build Coastguard Worker} 443*8d67ca89SAndroid Build Coastguard Worker 444*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 445*8d67ca89SAndroid Build Coastguard Worker// Library used by dlfcn nodelete tests 446*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 447*8d67ca89SAndroid Build Coastguard Workercc_test_library { 448*8d67ca89SAndroid Build Coastguard Worker name: "libtest_nodelete_2", 449*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 450*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_nodelete_2.cpp"], 451*8d67ca89SAndroid Build Coastguard Worker} 452*8d67ca89SAndroid Build Coastguard Worker 453*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 454*8d67ca89SAndroid Build Coastguard Worker// Library used by dlfcn nodelete tests 455*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 456*8d67ca89SAndroid Build Coastguard Workercc_test_library { 457*8d67ca89SAndroid Build Coastguard Worker name: "libtest_nodelete_dt_flags_1", 458*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 459*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_nodelete_dt_flags_1.cpp"], 460*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-z,nodelete"], 461*8d67ca89SAndroid Build Coastguard Worker} 462*8d67ca89SAndroid Build Coastguard Worker 463*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 464*8d67ca89SAndroid Build Coastguard Worker// Build test helper libraries for linker namespaces 465*8d67ca89SAndroid Build Coastguard Worker// 466*8d67ca89SAndroid Build Coastguard Worker// This set of libraries is used to verify linker namespaces. 467*8d67ca89SAndroid Build Coastguard Worker// 468*8d67ca89SAndroid Build Coastguard Worker// Test cases 469*8d67ca89SAndroid Build Coastguard Worker// 1. Check that private libraries loaded in different namespaces are 470*8d67ca89SAndroid Build Coastguard Worker// different. Check that dlsym does not confuse them. 471*8d67ca89SAndroid Build Coastguard Worker// 2. Check that public libraries loaded in different namespaces are shared 472*8d67ca89SAndroid Build Coastguard Worker// between them. 473*8d67ca89SAndroid Build Coastguard Worker// 3. Check that namespace sticks on dlopen 474*8d67ca89SAndroid Build Coastguard Worker// 4. Check that having access to shared library (libnstest_public.so) 475*8d67ca89SAndroid Build Coastguard Worker// does not expose symbols from dependent library (libnstest_public_internal.so) 476*8d67ca89SAndroid Build Coastguard Worker// 477*8d67ca89SAndroid Build Coastguard Worker// Dependency tree (visibility) 478*8d67ca89SAndroid Build Coastguard Worker// libnstest_root.so (this should be local to the namespace) 479*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_public.so 480*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_public_internal.so 481*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_private.so 482*8d67ca89SAndroid Build Coastguard Worker// 483*8d67ca89SAndroid Build Coastguard Worker// libnstest_dlopened.so (library in private namespace dlopened from libnstest_root.so) 484*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 485*8d67ca89SAndroid Build Coastguard Workercc_test_library { 486*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_root", 487*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 488*8d67ca89SAndroid Build Coastguard Worker srcs: ["namespaces_root.cpp"], 489*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/private_namespace_libs", 490*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 491*8d67ca89SAndroid Build Coastguard Worker "libnstest_public", 492*8d67ca89SAndroid Build Coastguard Worker "libnstest_private", 493*8d67ca89SAndroid Build Coastguard Worker ], 494*8d67ca89SAndroid Build Coastguard Worker} 495*8d67ca89SAndroid Build Coastguard Worker 496*8d67ca89SAndroid Build Coastguard Workercc_test_library { 497*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_public_internal", 498*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 499*8d67ca89SAndroid Build Coastguard Worker srcs: ["namespaces_public_internal.cpp"], 500*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/public_namespace_libs", 501*8d67ca89SAndroid Build Coastguard Worker} 502*8d67ca89SAndroid Build Coastguard Worker 503*8d67ca89SAndroid Build Coastguard Workercc_test_library { 504*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_public", 505*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 506*8d67ca89SAndroid Build Coastguard Worker srcs: ["namespaces_public.cpp"], 507*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/public_namespace_libs", 508*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libnstest_public_internal"], 509*8d67ca89SAndroid Build Coastguard Worker} 510*8d67ca89SAndroid Build Coastguard Worker 511*8d67ca89SAndroid Build Coastguard Workercc_test_library { 512*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_private", 513*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 514*8d67ca89SAndroid Build Coastguard Worker srcs: ["namespaces_private.cpp"], 515*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/private_namespace_libs", 516*8d67ca89SAndroid Build Coastguard Worker} 517*8d67ca89SAndroid Build Coastguard Worker 518*8d67ca89SAndroid Build Coastguard Workercc_test_library { 519*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_dlopened", 520*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 521*8d67ca89SAndroid Build Coastguard Worker srcs: ["namespaces_dlopened.cpp"], 522*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/private_namespace_libs", 523*8d67ca89SAndroid Build Coastguard Worker} 524*8d67ca89SAndroid Build Coastguard Worker 525*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 526*8d67ca89SAndroid Build Coastguard Worker// Build test helper libraries for linker namespaces for allow all shared libs 527*8d67ca89SAndroid Build Coastguard Worker// 528*8d67ca89SAndroid Build Coastguard Worker// This set of libraries is used to verify linker namespaces for allow all 529*8d67ca89SAndroid Build Coastguard Worker// shared libs. 530*8d67ca89SAndroid Build Coastguard Worker// 531*8d67ca89SAndroid Build Coastguard Worker// Test cases 532*8d67ca89SAndroid Build Coastguard Worker// 1. Check that namespace a exposes libnstest_ns_a_public1 to 533*8d67ca89SAndroid Build Coastguard Worker// namespace b while keeping libnstest_ns_a_public1_internal as an 534*8d67ca89SAndroid Build Coastguard Worker// internal lib. 535*8d67ca89SAndroid Build Coastguard Worker// 2. Check that namespace b exposes all libraries to namespace a. 536*8d67ca89SAndroid Build Coastguard Worker// 537*8d67ca89SAndroid Build Coastguard Worker// Dependency tree (visibility) 538*8d67ca89SAndroid Build Coastguard Worker// libnstest_ns_b_public2.so (ns:b) 539*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_ns_a_public1.so (ns:a) 540*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_ns_a_public2_internal.so (ns:a) 541*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_ns_b_public3.so (ns:b) 542*8d67ca89SAndroid Build Coastguard Worker// 543*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 544*8d67ca89SAndroid Build Coastguard Workercc_test_library { 545*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_ns_a_public1", 546*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 547*8d67ca89SAndroid Build Coastguard Worker srcs: ["libnstest_ns_a_public1.cpp"], 548*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/ns_a", 549*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 550*8d67ca89SAndroid Build Coastguard Worker "libnstest_ns_a_public1_internal", 551*8d67ca89SAndroid Build Coastguard Worker "libnstest_ns_b_public3", 552*8d67ca89SAndroid Build Coastguard Worker ], 553*8d67ca89SAndroid Build Coastguard Worker} 554*8d67ca89SAndroid Build Coastguard Worker 555*8d67ca89SAndroid Build Coastguard Workercc_test_library { 556*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_ns_a_public1_internal", 557*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 558*8d67ca89SAndroid Build Coastguard Worker srcs: ["libnstest_ns_a_public1_internal.cpp"], 559*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/ns_a", 560*8d67ca89SAndroid Build Coastguard Worker} 561*8d67ca89SAndroid Build Coastguard Worker 562*8d67ca89SAndroid Build Coastguard Workercc_test_library { 563*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_ns_b_public2", 564*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 565*8d67ca89SAndroid Build Coastguard Worker srcs: ["libnstest_ns_b_public2.cpp"], 566*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/ns_b", 567*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libnstest_ns_a_public1"], 568*8d67ca89SAndroid Build Coastguard Worker} 569*8d67ca89SAndroid Build Coastguard Worker 570*8d67ca89SAndroid Build Coastguard Workercc_test_library { 571*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_ns_b_public3", 572*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 573*8d67ca89SAndroid Build Coastguard Worker srcs: ["libnstest_ns_b_public3.cpp"], 574*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/ns_b", 575*8d67ca89SAndroid Build Coastguard Worker} 576*8d67ca89SAndroid Build Coastguard Worker 577*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 578*8d67ca89SAndroid Build Coastguard Worker// Build test helper libraries for linker namespaces 579*8d67ca89SAndroid Build Coastguard Worker// 580*8d67ca89SAndroid Build Coastguard Worker// This set of libraries is to test isolated namespaces 581*8d67ca89SAndroid Build Coastguard Worker// 582*8d67ca89SAndroid Build Coastguard Worker// Isolated namespaces do not allow loading of the library outside of 583*8d67ca89SAndroid Build Coastguard Worker// the search paths. 584*8d67ca89SAndroid Build Coastguard Worker// 585*8d67ca89SAndroid Build Coastguard Worker// This library cannot be loaded in isolated namespace because one of DT_NEEDED 586*8d67ca89SAndroid Build Coastguard Worker// libraries is outside of the search paths. 587*8d67ca89SAndroid Build Coastguard Worker// 588*8d67ca89SAndroid Build Coastguard Worker// libnstest_root_not_isolated.so (DT_RUNPATH = $ORIGIN/../private_namespace_libs_external/) 589*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_public.so 590*8d67ca89SAndroid Build Coastguard Worker// +-> libnstest_private_external.so (located in $ORIGIN/../private_namespace_libs_external/) 591*8d67ca89SAndroid Build Coastguard Worker// 592*8d67ca89SAndroid Build Coastguard Worker// Search path: $NATIVE_TESTS/private_namespace_libs/ 593*8d67ca89SAndroid Build Coastguard Worker// 594*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 595*8d67ca89SAndroid Build Coastguard Worker 596*8d67ca89SAndroid Build Coastguard Workercc_test_library { 597*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_root_not_isolated", 598*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 599*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 600*8d67ca89SAndroid Build Coastguard Worker srcs: ["namespaces_root.cpp"], 601*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 602*8d67ca89SAndroid Build Coastguard Worker "libnstest_public", 603*8d67ca89SAndroid Build Coastguard Worker "libnstest_private_external", 604*8d67ca89SAndroid Build Coastguard Worker ], 605*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/private_namespace_libs", 606*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,$ORIGIN/../private_namespace_libs_external"], 607*8d67ca89SAndroid Build Coastguard Worker} 608*8d67ca89SAndroid Build Coastguard Worker 609*8d67ca89SAndroid Build Coastguard Workercc_test_library { 610*8d67ca89SAndroid Build Coastguard Worker name: "libnstest_private_external", 611*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 612*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 613*8d67ca89SAndroid Build Coastguard Worker srcs: ["namespaces_private.cpp"], 614*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/private_namespace_libs_external", 615*8d67ca89SAndroid Build Coastguard Worker} 616*8d67ca89SAndroid Build Coastguard Worker 617*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 618*8d67ca89SAndroid Build Coastguard Worker// ns_hidden_child linker namespace test 619*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 620*8d67ca89SAndroid Build Coastguard Worker 621*8d67ca89SAndroid Build Coastguard Workercc_test { 622*8d67ca89SAndroid Build Coastguard Worker name: "ns_hidden_child_helper", 623*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 624*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 625*8d67ca89SAndroid Build Coastguard Worker srcs: ["ns_hidden_child_helper.cpp"], 626*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 627*8d67ca89SAndroid Build Coastguard Worker "libns_hidden_child_internal", 628*8d67ca89SAndroid Build Coastguard Worker "libns_hidden_child_global", 629*8d67ca89SAndroid Build Coastguard Worker "libdl_android", 630*8d67ca89SAndroid Build Coastguard Worker ], 631*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/.."], 632*8d67ca89SAndroid Build Coastguard Worker} 633*8d67ca89SAndroid Build Coastguard Worker 634*8d67ca89SAndroid Build Coastguard Workercc_test_library { 635*8d67ca89SAndroid Build Coastguard Worker name: "libns_hidden_child_global", 636*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 637*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 638*8d67ca89SAndroid Build Coastguard Worker srcs: ["ns_hidden_child_global.cpp"], 639*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libns_hidden_child_internal"], 640*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-z,global"], 641*8d67ca89SAndroid Build Coastguard Worker} 642*8d67ca89SAndroid Build Coastguard Worker 643*8d67ca89SAndroid Build Coastguard Workercc_test_library { 644*8d67ca89SAndroid Build Coastguard Worker name: "libns_hidden_child_internal", 645*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 646*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 647*8d67ca89SAndroid Build Coastguard Worker srcs: ["ns_hidden_child_internal.cpp"], 648*8d67ca89SAndroid Build Coastguard Worker} 649*8d67ca89SAndroid Build Coastguard Worker 650*8d67ca89SAndroid Build Coastguard Workercc_test_library { 651*8d67ca89SAndroid Build Coastguard Worker name: "libns_hidden_child_public", 652*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 653*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 654*8d67ca89SAndroid Build Coastguard Worker srcs: ["ns_hidden_child_public.cpp"], 655*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libns_hidden_child_internal"], 656*8d67ca89SAndroid Build Coastguard Worker} 657*8d67ca89SAndroid Build Coastguard Worker 658*8d67ca89SAndroid Build Coastguard Workercc_test_library { 659*8d67ca89SAndroid Build Coastguard Worker name: "libns_hidden_child_app", 660*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 661*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 662*8d67ca89SAndroid Build Coastguard Worker srcs: ["ns_hidden_child_app.cpp"], 663*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libns_hidden_child_public"], 664*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/ns_hidden_child_app", 665*8d67ca89SAndroid Build Coastguard Worker} 666*8d67ca89SAndroid Build Coastguard Worker 667*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 668*8d67ca89SAndroid Build Coastguard Worker// Build DT_RUNPATH test helper libraries 669*8d67ca89SAndroid Build Coastguard Worker// 670*8d67ca89SAndroid Build Coastguard Worker// Dependencies 671*8d67ca89SAndroid Build Coastguard Worker// 672*8d67ca89SAndroid Build Coastguard Worker// libtest_dt_runpath_d.so runpath: ${ORIGIN}/dt_runpath_b_c_x, ${ORIGIN}/dt_runpath_y/${LIB} 673*8d67ca89SAndroid Build Coastguard Worker// |-> dt_runpath_b_c_x/libtest_dt_runpath_b.so runpath: ${ORIGIN}/../dt_runpath_a 674*8d67ca89SAndroid Build Coastguard Worker// | |-> dt_runpath_a/libtest_dt_runpath_a.so 675*8d67ca89SAndroid Build Coastguard Worker// |-> dt_runpath_b_c_x/libtest_dt_runpath_c.so runpath: ${ORIGIN}/invalid_dt_runpath 676*8d67ca89SAndroid Build Coastguard Worker// | |-> libtest_dt_runpath_a.so (soname) 677*8d67ca89SAndroid Build Coastguard Worker// |-> dt_runpath_y/lib[64]/libtest_dt_runpath_y.so 678*8d67ca89SAndroid Build Coastguard Worker// 679*8d67ca89SAndroid Build Coastguard Worker// This one is used to test dlopen 680*8d67ca89SAndroid Build Coastguard Worker// dt_runpath_b_c_x/libtest_dt_runpath_x.so 681*8d67ca89SAndroid Build Coastguard Worker// 682*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 683*8d67ca89SAndroid Build Coastguard Worker 684*8d67ca89SAndroid Build Coastguard Worker// A leaf library in a non-standard directory. 685*8d67ca89SAndroid Build Coastguard Workercc_test_library { 686*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dt_runpath_a", 687*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 688*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 689*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/dt_runpath_a", 690*8d67ca89SAndroid Build Coastguard Worker} 691*8d67ca89SAndroid Build Coastguard Worker 692*8d67ca89SAndroid Build Coastguard Worker// Depends on library A with a DT_RUNPATH 693*8d67ca89SAndroid Build Coastguard Workercc_test_library { 694*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dt_runpath_b", 695*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 696*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 697*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_dt_runpath_a"], 698*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/dt_runpath_b_c_x", 699*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/../dt_runpath_a"], 700*8d67ca89SAndroid Build Coastguard Worker} 701*8d67ca89SAndroid Build Coastguard Worker 702*8d67ca89SAndroid Build Coastguard Worker// Depends on library A with an incorrect DT_RUNPATH. This does not matter 703*8d67ca89SAndroid Build Coastguard Worker// because B is the first in the D (below) dependency order, and library A 704*8d67ca89SAndroid Build Coastguard Worker// is already loaded using the correct DT_RUNPATH from library B. 705*8d67ca89SAndroid Build Coastguard Workercc_test_library { 706*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dt_runpath_c", 707*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 708*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 709*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_dt_runpath_a"], 710*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/dt_runpath_b_c_x", 711*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/invalid_dt_runpath"], 712*8d67ca89SAndroid Build Coastguard Worker} 713*8d67ca89SAndroid Build Coastguard Worker 714*8d67ca89SAndroid Build Coastguard Worker// D depends on B, C, and Y with DT_RUNPATH. 715*8d67ca89SAndroid Build Coastguard Workercc_test_library { 716*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dt_runpath_d", 717*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 718*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_b.cpp"], 719*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 720*8d67ca89SAndroid Build Coastguard Worker "libtest_dt_runpath_b", 721*8d67ca89SAndroid Build Coastguard Worker "libtest_dt_runpath_c", 722*8d67ca89SAndroid Build Coastguard Worker "libtest_dt_runpath_y", 723*8d67ca89SAndroid Build Coastguard Worker ], 724*8d67ca89SAndroid Build Coastguard Worker ldflags: [ 725*8d67ca89SAndroid Build Coastguard Worker "-Wl,--rpath,${ORIGIN}/dt_runpath_b_c_x", 726*8d67ca89SAndroid Build Coastguard Worker "-Wl,--rpath,${ORIGIN}/dt_runpath_y/${LIB}", 727*8d67ca89SAndroid Build Coastguard Worker ], 728*8d67ca89SAndroid Build Coastguard Worker} 729*8d67ca89SAndroid Build Coastguard Worker 730*8d67ca89SAndroid Build Coastguard Worker// D version for open-from-zip test with runpath 731*8d67ca89SAndroid Build Coastguard Workercc_test_library { 732*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dt_runpath_d_zip", 733*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_b.cpp"], 734*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 735*8d67ca89SAndroid Build Coastguard Worker "libtest_dt_runpath_b", 736*8d67ca89SAndroid Build Coastguard Worker "libtest_dt_runpath_c", 737*8d67ca89SAndroid Build Coastguard Worker "libtest_dt_runpath_y", 738*8d67ca89SAndroid Build Coastguard Worker ], 739*8d67ca89SAndroid Build Coastguard Worker cflags: [ 740*8d67ca89SAndroid Build Coastguard Worker "-Wall", 741*8d67ca89SAndroid Build Coastguard Worker "-Werror", 742*8d67ca89SAndroid Build Coastguard Worker ], 743*8d67ca89SAndroid Build Coastguard Worker gtest: false, 744*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "libtest_dt_runpath_d_zip", 745*8d67ca89SAndroid Build Coastguard Worker ldflags: [ 746*8d67ca89SAndroid Build Coastguard Worker "-Wl,--rpath,${ORIGIN}/dt_runpath_b_c_x", 747*8d67ca89SAndroid Build Coastguard Worker "-Wl,--rpath,${ORIGIN}/dt_runpath_y/${LIB}", 748*8d67ca89SAndroid Build Coastguard Worker ], 749*8d67ca89SAndroid Build Coastguard Worker sanitize: { 750*8d67ca89SAndroid Build Coastguard Worker address: false, 751*8d67ca89SAndroid Build Coastguard Worker }, 752*8d67ca89SAndroid Build Coastguard Worker stl: "libc++_static", 753*8d67ca89SAndroid Build Coastguard Worker target: { 754*8d67ca89SAndroid Build Coastguard Worker darwin: { 755*8d67ca89SAndroid Build Coastguard Worker enabled: false, 756*8d67ca89SAndroid Build Coastguard Worker }, 757*8d67ca89SAndroid Build Coastguard Worker }, 758*8d67ca89SAndroid Build Coastguard Worker} 759*8d67ca89SAndroid Build Coastguard Worker 760*8d67ca89SAndroid Build Coastguard Worker// A leaf library in a directory library D has DT_RUNPATH for. 761*8d67ca89SAndroid Build Coastguard Workercc_test_library { 762*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dt_runpath_x", 763*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 764*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 765*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/dt_runpath_b_c_x", 766*8d67ca89SAndroid Build Coastguard Worker} 767*8d67ca89SAndroid Build Coastguard Worker 768*8d67ca89SAndroid Build Coastguard Worker// A leaf library in lib or lib64 directory 769*8d67ca89SAndroid Build Coastguard Workercc_test_library { 770*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dt_runpath_y", 771*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 772*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 773*8d67ca89SAndroid Build Coastguard Worker 774*8d67ca89SAndroid Build Coastguard Worker multilib: { 775*8d67ca89SAndroid Build Coastguard Worker lib32: { 776*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/dt_runpath_y/lib", 777*8d67ca89SAndroid Build Coastguard Worker }, 778*8d67ca89SAndroid Build Coastguard Worker lib64: { 779*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/dt_runpath_y/lib64", 780*8d67ca89SAndroid Build Coastguard Worker }, 781*8d67ca89SAndroid Build Coastguard Worker }, 782*8d67ca89SAndroid Build Coastguard Worker} 783*8d67ca89SAndroid Build Coastguard Worker 784*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 785*8d67ca89SAndroid Build Coastguard Worker// Build library with two parents 786*8d67ca89SAndroid Build Coastguard Worker// 787*8d67ca89SAndroid Build Coastguard Worker// Libraries used by dlfcn tests to verify local group ref_counting 788*8d67ca89SAndroid Build Coastguard Worker// libtest_two_parents*.so 789*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 790*8d67ca89SAndroid Build Coastguard Worker 791*8d67ca89SAndroid Build Coastguard Worker// ..._child.so - correct answer 792*8d67ca89SAndroid Build Coastguard Workercc_test_library { 793*8d67ca89SAndroid Build Coastguard Worker name: "libtest_two_parents_child", 794*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 795*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_2_parents_reloc_answer.cpp"], 796*8d67ca89SAndroid Build Coastguard Worker} 797*8d67ca89SAndroid Build Coastguard Worker 798*8d67ca89SAndroid Build Coastguard Worker// ..._parent1.so - correct answer 799*8d67ca89SAndroid Build Coastguard Workercc_test_library { 800*8d67ca89SAndroid Build Coastguard Worker name: "libtest_two_parents_parent1", 801*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 802*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_reloc_answer_impl.cpp"], 803*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_two_parents_child"], 804*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=42"], 805*8d67ca89SAndroid Build Coastguard Worker} 806*8d67ca89SAndroid Build Coastguard Worker 807*8d67ca89SAndroid Build Coastguard Worker// ..._parent2.so - incorrect answer 808*8d67ca89SAndroid Build Coastguard Workercc_test_library { 809*8d67ca89SAndroid Build Coastguard Worker name: "libtest_two_parents_parent2", 810*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 811*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_reloc_answer_impl.cpp"], 812*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_two_parents_child"], 813*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=1"], 814*8d67ca89SAndroid Build Coastguard Worker} 815*8d67ca89SAndroid Build Coastguard Worker 816*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 817*8d67ca89SAndroid Build Coastguard Worker// Build libtest_check_order_dlsym.so with its dependencies. 818*8d67ca89SAndroid Build Coastguard Worker// 819*8d67ca89SAndroid Build Coastguard Worker// Libraries used by dlfcn tests to verify correct load order: 820*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 821*8d67ca89SAndroid Build Coastguard Worker 822*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_2_right.so 823*8d67ca89SAndroid Build Coastguard Workercc_test_library { 824*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_dlsym_2_right", 825*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 826*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_dlsym_answer.cpp"], 827*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=42"], 828*8d67ca89SAndroid Build Coastguard Worker} 829*8d67ca89SAndroid Build Coastguard Worker 830*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_a.so 831*8d67ca89SAndroid Build Coastguard Workercc_test_library { 832*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_dlsym_a", 833*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 834*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_dlsym_answer.cpp"], 835*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=1"], 836*8d67ca89SAndroid Build Coastguard Worker} 837*8d67ca89SAndroid Build Coastguard Worker 838*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_b.so 839*8d67ca89SAndroid Build Coastguard Workercc_test_library { 840*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_dlsym_b", 841*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 842*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_dlsym_answer.cpp"], 843*8d67ca89SAndroid Build Coastguard Worker cflags: [ 844*8d67ca89SAndroid Build Coastguard Worker "-D__ANSWER=2", 845*8d67ca89SAndroid Build Coastguard Worker "-D__ANSWER2=43", 846*8d67ca89SAndroid Build Coastguard Worker ], 847*8d67ca89SAndroid Build Coastguard Worker} 848*8d67ca89SAndroid Build Coastguard Worker 849*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_c.so 850*8d67ca89SAndroid Build Coastguard Workercc_test_library { 851*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_dlsym_3_c", 852*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 853*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_dlsym_answer.cpp"], 854*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=3"], 855*8d67ca89SAndroid Build Coastguard Worker} 856*8d67ca89SAndroid Build Coastguard Worker 857*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_d.so 858*8d67ca89SAndroid Build Coastguard Workercc_test_library { 859*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_dlsym_d", 860*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 861*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_check_order_dlsym_b"], 862*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_dlsym_answer.cpp"], 863*8d67ca89SAndroid Build Coastguard Worker cflags: [ 864*8d67ca89SAndroid Build Coastguard Worker "-D__ANSWER=4", 865*8d67ca89SAndroid Build Coastguard Worker "-D__ANSWER2=4", 866*8d67ca89SAndroid Build Coastguard Worker ], 867*8d67ca89SAndroid Build Coastguard Worker} 868*8d67ca89SAndroid Build Coastguard Worker 869*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_left.so 870*8d67ca89SAndroid Build Coastguard Workercc_test_library { 871*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_dlsym_1_left", 872*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 873*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 874*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_dlsym_a", 875*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_dlsym_b", 876*8d67ca89SAndroid Build Coastguard Worker ], 877*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 878*8d67ca89SAndroid Build Coastguard Worker} 879*8d67ca89SAndroid Build Coastguard Worker 880*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order.so 881*8d67ca89SAndroid Build Coastguard Workercc_test_library { 882*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_dlsym", 883*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 884*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 885*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_dlsym_1_left", 886*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_dlsym_2_right", 887*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_dlsym_3_c", 888*8d67ca89SAndroid Build Coastguard Worker ], 889*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 890*8d67ca89SAndroid Build Coastguard Worker} 891*8d67ca89SAndroid Build Coastguard Worker 892*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 893*8d67ca89SAndroid Build Coastguard Worker// Build libtest_check_order_siblings.so with its dependencies. 894*8d67ca89SAndroid Build Coastguard Worker// 895*8d67ca89SAndroid Build Coastguard Worker// Libraries used by dlfcn tests to verify correct relocation order: 896*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_reloc_siblings*.so 897*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 898*8d67ca89SAndroid Build Coastguard Worker 899*8d67ca89SAndroid Build Coastguard Worker// ..._1.so - empty 900*8d67ca89SAndroid Build Coastguard Workercc_test_library { 901*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_1", 902*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 903*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 904*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_a", 905*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_b", 906*8d67ca89SAndroid Build Coastguard Worker ], 907*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 908*8d67ca89SAndroid Build Coastguard Worker} 909*8d67ca89SAndroid Build Coastguard Worker 910*8d67ca89SAndroid Build Coastguard Worker// ..._2.so - empty 911*8d67ca89SAndroid Build Coastguard Workercc_test_library { 912*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_2", 913*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 914*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 915*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_c", 916*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_d", 917*8d67ca89SAndroid Build Coastguard Worker ], 918*8d67ca89SAndroid Build Coastguard Worker srcs: [ 919*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_grandchild_answer.cpp", 920*8d67ca89SAndroid Build Coastguard Worker ], 921*8d67ca89SAndroid Build Coastguard Worker allow_undefined_symbols: true, 922*8d67ca89SAndroid Build Coastguard Worker} 923*8d67ca89SAndroid Build Coastguard Worker 924*8d67ca89SAndroid Build Coastguard Worker// ..._3.so - get_answer2(); 925*8d67ca89SAndroid Build Coastguard Workercc_test_library { 926*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_3", 927*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 928*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 929*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_e", 930*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_f", 931*8d67ca89SAndroid Build Coastguard Worker ], 932*8d67ca89SAndroid Build Coastguard Worker srcs: [ 933*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_nephew_answer.cpp", 934*8d67ca89SAndroid Build Coastguard Worker ], 935*8d67ca89SAndroid Build Coastguard Worker} 936*8d67ca89SAndroid Build Coastguard Worker 937*8d67ca89SAndroid Build Coastguard Worker// ..._a.so <- correct impl 938*8d67ca89SAndroid Build Coastguard Workercc_test_library { 939*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_a", 940*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 941*8d67ca89SAndroid Build Coastguard Worker srcs: [ 942*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_answer_impl.cpp", 943*8d67ca89SAndroid Build Coastguard Worker ], 944*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=42"], 945*8d67ca89SAndroid Build Coastguard Worker} 946*8d67ca89SAndroid Build Coastguard Worker 947*8d67ca89SAndroid Build Coastguard Worker// ..._b.so 948*8d67ca89SAndroid Build Coastguard Workercc_test_library { 949*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_b", 950*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 951*8d67ca89SAndroid Build Coastguard Worker srcs: [ 952*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_answer_impl.cpp", 953*8d67ca89SAndroid Build Coastguard Worker ], 954*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=1"], 955*8d67ca89SAndroid Build Coastguard Worker} 956*8d67ca89SAndroid Build Coastguard Worker 957*8d67ca89SAndroid Build Coastguard Worker// ..._c.so 958*8d67ca89SAndroid Build Coastguard Workercc_test_library { 959*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_c", 960*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 961*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 962*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_c_1", 963*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_c_2", 964*8d67ca89SAndroid Build Coastguard Worker ], 965*8d67ca89SAndroid Build Coastguard Worker srcs: [ 966*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_answer_impl.cpp", 967*8d67ca89SAndroid Build Coastguard Worker ], 968*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=2"], 969*8d67ca89SAndroid Build Coastguard Worker} 970*8d67ca89SAndroid Build Coastguard Worker 971*8d67ca89SAndroid Build Coastguard Worker// ..._d.so 972*8d67ca89SAndroid Build Coastguard Workercc_test_library { 973*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_d", 974*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 975*8d67ca89SAndroid Build Coastguard Worker srcs: [ 976*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_answer_impl.cpp", 977*8d67ca89SAndroid Build Coastguard Worker ], 978*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=3"], 979*8d67ca89SAndroid Build Coastguard Worker} 980*8d67ca89SAndroid Build Coastguard Worker 981*8d67ca89SAndroid Build Coastguard Worker// ..._e.so 982*8d67ca89SAndroid Build Coastguard Workercc_test_library { 983*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_e", 984*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 985*8d67ca89SAndroid Build Coastguard Worker srcs: [ 986*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_answer_impl.cpp", 987*8d67ca89SAndroid Build Coastguard Worker ], 988*8d67ca89SAndroid Build Coastguard Worker cflags: [ 989*8d67ca89SAndroid Build Coastguard Worker "-D__ANSWER=4", 990*8d67ca89SAndroid Build Coastguard Worker ], 991*8d67ca89SAndroid Build Coastguard Worker} 992*8d67ca89SAndroid Build Coastguard Worker 993*8d67ca89SAndroid Build Coastguard Worker// ..._f.so <- get_answer() 994*8d67ca89SAndroid Build Coastguard Workercc_test_library { 995*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_f", 996*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 997*8d67ca89SAndroid Build Coastguard Worker srcs: [ 998*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_answer.cpp", 999*8d67ca89SAndroid Build Coastguard Worker ], 1000*8d67ca89SAndroid Build Coastguard Worker} 1001*8d67ca89SAndroid Build Coastguard Worker 1002*8d67ca89SAndroid Build Coastguard Worker// ..._c_1.so 1003*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1004*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_c_1", 1005*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1006*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1007*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_grandchild_answer_impl.cpp", 1008*8d67ca89SAndroid Build Coastguard Worker ], 1009*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=42"], 1010*8d67ca89SAndroid Build Coastguard Worker} 1011*8d67ca89SAndroid Build Coastguard Worker 1012*8d67ca89SAndroid Build Coastguard Worker// ..._c_2.so 1013*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1014*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings_c_2", 1015*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1016*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1017*8d67ca89SAndroid Build Coastguard Worker "dlopen_check_order_reloc_grandchild_answer_impl.cpp", 1018*8d67ca89SAndroid Build Coastguard Worker ], 1019*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=0"], 1020*8d67ca89SAndroid Build Coastguard Worker} 1021*8d67ca89SAndroid Build Coastguard Worker 1022*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_reloc_siblings.so 1023*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1024*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_siblings", 1025*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1026*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1027*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_1", 1028*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_2", 1029*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_siblings_3", 1030*8d67ca89SAndroid Build Coastguard Worker ], 1031*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1032*8d67ca89SAndroid Build Coastguard Worker "empty.cpp", 1033*8d67ca89SAndroid Build Coastguard Worker ], 1034*8d67ca89SAndroid Build Coastguard Worker} 1035*8d67ca89SAndroid Build Coastguard Worker 1036*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1037*8d67ca89SAndroid Build Coastguard Worker// Build libtest_check_order_root.so with its dependencies. 1038*8d67ca89SAndroid Build Coastguard Worker// 1039*8d67ca89SAndroid Build Coastguard Worker// Libraries used by dlfcn tests to verify correct relocation order: 1040*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_reloc_root*.so 1041*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1042*8d67ca89SAndroid Build Coastguard Worker 1043*8d67ca89SAndroid Build Coastguard Worker// ..._1.so - empty 1044*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1045*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_root_1", 1046*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1047*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 1048*8d67ca89SAndroid Build Coastguard Worker} 1049*8d67ca89SAndroid Build Coastguard Worker 1050*8d67ca89SAndroid Build Coastguard Worker// ..._2.so - this one has the incorrect answer 1051*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1052*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_root_2", 1053*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1054*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_reloc_root_answer_impl.cpp"], 1055*8d67ca89SAndroid Build Coastguard Worker cflags: ["-D__ANSWER=2"], 1056*8d67ca89SAndroid Build Coastguard Worker} 1057*8d67ca89SAndroid Build Coastguard Worker 1058*8d67ca89SAndroid Build Coastguard Worker// libtest_check_order_reloc_root.so <- implements get_answer3() 1059*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1060*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_order_reloc_root", 1061*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1062*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_order_reloc_root_answer.cpp"], 1063*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1064*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_root_1", 1065*8d67ca89SAndroid Build Coastguard Worker "libtest_check_order_reloc_root_2", 1066*8d67ca89SAndroid Build Coastguard Worker ], 1067*8d67ca89SAndroid Build Coastguard Worker} 1068*8d67ca89SAndroid Build Coastguard Worker 1069*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1070*8d67ca89SAndroid Build Coastguard Worker// Build libtest_versioned_lib.so with its dependencies. 1071*8d67ca89SAndroid Build Coastguard Worker// 1072*8d67ca89SAndroid Build Coastguard Worker// Libraries used to test versioned symbols 1073*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1074*8d67ca89SAndroid Build Coastguard Worker 1075*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1076*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_uselibv1", 1077*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1078*8d67ca89SAndroid Build Coastguard Worker srcs: ["versioned_uselib.cpp"], 1079*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_versioned_libv1"], 1080*8d67ca89SAndroid Build Coastguard Worker} 1081*8d67ca89SAndroid Build Coastguard Worker 1082*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1083*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_uselibv2", 1084*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1085*8d67ca89SAndroid Build Coastguard Worker srcs: ["versioned_uselib.cpp"], 1086*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_versioned_libv2"], 1087*8d67ca89SAndroid Build Coastguard Worker version_script: "versioned_uselib.map", 1088*8d67ca89SAndroid Build Coastguard Worker} 1089*8d67ca89SAndroid Build Coastguard Worker 1090*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1091*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_uselibv2_other", 1092*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1093*8d67ca89SAndroid Build Coastguard Worker srcs: ["versioned_uselib.cpp"], 1094*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1095*8d67ca89SAndroid Build Coastguard Worker "libtest_versioned_otherlib_empty", 1096*8d67ca89SAndroid Build Coastguard Worker "libtest_versioned_libv2", 1097*8d67ca89SAndroid Build Coastguard Worker ], 1098*8d67ca89SAndroid Build Coastguard Worker} 1099*8d67ca89SAndroid Build Coastguard Worker 1100*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1101*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_uselibv3_other", 1102*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1103*8d67ca89SAndroid Build Coastguard Worker srcs: ["versioned_uselib.cpp"], 1104*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1105*8d67ca89SAndroid Build Coastguard Worker "libtest_versioned_otherlib_empty", 1106*8d67ca89SAndroid Build Coastguard Worker "libtest_versioned_lib", 1107*8d67ca89SAndroid Build Coastguard Worker ], 1108*8d67ca89SAndroid Build Coastguard Worker} 1109*8d67ca89SAndroid Build Coastguard Worker 1110*8d67ca89SAndroid Build Coastguard Worker// lib v1 - this one used during static linking but never used at runtime 1111*8d67ca89SAndroid Build Coastguard Worker// which forces libtest_versioned_uselibv1 to use function v1 from 1112*8d67ca89SAndroid Build Coastguard Worker// libtest_versioned_lib.so 1113*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1114*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_libv1", 1115*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1116*8d67ca89SAndroid Build Coastguard Worker srcs: ["versioned_lib_v1.cpp"], 1117*8d67ca89SAndroid Build Coastguard Worker version_script: "versioned_lib_v1.map", 1118*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-soname,libtest_versioned_lib.so"], 1119*8d67ca89SAndroid Build Coastguard Worker} 1120*8d67ca89SAndroid Build Coastguard Worker 1121*8d67ca89SAndroid Build Coastguard Worker// lib v2 - to make libtest_versioned_uselibv2.so use version 2 of versioned_function() 1122*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1123*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_libv2", 1124*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1125*8d67ca89SAndroid Build Coastguard Worker srcs: ["versioned_lib_v2.cpp"], 1126*8d67ca89SAndroid Build Coastguard Worker version_script: "versioned_lib_v2.map", 1127*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-soname,libtest_versioned_lib.so"], 1128*8d67ca89SAndroid Build Coastguard Worker} 1129*8d67ca89SAndroid Build Coastguard Worker 1130*8d67ca89SAndroid Build Coastguard Worker// last version - this one is used at the runtime and exports 3 versions 1131*8d67ca89SAndroid Build Coastguard Worker// of versioned_symbol(). 1132*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1133*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_lib", 1134*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1135*8d67ca89SAndroid Build Coastguard Worker srcs: ["versioned_lib_v3.cpp"], 1136*8d67ca89SAndroid Build Coastguard Worker version_script: "versioned_lib_v3.map", 1137*8d67ca89SAndroid Build Coastguard Worker} 1138*8d67ca89SAndroid Build Coastguard Worker 1139*8d67ca89SAndroid Build Coastguard Worker// This library is empty, the actual implementation will provide an unversioned 1140*8d67ca89SAndroid Build Coastguard Worker// symbol for versioned_function(). 1141*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1142*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_otherlib_empty", 1143*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1144*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 1145*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-soname,libtest_versioned_otherlib.so"], 1146*8d67ca89SAndroid Build Coastguard Worker} 1147*8d67ca89SAndroid Build Coastguard Worker 1148*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1149*8d67ca89SAndroid Build Coastguard Worker name: "libtest_versioned_otherlib", 1150*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1151*8d67ca89SAndroid Build Coastguard Worker srcs: ["versioned_lib_other.cpp"], 1152*8d67ca89SAndroid Build Coastguard Worker version_script: "versioned_lib_other.map", 1153*8d67ca89SAndroid Build Coastguard Worker} 1154*8d67ca89SAndroid Build Coastguard Worker 1155*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1156*8d67ca89SAndroid Build Coastguard Worker// Build libraries needed by pthread_atfork tests 1157*8d67ca89SAndroid Build Coastguard Worker 1158*8d67ca89SAndroid Build Coastguard Worker// This library used to test phtread_atfork handler behaviour 1159*8d67ca89SAndroid Build Coastguard Worker// during/after dlclose. 1160*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1161*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1162*8d67ca89SAndroid Build Coastguard Worker name: "libtest_pthread_atfork", 1163*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1164*8d67ca89SAndroid Build Coastguard Worker srcs: ["pthread_atfork.cpp"], 1165*8d67ca89SAndroid Build Coastguard Worker} 1166*8d67ca89SAndroid Build Coastguard Worker 1167*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1168*8d67ca89SAndroid Build Coastguard Worker// Library with dependency loop used by dlfcn tests 1169*8d67ca89SAndroid Build Coastguard Worker// 1170*8d67ca89SAndroid Build Coastguard Worker// libtest_with_dependency_loop -> a -> b -> c -> a 1171*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1172*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1173*8d67ca89SAndroid Build Coastguard Worker name: "libtest_with_dependency_loop", 1174*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1175*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_loopy_root.cpp"], 1176*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_with_dependency_loop_a"], 1177*8d67ca89SAndroid Build Coastguard Worker} 1178*8d67ca89SAndroid Build Coastguard Worker 1179*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1180*8d67ca89SAndroid Build Coastguard Worker// libtest_with_dependency_loop_a.so 1181*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1182*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1183*8d67ca89SAndroid Build Coastguard Worker name: "libtest_with_dependency_loop_a", 1184*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1185*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_loopy_a.cpp"], 1186*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_with_dependency_loop_b_tmp"], 1187*8d67ca89SAndroid Build Coastguard Worker} 1188*8d67ca89SAndroid Build Coastguard Worker 1189*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1190*8d67ca89SAndroid Build Coastguard Worker// libtest_with_dependency_loop_b.so 1191*8d67ca89SAndroid Build Coastguard Worker// 1192*8d67ca89SAndroid Build Coastguard Worker// this is temporary placeholder - will be removed 1193*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1194*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1195*8d67ca89SAndroid Build Coastguard Worker name: "libtest_with_dependency_loop_b_tmp", 1196*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1197*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_loopy_invalid.cpp"], 1198*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-soname=libtest_with_dependency_loop_b.so"], 1199*8d67ca89SAndroid Build Coastguard Worker} 1200*8d67ca89SAndroid Build Coastguard Worker 1201*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1202*8d67ca89SAndroid Build Coastguard Worker// libtest_with_dependency_loop_b.so 1203*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1204*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1205*8d67ca89SAndroid Build Coastguard Worker name: "libtest_with_dependency_loop_b", 1206*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1207*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_loopy_b.cpp"], 1208*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_with_dependency_loop_c"], 1209*8d67ca89SAndroid Build Coastguard Worker} 1210*8d67ca89SAndroid Build Coastguard Worker 1211*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1212*8d67ca89SAndroid Build Coastguard Worker// libtest_with_dependency_loop_c.so 1213*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1214*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1215*8d67ca89SAndroid Build Coastguard Worker name: "libtest_with_dependency_loop_c", 1216*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1217*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_loopy_c.cpp"], 1218*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_with_dependency_loop_a"], 1219*8d67ca89SAndroid Build Coastguard Worker} 1220*8d67ca89SAndroid Build Coastguard Worker 1221*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1222*8d67ca89SAndroid Build Coastguard Worker// libtest_relo_check_dt_needed_order.so 1223*8d67ca89SAndroid Build Coastguard Worker// | 1224*8d67ca89SAndroid Build Coastguard Worker// +-> libtest_relo_check_dt_needed_order_1.so 1225*8d67ca89SAndroid Build Coastguard Worker// | 1226*8d67ca89SAndroid Build Coastguard Worker// +-> libtest_relo_check_dt_needed_order_2.so 1227*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1228*8d67ca89SAndroid Build Coastguard Worker 1229*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1230*8d67ca89SAndroid Build Coastguard Worker name: "libtest_relo_check_dt_needed_order", 1231*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1232*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_relo_check_dt_needed_order.cpp"], 1233*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1234*8d67ca89SAndroid Build Coastguard Worker "libtest_relo_check_dt_needed_order_1", 1235*8d67ca89SAndroid Build Coastguard Worker "libtest_relo_check_dt_needed_order_2", 1236*8d67ca89SAndroid Build Coastguard Worker ], 1237*8d67ca89SAndroid Build Coastguard Worker} 1238*8d67ca89SAndroid Build Coastguard Worker 1239*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1240*8d67ca89SAndroid Build Coastguard Worker name: "libtest_relo_check_dt_needed_order_1", 1241*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1242*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_relo_check_dt_needed_order_1.cpp"], 1243*8d67ca89SAndroid Build Coastguard Worker} 1244*8d67ca89SAndroid Build Coastguard Worker 1245*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1246*8d67ca89SAndroid Build Coastguard Worker name: "libtest_relo_check_dt_needed_order_2", 1247*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1248*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_relo_check_dt_needed_order_2.cpp"], 1249*8d67ca89SAndroid Build Coastguard Worker} 1250*8d67ca89SAndroid Build Coastguard Worker 1251*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1252*8d67ca89SAndroid Build Coastguard Worker// Library with dependency used by dlfcn tests 1253*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1254*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1255*8d67ca89SAndroid Build Coastguard Worker name: "libtest_with_dependency", 1256*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1257*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_simple.cpp"], 1258*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libdlext_test"], 1259*8d67ca89SAndroid Build Coastguard Worker} 1260*8d67ca89SAndroid Build Coastguard Worker 1261*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1262*8d67ca89SAndroid Build Coastguard Worker// Library used by ifunc tests 1263*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1264*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1265*8d67ca89SAndroid Build Coastguard Worker name: "libtest_ifunc", 1266*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1267*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_ifunc.cpp"], 1268*8d67ca89SAndroid Build Coastguard Worker} 1269*8d67ca89SAndroid Build Coastguard Worker 1270*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1271*8d67ca89SAndroid Build Coastguard Worker name: "libtest_ifunc_variable", 1272*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1273*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_ifunc_variable.cpp"], 1274*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_ifunc_variable_impl"], 1275*8d67ca89SAndroid Build Coastguard Worker} 1276*8d67ca89SAndroid Build Coastguard Worker 1277*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1278*8d67ca89SAndroid Build Coastguard Worker name: "libtest_ifunc_variable_impl", 1279*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1280*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_ifunc_variable_impl.cpp"], 1281*8d67ca89SAndroid Build Coastguard Worker} 1282*8d67ca89SAndroid Build Coastguard Worker 1283*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1284*8d67ca89SAndroid Build Coastguard Worker// Library used by atexit tests 1285*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1286*8d67ca89SAndroid Build Coastguard Worker 1287*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1288*8d67ca89SAndroid Build Coastguard Worker name: "libtest_atexit", 1289*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1290*8d67ca89SAndroid Build Coastguard Worker srcs: ["atexit_testlib.cpp"], 1291*8d67ca89SAndroid Build Coastguard Worker} 1292*8d67ca89SAndroid Build Coastguard Worker 1293*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1294*8d67ca89SAndroid Build Coastguard Worker// This library is used by dl_load test to check symbol preempting 1295*8d67ca89SAndroid Build Coastguard Worker// by main executable 1296*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1297*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1298*8d67ca89SAndroid Build Coastguard Worker name: "libdl_preempt_test_1", 1299*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1300*8d67ca89SAndroid Build Coastguard Worker srcs: ["dl_preempt_library_1.cpp"], 1301*8d67ca89SAndroid Build Coastguard Worker} 1302*8d67ca89SAndroid Build Coastguard Worker 1303*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1304*8d67ca89SAndroid Build Coastguard Worker// This library is used by dl_load test to check symbol preempting 1305*8d67ca89SAndroid Build Coastguard Worker// by libdl_preempt_test_1.so 1306*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1307*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1308*8d67ca89SAndroid Build Coastguard Worker name: "libdl_preempt_test_2", 1309*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1310*8d67ca89SAndroid Build Coastguard Worker srcs: ["dl_preempt_library_2.cpp"], 1311*8d67ca89SAndroid Build Coastguard Worker} 1312*8d67ca89SAndroid Build Coastguard Worker 1313*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1314*8d67ca89SAndroid Build Coastguard Worker// Library with DF_1_GLOBAL 1315*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1316*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1317*8d67ca89SAndroid Build Coastguard Worker name: "libdl_test_df_1_global", 1318*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1319*8d67ca89SAndroid Build Coastguard Worker srcs: ["dl_df_1_global.cpp"], 1320*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-z,global"], 1321*8d67ca89SAndroid Build Coastguard Worker} 1322*8d67ca89SAndroid Build Coastguard Worker 1323*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1324*8d67ca89SAndroid Build Coastguard Worker// Library using symbol from libdl_test_df_1_global 1325*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1326*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1327*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlsym_df_1_global", 1328*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1329*8d67ca89SAndroid Build Coastguard Worker srcs: ["dl_df_1_use_global.cpp"], 1330*8d67ca89SAndroid Build Coastguard Worker} 1331*8d67ca89SAndroid Build Coastguard Worker 1332*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1333*8d67ca89SAndroid Build Coastguard Worker// Library with DF_1_GLOBAL which will be dlopened 1334*8d67ca89SAndroid Build Coastguard Worker// (note: libdl_test_df_1_global above will be included in DT_NEEDED) 1335*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1336*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1337*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlopen_df_1_global", 1338*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1339*8d67ca89SAndroid Build Coastguard Worker srcs: ["dl_df_1_global_dummy.cpp"], 1340*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-z,global"], 1341*8d67ca89SAndroid Build Coastguard Worker} 1342*8d67ca89SAndroid Build Coastguard Worker 1343*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1344*8d67ca89SAndroid Build Coastguard Worker// Library with weak function 1345*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1346*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1347*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlsym_weak_func", 1348*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1349*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlsym_weak_function.cpp"], 1350*8d67ca89SAndroid Build Coastguard Worker} 1351*8d67ca89SAndroid Build Coastguard Worker 1352*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1353*8d67ca89SAndroid Build Coastguard Worker// Library to check RTLD_LOCAL with dlsym in 'this' 1354*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1355*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1356*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlsym_from_this", 1357*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1358*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlsym_from_this_symbol.cpp"], 1359*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_dlsym_from_this_child"], 1360*8d67ca89SAndroid Build Coastguard Worker} 1361*8d67ca89SAndroid Build Coastguard Worker 1362*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1363*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1364*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlsym_from_this_child", 1365*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1366*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlsym_from_this_functions.cpp"], 1367*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_dlsym_from_this_grandchild"], 1368*8d67ca89SAndroid Build Coastguard Worker} 1369*8d67ca89SAndroid Build Coastguard Worker 1370*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1371*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1372*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlsym_from_this_grandchild", 1373*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1374*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlsym_from_this_symbol2.cpp"], 1375*8d67ca89SAndroid Build Coastguard Worker} 1376*8d67ca89SAndroid Build Coastguard Worker 1377*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1378*8d67ca89SAndroid Build Coastguard Worker// Empty library 1379*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1380*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1381*8d67ca89SAndroid Build Coastguard Worker name: "libtest_empty", 1382*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1383*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 1384*8d67ca89SAndroid Build Coastguard Worker} 1385*8d67ca89SAndroid Build Coastguard Worker 1386*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1387*8d67ca89SAndroid Build Coastguard Worker// Library for inaccessible shared library test 1388*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1389*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1390*8d67ca89SAndroid Build Coastguard Worker name: "libtestshared", 1391*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1392*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 1393*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/inaccessible_libs", 1394*8d67ca89SAndroid Build Coastguard Worker} 1395*8d67ca89SAndroid Build Coastguard Worker 1396*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1397*8d67ca89SAndroid Build Coastguard Worker// Library with weak undefined function 1398*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1399*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1400*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlopen_weak_undefined_func", 1401*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1402*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_weak_undefined.cpp"], 1403*8d67ca89SAndroid Build Coastguard Worker} 1404*8d67ca89SAndroid Build Coastguard Worker 1405*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1406*8d67ca89SAndroid Build Coastguard Worker// Check that RTLD_NEXT of a libc symbol works in dlopened library 1407*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1408*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1409*8d67ca89SAndroid Build Coastguard Worker name: "libtest_check_rtld_next_from_library", 1410*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1411*8d67ca89SAndroid Build Coastguard Worker srcs: ["check_rtld_next_from_library.cpp"], 1412*8d67ca89SAndroid Build Coastguard Worker native_coverage: false, 1413*8d67ca89SAndroid Build Coastguard Worker} 1414*8d67ca89SAndroid Build Coastguard Worker 1415*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1416*8d67ca89SAndroid Build Coastguard Worker// Library with constructor that calls dlopen() b/7941716 1417*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1418*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1419*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlopen_from_ctor", 1420*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1421*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_testlib_dlopen_from_ctor.cpp"], 1422*8d67ca89SAndroid Build Coastguard Worker} 1423*8d67ca89SAndroid Build Coastguard Worker 1424*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1425*8d67ca89SAndroid Build Coastguard Worker// Libraries used to check init/fini call order 1426*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1427*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1428*8d67ca89SAndroid Build Coastguard Worker name: "libtest_init_fini_order_root", 1429*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1430*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_init_fini_root.cpp"], 1431*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1432*8d67ca89SAndroid Build Coastguard Worker "libtest_init_fini_order_child", 1433*8d67ca89SAndroid Build Coastguard Worker "libtest_init_fini_order_grand_child", 1434*8d67ca89SAndroid Build Coastguard Worker ], 1435*8d67ca89SAndroid Build Coastguard Worker} 1436*8d67ca89SAndroid Build Coastguard Worker 1437*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1438*8d67ca89SAndroid Build Coastguard Worker name: "libtest_init_fini_order_root2", 1439*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1440*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_init_fini_root.cpp"], 1441*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1442*8d67ca89SAndroid Build Coastguard Worker "libtest_init_fini_order_grand_child", 1443*8d67ca89SAndroid Build Coastguard Worker "libtest_init_fini_order_child", 1444*8d67ca89SAndroid Build Coastguard Worker ], 1445*8d67ca89SAndroid Build Coastguard Worker} 1446*8d67ca89SAndroid Build Coastguard Worker 1447*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1448*8d67ca89SAndroid Build Coastguard Worker name: "libtest_init_fini_order_child", 1449*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1450*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_init_fini_child.cpp"], 1451*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_init_fini_order_grand_child"], 1452*8d67ca89SAndroid Build Coastguard Worker} 1453*8d67ca89SAndroid Build Coastguard Worker 1454*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1455*8d67ca89SAndroid Build Coastguard Worker name: "libtest_init_fini_order_grand_child", 1456*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1457*8d67ca89SAndroid Build Coastguard Worker srcs: ["dlopen_check_init_fini_grand_child.cpp"], 1458*8d67ca89SAndroid Build Coastguard Worker} 1459*8d67ca89SAndroid Build Coastguard Worker 1460*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1461*8d67ca89SAndroid Build Coastguard Worker// Library that depends on the library with constructor that calls dlopen() b/7941716 1462*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1463*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1464*8d67ca89SAndroid Build Coastguard Worker name: "libtest_dlopen_from_ctor_main", 1465*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1466*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 1467*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libtest_dlopen_from_ctor"], 1468*8d67ca89SAndroid Build Coastguard Worker} 1469*8d67ca89SAndroid Build Coastguard Worker 1470*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1471*8d67ca89SAndroid Build Coastguard Worker// Libraries with non-trivial thread_local variable to test dlclose() 1472*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1473*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1474*8d67ca89SAndroid Build Coastguard Worker name: "libtest_thread_local_dtor", 1475*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1476*8d67ca89SAndroid Build Coastguard Worker srcs: ["thread_local_dtor.cpp"], 1477*8d67ca89SAndroid Build Coastguard Worker} 1478*8d67ca89SAndroid Build Coastguard Worker 1479*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1480*8d67ca89SAndroid Build Coastguard Worker name: "libtest_thread_local_dtor2", 1481*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1482*8d67ca89SAndroid Build Coastguard Worker srcs: ["thread_local_dtor2.cpp"], 1483*8d67ca89SAndroid Build Coastguard Worker} 1484*8d67ca89SAndroid Build Coastguard Worker 1485*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1486*8d67ca89SAndroid Build Coastguard Worker// Library dt_needs libtest_thread_local_dtor/2 (to check no-unload on load_group) 1487*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1488*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1489*8d67ca89SAndroid Build Coastguard Worker name: "libtest_indirect_thread_local_dtor", 1490*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1491*8d67ca89SAndroid Build Coastguard Worker srcs: ["empty.cpp"], 1492*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ 1493*8d67ca89SAndroid Build Coastguard Worker "libtest_thread_local_dtor", 1494*8d67ca89SAndroid Build Coastguard Worker "libtest_thread_local_dtor2", 1495*8d67ca89SAndroid Build Coastguard Worker ], 1496*8d67ca89SAndroid Build Coastguard Worker} 1497*8d67ca89SAndroid Build Coastguard Worker 1498*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1499*8d67ca89SAndroid Build Coastguard Worker// Tool to use to align the shared libraries in a zip file. 1500*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1501*8d67ca89SAndroid Build Coastguard Workercc_binary_host { 1502*8d67ca89SAndroid Build Coastguard Worker name: "bionic_tests_zipalign", 1503*8d67ca89SAndroid Build Coastguard Worker srcs: ["bionic_tests_zipalign.cpp"], 1504*8d67ca89SAndroid Build Coastguard Worker cflags: [ 1505*8d67ca89SAndroid Build Coastguard Worker "-Wall", 1506*8d67ca89SAndroid Build Coastguard Worker "-Werror", 1507*8d67ca89SAndroid Build Coastguard Worker ], 1508*8d67ca89SAndroid Build Coastguard Worker 1509*8d67ca89SAndroid Build Coastguard Worker static_libs: [ 1510*8d67ca89SAndroid Build Coastguard Worker "libziparchive", 1511*8d67ca89SAndroid Build Coastguard Worker "liblog", 1512*8d67ca89SAndroid Build Coastguard Worker "libbase", 1513*8d67ca89SAndroid Build Coastguard Worker "libz", 1514*8d67ca89SAndroid Build Coastguard Worker "libutils", 1515*8d67ca89SAndroid Build Coastguard Worker ], 1516*8d67ca89SAndroid Build Coastguard Worker} 1517*8d67ca89SAndroid Build Coastguard Worker 1518*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1519*8d67ca89SAndroid Build Coastguard Worker name: "libcfi-test", 1520*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1521*8d67ca89SAndroid Build Coastguard Worker srcs: ["cfi_test_lib.cpp"], 1522*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1523*8d67ca89SAndroid Build Coastguard Worker cfi: false, 1524*8d67ca89SAndroid Build Coastguard Worker }, 1525*8d67ca89SAndroid Build Coastguard Worker} 1526*8d67ca89SAndroid Build Coastguard Worker 1527*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1528*8d67ca89SAndroid Build Coastguard Worker name: "libcfi-test-bad", 1529*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1530*8d67ca89SAndroid Build Coastguard Worker srcs: ["cfi_test_bad_lib.cpp"], 1531*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1532*8d67ca89SAndroid Build Coastguard Worker cfi: false, 1533*8d67ca89SAndroid Build Coastguard Worker }, 1534*8d67ca89SAndroid Build Coastguard Worker} 1535*8d67ca89SAndroid Build Coastguard Worker 1536*8d67ca89SAndroid Build Coastguard Workercc_test { 1537*8d67ca89SAndroid Build Coastguard Worker name: "cfi_test_helper", 1538*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1539*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1540*8d67ca89SAndroid Build Coastguard Worker srcs: ["cfi_test_helper.cpp"], 1541*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-rdynamic"], 1542*8d67ca89SAndroid Build Coastguard Worker} 1543*8d67ca89SAndroid Build Coastguard Worker 1544*8d67ca89SAndroid Build Coastguard Workercc_test { 1545*8d67ca89SAndroid Build Coastguard Worker name: "cfi_test_helper2", 1546*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1547*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1548*8d67ca89SAndroid Build Coastguard Worker srcs: ["cfi_test_helper2.cpp"], 1549*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["libcfi-test"], 1550*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/.."], 1551*8d67ca89SAndroid Build Coastguard Worker} 1552*8d67ca89SAndroid Build Coastguard Worker 1553*8d67ca89SAndroid Build Coastguard Workercc_test { 1554*8d67ca89SAndroid Build Coastguard Worker name: "preinit_getauxval_test_helper", 1555*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1556*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1557*8d67ca89SAndroid Build Coastguard Worker srcs: ["preinit_getauxval_test_helper.cpp"], 1558*8d67ca89SAndroid Build Coastguard Worker} 1559*8d67ca89SAndroid Build Coastguard Worker 1560*8d67ca89SAndroid Build Coastguard Workercc_test { 1561*8d67ca89SAndroid Build Coastguard Worker name: "preinit_syscall_test_helper", 1562*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1563*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1564*8d67ca89SAndroid Build Coastguard Worker srcs: ["preinit_syscall_test_helper.cpp"], 1565*8d67ca89SAndroid Build Coastguard Worker} 1566*8d67ca89SAndroid Build Coastguard Worker 1567*8d67ca89SAndroid Build Coastguard Workercc_test { 1568*8d67ca89SAndroid Build Coastguard Worker name: "ld_preload_test_helper", 1569*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1570*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1571*8d67ca89SAndroid Build Coastguard Worker srcs: ["ld_preload_test_helper.cpp"], 1572*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["ld_preload_test_helper_lib1"], 1573*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/.."], 1574*8d67ca89SAndroid Build Coastguard Worker} 1575*8d67ca89SAndroid Build Coastguard Worker 1576*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1577*8d67ca89SAndroid Build Coastguard Worker name: "ld_preload_test_helper_lib1", 1578*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1579*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1580*8d67ca89SAndroid Build Coastguard Worker srcs: ["ld_preload_test_helper_lib1.cpp"], 1581*8d67ca89SAndroid Build Coastguard Worker} 1582*8d67ca89SAndroid Build Coastguard Worker 1583*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1584*8d67ca89SAndroid Build Coastguard Worker name: "ld_preload_test_helper_lib2", 1585*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1586*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1587*8d67ca89SAndroid Build Coastguard Worker srcs: ["ld_preload_test_helper_lib2.cpp"], 1588*8d67ca89SAndroid Build Coastguard Worker} 1589*8d67ca89SAndroid Build Coastguard Worker 1590*8d67ca89SAndroid Build Coastguard Workercc_test { 1591*8d67ca89SAndroid Build Coastguard Worker name: "ld_config_test_helper", 1592*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1593*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1594*8d67ca89SAndroid Build Coastguard Worker srcs: ["ld_config_test_helper.cpp"], 1595*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["ld_config_test_helper_lib1"], 1596*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/.."], 1597*8d67ca89SAndroid Build Coastguard Worker} 1598*8d67ca89SAndroid Build Coastguard Worker 1599*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1600*8d67ca89SAndroid Build Coastguard Worker name: "ld_config_test_helper_lib1", 1601*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1602*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1603*8d67ca89SAndroid Build Coastguard Worker srcs: ["ld_config_test_helper_lib1.cpp"], 1604*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["ld_config_test_helper_lib2"], 1605*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/ns2", 1606*8d67ca89SAndroid Build Coastguard Worker // Mark the library DF_1_GLOBAL so it is added to every linker namespace. 1607*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-z,global"], 1608*8d67ca89SAndroid Build Coastguard Worker} 1609*8d67ca89SAndroid Build Coastguard Worker 1610*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1611*8d67ca89SAndroid Build Coastguard Worker name: "ld_config_test_helper_lib2", 1612*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1613*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1614*8d67ca89SAndroid Build Coastguard Worker srcs: ["ld_config_test_helper_lib2.cpp"], 1615*8d67ca89SAndroid Build Coastguard Worker relative_install_path: "bionic-loader-test-libs/ns2", 1616*8d67ca89SAndroid Build Coastguard Worker} 1617*8d67ca89SAndroid Build Coastguard Worker 1618*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1619*8d67ca89SAndroid Build Coastguard Worker name: "ld_config_test_helper_lib3", 1620*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1621*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1622*8d67ca89SAndroid Build Coastguard Worker srcs: ["ld_config_test_helper_lib3.cpp"], 1623*8d67ca89SAndroid Build Coastguard Worker} 1624*8d67ca89SAndroid Build Coastguard Worker 1625*8d67ca89SAndroid Build Coastguard Workercc_test { 1626*8d67ca89SAndroid Build Coastguard Worker name: "exec_linker_helper", 1627*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1628*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1629*8d67ca89SAndroid Build Coastguard Worker srcs: ["exec_linker_helper.cpp"], 1630*8d67ca89SAndroid Build Coastguard Worker shared_libs: ["exec_linker_helper_lib"], 1631*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--rpath,${ORIGIN}/.."], 1632*8d67ca89SAndroid Build Coastguard Worker} 1633*8d67ca89SAndroid Build Coastguard Worker 1634*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1635*8d67ca89SAndroid Build Coastguard Worker name: "exec_linker_helper_lib", 1636*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1637*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1638*8d67ca89SAndroid Build Coastguard Worker srcs: ["exec_linker_helper_lib.cpp"], 1639*8d67ca89SAndroid Build Coastguard Worker} 1640*8d67ca89SAndroid Build Coastguard Worker 1641*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1642*8d67ca89SAndroid Build Coastguard Worker name: "libsegment_gap_outer", 1643*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1644*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1645*8d67ca89SAndroid Build Coastguard Worker srcs: ["segment_gap_outer.cpp"], 1646*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,-T,bionic/tests/libs/segment_gap_outer.lds"], 1647*8d67ca89SAndroid Build Coastguard Worker} 1648*8d67ca89SAndroid Build Coastguard Worker 1649*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1650*8d67ca89SAndroid Build Coastguard Worker name: "libsegment_gap_inner", 1651*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1652*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1653*8d67ca89SAndroid Build Coastguard Worker srcs: ["segment_gap_inner.cpp"], 1654*8d67ca89SAndroid Build Coastguard Worker} 1655*8d67ca89SAndroid Build Coastguard Worker 1656*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1657*8d67ca89SAndroid Build Coastguard Worker// Check that we support all kinds of relocations: regular, "relocation packer", 1658*8d67ca89SAndroid Build Coastguard Worker// and both the old and new SHT_RELR constants. 1659*8d67ca89SAndroid Build Coastguard Worker// ----------------------------------------------------------------------------- 1660*8d67ca89SAndroid Build Coastguard Worker 1661*8d67ca89SAndroid Build Coastguard Worker// This is what got standardized for SHT_RELR. 1662*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1663*8d67ca89SAndroid Build Coastguard Worker name: "librelocations-RELR", 1664*8d67ca89SAndroid Build Coastguard Worker ldflags: [ 1665*8d67ca89SAndroid Build Coastguard Worker "-Wl,--pack-dyn-relocs=relr", 1666*8d67ca89SAndroid Build Coastguard Worker "-Wl,--no-use-android-relr-tags", 1667*8d67ca89SAndroid Build Coastguard Worker ], 1668*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1669*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1670*8d67ca89SAndroid Build Coastguard Worker srcs: ["relocations.cpp"], 1671*8d67ca89SAndroid Build Coastguard Worker} 1672*8d67ca89SAndroid Build Coastguard Worker 1673*8d67ca89SAndroid Build Coastguard Worker// This is the same encoding as SHT_RELR, but using OS-specific constants. 1674*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1675*8d67ca89SAndroid Build Coastguard Worker name: "librelocations-ANDROID_RELR", 1676*8d67ca89SAndroid Build Coastguard Worker ldflags: [ 1677*8d67ca89SAndroid Build Coastguard Worker "-Wl,--pack-dyn-relocs=relr", 1678*8d67ca89SAndroid Build Coastguard Worker "-Wl,--use-android-relr-tags", 1679*8d67ca89SAndroid Build Coastguard Worker ], 1680*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1681*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1682*8d67ca89SAndroid Build Coastguard Worker srcs: ["relocations.cpp"], 1683*8d67ca89SAndroid Build Coastguard Worker} 1684*8d67ca89SAndroid Build Coastguard Worker 1685*8d67ca89SAndroid Build Coastguard Worker// This is the old relocation packer encoding (DT_ANDROID_REL/DT_ANDROID_RELA). 1686*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1687*8d67ca89SAndroid Build Coastguard Worker name: "librelocations-ANDROID_REL", 1688*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--pack-dyn-relocs=android"], 1689*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1690*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1691*8d67ca89SAndroid Build Coastguard Worker srcs: ["relocations.cpp"], 1692*8d67ca89SAndroid Build Coastguard Worker} 1693*8d67ca89SAndroid Build Coastguard Worker 1694*8d67ca89SAndroid Build Coastguard Worker// This is not packed at all. 1695*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1696*8d67ca89SAndroid Build Coastguard Worker name: "librelocations-fat", 1697*8d67ca89SAndroid Build Coastguard Worker ldflags: ["-Wl,--pack-dyn-relocs=none"], 1698*8d67ca89SAndroid Build Coastguard Worker host_supported: false, 1699*8d67ca89SAndroid Build Coastguard Worker defaults: ["bionic_testlib_defaults"], 1700*8d67ca89SAndroid Build Coastguard Worker srcs: ["relocations.cpp"], 1701*8d67ca89SAndroid Build Coastguard Worker} 1702*8d67ca89SAndroid Build Coastguard Worker 1703*8d67ca89SAndroid Build Coastguard Workercc_defaults { 1704*8d67ca89SAndroid Build Coastguard Worker name: "bionic_targets_only", 1705*8d67ca89SAndroid Build Coastguard Worker enabled: false, 1706*8d67ca89SAndroid Build Coastguard Worker target: { 1707*8d67ca89SAndroid Build Coastguard Worker android: { 1708*8d67ca89SAndroid Build Coastguard Worker enabled: true, 1709*8d67ca89SAndroid Build Coastguard Worker }, 1710*8d67ca89SAndroid Build Coastguard Worker linux_bionic: { 1711*8d67ca89SAndroid Build Coastguard Worker enabled: true, 1712*8d67ca89SAndroid Build Coastguard Worker }, 1713*8d67ca89SAndroid Build Coastguard Worker }, 1714*8d67ca89SAndroid Build Coastguard Worker} 1715*8d67ca89SAndroid Build Coastguard Worker 1716*8d67ca89SAndroid Build Coastguard Workercc_test { 1717*8d67ca89SAndroid Build Coastguard Worker name: "heap_tagging_sync_helper", 1718*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1719*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1720*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 1721*8d67ca89SAndroid Build Coastguard Worker ], 1722*8d67ca89SAndroid Build Coastguard Worker srcs: ["heap_tagging_helper.cpp"], 1723*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1724*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1725*8d67ca89SAndroid Build Coastguard Worker diag: { 1726*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1727*8d67ca89SAndroid Build Coastguard Worker }, 1728*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1729*8d67ca89SAndroid Build Coastguard Worker }, 1730*8d67ca89SAndroid Build Coastguard Worker} 1731*8d67ca89SAndroid Build Coastguard Worker 1732*8d67ca89SAndroid Build Coastguard Workercc_test { 1733*8d67ca89SAndroid Build Coastguard Worker name: "heap_tagging_async_helper", 1734*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1735*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1736*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 1737*8d67ca89SAndroid Build Coastguard Worker ], 1738*8d67ca89SAndroid Build Coastguard Worker srcs: ["heap_tagging_helper.cpp"], 1739*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1740*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1741*8d67ca89SAndroid Build Coastguard Worker diag: { 1742*8d67ca89SAndroid Build Coastguard Worker memtag_heap: false, 1743*8d67ca89SAndroid Build Coastguard Worker }, 1744*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1745*8d67ca89SAndroid Build Coastguard Worker }, 1746*8d67ca89SAndroid Build Coastguard Worker} 1747*8d67ca89SAndroid Build Coastguard Worker 1748*8d67ca89SAndroid Build Coastguard Workercc_test { 1749*8d67ca89SAndroid Build Coastguard Worker name: "heap_tagging_disabled_helper", 1750*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1751*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1752*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 1753*8d67ca89SAndroid Build Coastguard Worker ], 1754*8d67ca89SAndroid Build Coastguard Worker srcs: ["heap_tagging_helper.cpp"], 1755*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1756*8d67ca89SAndroid Build Coastguard Worker memtag_heap: false, 1757*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1758*8d67ca89SAndroid Build Coastguard Worker }, 1759*8d67ca89SAndroid Build Coastguard Worker} 1760*8d67ca89SAndroid Build Coastguard Worker 1761*8d67ca89SAndroid Build Coastguard Workercc_test { 1762*8d67ca89SAndroid Build Coastguard Worker name: "heap_tagging_static_sync_helper", 1763*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1764*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1765*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 1766*8d67ca89SAndroid Build Coastguard Worker ], 1767*8d67ca89SAndroid Build Coastguard Worker srcs: ["heap_tagging_helper.cpp"], 1768*8d67ca89SAndroid Build Coastguard Worker static_executable: true, 1769*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1770*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1771*8d67ca89SAndroid Build Coastguard Worker diag: { 1772*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1773*8d67ca89SAndroid Build Coastguard Worker }, 1774*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1775*8d67ca89SAndroid Build Coastguard Worker }, 1776*8d67ca89SAndroid Build Coastguard Worker} 1777*8d67ca89SAndroid Build Coastguard Worker 1778*8d67ca89SAndroid Build Coastguard Workercc_test { 1779*8d67ca89SAndroid Build Coastguard Worker name: "heap_tagging_static_async_helper", 1780*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1781*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1782*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 1783*8d67ca89SAndroid Build Coastguard Worker ], 1784*8d67ca89SAndroid Build Coastguard Worker srcs: ["heap_tagging_helper.cpp"], 1785*8d67ca89SAndroid Build Coastguard Worker static_executable: true, 1786*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1787*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1788*8d67ca89SAndroid Build Coastguard Worker diag: { 1789*8d67ca89SAndroid Build Coastguard Worker memtag_heap: false, 1790*8d67ca89SAndroid Build Coastguard Worker }, 1791*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1792*8d67ca89SAndroid Build Coastguard Worker }, 1793*8d67ca89SAndroid Build Coastguard Worker} 1794*8d67ca89SAndroid Build Coastguard Worker 1795*8d67ca89SAndroid Build Coastguard Workercc_test { 1796*8d67ca89SAndroid Build Coastguard Worker name: "heap_tagging_static_disabled_helper", 1797*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1798*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1799*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 1800*8d67ca89SAndroid Build Coastguard Worker ], 1801*8d67ca89SAndroid Build Coastguard Worker srcs: ["heap_tagging_helper.cpp"], 1802*8d67ca89SAndroid Build Coastguard Worker static_executable: true, 1803*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1804*8d67ca89SAndroid Build Coastguard Worker memtag_heap: false, 1805*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1806*8d67ca89SAndroid Build Coastguard Worker }, 1807*8d67ca89SAndroid Build Coastguard Worker} 1808*8d67ca89SAndroid Build Coastguard Worker 1809*8d67ca89SAndroid Build Coastguard Workercc_test { 1810*8d67ca89SAndroid Build Coastguard Worker name: "stack_tagging_helper", 1811*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1812*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1813*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 1814*8d67ca89SAndroid Build Coastguard Worker ], 1815*8d67ca89SAndroid Build Coastguard Worker srcs: ["stack_tagging_helper.cpp"], 1816*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1817*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1818*8d67ca89SAndroid Build Coastguard Worker memtag_stack: true, 1819*8d67ca89SAndroid Build Coastguard Worker diag: { 1820*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1821*8d67ca89SAndroid Build Coastguard Worker }, 1822*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1823*8d67ca89SAndroid Build Coastguard Worker }, 1824*8d67ca89SAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 1825*8d67ca89SAndroid Build Coastguard Worker cflags: ["-fexceptions"], 1826*8d67ca89SAndroid Build Coastguard Worker} 1827*8d67ca89SAndroid Build Coastguard Worker 1828*8d67ca89SAndroid Build Coastguard Workercc_test { 1829*8d67ca89SAndroid Build Coastguard Worker name: "stack_tagging_static_helper", 1830*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1831*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1832*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only", 1833*8d67ca89SAndroid Build Coastguard Worker ], 1834*8d67ca89SAndroid Build Coastguard Worker srcs: ["stack_tagging_helper.cpp"], 1835*8d67ca89SAndroid Build Coastguard Worker static_executable: true, 1836*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1837*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1838*8d67ca89SAndroid Build Coastguard Worker memtag_stack: true, 1839*8d67ca89SAndroid Build Coastguard Worker diag: { 1840*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1841*8d67ca89SAndroid Build Coastguard Worker }, 1842*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1843*8d67ca89SAndroid Build Coastguard Worker }, 1844*8d67ca89SAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 1845*8d67ca89SAndroid Build Coastguard Worker cflags: ["-fexceptions"], 1846*8d67ca89SAndroid Build Coastguard Worker} 1847*8d67ca89SAndroid Build Coastguard Worker 1848*8d67ca89SAndroid Build Coastguard Workercc_genrule { 1849*8d67ca89SAndroid Build Coastguard Worker name: "libdlext_test_zip_zipaligned", 1850*8d67ca89SAndroid Build Coastguard Worker out: ["bionic-loader-test-libs/libdlext_test_zip/libdlext_test_zip_zipaligned.zip"], 1851*8d67ca89SAndroid Build Coastguard Worker tools: [ 1852*8d67ca89SAndroid Build Coastguard Worker "soong_zip", 1853*8d67ca89SAndroid Build Coastguard Worker "bionic_tests_zipalign", 1854*8d67ca89SAndroid Build Coastguard Worker ], 1855*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1856*8d67ca89SAndroid Build Coastguard Worker ":libdlext_test_zip", 1857*8d67ca89SAndroid Build Coastguard Worker ":libatest_simple_zip", 1858*8d67ca89SAndroid Build Coastguard Worker ":exec_linker_helper", 1859*8d67ca89SAndroid Build Coastguard Worker ":exec_linker_helper_lib", 1860*8d67ca89SAndroid Build Coastguard Worker ], 1861*8d67ca89SAndroid Build Coastguard Worker cmd: "mkdir -p $(genDir)/zipdir/libdir &&" + 1862*8d67ca89SAndroid Build Coastguard Worker " cp $(in) $(genDir)/zipdir/libdir/ &&" + 1863*8d67ca89SAndroid Build Coastguard Worker " touch $(genDir)/zipdir/empty_file.txt &&" + 1864*8d67ca89SAndroid Build Coastguard Worker " $(location soong_zip) -o $(out).unaligned -L 0 -C $(genDir)/zipdir -D $(genDir)/zipdir &&" + 1865*8d67ca89SAndroid Build Coastguard Worker " $(location bionic_tests_zipalign) 16384 $(out).unaligned $(out)", 1866*8d67ca89SAndroid Build Coastguard Worker 1867*8d67ca89SAndroid Build Coastguard Worker} 1868*8d67ca89SAndroid Build Coastguard Worker 1869*8d67ca89SAndroid Build Coastguard Workercc_genrule { 1870*8d67ca89SAndroid Build Coastguard Worker name: "libdlext_test_runpath_zip_zipaligned", 1871*8d67ca89SAndroid Build Coastguard Worker out: ["bionic-loader-test-libs/libdlext_test_runpath_zip/libdlext_test_runpath_zip_zipaligned.zip"], 1872*8d67ca89SAndroid Build Coastguard Worker tools: [ 1873*8d67ca89SAndroid Build Coastguard Worker "soong_zip", 1874*8d67ca89SAndroid Build Coastguard Worker "bionic_tests_zipalign", 1875*8d67ca89SAndroid Build Coastguard Worker ], 1876*8d67ca89SAndroid Build Coastguard Worker srcs: [ 1877*8d67ca89SAndroid Build Coastguard Worker ":libtest_dt_runpath_d_zip", 1878*8d67ca89SAndroid Build Coastguard Worker ":libtest_dt_runpath_a", 1879*8d67ca89SAndroid Build Coastguard Worker ":libtest_dt_runpath_b", 1880*8d67ca89SAndroid Build Coastguard Worker ":libtest_dt_runpath_c", 1881*8d67ca89SAndroid Build Coastguard Worker ":libtest_dt_runpath_x", 1882*8d67ca89SAndroid Build Coastguard Worker ":libtest_dt_runpath_y", 1883*8d67ca89SAndroid Build Coastguard Worker ], 1884*8d67ca89SAndroid Build Coastguard Worker cmd: "mkdir -p $(genDir)/zipdir/libdir &&" + 1885*8d67ca89SAndroid Build Coastguard Worker " if [[ \"$$CC_MULTILIB\" = lib32 ]]; then" + 1886*8d67ca89SAndroid Build Coastguard Worker " PRIVATE_LIB_OR_LIB64=lib;" + 1887*8d67ca89SAndroid Build Coastguard Worker " else" + 1888*8d67ca89SAndroid Build Coastguard Worker " PRIVATE_LIB_OR_LIB64=lib64;" + 1889*8d67ca89SAndroid Build Coastguard Worker " fi &&" + 1890*8d67ca89SAndroid Build Coastguard Worker " if [[ -n \"$$CC_NATIVE_BRIDGE\" ]]; then" + 1891*8d67ca89SAndroid Build Coastguard Worker " PRIVATE_LIB_OR_LIB64=$$PRIVATE_LIB_OR_LIB64/$$CC_NATIVE_BRIDGE;" + 1892*8d67ca89SAndroid Build Coastguard Worker " fi &&" + 1893*8d67ca89SAndroid Build Coastguard Worker " mkdir -p $(genDir)/zipdir/libdir/dt_runpath_a &&" + 1894*8d67ca89SAndroid Build Coastguard Worker " mkdir -p $(genDir)/zipdir/libdir/dt_runpath_b_c_x &&" + 1895*8d67ca89SAndroid Build Coastguard Worker " mkdir -p $(genDir)/zipdir/libdir/dt_runpath_y/$$PRIVATE_LIB_OR_LIB64 &&" + 1896*8d67ca89SAndroid Build Coastguard Worker " cp $(location :libtest_dt_runpath_d_zip) $(genDir)/zipdir/libdir &&" + 1897*8d67ca89SAndroid Build Coastguard Worker " cp $(location :libtest_dt_runpath_a) $(genDir)/zipdir/libdir/dt_runpath_a &&" + 1898*8d67ca89SAndroid Build Coastguard Worker " cp $(location :libtest_dt_runpath_b) $(genDir)/zipdir/libdir/dt_runpath_b_c_x &&" + 1899*8d67ca89SAndroid Build Coastguard Worker " cp $(location :libtest_dt_runpath_c) $(genDir)/zipdir/libdir/dt_runpath_b_c_x &&" + 1900*8d67ca89SAndroid Build Coastguard Worker " cp $(location :libtest_dt_runpath_x) $(genDir)/zipdir/libdir/dt_runpath_b_c_x &&" + 1901*8d67ca89SAndroid Build Coastguard Worker " cp $(location :libtest_dt_runpath_y) $(genDir)/zipdir/libdir/dt_runpath_y/$$PRIVATE_LIB_OR_LIB64 &&" + 1902*8d67ca89SAndroid Build Coastguard Worker " touch $(genDir)/zipdir/empty_file.txt &&" + 1903*8d67ca89SAndroid Build Coastguard Worker " $(location soong_zip) -o $(out).unaligned -L 0 -C $(genDir)/zipdir -D $(genDir)/zipdir &&" + 1904*8d67ca89SAndroid Build Coastguard Worker " $(location bionic_tests_zipalign) 16384 $(out).unaligned $(out)", 1905*8d67ca89SAndroid Build Coastguard Worker} 1906*8d67ca89SAndroid Build Coastguard Worker 1907*8d67ca89SAndroid Build Coastguard Workercc_defaults { 1908*8d67ca89SAndroid Build Coastguard Worker name: "memtag_globals_defaults", 1909*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1910*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1911*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only" 1912*8d67ca89SAndroid Build Coastguard Worker ], 1913*8d67ca89SAndroid Build Coastguard Worker cflags: [ 1914*8d67ca89SAndroid Build Coastguard Worker "-Wno-array-bounds", 1915*8d67ca89SAndroid Build Coastguard Worker "-Wno-unused-variable", 1916*8d67ca89SAndroid Build Coastguard Worker ], 1917*8d67ca89SAndroid Build Coastguard Worker header_libs: ["bionic_libc_platform_headers"], 1918*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1919*8d67ca89SAndroid Build Coastguard Worker hwaddress: false, 1920*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1921*8d67ca89SAndroid Build Coastguard Worker memtag_globals: true, 1922*8d67ca89SAndroid Build Coastguard Worker diag: { 1923*8d67ca89SAndroid Build Coastguard Worker memtag_heap: true, 1924*8d67ca89SAndroid Build Coastguard Worker } 1925*8d67ca89SAndroid Build Coastguard Worker }, 1926*8d67ca89SAndroid Build Coastguard Worker} 1927*8d67ca89SAndroid Build Coastguard Worker 1928*8d67ca89SAndroid Build Coastguard Workercc_test_library { 1929*8d67ca89SAndroid Build Coastguard Worker name: "memtag_globals_dso", 1930*8d67ca89SAndroid Build Coastguard Worker defaults: [ "memtag_globals_defaults" ], 1931*8d67ca89SAndroid Build Coastguard Worker srcs: ["memtag_globals_dso.cpp"], 1932*8d67ca89SAndroid Build Coastguard Worker} 1933*8d67ca89SAndroid Build Coastguard Worker 1934*8d67ca89SAndroid Build Coastguard Workercc_test { 1935*8d67ca89SAndroid Build Coastguard Worker name: "memtag_globals_binary", 1936*8d67ca89SAndroid Build Coastguard Worker defaults: [ "memtag_globals_defaults" ], 1937*8d67ca89SAndroid Build Coastguard Worker srcs: ["memtag_globals_binary.cpp"], 1938*8d67ca89SAndroid Build Coastguard Worker shared_libs: [ "memtag_globals_dso" ], 1939*8d67ca89SAndroid Build Coastguard Worker // This binary is used in the bionic-unit-tests as a data dependency, and is 1940*8d67ca89SAndroid Build Coastguard Worker // in the same folder as memtag_globals_dso. But, the default cc_test rules 1941*8d67ca89SAndroid Build Coastguard Worker // make this binary (when just explicitly built and shoved in 1942*8d67ca89SAndroid Build Coastguard Worker // /data/nativetest64/) end up in a subfolder called 1943*8d67ca89SAndroid Build Coastguard Worker // 'memtag_globals_binary'. When this happens, the explicit build fails to 1944*8d67ca89SAndroid Build Coastguard Worker // find the DSO because the default rpath is just ${ORIGIN}, and because we 1945*8d67ca89SAndroid Build Coastguard Worker // want this to be usable both from bionic-unit-tests and explicit builds, 1946*8d67ca89SAndroid Build Coastguard Worker // let's just not put it in a subdirectory. 1947*8d67ca89SAndroid Build Coastguard Worker no_named_install_directory: true, 1948*8d67ca89SAndroid Build Coastguard Worker} 1949*8d67ca89SAndroid Build Coastguard Worker 1950*8d67ca89SAndroid Build Coastguard Workercc_test { 1951*8d67ca89SAndroid Build Coastguard Worker name: "memtag_globals_binary_static", 1952*8d67ca89SAndroid Build Coastguard Worker defaults: [ "memtag_globals_defaults" ], 1953*8d67ca89SAndroid Build Coastguard Worker srcs: ["memtag_globals_binary.cpp"], 1954*8d67ca89SAndroid Build Coastguard Worker static_libs: [ "memtag_globals_dso" ], 1955*8d67ca89SAndroid Build Coastguard Worker no_named_install_directory: true, 1956*8d67ca89SAndroid Build Coastguard Worker static_executable: true, 1957*8d67ca89SAndroid Build Coastguard Worker} 1958*8d67ca89SAndroid Build Coastguard Worker 1959*8d67ca89SAndroid Build Coastguard Worker// This is a regression test for b/314038442, where binaries built *without* MTE 1960*8d67ca89SAndroid Build Coastguard Worker// globals would have out-of-bounds RELR relocations, which where then `ldg`'d, 1961*8d67ca89SAndroid Build Coastguard Worker// which resulted in linker crashes. 1962*8d67ca89SAndroid Build Coastguard Workercc_test { 1963*8d67ca89SAndroid Build Coastguard Worker name: "mte_globals_relr_regression_test_b_314038442", 1964*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1965*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1966*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only" 1967*8d67ca89SAndroid Build Coastguard Worker ], 1968*8d67ca89SAndroid Build Coastguard Worker cflags: [ "-Wno-array-bounds" ], 1969*8d67ca89SAndroid Build Coastguard Worker ldflags: [ "-Wl,--pack-dyn-relocs=relr" ], 1970*8d67ca89SAndroid Build Coastguard Worker srcs: ["mte_globals_relr_regression_test_b_314038442.cpp"], 1971*8d67ca89SAndroid Build Coastguard Worker no_named_install_directory: true, 1972*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1973*8d67ca89SAndroid Build Coastguard Worker memtag_globals: false, 1974*8d67ca89SAndroid Build Coastguard Worker }, 1975*8d67ca89SAndroid Build Coastguard Worker} 1976*8d67ca89SAndroid Build Coastguard Worker 1977*8d67ca89SAndroid Build Coastguard Worker// Same test as above, but also for MTE globals, just for the sake of it. 1978*8d67ca89SAndroid Build Coastguard Workercc_test { 1979*8d67ca89SAndroid Build Coastguard Worker name: "mte_globals_relr_regression_test_b_314038442_mte", 1980*8d67ca89SAndroid Build Coastguard Worker defaults: [ 1981*8d67ca89SAndroid Build Coastguard Worker "bionic_testlib_defaults", 1982*8d67ca89SAndroid Build Coastguard Worker "bionic_targets_only" 1983*8d67ca89SAndroid Build Coastguard Worker ], 1984*8d67ca89SAndroid Build Coastguard Worker cflags: [ "-Wno-array-bounds" ], 1985*8d67ca89SAndroid Build Coastguard Worker ldflags: [ "-Wl,--pack-dyn-relocs=relr" ], 1986*8d67ca89SAndroid Build Coastguard Worker srcs: ["mte_globals_relr_regression_test_b_314038442.cpp"], 1987*8d67ca89SAndroid Build Coastguard Worker no_named_install_directory: true, 1988*8d67ca89SAndroid Build Coastguard Worker sanitize: { 1989*8d67ca89SAndroid Build Coastguard Worker memtag_globals: true, 1990*8d67ca89SAndroid Build Coastguard Worker }, 1991*8d67ca89SAndroid Build Coastguard Worker} 1992