xref: /openbsd-src/gnu/usr.bin/binutils/gdb/testsuite/gdb.asm/asmsrc1.s (revision b725ae7711052a2233e31a66fefb8a752c388d7a)
1*b725ae77Skettenis	.include "common.inc"
2*b725ae77Skettenis	.include "arch.inc"
3*b725ae77Skettenis
4*b725ae77Sketteniscomment "WARNING: asm-source.exp checks for line numbers printed by gdb."
5*b725ae77Sketteniscomment "Be careful about changing this file without also changing"
6*b725ae77Sketteniscomment "asm-source.exp."
7*b725ae77Skettenis
8*b725ae77Skettenis
9*b725ae77Sketteniscomment	"This file is not linked with crt0."
10*b725ae77Sketteniscomment	"Provide very simplistic equivalent."
11*b725ae77Skettenis
12*b725ae77Skettenis	.global _start
13*b725ae77Skettenisgdbasm_declare _start
14*b725ae77Skettenis	gdbasm_startup
15*b725ae77Skettenis	gdbasm_call main
16*b725ae77Skettenis	gdbasm_exit0
17*b725ae77Skettenis	gdbasm_end _start
18*b725ae77Skettenis
19*b725ae77Sketteniscomment "main routine for assembly source debugging test"
20*b725ae77Sketteniscomment "This particular testcase uses macros in <arch>.inc to achieve"
21*b725ae77Sketteniscomment "machine independence."
22*b725ae77Skettenis
23*b725ae77Skettenis	.global main
24*b725ae77Skettenisgdbasm_declare main
25*b725ae77Skettenis	gdbasm_enter
26*b725ae77Skettenis
27*b725ae77Sketteniscomment "Call a macro that consists of several lines of assembler code."
28*b725ae77Skettenis
29*b725ae77Skettenis	gdbasm_several_nops
30*b725ae77Skettenis
31*b725ae77Sketteniscomment "Call a subroutine in another file."
32*b725ae77Skettenis
33*b725ae77Skettenis	gdbasm_call foo2
34*b725ae77Skettenis
35*b725ae77Sketteniscomment "All done."
36*b725ae77Skettenis
37*b725ae77Skettenis	gdbasm_exit0
38*b725ae77Skettenis	gdbasm_end main
39*b725ae77Skettenis
40*b725ae77Sketteniscomment "A routine for foo2 to call."
41*b725ae77Skettenis
42*b725ae77Skettenis	.global foo3
43*b725ae77Skettenisgdbasm_declare foo3
44*b725ae77Skettenis	gdbasm_enter
45*b725ae77Skettenis	gdbasm_leave
46*b725ae77Skettenis	gdbasm_end foo3
47*b725ae77Skettenis
48*b725ae77Skettenis	.global exit
49*b725ae77Skettenisgdbasm_declare exit
50*b725ae77Skettenis	gdbasm_exit0
51*b725ae77Skettenis	gdbasm_end exit
52*b725ae77Skettenis
53*b725ae77Sketteniscomment "A static function"
54*b725ae77Skettenis
55*b725ae77Skettenisgdbasm_declare foostatic
56*b725ae77Skettenis	gdbasm_enter
57*b725ae77Skettenis	gdbasm_leave
58*b725ae77Skettenis	gdbasm_end foostatic
59*b725ae77Skettenis
60*b725ae77Sketteniscomment "A global variable"
61*b725ae77Skettenis
62*b725ae77Skettenis	.global globalvar
63*b725ae77Skettenisgdbasm_datavar	globalvar	11
64*b725ae77Skettenis
65*b725ae77Sketteniscomment "A static variable"
66*b725ae77Skettenis
67*b725ae77Skettenisgdbasm_datavar	staticvar	5
68*b725ae77Skettenis
69*b725ae77Skettenis	.include "note.inc"
70