   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
    4 bytes - offset of source file in source file info table
    4 bytes - number of line number pairs
    4 bytes - number of bytes of line number pairs + 12

    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

