This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RFC: Add support for s390x to asm-source.exp


2003-04-29  Jim Blandy  <jimb at redhat dot 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]