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

Issue 6664002: minidump_dump: Display x86 CPU vendor string for x86_64

Can't Edit
Can't Publish+Mail
Start Review
Created:
3 years, 3 months ago by Mark Mentovai
Modified:
3 years, 3 months ago
Reviewers:
Ted Mielczarek
CC:
google-breakpad-dev_googlegroups.com
Base URL:
http://google-breakpad.googlecode.com/svn/trunk/
Visibility:
Public.

Description

minidump_dump: Display x86 CPU vendor string for x86_64

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats Patch
M src/processor/minidump.cc View 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 3
Mark Mentovai
The MS documentation is unclear and I haven’t had a chance to look at a ...
3 years, 3 months ago #1
Ted Mielczarek
On 2014/05/29 20:37:20, Mark Mentovai wrote: > The MS documentation is unclear and I haven’t ...
3 years, 3 months ago #2
Mark Mentovai
3 years, 3 months ago #3
Ted Mielczarek wrote:
> I wrote a test dump and it looks like MiniDumpWriteDump doesn't fill this in
on
> Win64. minidump_dump shows:
>   cpu.x86_cpu_info.vendor_id[0]              = 0x7744
>   cpu.x86_cpu_info.vendor_id[1]              = 0x0
>   cpu.x86_cpu_info.vendor_id[2]              = 0x0
> 
> I suspect this means it's actually filling in the
> other_cpu_info.processor_features side of the union.
> 
> Test dump is here if you want to poke at it:
> http://people.mozilla.com/~tmielczarek/testx86-64.dmp

Thanks. I won’t be landing this patch, then. Perhaps we should change the
existing Linux and Mac dump writers to not populate these fields as they do for
x86 when they’re dumping for an x86_64 process. Your sample dump would be:

  cpu.other_cpu_info.processor_features[0]   = 0x7744
  cpu.other_cpu_info.processor_features[1]   = 0x0

which would be bits 2, 6, 8, 9, 10, 12, 13 and 14. I initially suspected that
this had to be wrong because PF_MMX_INSTRUCTIONS_AVAILABLE (3) doesn’t show as
available, but one of the comments at the bottom of
http://msdn.microsoft.com/en-us/library/windows/desktop/ms724482(v=vs.85).aspx
says that MMX and 3DNow are reported as unavailable in 64-bit code.

> > I also haven’t seen MD_CPU_ARCHITECTURE_X86_WIN64 in the wild, which I
expect
> > means that it’s used for 32-bit x86 code running on IA64, but not 32-bit x86
> > code running on x86_64.
> 
> Me either. Win32 apps running on WOW64 appear to just use
> MD_CPU_ARCHITECTURE_X86. I suspect that was dropped in favor of backwards
> compatibility.

Excellent. Thanks for the confirmation. Since neither of us have ever seen these
dumps in the wild, I won’t worry about whether we should handle the system-info
stream for this phantom processor type as x86 or non-x86, and I’ll leave the
existing treatment as x86 alone.
Sign in to reply to this message.

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