[DBGHELP] Sync with Wine 3.0. CORE-14225
authorAmine Khaldi <amine.khaldi@reactos.org>
Thu, 18 Jan 2018 23:09:29 +0000 (00:09 +0100)
committerAmine Khaldi <amine.khaldi@reactos.org>
Thu, 18 Jan 2018 23:09:29 +0000 (00:09 +0100)
dll/win32/dbghelp/cpu_arm64.c
dll/win32/dbghelp/cpu_i386.c
dll/win32/dbghelp/elf_module.c
media/doc/README.WINE

index 68cff95..a2a0bb4 100644 (file)
@@ -160,41 +160,40 @@ static void* arm64_fetch_context_reg(CONTEXT* ctx, unsigned regno, unsigned* siz
 #ifdef __aarch64__
     switch (regno)
     {
 #ifdef __aarch64__
     switch (regno)
     {
-    case CV_ARM64_PSTATE: *size = sizeof(ctx->Cpsr); return &ctx->Cpsr;
-    case CV_ARM64_X0 +  0: *size = sizeof(ctx->X0);  return &ctx->X0;
-    case CV_ARM64_X0 +  1: *size = sizeof(ctx->X1);  return &ctx->X1;
-    case CV_ARM64_X0 +  2: *size = sizeof(ctx->X2);  return &ctx->X2;
-    case CV_ARM64_X0 +  3: *size = sizeof(ctx->X3);  return &ctx->X3;
-    case CV_ARM64_X0 +  4: *size = sizeof(ctx->X4);  return &ctx->X4;
-    case CV_ARM64_X0 +  5: *size = sizeof(ctx->X5);  return &ctx->X5;
-    case CV_ARM64_X0 +  6: *size = sizeof(ctx->X6);  return &ctx->X6;
-    case CV_ARM64_X0 +  7: *size = sizeof(ctx->X7);  return &ctx->X7;
-    case CV_ARM64_X0 +  8: *size = sizeof(ctx->X8);  return &ctx->X8;
-    case CV_ARM64_X0 +  9: *size = sizeof(ctx->X9);  return &ctx->X9;
-    case CV_ARM64_X0 + 10: *size = sizeof(ctx->X10); return &ctx->X10;
-    case CV_ARM64_X0 + 11: *size = sizeof(ctx->X11); return &ctx->X11;
-    case CV_ARM64_X0 + 12: *size = sizeof(ctx->X12); return &ctx->X12;
-    case CV_ARM64_X0 + 13: *size = sizeof(ctx->X13); return &ctx->X13;
-    case CV_ARM64_X0 + 14: *size = sizeof(ctx->X14); return &ctx->X14;
-    case CV_ARM64_X0 + 15: *size = sizeof(ctx->X15); return &ctx->X15;
-    case CV_ARM64_X0 + 16: *size = sizeof(ctx->X16); return &ctx->X16;
-    case CV_ARM64_X0 + 17: *size = sizeof(ctx->X17); return &ctx->X17;
-    case CV_ARM64_X0 + 18: *size = sizeof(ctx->X18); return &ctx->X18;
-    case CV_ARM64_X0 + 19: *size = sizeof(ctx->X19); return &ctx->X19;
-    case CV_ARM64_X0 + 20: *size = sizeof(ctx->X20); return &ctx->X20;
-    case CV_ARM64_X0 + 21: *size = sizeof(ctx->X21); return &ctx->X21;
-    case CV_ARM64_X0 + 22: *size = sizeof(ctx->X22); return &ctx->X22;
-    case CV_ARM64_X0 + 23: *size = sizeof(ctx->X23); return &ctx->X23;
-    case CV_ARM64_X0 + 24: *size = sizeof(ctx->X24); return &ctx->X24;
-    case CV_ARM64_X0 + 25: *size = sizeof(ctx->X25); return &ctx->X25;
-    case CV_ARM64_X0 + 26: *size = sizeof(ctx->X26); return &ctx->X26;
-    case CV_ARM64_X0 + 27: *size = sizeof(ctx->X27); return &ctx->X27;
-    case CV_ARM64_X0 + 28: *size = sizeof(ctx->X28); return &ctx->X28;
-
-    case CV_ARM64_FP:     *size = sizeof(ctx->Fp);     return &ctx->Fp;
-    case CV_ARM64_LR:     *size = sizeof(ctx->Lr);     return &ctx->Lr;
-    case CV_ARM64_SP:     *size = sizeof(ctx->Sp);     return &ctx->Sp;
-    case CV_ARM64_PC:     *size = sizeof(ctx->Pc);     return &ctx->Pc;
+    case CV_ARM64_X0 +  0:
+    case CV_ARM64_X0 +  1:
+    case CV_ARM64_X0 +  2:
+    case CV_ARM64_X0 +  3:
+    case CV_ARM64_X0 +  4:
+    case CV_ARM64_X0 +  5:
+    case CV_ARM64_X0 +  6:
+    case CV_ARM64_X0 +  7:
+    case CV_ARM64_X0 +  8:
+    case CV_ARM64_X0 +  9:
+    case CV_ARM64_X0 + 10:
+    case CV_ARM64_X0 + 11:
+    case CV_ARM64_X0 + 12:
+    case CV_ARM64_X0 + 13:
+    case CV_ARM64_X0 + 14:
+    case CV_ARM64_X0 + 15:
+    case CV_ARM64_X0 + 16:
+    case CV_ARM64_X0 + 17:
+    case CV_ARM64_X0 + 18:
+    case CV_ARM64_X0 + 19:
+    case CV_ARM64_X0 + 20:
+    case CV_ARM64_X0 + 21:
+    case CV_ARM64_X0 + 22:
+    case CV_ARM64_X0 + 23:
+    case CV_ARM64_X0 + 24:
+    case CV_ARM64_X0 + 25:
+    case CV_ARM64_X0 + 26:
+    case CV_ARM64_X0 + 27:
+    case CV_ARM64_X0 + 28: *size = sizeof(ctx->u.X[0]); return &ctx->u.X[regno - CV_ARM64_X0];
+    case CV_ARM64_PSTATE:  *size = sizeof(ctx->Cpsr);   return &ctx->Cpsr;
+    case CV_ARM64_FP:      *size = sizeof(ctx->Fp);     return &ctx->Fp;
+    case CV_ARM64_LR:      *size = sizeof(ctx->Lr);     return &ctx->Lr;
+    case CV_ARM64_SP:      *size = sizeof(ctx->Sp);     return &ctx->Sp;
+    case CV_ARM64_PC:      *size = sizeof(ctx->Pc);     return &ctx->Pc;
     }
 #endif
     FIXME("Unknown register %x\n", regno);
     }
 #endif
     FIXME("Unknown register %x\n", regno);
index f0cf33a..c713049 100644 (file)
@@ -215,16 +215,16 @@ static BOOL i386_stack_walk(struct cpu_stack_walk* csw, LPSTACKFRAME64 frame, CO
         /* Init done */
         set_curr_mode((frame->AddrPC.Mode == AddrModeFlat) ? stm_32bit : stm_16bit);
 
         /* Init done */
         set_curr_mode((frame->AddrPC.Mode == AddrModeFlat) ? stm_32bit : stm_16bit);
 
-        /* cur_switch holds address of SystemReserved1[0] field in TEB in debuggee
+        /* cur_switch holds address of WOW32Reserved field in TEB in debuggee
          * address space
          */
         if (NtQueryInformationThread(csw->hThread, ThreadBasicInformation, &info,
                                      sizeof(info), NULL) == STATUS_SUCCESS)
         {
          * address space
          */
         if (NtQueryInformationThread(csw->hThread, ThreadBasicInformation, &info,
                                      sizeof(info), NULL) == STATUS_SUCCESS)
         {
-            curr_switch = (DWORD_PTR)info.TebBaseAddress + FIELD_OFFSET(TEB, SystemReserved1[0]);
+            curr_switch = (DWORD_PTR)info.TebBaseAddress + FIELD_OFFSET(TEB, WOW32Reserved);
             if (!sw_read_mem(csw, curr_switch, &p, sizeof(p)))
             {
             if (!sw_read_mem(csw, curr_switch, &p, sizeof(p)))
             {
-                WARN("Can't read TEB:SystemReserved1[0]\n");
+                WARN("Can't read TEB:WOW32Reserved\n");
                 goto done_err;
             }
             next_switch = p;
                 goto done_err;
             }
             next_switch = p;
index b44d988..2edab86 100644 (file)
@@ -1471,11 +1471,9 @@ static BOOL elf_search_and_load_file(struct process* pcs, const WCHAR* filename,
     if (!ret && !strchrW(filename, '/'))
     {
         ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
     if (!ret && !strchrW(filename, '/'))
     {
         ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
-                                      getenv("PATH"), elf_info);
-        if (!ret) ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
-                                                getenv("LD_LIBRARY_PATH"), elf_info);
-        if (!ret) ret = elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
-                                                BINDIR, elf_info);
+                                      getenv("PATH"), elf_info) ||
+            elf_load_file_from_path(pcs, filename, load_offset, dyn_addr,
+                                    getenv("LD_LIBRARY_PATH"), elf_info);
         if (!ret) ret = elf_load_file_from_dll_path(pcs, filename,
                                                     load_offset, dyn_addr, elf_info);
     }
         if (!ret) ret = elf_load_file_from_dll_path(pcs, filename,
                                                     load_offset, dyn_addr, elf_info);
     }
index 1d25ea7..5e4932e 100644 (file)
@@ -63,7 +63,7 @@ reactos/dll/win32/cryptdlg            # Synced to WineStaging-2.9
 reactos/dll/win32/cryptdll            # Synced to WineStaging-2.9
 reactos/dll/win32/cryptnet            # Synced to WineStaging-2.9
 reactos/dll/win32/cryptui             # Synced to WineStaging-2.16
 reactos/dll/win32/cryptdll            # Synced to WineStaging-2.9
 reactos/dll/win32/cryptnet            # Synced to WineStaging-2.9
 reactos/dll/win32/cryptui             # Synced to WineStaging-2.16
-reactos/dll/win32/dbghelp             # Synced to WineStaging-2.16
+reactos/dll/win32/dbghelp             # Synced to Wine-3.0
 reactos/dll/win32/dciman32            # Synced to WineStaging-2.9
 reactos/dll/win32/faultrep            # Synced to WineStaging-2.9
 reactos/dll/win32/fontsub             # Synced to WineStaging-2.9
 reactos/dll/win32/dciman32            # Synced to WineStaging-2.9
 reactos/dll/win32/faultrep            # Synced to WineStaging-2.9
 reactos/dll/win32/fontsub             # Synced to WineStaging-2.9