xref: /aosp_15_r20/bionic/libc/malloc_hooks/Android.bp (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1 *8d67ca89SAndroid Build Coastguard Worker// ==============================================================
2 *8d67ca89SAndroid Build Coastguard Worker// libc_malloc_hooks.so
3 *8d67ca89SAndroid Build Coastguard Worker// ==============================================================
4 *8d67ca89SAndroid Build Coastguard Workerpackage {
5 *8d67ca89SAndroid Build Coastguard Worker    default_team: "trendy_team_native_tools_libraries",
6 *8d67ca89SAndroid Build Coastguard Worker    // See: http://go/android-license-faq
7 *8d67ca89SAndroid Build Coastguard Worker    // A large-scale-change added 'default_applicable_licenses' to import
8 *8d67ca89SAndroid Build Coastguard Worker    // all of the 'license_kinds' from "bionic_libc_license"
9 *8d67ca89SAndroid Build Coastguard Worker    // to get the below license kinds:
10 *8d67ca89SAndroid Build Coastguard Worker    //   SPDX-license-identifier-BSD
11 *8d67ca89SAndroid Build Coastguard Worker    default_applicable_licenses: ["bionic_libc_license"],
12 *8d67ca89SAndroid Build Coastguard Worker}
13 *8d67ca89SAndroid Build Coastguard Worker
14 *8d67ca89SAndroid Build Coastguard Workercc_library {
15 *8d67ca89SAndroid Build Coastguard Worker    name: "libc_malloc_hooks",
16 *8d67ca89SAndroid Build Coastguard Worker
17 *8d67ca89SAndroid Build Coastguard Worker    srcs: [
18 *8d67ca89SAndroid Build Coastguard Worker        "malloc_hooks.cpp",
19 *8d67ca89SAndroid Build Coastguard Worker    ],
20 *8d67ca89SAndroid Build Coastguard Worker
21 *8d67ca89SAndroid Build Coastguard Worker    static_libs: [
22 *8d67ca89SAndroid Build Coastguard Worker        "libasync_safe",
23 *8d67ca89SAndroid Build Coastguard Worker    ],
24 *8d67ca89SAndroid Build Coastguard Worker
25 *8d67ca89SAndroid Build Coastguard Worker    multilib: {
26 *8d67ca89SAndroid Build Coastguard Worker        lib32: {
27 *8d67ca89SAndroid Build Coastguard Worker            version_script: "exported32.map",
28 *8d67ca89SAndroid Build Coastguard Worker        },
29 *8d67ca89SAndroid Build Coastguard Worker        lib64: {
30 *8d67ca89SAndroid Build Coastguard Worker            version_script: "exported64.map",
31 *8d67ca89SAndroid Build Coastguard Worker        },
32 *8d67ca89SAndroid Build Coastguard Worker    },
33 *8d67ca89SAndroid Build Coastguard Worker    include_dirs: ["bionic/libc"],
34 *8d67ca89SAndroid Build Coastguard Worker
35 *8d67ca89SAndroid Build Coastguard Worker    sanitize: {
36 *8d67ca89SAndroid Build Coastguard Worker        never: true,
37 *8d67ca89SAndroid Build Coastguard Worker    },
38 *8d67ca89SAndroid Build Coastguard Worker    native_coverage: false,
39 *8d67ca89SAndroid Build Coastguard Worker
40 *8d67ca89SAndroid Build Coastguard Worker    cflags: [
41 *8d67ca89SAndroid Build Coastguard Worker        "-Wall",
42 *8d67ca89SAndroid Build Coastguard Worker        "-Werror",
43 *8d67ca89SAndroid Build Coastguard Worker        "-fno-stack-protector",
44 *8d67ca89SAndroid Build Coastguard Worker    ],
45 *8d67ca89SAndroid Build Coastguard Worker
46 *8d67ca89SAndroid Build Coastguard Worker    apex_available: [
47 *8d67ca89SAndroid Build Coastguard Worker        "com.android.runtime",
48 *8d67ca89SAndroid Build Coastguard Worker    ],
49 *8d67ca89SAndroid Build Coastguard Worker    static: {
50 *8d67ca89SAndroid Build Coastguard Worker        apex_available: [
51 *8d67ca89SAndroid Build Coastguard Worker            "//apex_available:platform",
52 *8d67ca89SAndroid Build Coastguard Worker        ],
53 *8d67ca89SAndroid Build Coastguard Worker    },
54 *8d67ca89SAndroid Build Coastguard Worker}
55 *8d67ca89SAndroid Build Coastguard Worker
56 *8d67ca89SAndroid Build Coastguard Worker// ==============================================================
57 *8d67ca89SAndroid Build Coastguard Worker// Unit Tests
58 *8d67ca89SAndroid Build Coastguard Worker// ==============================================================
59 *8d67ca89SAndroid Build Coastguard Workercc_test {
60 *8d67ca89SAndroid Build Coastguard Worker    name: "malloc_hooks_system_tests",
61 *8d67ca89SAndroid Build Coastguard Worker    isolated: true,
62 *8d67ca89SAndroid Build Coastguard Worker
63 *8d67ca89SAndroid Build Coastguard Worker    // The clang-analyzer-unix.Malloc and other warnings in these
64 *8d67ca89SAndroid Build Coastguard Worker    // unit tests are either false positive or in
65 *8d67ca89SAndroid Build Coastguard Worker    // negative tests that can be ignored.
66 *8d67ca89SAndroid Build Coastguard Worker    tidy: false,
67 *8d67ca89SAndroid Build Coastguard Worker
68 *8d67ca89SAndroid Build Coastguard Worker    srcs: [
69 *8d67ca89SAndroid Build Coastguard Worker        "tests/malloc_hooks_tests.cpp",
70 *8d67ca89SAndroid Build Coastguard Worker    ],
71 *8d67ca89SAndroid Build Coastguard Worker
72 *8d67ca89SAndroid Build Coastguard Worker    whole_static_libs: ["libc_malloc_hooks"],
73 *8d67ca89SAndroid Build Coastguard Worker
74 *8d67ca89SAndroid Build Coastguard Worker    shared_libs: ["libbase"],
75 *8d67ca89SAndroid Build Coastguard Worker
76 *8d67ca89SAndroid Build Coastguard Worker    local_include_dirs: ["tests"],
77 *8d67ca89SAndroid Build Coastguard Worker    include_dirs: [
78 *8d67ca89SAndroid Build Coastguard Worker        "bionic/libc",
79 *8d67ca89SAndroid Build Coastguard Worker        "bionic",
80 *8d67ca89SAndroid Build Coastguard Worker    ],
81 *8d67ca89SAndroid Build Coastguard Worker    header_libs: [
82 *8d67ca89SAndroid Build Coastguard Worker        "bionic_libc_platform_headers",
83 *8d67ca89SAndroid Build Coastguard Worker    ],
84 *8d67ca89SAndroid Build Coastguard Worker
85 *8d67ca89SAndroid Build Coastguard Worker    cflags: [
86 *8d67ca89SAndroid Build Coastguard Worker        "-Wall",
87 *8d67ca89SAndroid Build Coastguard Worker        "-Werror",
88 *8d67ca89SAndroid Build Coastguard Worker        "-O1", // FIXME: http://b/169206016 - issues with aligned_alloc and -O2
89 *8d67ca89SAndroid Build Coastguard Worker    ],
90 *8d67ca89SAndroid Build Coastguard Worker    test_suites: ["general-tests"],
91 *8d67ca89SAndroid Build Coastguard Worker}
92