Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(4792)

Issue 262001: Fix printing of x86_64 registers in minidump_stackwalk (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
13 years, 2 months ago by Ted Mielczarek
Modified:
13 years, 2 months ago
Reviewers:
Mark Mentovai
CC:
google-breakpad-dev_googlegroups.com
Visibility:
Public.

Description

I guess I missed this when I initially implemented it, but we've been printing
the 64-bit x86_64 registers as 32-bit values in minidump_stackwalk, which is
dumb.

Patch Set 1 #

Total comments: 4

Patch Set 2 : With some changes #

Total comments: 2

Patch Set 3 : With comments addressed #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats Patch
M src/processor/minidump_stackwalk.cc View 1 2 3 chunks +33 lines, -13 lines 2 comments Download

Messages

Total messages: 11
Ted Mielczarek
13 years, 2 months ago #1
Mark Mentovai
http://breakpad.appspot.com/262001/diff/1/2 File src/processor/minidump_stackwalk.cc (right): http://breakpad.appspot.com/262001/diff/1/2#newcode96 Line 96: static int PrintRegister(const char *name, u_int64_t value, int ...
13 years, 2 months ago #2
Ted Mielczarek
http://breakpad.appspot.com/262001/diff/1/2 File src/processor/minidump_stackwalk.cc (right): http://breakpad.appspot.com/262001/diff/1/2#newcode96 Line 96: static int PrintRegister(const char *name, u_int64_t value, int ...
13 years, 2 months ago #3
Ted Mielczarek
13 years, 2 months ago #4
Ted Mielczarek
Having made the %08 -> %016 change, I realize I really wanted 2 as the ...
13 years, 2 months ago #5
Mark Mentovai
http://breakpad.appspot.com/262001/diff/6001/7001 File src/processor/minidump_stackwalk.cc (right): http://breakpad.appspot.com/262001/diff/6001/7001#newcode98 Line 98: if (sequence % 2 == 0) { Maybe ...
13 years, 2 months ago #6
Ted Mielczarek
On 2011/01/28 19:45:28, Mark Mentovai wrote: > Would that properly handle cases where 32-bit and ...
13 years, 2 months ago #7
Mark Mentovai
Good point. Can you make them mix properly by doing field lengths, then?
13 years, 2 months ago #8
Ted Mielczarek
13 years, 2 months ago #9
Ted Mielczarek
Feels a little over-engineered for what it does, but this handles things properly.
13 years, 2 months ago #10
Mark Mentovai
13 years, 2 months ago #11
LGTM

http://breakpad.appspot.com/262001/diff/13001/14001
File src/processor/minidump_stackwalk.cc (right):

http://breakpad.appspot.com/262001/diff/13001/14001#newcode87
Line 87: static int PrintRegister(const char *name, u_int32_t value, int
sequence) {
These aren’t sequences now. Maybe start_col?

http://breakpad.appspot.com/262001/diff/13001/14001#newcode89
Line 89: sprintf(buffer, " %5s = 0x%08x", name, value);
Use snprintf. Evil callers might provide stupidly long names.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld 1004:630ec63f810e-tainted