f2b1e03606
This supports the soong commit which causes most platform binaries to stop statically linking against the unwinder implementation. The soong commit message has more motivation for this change. ARM32 uses LLVM libunwind, while all other platforms use libgcc as the unwinder implementation. This matches the current choices of unwinders on the various architectures, but means that apps which were directly linking against the libc.so unwinder symbols on ARM32 are now using LLVM libunwind instead of libgcc. Set libc_headers sdk_version to 1 so that libunwind_llvm can depend on it, and stop statically linking libunwind into libc_malloc_debug. Bug: 144430859 Change-Id: I52c7f7893d93f500383aeb0b76086c3b6f1935a5
186 lines
3.7 KiB
Text
186 lines
3.7 KiB
Text
// ==============================================================
|
|
// libc_malloc_debug_backtrace.a
|
|
// ==============================================================
|
|
// Used by libmemunreachable
|
|
cc_library_static {
|
|
name: "libc_malloc_debug_backtrace",
|
|
vendor_available: true,
|
|
|
|
srcs: [
|
|
"backtrace.cpp",
|
|
"MapData.cpp",
|
|
],
|
|
|
|
stl: "libc++_static",
|
|
|
|
whole_static_libs: [
|
|
"libbase",
|
|
"libasync_safe",
|
|
],
|
|
|
|
include_dirs: ["bionic/libc"],
|
|
|
|
export_include_dirs: ["."],
|
|
|
|
sanitize: {
|
|
never: true,
|
|
},
|
|
native_coverage: false,
|
|
|
|
target: {
|
|
android: {
|
|
static_libs: ["libc++demangle"],
|
|
},
|
|
},
|
|
|
|
// -Wno-error=format-zero-length needed for gcc to compile.
|
|
cflags: [
|
|
"-Wall",
|
|
"-Werror",
|
|
"-Wno-error=format-zero-length",
|
|
],
|
|
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
"com.android.runtime",
|
|
],
|
|
}
|
|
|
|
// ==============================================================
|
|
// 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",
|
|
"UnwindBacktrace.cpp",
|
|
],
|
|
|
|
stl: "libc++_static",
|
|
|
|
static_libs: [
|
|
"libasync_safe",
|
|
"libbase",
|
|
"libc_malloc_debug_backtrace",
|
|
],
|
|
|
|
shared_libs: [
|
|
"libunwindstack",
|
|
],
|
|
|
|
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",
|
|
],
|
|
|
|
apex_available: [
|
|
"com.android.runtime",
|
|
],
|
|
static: {
|
|
apex_available: [
|
|
"//apex_available:platform",
|
|
],
|
|
},
|
|
}
|
|
|
|
// ==============================================================
|
|
// 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",
|
|
],
|
|
|
|
local_include_dirs: ["tests"],
|
|
include_dirs: [
|
|
"bionic/libc",
|
|
"bionic/libc/async_safe/include",
|
|
],
|
|
|
|
header_libs: [
|
|
"bionic_libc_platform_headers",
|
|
],
|
|
|
|
static_libs: [
|
|
"libc_malloc_debug",
|
|
"libtinyxml2",
|
|
],
|
|
|
|
shared_libs: [
|
|
"libbase",
|
|
"libunwindstack",
|
|
],
|
|
|
|
cflags: [
|
|
"-Wall",
|
|
"-Werror",
|
|
"-Wno-error=format-zero-length",
|
|
"-O0",
|
|
],
|
|
}
|
|
|
|
// ==============================================================
|
|
// System Tests
|
|
// ==============================================================
|
|
cc_test {
|
|
name: "malloc_debug_system_tests",
|
|
isolated: true,
|
|
|
|
include_dirs: [
|
|
"bionic/libc",
|
|
],
|
|
|
|
header_libs: [
|
|
"bionic_libc_platform_headers",
|
|
],
|
|
|
|
srcs: [
|
|
"tests/malloc_debug_system_tests.cpp",
|
|
],
|
|
|
|
shared_libs: [
|
|
"libbase",
|
|
"liblog",
|
|
"libunwindstack",
|
|
],
|
|
|
|
cflags: [
|
|
"-Wall",
|
|
"-Werror",
|
|
"-O0",
|
|
],
|
|
test_suites: ["general-tests"],
|
|
}
|