Ken Thomases : dbghelp: Fix STABS support for 64-bit on OS X.
Alexandre Julliard
julliard at wine.codeweavers.com
Thu Jun 25 08:19:40 CDT 2015
Module: wine
Branch: master
Commit: 604ce29cb3b31c71496d581a415f8e41f4d026a5
URL: http://source.winehq.org/git/wine.git/?a=commit;h=604ce29cb3b31c71496d581a415f8e41f4d026a5
Author: Ken Thomases <ken at codeweavers.com>
Date: Wed Jun 24 16:31:14 2015 -0500
dbghelp: Fix STABS support for 64-bit on OS X.
OS X uses a struct nlist_64 for 64-bit images, where the n_value field is a
64-bit unsigned integer.
---
dlls/dbghelp/stabs.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/dbghelp/stabs.c b/dlls/dbghelp/stabs.c
index 1d0d858..177c6bc 100644
--- a/dlls/dbghelp/stabs.c
+++ b/dlls/dbghelp/stabs.c
@@ -111,7 +111,11 @@ struct stab_nlist
unsigned char n_type;
char n_other;
short n_desc;
+#if defined(__APPLE__) && defined(_WIN64)
+ unsigned long n_value;
+#else
unsigned n_value;
+#endif
};
static void stab_strcpy(char* dest, int sz, const char* source)
@@ -1465,7 +1469,7 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
case 35:
case 36: loc.reg = CV_REG_MM0 + stab_ptr->n_value - 29; break;
default:
- FIXME("Unknown register value (%u)\n", stab_ptr->n_value);
+ FIXME("Unknown register value (%lu)\n", (unsigned long)stab_ptr->n_value);
loc.reg = CV_REG_NONE;
break;
}
@@ -1615,7 +1619,7 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
case N_EXCL:
if (stabs_add_include(stabs_find_include(ptr, stab_ptr->n_value)) < 0)
{
- ERR("Excluded header not found (%s,%d)\n", ptr, stab_ptr->n_value);
+ ERR("Excluded header not found (%s,%ld)\n", ptr, (unsigned long)stab_ptr->n_value);
module_reset_debug_info(module);
ret = FALSE;
goto done;
@@ -1661,8 +1665,8 @@ BOOL stabs_parse(struct module* module, unsigned long load_offset,
break;
}
stabbuff[0] = '\0';
- TRACE("0x%02x %x %s\n",
- stab_ptr->n_type, stab_ptr->n_value, debugstr_a(strs + stab_ptr->n_strx));
+ TRACE("0x%02x %lx %s\n",
+ stab_ptr->n_type, (unsigned long)stab_ptr->n_value, debugstr_a(strs + stab_ptr->n_strx));
}
module->module.SymType = SymDia;
module->module.CVSig = 'S' | ('T' << 8) | ('A' << 16) | ('B' << 24);
More information about the wine-cvs
mailing list