blob: d8d917068f3fb1788bf86b4fa848e73048168a2a [file] [log] [blame]
.equ CV_SIGNATURE_C13, 4
.equ DEBUG_S_STRINGTABLE, 0xf3
.equ DEBUG_S_FILECHKSMS, 0xf4
.equ DEBUG_S_INLINEELINES, 0xf6
.equ CHKSUM_TYPE_MD5, 1
.equ NUM_MD5_BYTES, 16
.equ T_VOID, 0x0003
.equ T_UINT4, 0x0075
.equ LF_ARGLIST, 0x1201
.equ LF_PROCEDURE, 0x1008
.equ LF_FUNC_ID, 0x1601
.equ LF_STRING_ID, 0x1605
.equ CV_INLINEE_SOURCE_LINE_SIGNATURE, 0
.section ".debug$T", "rn"
.long CV_SIGNATURE_C13
/* Type 1000, string "world" */
.string1:
.short .arglist1 - .string1 - 2
.short LF_STRING_ID
.long 0 /* sub-string */
.asciz "world"
.byte 0xf2 /* padding */
.byte 0xf1 /* padding */
/* Type 1001, arglist (uint32_t) */
.arglist1:
.short .proctype1 - .arglist1 - 2
.short LF_ARGLIST
.long 1 /* no. entries */
.long T_UINT4
/* Type 1002, procedure (return type T_VOID, arglist 1001) */
.proctype1:
.short .funcid1 - .proctype1 - 2
.short LF_PROCEDURE
.long T_VOID
.byte 0 /* calling convention */
.byte 0 /* attributes */
.short 1 /* no. parameters */
.long 0x1001
/* Type 1003, func ID for proc1 */
.funcid1:
.short .funcid2 - .funcid1 - 2
.short LF_FUNC_ID
.long 0 /* parent scope */
.long 0x1002 /* type */
.asciz "proc1"
.byte 0xf2 /* padding */
.byte 0xf1 /* padding */
/* Type 1004, func ID for proc2 */
.funcid2:
.short .types_end - .funcid2 - 2
.short LF_FUNC_ID
.long 0 /* parent scope */
.long 0x1002 /* type */
.asciz "proc2"
.byte 0xf2 /* padding */
.byte 0xf1 /* padding */
.types_end:
.section ".debug$S", "rn"
.long CV_SIGNATURE_C13
/*
*** STRINGTABLE
00000000
00000001 foo.c
00000007 bar.c
*/
.long DEBUG_S_STRINGTABLE
.long .strings_end - .strings_start
.strings_start:
.asciz ""
.src1:
.asciz "foo.c"
.src2:
.asciz "bar.c"
.strings_end:
.balign 4
/*
*** FILECHKSUMS
FileId St.Offset Cb Type ChksumBytes
0 00000001 10 MD5 67452301EFCDAB8998BADCFE10234567
18 00000007 10 MD5 98BADCFE1023456767452301EFCDAB89
*/
.long DEBUG_S_FILECHKSMS
.long .chksms_end - .chksms_start
.chksms_start:
.file1:
.long .src1 - .strings_start
.byte NUM_MD5_BYTES
.byte CHKSUM_TYPE_MD5
.long 0x01234567
.long 0x89abcdef
.long 0xfedcba98
.long 0x67452310
.short 0 /* padding */
.file2:
.long .src2 - .strings_start
.byte NUM_MD5_BYTES
.byte CHKSUM_TYPE_MD5
.long 0xfedcba98
.long 0x67452310
.long 0x01234567
.long 0x89abcdef
.short 0 /* padding */
.chksms_end:
.balign 4
/*
*** INLINEE LINES
InlineeId FileId StaringLine
1003 0 42
1004 18 28
*/
.long DEBUG_S_INLINEELINES
.long .lines_end - .lines_start
.lines_start:
.long CV_INLINEE_SOURCE_LINE_SIGNATURE
.long 0x1003
.long .file1 - .chksms_start
.long 42
.long 0x1004
.long .file2 - .chksms_start
.long 28
.lines_end: