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]

PATCH: S/390: add assembly-language tests



2001-11-30  Jim Blandy  <jimb@redhat.com>

	Add assembly-source tests for s390-ibm-linux.
	* gdb.asm/s390.inc: New file.
	* gdb.asm/configure.in, gdb.asm/asm-source.exp: Add clauses for
	the S/390 architecture.
        * gdb.asm/configure: Regenerated.

Index: gdb/testsuite/gdb.asm/asm-source.exp
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/asm-source.exp,v
retrieving revision 1.9
diff -c -r1.9 asm-source.exp
*** gdb/testsuite/gdb.asm/asm-source.exp	2001/11/27 01:29:03	1.9
--- gdb/testsuite/gdb.asm/asm-source.exp	2001/12/01 01:11:03
***************
*** 38,43 ****
--- 38,46 ----
  if [istarget "d10v-*-*"] then {
      set asm-arch d10v
  }
+ if [istarget "s390-*-*"] then {
+     set asm-arch s390
+ }
  if [istarget "i\[3456\]86-*-*"] then {
      set asm-arch i386
  }
Index: gdb/testsuite/gdb.asm/configure.in
===================================================================
RCS file: /cvs/src/src/gdb/testsuite/gdb.asm/configure.in,v
retrieving revision 1.5
diff -c -r1.5 configure.in
*** gdb/testsuite/gdb.asm/configure.in	2001/11/27 01:28:35	1.5
--- gdb/testsuite/gdb.asm/configure.in	2001/12/01 01:11:04
***************
*** 16,21 ****
--- 16,22 ----
  archinc=common.inc
  case ${target} in
  d10v-*-*) archinc=d10v.inc ;;
+ s390-*-*) archinc=s390.inc ;;
  i[[3456]]86*) archinc=i386.inc ;;
  m32r*-*) archinc=m32r.inc ;;
  sparc-*-*) archinc=sparc.inc ;;
Index: gdb/testsuite/gdb.asm/s390.inc
===================================================================
RCS file: s390.inc
diff -N s390.inc
*** gdb/testsuite/gdb.asm/s390.inc	Tue May  5 13:32:27 1998
--- gdb/testsuite/gdb.asm/s390.inc	Fri Nov 30 17:11:04 2001
***************
*** 0 ****
--- 1,68 ----
+ ### entry point code
+         .macro gdbasm_startup
+ 
+         # Align the stack pointer to an 8-byte boundary.
+         lhi %r0,-8
+         nr %r15,%r0
+ 
+         # Reserve space for the standard stack frame:
+         # back chain, and space for the callee to save its registers.
+         ahi %r15,-104
+         
+         # Zero this frame's back chain pointer.
+         xc 0(4,%r15),0(%r15)
+         .endm
+ 
+ 
+ ### Call a function.
+         .macro gdbasm_call subr
+ 
+         # Put the address of the constant in %r1, load the constant
+         # (SUBR's address), and jump to it.
+         bras %r1, .Lafterconst\@
+         .long \subr
+ .Lafterconst\@:
+         l %r1,0(%r1)
+         basr %r14,%r1
+         .endm
+ 
+ 
+ ### Exit with a zero status.
+         .macro gdbasm_exit0
+         lhi %r2, 0
+         svc 1
+         .endm
+ 
+ ### Standard subroutine prologue.
+         .macro gdbasm_enter
+ 
+         # Save all the callee-saves registers.  What the heck.
+         stm %r6,%r15,24(%r15)
+ 
+         # Allocate the stack frame, and write the back chain pointer.
+         # Keep the original SP in %r11.
+         lr %r1,%r15
+         ahi %r15,-96
+         st %r1,0(%r15)
+         .endm
+ 
+ 
+ ### Standard subroutine epilogue.
+         .macro gdbasm_leave
+ 
+         # Restore all our registers.  This also pops the frame, and
+ 	# restores our return address.
+         lm %r6,%r15,120(%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


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