comment "subroutine prologue" .macro gdbasm_enter alloc r33=ar.pfs,0,2,0,0 mov r32=b0 nop.i 0 .endm comment "subroutine epilogue" .macro gdbasm_leave nop.m 0 mov ar.pfs=r33 mov b0=r32 nop.m 0 nop.f 0 br.ret.sptk.many b0 .endm .macro gdbasm_call subr nop.m 0 nop.f 0 br.call.sptk.many b0=\subr .endm .macro gdbasm_several_nops nop.m 0 nop.i 0 nop.i 0 .endm comment "exit (0)" .macro gdbasm_exit0 break.m 0x0 nop.m 0 nop.i 0 .endm comment "crt0 startup" .macro gdbasm_startup gdbasm_enter mov r32=r0 nop.i 0 nop.i 0 .endm comment "Declare a data variable" .purgem gdbasm_datavar .macro gdbasm_datavar name value .data \name: .long \value .endm