Module: wine Branch: master Commit: 604ce29cb3b31c71496d581a415f8e41f4d026a5 URL: http://source.winehq.org/git/wine.git/?a=commit;h=604ce29cb3b31c71496d581a41...
Author: Ken Thomases ken@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);