| // ============================================================== |
| // libc_malloc_debug_backtrace.a |
| // ============================================================== |
| // Used by libmemunreachable |
| cc_library_static { |
| |
| name: "libc_malloc_debug_backtrace", |
| |
| srcs: [ |
| "backtrace.cpp", |
| "MapData.cpp", |
| ], |
| |
| stl: "libc++_static", |
| |
| whole_static_libs: [ |
| "libasync_safe", |
| "libdemangle", |
| ], |
| |
| include_dirs: ["bionic/libc"], |
| |
| export_include_dirs: ["."], |
| |
| sanitize: { |
| never: true, |
| }, |
| native_coverage: false, |
| |
| // -Wno-error=format-zero-length needed for gcc to compile. |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| "-Wno-error=format-zero-length", |
| ], |
| } |
| |
| // ============================================================== |
| // libc_malloc_debug.so |
| // ============================================================== |
| cc_library { |
| name: "libc_malloc_debug", |
| |
| srcs: [ |
| "Config.cpp", |
| "DebugData.cpp", |
| "debug_disable.cpp", |
| "GuardData.cpp", |
| "malloc_debug.cpp", |
| "PointerData.cpp", |
| "RecordData.cpp", |
| ], |
| |
| stl: "libc++_static", |
| |
| // Only need this for arm since libc++ uses its own unwind code that |
| // doesn't mix with the other default unwind code. |
| arch: { |
| arm: { |
| static_libs: ["libunwind_llvm"], |
| }, |
| }, |
| |
| // Clang lld link flags do not work with special link rules |
| // for libunwind_llvm yet. Linked aosp_arm-eng image failed to |
| // boot up in the emulator. http://b/78118944. |
| use_clang_lld: false, |
| |
| static_libs: [ |
| "libasync_safe", |
| "libbase", |
| "libc_malloc_debug_backtrace", |
| ], |
| |
| multilib: { |
| lib32: { |
| version_script: "exported32.map", |
| }, |
| lib64: { |
| version_script: "exported64.map", |
| }, |
| }, |
| allow_undefined_symbols: true, |
| include_dirs: ["bionic/libc"], |
| |
| sanitize: { |
| never: true, |
| }, |
| native_coverage: false, |
| |
| // -Wno-error=format-zero-length needed for gcc to compile. |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| "-fno-stack-protector", |
| "-Wno-error=format-zero-length", |
| "-Wthread-safety", |
| ], |
| } |
| |
| // ============================================================== |
| // Unit Tests |
| // ============================================================== |
| cc_test { |
| name: "malloc_debug_unit_tests", |
| |
| srcs: [ |
| "tests/backtrace_fake.cpp", |
| "tests/log_fake.cpp", |
| "tests/libc_fake.cpp", |
| "tests/malloc_debug_config_tests.cpp", |
| "tests/malloc_debug_unit_tests.cpp", |
| ], |
| |
| whole_static_libs: ["libc_malloc_debug"], |
| |
| local_include_dirs: ["tests"], |
| include_dirs: [ |
| "bionic/libc", |
| "bionic/libc/async_safe/include", |
| ], |
| |
| shared_libs: ["libbase"], |
| |
| cflags: [ |
| "-Wall", |
| "-Werror", |
| "-Wno-error=format-zero-length", |
| ], |
| } |