// // Copyright (C) 2020 The Android Open Source Project // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. // package { default_applicable_licenses: ["Android-Apache-2.0"], } cc_library_headers { name: "native_bridge_guest_linker_headers", export_include_dirs: ["include"], host_supported: true, native_bridge_supported: true, } cc_binary { name: "native_bridge_guest_linker", overrides: ["linker"], stem: "linker", defaults: ["linker_bin_template"], srcs: [ "__libc_init_main_thread.cpp", "linker_tls.cpp", "linker_translate_path.cpp", ], include_dirs: [ "bionic/linker", ], enabled: false, target: { native_bridge: { enabled: true, } }, arch: { arm: { srcs: ["init_static_tls_arm.S"], version_script: "linker.arm.map", }, arm64: { srcs: ["init_static_tls_arm64.S"], version_script: "linker.generic.map", }, }, cflags: [ // TODO(b/133135269): workaround to skip hardcoded 'bootstrap' directory from guest library search. // See https://android-review.googlesource.com/c/platform/bionic/+/954353/7/linker/linker.cpp#1165 "-D__ANDROID_APEX__=native_bridge_apex", ], header_libs: ["native_bridge_guest_linker_headers"], native_bridge_supported: true, multilib: { lib64: { suffix: "64", }, }, compile_multilib: "both", static_libs: ["liblinker_debuggerd_stub"], }