summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2018-05-11 16:01:21 -0700
committerChih-Hung Hsieh <chh@google.com>2018-05-14 11:07:54 -0700
commit3249b3a8dd37ed16b4819e941989d945f6571673 (patch)
tree6895bad384afd6cb583c70728a4b08b93edb488b
parentc8dd6b74e66ee02132e9d2094675974f5285666a (diff)
downloadsystem_core-3249b3a8dd37ed16b4819e941989d945f6571673.tar.gz
system_core-3249b3a8dd37ed16b4819e941989d945f6571673.tar.bz2
system_core-3249b3a8dd37ed16b4819e941989d945f6571673.zip
Expect optional (offset ...) in frame dump.
* New lld could create files that map to non-zero offset at run time. Test: debuggerd_test Bug: 79590156 Change-Id: I12db0ebef489ba8a1e648a29d214f8d3c3703996
-rw-r--r--debuggerd/debuggerd_test.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/debuggerd/debuggerd_test.cpp b/debuggerd/debuggerd_test.cpp
index 9b64be70f..dfb7a6a7c 100644
--- a/debuggerd/debuggerd_test.cpp
+++ b/debuggerd/debuggerd_test.cpp
@@ -80,8 +80,13 @@ constexpr char kWaitForGdbKey[] = "debug.debuggerd.wait_for_gdb";
return value; \
}()
+// Backtrace frame dump could contain:
+// #01 pc 0001cded /data/tmp/debuggerd_test32 (raise_debugger_signal+80)
+// or
+// #01 pc 00022a09 /data/tmp/debuggerd_test32 (offset 0x12000) (raise_debugger_signal+80)
#define ASSERT_BACKTRACE_FRAME(result, frame_name) \
- ASSERT_MATCH(result, R"(#\d\d pc [0-9a-f]+\s+ \S+ \()" frame_name R"(\+)");
+ ASSERT_MATCH(result, \
+ R"(#\d\d pc [0-9a-f]+\s+ \S+ (\(offset 0x[0-9a-f]+\) )?\()" frame_name R"(\+)");
static void tombstoned_intercept(pid_t target_pid, unique_fd* intercept_fd, unique_fd* output_fd,
InterceptStatus* status, DebuggerdDumpType intercept_type) {