summaryrefslogtreecommitdiffstats
path: root/libcorkscrew
diff options
context:
space:
mode:
authorBen Cheng <bccheng@google.com>2013-05-21 10:55:03 -0700
committerBen Cheng <bccheng@google.com>2013-05-21 12:46:09 -0700
commitddc50e67e2ef33f20e76fca1c3fc04474cd9df9d (patch)
tree8b44fccab333be3bfc70ea986494a0e6eda23fa6 /libcorkscrew
parent4508ef49c00319af7ad0e9630b385b4f786ee959 (diff)
downloadsystem_core-ddc50e67e2ef33f20e76fca1c3fc04474cd9df9d.zip
system_core-ddc50e67e2ef33f20e76fca1c3fc04474cd9df9d.tar.gz
system_core-ddc50e67e2ef33f20e76fca1c3fc04474cd9df9d.tar.bz2
Format stack trace PC offset to 8 digits with leading zeros.
BUG: 9067999 Change-Id: Ib5bbf2d5c166dc27e35386d589536eeb6b078c6a
Diffstat (limited to 'libcorkscrew')
-rw-r--r--libcorkscrew/backtrace.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/libcorkscrew/backtrace.c b/libcorkscrew/backtrace.c
index b365e5b..f1dd61d 100644
--- a/libcorkscrew/backtrace.c
+++ b/libcorkscrew/backtrace.c
@@ -319,16 +319,17 @@ void format_backtrace_line(unsigned frameNumber, const backtrace_frame_t* frame
if (symbolName) {
uint32_t pc_offset = symbol->relative_pc - symbol->relative_symbol_addr;
if (pc_offset) {
- snprintf(buffer, bufferSize, "#%02u pc %p %.*s (%.*s+%u)",
- frameNumber, (void*) symbol->relative_pc, fieldWidth, mapName,
- fieldWidth, symbolName, pc_offset);
+ snprintf(buffer, bufferSize, "#%02u pc %08x %.*s (%.*s+%u)",
+ frameNumber, (unsigned int) symbol->relative_pc,
+ fieldWidth, mapName, fieldWidth, symbolName, pc_offset);
} else {
- snprintf(buffer, bufferSize, "#%02u pc %p %.*s (%.*s)",
- frameNumber, (void*) symbol->relative_pc, fieldWidth, mapName,
- fieldWidth, symbolName);
+ snprintf(buffer, bufferSize, "#%02u pc %08x %.*s (%.*s)",
+ frameNumber, (unsigned int) symbol->relative_pc,
+ fieldWidth, mapName, fieldWidth, symbolName);
}
} else {
- snprintf(buffer, bufferSize, "#%02u pc %p %.*s",
- frameNumber, (void*) symbol->relative_pc, fieldWidth, mapName);
+ snprintf(buffer, bufferSize, "#%02u pc %08x %.*s",
+ frameNumber, (unsigned int) symbol->relative_pc,
+ fieldWidth, mapName);
}
}