[PATCH 08/19] [WineDump]: adding preliminary dumping of 0x1136 and 0x1137 symbols

Eric Pouech eric.pouech at orange.fr
Mon Sep 29 14:31:15 CDT 2008




A+
---

 dlls/dbghelp/msc.c     |    2 ++
 include/wine/mscvpdb.h |    2 ++
 tools/winedump/msc.c   |   19 +++++++++++++++++++
 3 files changed, 23 insertions(+), 0 deletions(-)


diff --git a/dlls/dbghelp/msc.c b/dlls/dbghelp/msc.c
index b90dad6..64f6d07 100644
--- a/dlls/dbghelp/msc.c
+++ b/dlls/dbghelp/msc.c
@@ -1729,6 +1729,8 @@ static int codeview_snarf(const struct msc_debug_info* msc_dbg, const BYTE* root
         case 0x112c:
         case S_FUNCINFO_V2:
         case S_SECUCOOKIE_V3:
+        case S_SECTINFO_V3:
+        case S_SUBSECTINFO_V3:
             TRACE("Unsupported symbol id %x\n", sym->generic.id);
             break;
 
diff --git a/include/wine/mscvpdb.h b/include/wine/mscvpdb.h
index b7d870f..cf66053 100644
--- a/include/wine/mscvpdb.h
+++ b/include/wine/mscvpdb.h
@@ -1617,6 +1617,8 @@ union codeview_symbol
 #define S_MSTOOL_V3     0x1116  /* compiler command line options and build information */
 #define S_PUB_FUNC1_V3  0x1125  /* didn't get the difference between the two */
 #define S_PUB_FUNC2_V3  0x1127
+#define S_SECTINFO_V3   0x1136
+#define S_SUBSECTINFO_V3 0x1137
 #define S_SECUCOOKIE_V3 0x113A
 
 /* ======================================== *
diff --git a/tools/winedump/msc.c b/tools/winedump/msc.c
index 56c2f5b..c788f6c 100644
--- a/tools/winedump/msc.c
+++ b/tools/winedump/msc.c
@@ -1252,6 +1252,25 @@ int codeview_dump_symbols(const void* root, unsigned long size)
                    sym->ssearch_v1.segment, sym->ssearch_v1.offset);
             break;
 
+        case S_SECTINFO_V3:
+            printf("\tSSection Info: seg=%04x ?=%04x rva=%08x size=%08x attr=%08x %s\n",
+                   *(unsigned short*)((const char*)sym + 4),
+                   *(unsigned short*)((const char*)sym + 6),
+                   *(unsigned*)((const char*)sym + 8),
+                   *(unsigned*)((const char*)sym + 12),
+                   *(unsigned*)((const char*)sym + 16),
+                   (const char*)sym + 20);
+            break;
+
+        case S_SUBSECTINFO_V3:
+            printf("\tSSubSection Info: addr=%04x:%08x size=%08x attr=%08x %s\n",
+                   *(unsigned short*)((const char*)sym + 16),
+                   *(unsigned*)((const char*)sym + 12),
+                   *(unsigned*)((const char*)sym + 4),
+                   *(unsigned*)((const char*)sym + 8),
+                   (const char*)sym + 18);
+            break;
+
         default:
             printf(">>> Unsupported symbol-id %x sz=%d\n", sym->generic.id, sym->generic.len + 2);
             dump_data((const void*)sym, sym->generic.len + 2, "  ");





More information about the wine-patches mailing list