From ddc50e67e2ef33f20e76fca1c3fc04474cd9df9d Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Tue, 21 May 2013 10:55:03 -0700 Subject: [PATCH] Format stack trace PC offset to 8 digits with leading zeros. BUG: 9067999 Change-Id: Ib5bbf2d5c166dc27e35386d589536eeb6b078c6a --- libcorkscrew/backtrace.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/libcorkscrew/backtrace.c b/libcorkscrew/backtrace.c index b365e5bdd..f1dd61d74 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); } }