Add x86_64 support to backtrace generator on windows.
authorRalf Habacker <ralf.habacker@freenet.de>
Tue, 17 Nov 2015 15:26:24 +0000 (16:26 +0100)
committerRalf Habacker <ralf.habacker@freenet.de>
Tue, 24 Nov 2015 12:40:33 +0000 (13:40 +0100)
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=92721
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
dbus/dbus-sysdeps-win.c

index 40a8a8c..83ab5f9 100644 (file)
@@ -2493,17 +2493,18 @@ static void dump_backtrace_for_thread (HANDLE hThread)
     {
       char buffer[sizeof(SYMBOL_INFO) + MAX_SYM_NAME * sizeof(char)];
       PSYMBOL_INFO pSymbol = (PSYMBOL_INFO)buffer;
-      DWORD dwDisplacement;
+      DWORD64 displacement;
       IMAGEHLP_LINE line;
+      DWORD dwDisplacement;
       IMAGEHLP_MODULE moduleInfo;
 
       pSymbol->SizeOfStruct = sizeof(SYMBOL_INFO);
       pSymbol->MaxNameLen = MAX_SYM_NAME;
 
-      if (SymFromAddr (GetCurrentProcess (), sf.AddrPC.Offset, &dwDisplacement, pSymbol))
+      if (SymFromAddr (GetCurrentProcess (), sf.AddrPC.Offset, &displacement, pSymbol))
         {
-          if (dwDisplacement)
-            DPRINTF ("%3d %s+0x%lx", i++, pSymbol->Name, dwDisplacement);
+          if (displacement)
+            DPRINTF ("%3d %s+0x%I64x", i++, pSymbol->Name, displacement);
           else
             DPRINTF ("%3d %s", i++, pSymbol->Name);
         }