   CV8 structures (for x86 and AMD64) - used by MSVC 8 (2005)
   Everything listed in the order MASM seems to output it in.

.debug$S: symbol and line number information
    4 bytes - version (4)

Each major portion of DEBUG$S starts with 4 byte type, 4 byte length
(in bytes following the length field).  Each set is 4-byte aligned with 0s at
the end (not included in length).

0x000000F3: source filename string table
    1 byte - 0 (0th filename)
    0-terminated filename strings, 1 for each source file

0x000000F4: source file info
    for each source file:
        4 bytes - offset of filename in source filename string table
	{2 bytes - checksum type/length? (0x0110)
	 16 bytes - MD5 checksum of source file} OR
	{2 bytes - no checksum (0)}
	2 bytes - 0 (padding?)

0x000000F2: line numbers for section
    4 bytes - start offset in section (SECREL to section start)
    2 bytes - section index (SECTION to section start)
    2 bytes - pad/align (0)
    4 bytes - section length covered by line number info

    followed by one or more source mappings:
      4 bytes - offset of source file in source file info table
      4 bytes - number of line number pairs
      4 bytes - number of bytes this mapping takes, i.e. 12 + pair-count * 8.

      followed by pairs of:
        4 bytes - offset in section
        4 bytes - line number; if high bit is set,
                  end of statement/breakpointable (?) - e.g. lines containing
                  just labels should have line numbers

0x000000F1: symbol information
    enclosed data per below
    (each element starts with 2 byte length, 2 byte type)
    basically slightly updated versions of CV5 symbol info with 0-terminated
    rather than length-prefixed strings

0x1101 : Name of object file
    4 byte signature (0 for asm)
    0-terminated object filename
0x1116 : creator signature (compile flag)
    4 bytes - language (3=Masm)
    4 bytes - target processor (0xD0 = AMD64)
    4 bytes - flags
    4 bytes - version
    2 bytes - ?
    0-terminated string containing creator name
    pairs of 0-terminated strings - keys/values
    from CL:
	cwd - current working directory
	cl - full path of compiler executable
	cmd - full args (one long string, double-quoted args if needed)
	src - relative path to source (from cwd)
	pdb - full path to pdb file
    ML doesn't output any pairs
    pairs list terminated with two empty strings
0x1105 : Code Label 16:32/64
    4 bytes SECREL of symbol
    2 bytes SECTION of symbol
    1 byte - flags
    0-terminated string containing symbol name
0x110C : local data 16:32/64
    4 bytes type index of symbol
    4 bytes SECREL of symbol
    2 bytes SECTION of symbol
    0-terminated string containing symbol name
0x110D : global data 16:32/64
    4 bytes type index of symbol
    4 bytes SECREL of symbol
    2 bytes SECTION of symbol
    0-terminated string containing symbol name
0x1110 : local/global (?) procedure start 16:32/64
    4 bytes - parent
    4 bytes - pend
    4 bytes - pnext
    4 bytes - procedure length (bytes)
    4 bytes - debug start (offset from procedure start to frame setup)
    4 bytes - debug end (offset from procedure start to frame cleanup)
    4 bytes - type index of procedure type
    4 bytes - offset of procedure (SECREL of symbol)
    2 bytes - segment of procedure (SECTION of symbol)
    1 byte - flags
    0-terminated string containing procedure name

.debug$T: type information
    4 bytes - version (4)
    followed by type information per CV5 spec, padded to 4-byte boundaries

