[PATCH 2/3] dbghelp: SymSet/GetExtendedOption support a WINE only option
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Thu Jun 6 18:44:30 CDT 2019
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
---
dlls/dbghelp/dbghelp.c | 25 ++++++++++++++++++++++---
dlls/dbghelp/dbghelp_private.h | 2 ++
include/dbghelp.h | 6 +++++-
3 files changed, 29 insertions(+), 4 deletions(-)
diff --git a/dlls/dbghelp/dbghelp.c b/dlls/dbghelp/dbghelp.c
index 5a0d10d4bd..a5e6beb4a7 100644
--- a/dlls/dbghelp/dbghelp.c
+++ b/dlls/dbghelp/dbghelp.c
@@ -65,6 +65,7 @@ WINE_DEFAULT_DEBUG_CHANNEL(dbghelp);
*/
unsigned dbghelp_options = SYMOPT_UNDNAME;
+BOOL dbghelp_opt_native = FALSE;
static struct process* process_first /* = NULL */;
@@ -457,8 +458,19 @@ DWORD WINAPI SymGetOptions(void)
*/
BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value)
{
- FIXME("%d, %d\n", option, value);
- return FALSE;
+ BOOL old = FALSE;
+
+ switch(option)
+ {
+ case SYMOPT_EX_WINE_NATIVE_MODULES:
+ old = dbghelp_opt_native;
+ dbghelp_opt_native = value;
+ break;
+ default:
+ FIXME("Unsupported option %d with value %d\n", option, value);
+ }
+
+ return old;
}
/******************************************************************
@@ -467,7 +479,14 @@ BOOL WINAPI SymSetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option, BOOL value)
*/
BOOL WINAPI SymGetExtendedOption(IMAGEHLP_EXTENDED_OPTIONS option)
{
- FIXME("%d\n", option);
+ switch(option)
+ {
+ case SYMOPT_EX_WINE_NATIVE_MODULES:
+ return dbghelp_opt_native;
+ default:
+ FIXME("Unsupported option %d\n", option);
+ }
+
return FALSE;
}
diff --git a/dlls/dbghelp/dbghelp_private.h b/dlls/dbghelp/dbghelp_private.h
index 8083408c66..9e76d2dd4b 100644
--- a/dlls/dbghelp/dbghelp_private.h
+++ b/dlls/dbghelp/dbghelp_private.h
@@ -114,6 +114,8 @@ void* hash_table_iter_up(struct hash_table_iter* hti) DECLSPEC_HIDDEN;
extern unsigned dbghelp_options DECLSPEC_HIDDEN;
+extern BOOL dbghelp_opt_native DECLSPEC_HIDDEN;
+
/* some more Wine extensions */
#define SYMOPT_WINE_WITH_NATIVE_MODULES 0x40000000
diff --git a/include/dbghelp.h b/include/dbghelp.h
index a319385b4a..1b23489919 100644
--- a/include/dbghelp.h
+++ b/include/dbghelp.h
@@ -1427,7 +1427,11 @@ typedef struct _IMAGE_DEBUG_INFORMATION
typedef enum
{
SYMOPT_EX_DISABLEACCESSTIMEUPDATE,
- SYMOPT_EX_MAX
+ SYMOPT_EX_MAX,
+
+#ifdef __WINESRC__
+ SYMOPT_EX_WINE_NATIVE_MODULES = 1000,
+#endif
} IMAGEHLP_EXTENDED_OPTIONS;
PIMAGE_DEBUG_INFORMATION WINAPI MapDebugInformation(HANDLE, PCSTR, PCSTR, ULONG);
--
2.17.1
More information about the wine-devel
mailing list