aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.asm
diff options
context:
space:
mode:
Diffstat (limited to 'gdb/testsuite/gdb.asm')
-rw-r--r--gdb/testsuite/gdb.asm/asm-source.exp4
-rw-r--r--gdb/testsuite/gdb.asm/pa.inc44
2 files changed, 48 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.asm/asm-source.exp b/gdb/testsuite/gdb.asm/asm-source.exp
index 75e64b4..8839349 100644
--- a/gdb/testsuite/gdb.asm/asm-source.exp
+++ b/gdb/testsuite/gdb.asm/asm-source.exp
@@ -112,6 +112,10 @@ switch -glob -- [istarget] {
set asm-arch ia64
set asm-flags "-gdwarf2 -I${srcdir}/${subdir} -I${objdir}/${subdir}"
}
+ "hppa*-linux-*" {
+ set asm-arch pa
+ set asm-flags "-gdwarf2 -I${srcdir}/${subdir} -I${objdir}/${subdir}"
+ }
}
if { "${asm-arch}" == "" } {
diff --git a/gdb/testsuite/gdb.asm/pa.inc b/gdb/testsuite/gdb.asm/pa.inc
new file mode 100644
index 0000000..d53336e
--- /dev/null
+++ b/gdb/testsuite/gdb.asm/pa.inc
@@ -0,0 +1,44 @@
+ comment "subroutine prologue"
+ .macro gdbasm_enter
+ stw %rp, -20(%sp)
+ copy %r3, %r1
+ copy %sp, %r3
+ stwm %r1, 64(%sp)
+ .endm
+
+ comment "subroutine epilogue"
+ .macro gdbasm_leave
+ ldw -20(%r3), %rp
+ bv %r0(%rp)
+ ldwm -64(%sp), %r3
+ .endm
+
+ .macro gdbasm_call subr
+ bl \subr , %rp
+ nop
+ .endm
+
+ .macro gdbasm_several_nops
+ nop
+ nop
+ nop
+ nop
+ .endm
+
+ comment "exit (0)"
+ .macro gdbasm_exit0
+ comment "Don't know how to exit, but this will certainly halt..."
+ ldw 0(%r0), %r1
+ .endm
+
+ comment "crt0 startup"
+ .macro gdbasm_startup
+ .align 4
+ .endm
+
+ comment "Declare a data variable"
+ .macro gdbasm_datavar name value
+ .data
+\name:
+ .long \value
+ .endm