Module: wine Branch: master Commit: 67a55feeaf3dea6a6ea66e5ee161d762e88b64c8 URL: http://source.winehq.org/git/wine.git/?a=commit;h=67a55feeaf3dea6a6ea66e5ee1...
Author: Eric Pouech eric.pouech@orange.fr Date: Tue Jan 18 21:49:47 2011 +0100
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 91927b3..0c90b00 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 99734c7..e72bee5 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 <offset and segment> (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 c917309..5b276fb 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: