From 67a55feeaf3dea6a6ea66e5ee161d762e88b64c8 Mon Sep 17 00:00:00 2001 From: Eric Pouech Date: Tue, 18 Jan 2011 21:49:47 +0100 Subject: [PATCH] dbghelp, winedump: Added definition for S_FRAMEPROC_V2 symbol (CodeView). --- dlls/dbghelp/msc.c | 2 +- include/wine/mscvpdb.h | 15 +++++++-------- tools/winedump/msc.c | 19 +++++++++---------- 3 files changed, 17 insertions(+), 19 deletions(-) diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c index 91927b39af4..0c90b000235 100644 --- a/dlls/dbghelp/msc.c +++ b/dlls/dbghelp/msc.c @@ -1935,7 +1935,7 @@ static int codeview_snarf(const struct msc_debug_info* msc_dbg, const BYTE* root /* the symbols we can safely ignore for now */ case 0x112c: - case S_FUNCINFO_V2: + case S_FRAMEINFO_V2: case S_SECUCOOKIE_V3: case S_SECTINFO_V3: case S_SUBSECTINFO_V3: diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h index 99734c732fa..e72bee5a350 100644 --- a/include/wine/mscvpdb.h +++ b/include/wine/mscvpdb.h @@ -1568,15 +1568,14 @@ union codeview_symbol { short int len; short int id; - unsigned int unknown1; /* maybe size (of what ?) */ + unsigned int sz_frame; /* size of frame */ unsigned int unknown2; unsigned int unknown3; - unsigned int unknown4; /* maybe size (of what ?) */ - unsigned int unknown5; /* maybe address (of what ?) */ - unsigned short unknown6; - unsigned short flags; - unsigned int unknown7; - } func_info_v2; + unsigned int sz_saved_regs; /* size of saved registers from callee */ + unsigned int eh_offset; /* offset for exception handler */ + unsigned short eh_sect; /* section for exception handler */ + unsigned int flags; + } frame_info_v2; }; #define S_COMPILAND_V1 0x0001 @@ -1630,7 +1629,7 @@ union codeview_symbol #define S_REGREL_V2 0x100d #define S_LTHREAD_V2 0x100e #define S_GTHREAD_V2 0x100f -#define S_FUNCINFO_V2 0x1012 +#define S_FRAMEINFO_V2 0x1012 #define S_COMPILAND_V2 0x1013 #define S_COMPILAND_V3 0x1101 diff --git a/tools/winedump/msc.c b/tools/winedump/msc.c index c9173091ac0..5b276fb8634 100644 --- a/tools/winedump/msc.c +++ b/tools/winedump/msc.c @@ -1101,16 +1101,15 @@ int codeview_dump_symbols(const void* root, unsigned long size) break; /* Additional function information */ - case S_FUNCINFO_V2: - printf("\tFunction info V2 unk1:%x unk2:%x unk3:%x unk4:%x unk5:%x unk6:%x flags:%04x unk7:%x\n", - sym->func_info_v2.unknown1, - sym->func_info_v2.unknown2, - sym->func_info_v2.unknown3, - sym->func_info_v2.unknown4, - sym->func_info_v2.unknown5, - sym->func_info_v2.unknown6, - sym->func_info_v2.flags, - sym->func_info_v2.unknown7); + case S_FRAMEINFO_V2: + printf("\tS-Frame-Info V2: frame-size:%x unk2:%x unk3:%x saved-regs-sz:%x eh(%04x:%08x) flags:%08x\n", + sym->frame_info_v2.sz_frame, + sym->frame_info_v2.unknown2, + sym->frame_info_v2.unknown3, + sym->frame_info_v2.sz_saved_regs, + sym->frame_info_v2.eh_sect, + sym->frame_info_v2.eh_offset, + sym->frame_info_v2.flags); break; case S_SECUCOOKIE_V3: