binutils-gdb/ld/testsuite/ld-pe/pdb3a.s
Mark Harmstone 9a02fbd198 ld: Add pdb support to aarch64-w64-mingw32
This extends PDB support to the aarch64 PE targets.

The changes to the test files are just to make it so they can be assembled as
either x86, x86_64, or aarch64, mainly by changing the comment style.
The only actual code change here is in adding the architecture constants
to pdb.c.
2023-01-25 22:26:18 +00:00

140 lines
2.1 KiB
ArmAsm

.equ CV_SIGNATURE_C13, 4
.equ DEBUG_S_LINES, 0xf2
.equ DEBUG_S_STRINGTABLE, 0xf3
.equ DEBUG_S_FILECHKSMS, 0xf4
.equ CHKSUM_TYPE_MD5, 1
.equ NUM_MD5_BYTES, 16
.section ".debug$S", "rn"
.long CV_SIGNATURE_C13
.long DEBUG_S_STRINGTABLE
.long .strings_end - .strings_start
.strings_start:
.asciz ""
.src1:
.asciz "foo"
.src2:
.asciz "bar"
.strings_end:
.balign 4
.long DEBUG_S_FILECHKSMS
.long .chksms_end - .chksms_start
.chksms_start:
.long .src1 - .strings_start
.byte NUM_MD5_BYTES
.byte CHKSUM_TYPE_MD5
.long 0x01234567
.long 0x89abcdef
.long 0xfedcba98
.long 0x67452310
.short 0 /* padding */
.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
.long DEBUG_S_LINES
.long .lines_end - .lines_start
.lines_start:
.secrel32 main
.secidx main
.short 0 /* flags */
.long .main_end - main /* length of region */
.lines_block1:
.long 0 /* file ID 0 (foo) */
.long 2 /* no. lines */
.long .lines_block2 - .lines_block1 /* length */
.long .line1 - main
.long 0x80000001 /* line 1 */
.long .line2 - main
.long 0x80000002 /* line 2 */
.lines_block2:
.long 0x18 /* file ID 18 (bar) */
.long 2 /* no. lines */
.long .lines_block3 - .lines_block2 /* length */
.long .line3 - main
.long 0x80000003 /* line 3 */
.long .line4 - main
.long 0x80000004 /* line 4 */
.lines_block3:
.long 0 /* file ID 0 (foo) */
.long 1 /* no. lines */
.long .lines_end - .lines_block3 /* length */
.long .line5 - main
.long 0x80000005 /* line 5 */
.lines_end:
.long DEBUG_S_LINES
.long .lines_end2 - .lines_start2
.lines_start2:
.secrel32 gcfunc
.secidx gcfunc
.short 0 /* flags */
.long .gcfunc_end - gcfunc /* length of region */
.lines_block4:
.long 0 /* file ID 0 (foo) */
.long 1 /* no. lines */
.long .lines_end2 - .lines_block4 /* length */
.long .line6 - gcfunc
.long 0x80000006 /* line 6 */
.lines_end2:
.text
.global main
main:
.line1:
.long 0x12345678
.line2:
.long 0x12345678
.line3:
.long 0x12345678
.line4:
.long 0x12345678
.line5:
.long 0x12345678
.main_end:
.section "gcsect"
gcfunc:
.line6:
.long 0x12345678
.gcfunc_end: