diff options
author | Josh Gao <jmgao@google.com> | 2017-02-08 16:06:26 -0800 |
---|---|---|
committer | Josh Gao <jmgao@google.com> | 2017-02-15 17:03:44 -0800 |
commit | e73c932373e59e4c0351cc7a8bd8cc5b8910d87e (patch) | |
tree | b8b8a1945ab8caba4b31ad1440a055033276bf00 /debuggerd/Android.bp | |
parent | f6ad5851e689f54c9dee6bfc6668ca726726e818 (diff) | |
download | core-e73c932373e59e4c0351cc7a8bd8cc5b8910d87e.tar.gz core-e73c932373e59e4c0351cc7a8bd8cc5b8910d87e.tar.bz2 core-e73c932373e59e4c0351cc7a8bd8cc5b8910d87e.zip |
libdebuggerd_handler: in-process crash dumping for seccomped processes.
Do an in-process unwind for processes that have PR_SET_NO_NEW_PRIVS
enabled.
Bug: http://b/34684590
Test: debuggerd_test, killall -ABRT media.codec
Change-Id: I62562ec2c419d6643970100ab1cc0288982a1eed
Diffstat (limited to 'debuggerd/Android.bp')
-rw-r--r-- | debuggerd/Android.bp | 50 |
1 files changed, 45 insertions, 5 deletions
diff --git a/debuggerd/Android.bp b/debuggerd/Android.bp index ca881aaf0..8d2ea6840 100644 --- a/debuggerd/Android.bp +++ b/debuggerd/Android.bp @@ -12,14 +12,48 @@ cc_defaults { } cc_library_static { - name: "libdebuggerd_handler", + name: "libdebuggerd_handler_core", defaults: ["debuggerd_defaults"], srcs: ["handler/debuggerd_handler.cpp"], // libdebuggerd_handler gets async signal safe logging via libc_logging, // which defines its interface in bionic private headers. include_dirs: ["bionic/libc"], - static_libs: ["libc_logging"], + whole_static_libs: [ + "libc_logging", + "libdebuggerd", + ], + + export_include_dirs: ["include"], +} + +cc_library_static { + name: "libdebuggerd_handler", + defaults: ["debuggerd_defaults"], + srcs: ["handler/debuggerd_fallback_nop.cpp"], + + whole_static_libs: [ + "libdebuggerd_handler_core", + ], + + export_include_dirs: ["include"], +} + +cc_library_static { + name: "libdebuggerd_handler_fallback", + defaults: ["debuggerd_defaults"], + srcs: ["handler/debuggerd_fallback.cpp"], + + // libdebuggerd_handler gets async signal safe logging via libc_logging, + // which defines its interface in bionic private headers. + include_dirs: ["bionic/libc"], + static_libs: [ + "libdebuggerd", + "libbacktrace", + "libunwind", + "liblzma", + "libcutils", + ], export_include_dirs: ["include"], } @@ -39,7 +73,7 @@ cc_library { export_include_dirs: ["include"], } -cc_library { +cc_library_static { name: "libdebuggerd", defaults: ["debuggerd_defaults"], @@ -75,8 +109,10 @@ cc_library { local_include_dirs: ["libdebuggerd/include"], export_include_dirs: ["libdebuggerd/include"], - shared_libs: [ + static_libs: [ "libbacktrace", + "libunwind", + "liblzma", "libbase", "libcutils", "liblog", @@ -150,10 +186,14 @@ cc_binary { }, }, + static_libs: [ + "libdebuggerd", + "libcutils", + ], + shared_libs: [ "libbacktrace", "libbase", - "libdebuggerd", "liblog", "libprocinfo", "libselinux", |