diff --git a/reactos/dll/win32/dbghelp/dbghelp_private.h b/reactos/dll/win32/dbghelp/dbghelp_private.h index 8c10539cb2e..b7ab2b15fdd 100644 --- a/reactos/dll/win32/dbghelp/dbghelp_private.h +++ b/reactos/dll/win32/dbghelp/dbghelp_private.h @@ -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 diff --git a/reactos/dll/win32/dbghelp/macho_module.c b/reactos/dll/win32/dbghelp/macho_module.c index 67ee681d92a..e37a199e2d6 100644 --- a/reactos/dll/win32/dbghelp/macho_module.c +++ b/reactos/dll/win32/dbghelp/macho_module.c @@ -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) diff --git a/reactos/dll/win32/dbghelp/msc.c b/reactos/dll/win32/dbghelp/msc.c index 110f5b3dab7..d86eceafd0b 100644 --- a/reactos/dll/win32/dbghelp/msc.c +++ b/reactos/dll/win32/dbghelp/msc.c @@ -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) diff --git a/reactos/dll/win32/dbghelp/type.c b/reactos/dll/win32/dbghelp/type.c index ca57d1a3e28..7372431057b 100644 --- a/reactos/dll/win32/dbghelp/type.c +++ b/reactos/dll/win32/dbghelp/type.c @@ -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; diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index ae0f061090c..47ea966c62e 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -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