dbghelp: Store the vendor id in the correct order

Jeff Muizelaar jmuizelaar at mozilla.com
Fri Mar 1 09:12:10 CST 2013


The vendor id comes from cpuid in EBX, EDX, ECX. We're currently
storing it in the minidump in the order EBX, ECX, EDX.

The wrong order is visible in crashes seen here:
https://crash-stats.mozilla.com/report/index/e0421cba-3be8-4965-9e44-3822f2130301
---
 dlls/dbghelp/minidump.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/dbghelp/minidump.c b/dlls/dbghelp/minidump.c
index 7a21e8b..b00f9e2 100644
--- a/dlls/dbghelp/minidump.c
+++ b/dlls/dbghelp/minidump.c
@@ -630,18 +630,18 @@ static  unsigned        dump_system_info(struct dump_context* dc)
     mdSysInfo.u1.s.SuiteMask = VER_SUITE_TERMINAL;
 
     if (have_x86cpuid())
     {
         unsigned        regs0[4], regs1[4];
 
         do_x86cpuid(0, regs0);
         mdSysInfo.Cpu.X86CpuInfo.VendorId[0] = regs0[1];
-        mdSysInfo.Cpu.X86CpuInfo.VendorId[1] = regs0[2];
-        mdSysInfo.Cpu.X86CpuInfo.VendorId[2] = regs0[3];
+        mdSysInfo.Cpu.X86CpuInfo.VendorId[1] = regs0[3];
+        mdSysInfo.Cpu.X86CpuInfo.VendorId[2] = regs0[2];
         do_x86cpuid(1, regs1);
         mdSysInfo.Cpu.X86CpuInfo.VersionInformation = regs1[0];
         mdSysInfo.Cpu.X86CpuInfo.FeatureInformation = regs1[3];
         mdSysInfo.Cpu.X86CpuInfo.AMDExtendedCpuFeatures = 0;
         if (regs0[1] == 0x68747541 /* "Auth" */ &&
             regs0[3] == 0x69746e65 /* "enti" */ &&
             regs0[2] == 0x444d4163 /* "cAMD" */)
         {
-- 
1.8.0.150.gb0b00a3




More information about the wine-patches mailing list