Home | History | Annotate | Download | only in malloc_debug
      1 // ==============================================================
      2 // libc_malloc_debug_backtrace.a
      3 // ==============================================================
      4 // Used by libmemunreachable
      5 cc_library_static {
      6 
      7     name: "libc_malloc_debug_backtrace",
      8 
      9     srcs: [
     10         "backtrace.cpp",
     11         "MapData.cpp",
     12     ],
     13 
     14     stl: "libc++_static",
     15 
     16     static_libs: ["libc_logging"],
     17 
     18     include_dirs: ["bionic/libc"],
     19     export_include_dirs: ["."],
     20 
     21     sanitize: {
     22         never: true,
     23     },
     24     native_coverage: false,
     25 
     26     // -Wno-error=format-zero-length needed for gcc to compile.
     27     cflags: [
     28         "-Wall",
     29         "-Werror",
     30         "-Wno-error=format-zero-length",
     31     ],
     32 
     33 }
     34 
     35 // ==============================================================
     36 // libc_malloc_debug.so
     37 // ==============================================================
     38 cc_library {
     39     name: "libc_malloc_debug",
     40 
     41     srcs: [
     42         "BacktraceData.cpp",
     43         "Config.cpp",
     44         "DebugData.cpp",
     45         "debug_disable.cpp",
     46         "FreeTrackData.cpp",
     47         "GuardData.cpp",
     48         "malloc_debug.cpp",
     49         "RecordData.cpp",
     50         "TrackData.cpp",
     51     ],
     52 
     53     stl: "libc++_static",
     54 
     55     // Only need this for arm since libc++ uses its own unwind code that
     56     // doesn't mix with the other default unwind code.
     57     arch: {
     58         arm: {
     59             static_libs: ["libunwind_llvm"],
     60         },
     61     },
     62 
     63     static_libs: [
     64         "libbase",
     65         "libc_malloc_debug_backtrace",
     66         "libc_logging",
     67     ],
     68 
     69     multilib: {
     70         lib32: {
     71             version_script: "exported32.map",
     72         },
     73         lib64: {
     74             version_script: "exported64.map",
     75         },
     76     },
     77     allow_undefined_symbols: true,
     78     include_dirs: ["bionic/libc"],
     79 
     80     sanitize: {
     81         never: true,
     82     },
     83     native_coverage: false,
     84 
     85     // -Wno-error=format-zero-length needed for gcc to compile.
     86     cflags: [
     87         "-Wall",
     88         "-Werror",
     89         "-fno-stack-protector",
     90         "-Wno-error=format-zero-length",
     91     ],
     92 
     93 }
     94 
     95 // ==============================================================
     96 // Unit Tests
     97 // ==============================================================
     98 cc_test {
     99 
    100     name: "malloc_debug_unit_tests",
    101     multilib: {
    102         lib32: {
    103             suffix: "32",
    104         },
    105         lib64: {
    106             suffix: "64",
    107         },
    108     },
    109 
    110     srcs: [
    111         "tests/backtrace_fake.cpp",
    112         "tests/log_fake.cpp",
    113         "tests/libc_fake.cpp",
    114         "tests/malloc_debug_config_tests.cpp",
    115         "tests/malloc_debug_unit_tests.cpp",
    116     ],
    117 
    118     whole_static_libs: ["libc_malloc_debug"],
    119 
    120     local_include_dirs: ["tests"],
    121     include_dirs: ["bionic/libc"],
    122 
    123     shared_libs: ["libbase"],
    124 
    125     cflags: [
    126         "-Wall",
    127         "-Werror",
    128         "-Wno-error=format-zero-length",
    129     ],
    130 
    131 }
    132