Eric Pouech : dbghelp, winedump: Added definition for S_FRAMEPROC_V2 symbol (CodeView).

Alexandre Julliard julliard at winehq.org
Wed Jan 19 11:46:11 CST 2011


Module: wine
Branch: master
Commit: 67a55feeaf3dea6a6ea66e5ee161d762e88b64c8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=67a55feeaf3dea6a6ea66e5ee161d762e88b64c8

Author: Eric Pouech <eric.pouech at 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:




More information about the wine-cvs mailing list