Home | History | Annotate | Line # | Download | only in gdb.asm
      1 	comment "subroutine declare"
      2 	.purgem gdbasm_declare
      3 	.macro gdbasm_declare name
      4 	.ent	\name
      5 \name:
      6 	.endm
      7 
      8 	comment "subroutine prologue"
      9 	.macro gdbasm_enter
     10 	.frame	$30, 16, $26, 0
     11 	.mask	0x04000000, -16
     12 	ldgp	$gp, 0($27)
     13 	subq	$sp, 16, $sp
     14 	stq	$26, 0($sp)
     15 	.prologue 1
     16 	.endm
     17 
     18 	comment "subroutine epilogue"
     19 	.macro gdbasm_leave
     20 	ldq	$26, 0($sp)
     21 	addq	$sp, 16, $sp
     22 	ret
     23 	.endm
     24 
     25 	comment "subroutine end"
     26 	.purgem gdbasm_end
     27 	.macro gdbasm_end name
     28 	.end	\name
     29 	.endm
     30 
     31 	comment "subroutine call"
     32 	/* Can't use ldgp here because the finish-frame test expects the
     33 	   pc to wind up on the next line.  That's ok, we're all local.  */
     34 	.macro gdbasm_call subr
     35 	jsr	$26, \subr
     36 	.endm
     37 
     38 	.macro gdbasm_several_nops
     39 	nop
     40 	nop
     41 	nop
     42 	nop
     43 	.endm
     44 
     45 	comment "exit (0)"
     46 	.macro gdbasm_exit0
     47 	lda	$16, 0($31)
     48 	lda	$0, 1($31)
     49 	callsys
     50 	.endm
     51 
     52 	comment "crt0 startup"
     53 	.macro gdbasm_startup
     54 	.frame	$31, 0, $31, 0
     55 	.prologue
     56 	ldgp	$gp, 0($27)
     57 	.endm
     58 
     59 	comment "Declare a data variable"
     60 	.purgem gdbasm_datavar
     61 	.macro gdbasm_datavar name value
     62 	.data
     63 \name:
     64 	.long	\value
     65 	.endm
     66