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