1//
2// Copyright (C) 2018 The Android Open Source Project
3//
4// Licensed under the Apache License, Version 2.0 (the "License");
5// you may not use this file except in compliance with the License.
6// You may obtain a copy of the License at
7//
8//      http://www.apache.org/licenses/LICENSE-2.0
9//
10// Unless required by applicable law or agreed to in writing, software
11// distributed under the License is distributed on an "AS IS" BASIS,
12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13// See the License for the specific language governing permissions and
14// limitations under the License.
15//
16
17cc_library_shared {
18    name: "libnative_bridge_vdso",
19    enabled: false,
20    native_bridge_supported: true,
21    target: {
22       native_bridge: {
23           enabled: true,
24       }
25    },
26    arch: {
27        arm64: {
28            srcs: ["vdso_arm64.S"],
29        },
30        arm: {
31            srcs: ["vdso_arm.S"],
32        },
33    },
34    export_include_dirs: ["include"],
35    // Make sure we do not drag any dependencies for vdso library (-Wl,--exclude-libs,ALL)
36    ldflags: [
37        "-Wl,--exclude-libs,ALL",
38        "-Wl,-soname,linux-vdso.so.1",
39
40        // TODO(b/146399556): Use -z,separate-code to ensure that each segment's p_offset and
41        // p_vaddr values are equal to work around problems with __libc_init_vdso in Bionic.
42        "-Wl,-z,separate-code",
43    ],
44    system_shared_libs: [],
45    // Opt out of native_coverage when opting out of system_shared_libs
46    native_coverage: false,
47    nocrt: true,
48    stl: "none",
49    // no_standard_libs: true,
50    strip: {
51        keep_symbols_and_debug_frame: true,
52    },
53    pack_relocations: false,
54}
55