RFC: Add support for s390x to asm-source.exp
Jim Blandy
jimb@redhat.com
Tue Apr 29 15:20:00 GMT 2003
2003-04-29 Jim Blandy <jimb@redhat.com>
Add support for assembly source testing on the s390x.
* gdb.asm/asm-source.exp: Add a case for the s390x-*-*
architecture.
* gdb.asm/s390x.inc: New file.
Index: gdb/testsuite/gdb.asm/asm-source.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v
retrieving revision 1.30
diff -c -r1.30 asm-source.exp
*** gdb/testsuite/gdb.asm/asm-source.exp 21 Mar 2003 20:34:38 -0000 1.30
--- gdb/testsuite/gdb.asm/asm-source.exp 29 Apr 2003 06:18:06 -0000
***************
*** 48,53 ****
--- 48,56 ----
"s390-*-*" {
set asm-arch s390
}
+ "s390x-*-*" {
+ set asm-arch s390x
+ }
"x86_64-*-*" {
set asm-arch x86_64
set asm-flags "-gdwarf2 -I${srcdir}/${subdir} -I${objdir}/${subdir}"
Index: gdb/testsuite/gdb.asm/s390x.inc
===================================================================
RCS file: gdb/testsuite/gdb.asm/s390x.inc
diff -N gdb/testsuite/gdb.asm/s390x.inc
*** gdb/testsuite/gdb.asm/s390x.inc 1 Jan 1970 00:00:00 -0000
--- gdb/testsuite/gdb.asm/s390x.inc 29 Apr 2003 06:18:06 -0000
***************
*** 0 ****
--- 1,68 ----
+ ### entry point code
+ .macro gdbasm_startup
+
+ # Align the stack pointer to an 8-byte boundary.
+ lghi %r0,-16
+ ngr %r15,%r0
+
+ # Reserve space for the standard stack frame:
+ # back chain, and space for the callee to save its registers.
+ aghi %r15,-168
+
+ # Zero this frame's back chain pointer.
+ xc 0(8,%r15),0(%r15)
+ .endm
+
+
+ ### Call a function.
+ .macro gdbasm_call subr
+ brasl %r14, \subr
+ .endm
+
+
+ ### Exit with a zero status.
+ .macro gdbasm_exit0
+ lghi %r2, 0
+ svc 1
+ .endm
+
+ ### Standard subroutine prologue.
+ .macro gdbasm_enter
+
+ # Save all the callee-saves registers. What the heck.
+ stmg %r6,%r15,48(%r15)
+
+ # Allocate the stack frame, and write the back chain pointer.
+ # Keep the original SP in %r11.
+ lgr %r11,%r15
+ aghi %r15,-168
+ stg %r11,0(%r15)
+ .endm
+
+
+ ### Standard subroutine epilogue.
+ .macro gdbasm_leave
+
+ # Restore all our registers. This also pops the frame, and
+ # restores our return address.
+ lmg %r6,%r15,216(%r15)
+
+ # Jump to the return address.
+ br %r14
+
+ .endm
+
+ ### Several nops.
+ .macro gdbasm_several_nops
+ lr %r0, %r0
+ lr %r0, %r0
+ lr %r0, %r0
+ lr %r0, %r0
+ .endm
+
+ ### Declare an `int' variable.
+ .macro gdbasm_datavar name value
+ .data
+ \name:
+ .long \value
+ .endm
More information about the Gdb-patches
mailing list