dbghelp, winedump: Added definition for S_FRAMEPROC_V2 symbol (CodeView).
authorEric Pouech <eric.pouech@orange.fr>
Tue, 18 Jan 2011 20:49:47 +0000 (21:49 +0100)
committerAlexandre Julliard <julliard@winehq.org>
Wed, 19 Jan 2011 11:25:05 +0000 (12:25 +0100)
dlls/dbghelp/msc.c
include/wine/mscvpdb.h
tools/winedump/msc.c

index 91927b39af423fb38301e18e5743a81b7c4b457f..0c90b000235eccc2bec605e6ae34b6027157fcfc 100644 (file)
@@ -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:
index 99734c732faad29d27e08daf6e0dcaec7e243f24..e72bee5a350bb56964055dfdc64d8e7522f0250a 100644 (file)
@@ -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
index c9173091ac044654992712cf0d296dd6e336bf73..5b276fb8634bfe2d96c5004bfe4c4251aaee488f 100644 (file)
@@ -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: