[DBGHELP]
authorAmine Khaldi <amine.khaldi@reactos.org>
Sat, 27 Sep 2014 11:45:29 +0000 (11:45 +0000)
committerAmine Khaldi <amine.khaldi@reactos.org>
Sat, 27 Sep 2014 11:45:29 +0000 (11:45 +0000)
* Sync with Wine 1.7.27.
CORE-8540

svn path=/trunk/; revision=64335

reactos/dll/win32/dbghelp/dbghelp_private.h
reactos/dll/win32/dbghelp/macho_module.c
reactos/dll/win32/dbghelp/msc.c
reactos/dll/win32/dbghelp/type.c
reactos/media/doc/README.WINE

index 8c10539..b7ab2b1 100644 (file)
@@ -391,12 +391,14 @@ struct module_format
     } u;
 };
 
+#ifdef __REACTOS__
 struct symt_idx_to_ptr
 {
     struct hash_table_elt hash_elt;
     DWORD idx;
     const struct symt *sym;
 };
+#endif
 
 extern const struct wine_rb_functions source_rb_functions DECLSPEC_HIDDEN;
 struct module
index 67ee681..e37a199 100644 (file)
@@ -383,6 +383,11 @@ static int macho_accum_segs_range(struct macho_file_map* fmap,
         TRACE("Ignoring special Wine segment %s\n", debugstr_an(sc->segname, sizeof(sc->segname)));
         return 0;
     }
+    if (!strncmp(sc->segname, "__PAGEZERO", 10))
+    {
+        TRACE("Ignoring __PAGEZERO segment\n");
+        return 0;
+    }
 
     /* If this segment starts before previously-known earliest, record
      * new earliest. */
@@ -1005,6 +1010,8 @@ static BOOL macho_load_file(struct process* pcs, const WCHAR* filename,
         struct module_format*   modfmt =
             HeapAlloc(GetProcessHeap(), 0, sizeof(struct module_format) + sizeof(struct macho_module_info));
         if (!modfmt) goto leave;
+        if (!load_addr)
+            load_addr = fmap.segs_start;
         macho_info->module = module_new(pcs, filename, DMT_MACHO, FALSE, load_addr,
                                         fmap.segs_size, 0, calc_crc32(fmap.fd));
         if (!macho_info->module)
index 110f5b3..d86ecea 100644 (file)
@@ -1968,7 +1968,12 @@ static BOOL codeview_snarf(const struct msc_debug_info* msc_dbg, const BYTE* roo
         case S_SECTINFO_V3:
         case S_SUBSECTINFO_V3:
         case S_ENTRYPOINT_V3:
+        case 0x113e:
         case 0x1139:
+        case 0x1141:
+        case 0x1142:
+        case 0x1143:
+        case 0x1144:
             TRACE("Unsupported symbol id %x\n", sym->generic.id);
             break;
 
@@ -2219,7 +2224,7 @@ static void pdb_free_file(struct pdb_file_info* pdb_file)
     HeapFree(GetProcessHeap(), 0, pdb_file->stream_dict);
 }
 
-static BOOL pdb_load_stream_name_table(struct pdb_file_info* pdb_file, const char* str, unsigned cb)
+static void pdb_load_stream_name_table(struct pdb_file_info* pdb_file, const char* str, unsigned cb)
 {
     DWORD*      pdw;
     DWORD*      ok_bits;
@@ -2232,7 +2237,7 @@ static BOOL pdb_load_stream_name_table(struct pdb_file_info* pdb_file, const cha
     count = *pdw++;
 
     pdb_file->stream_dict = HeapAlloc(GetProcessHeap(), 0, (numok + 1) * sizeof(struct pdb_stream_name) + cb);
-    if (!pdb_file->stream_dict) return FALSE;
+    if (!pdb_file->stream_dict) return;
     cpstr = (char*)(pdb_file->stream_dict + numok + 1);
     memcpy(cpstr, str, cb);
 
@@ -2242,7 +2247,7 @@ static BOOL pdb_load_stream_name_table(struct pdb_file_info* pdb_file, const cha
     if (*pdw++ != 0)
     {
         FIXME("unexpected value\n");
-        return -1;
+        return;
     }
 
     for (i = j = 0; i < count; i++)
@@ -2258,7 +2263,6 @@ static BOOL pdb_load_stream_name_table(struct pdb_file_info* pdb_file, const cha
     /* add sentinel */
     pdb_file->stream_dict[numok].name = NULL;
     pdb_file->fpoext_stream = -1;
-    return j == numok && i == count;
 }
 
 static unsigned pdb_get_stream_by_name(const struct pdb_file_info* pdb_file, const char* name)
@@ -2900,8 +2904,8 @@ struct zvalue
     struct hash_table_elt       elt;
 };
 
-#define PEV_ERROR(pev, msg)       snprintf((pev)->error, sizeof((pev)->error), "%s", (msg)),FALSE
-#define PEV_ERROR1(pev, msg, pmt) snprintf((pev)->error, sizeof((pev)->error), (msg), (pmt)),FALSE
+#define PEV_ERROR(pev, msg)       snprintf((pev)->error, sizeof((pev)->error), "%s", (msg))
+#define PEV_ERROR1(pev, msg, pmt) snprintf((pev)->error, sizeof((pev)->error), (msg), (pmt))
 
 #if 0
 static void pev_dump_stack(struct pevaluator* pev)
index ca57d1a..7372431 100644 (file)
@@ -682,7 +682,7 @@ BOOL symt_get_info(struct module* module, const struct symt* type,
                   symt_get_tag_str(type->tag));
             /* fall through */
         case SymTagFunctionType:
-            return 0;
+            return FALSE;
         }
         break;
 
index ae0f061..47ea966 100644 (file)
@@ -69,7 +69,7 @@ reactos/dll/win32/cryptdlg            # Synced to Wine-1.7.17
 reactos/dll/win32/cryptdll            # Synced to Wine-1.7.17
 reactos/dll/win32/cryptnet            # Synced to Wine-1.7.27
 reactos/dll/win32/cryptui             # Synced to Wine-1.7.27
-reactos/dll/win32/dbghelp             # Synced to Wine-1.7.17
+reactos/dll/win32/dbghelp             # Synced to Wine-1.7.27
 reactos/dll/win32/dciman32            # Synced to Wine-1.7.17
 reactos/dll/win32/dwmapi              # Synced to Wine-1.7.17
 reactos/dll/win32/faultrep            # Synced to Wine-1.7.17