This is the mail archive of the gdb-patches@sourceware.org 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]

Re: [RFA][5/5] New port: Cell BE SPU (testsuite tweaks)


Daniel Jacobowitz wrote:

> How much of this still applies, now that you're building GDB using a
> cross configuration triplet?  I would imagine isnative now fails.

They all still apply.  However, you've got a point with isnative --
the gdb.gdb testcases don't currently use it however.  Maybe they
should?  The following patch works as well as the original ...

Bye,
Ulrich


ChangeLog:

	* gdb.asm/asm-source.exp: Add "spu*-*-*" target.
	* gdb.asm/spu.inc: New file.
	* gdb.base/term.exp: Disable if [target_info exists noargs].
	* gdb.gdb/complaints.exp: Disable if ![isnative].
	* gdb.gdb/selftest.exp: Likewise.
	* gdb.gdb/observer.exp: Likewise.
	* gdb.gdb/xfullpath.exp: Likewise.
	* gdb.base/attach.exp: Disable on SPU target.
	* gdb.cp/bs145503.exp: Likewise.
	* gdb.cp/exception.exp: Likewise.
	* gdb.cp/userdef.exp: Likewise.

diff -urN gdb-orig/gdb/testsuite/gdb.asm/asm-source.exp gdb-head/gdb/testsuite/gdb.asm/asm-source.exp
--- gdb-orig/gdb/testsuite/gdb.asm/asm-source.exp	2006-11-22 15:37:06.945107824 +0100
+++ gdb-head/gdb/testsuite/gdb.asm/asm-source.exp	2006-11-22 15:34:19.425149536 +0100
@@ -120,6 +120,11 @@
         set asm-flags "-xarch=v9 -I${srcdir}/${subdir} -I${objdir}/${subdir}"
 	set debug-flags "-gdwarf-2"
     }
+    "spu*-*-*" {
+       set asm-arch spu
+       set asm-flags "-I${srcdir}/${subdir} -I${objdir}/${subdir} --no-warn"
+       set debug-flags "-gdwarf-2"
+    }
     "xstormy16-*-*" {
         set asm-arch xstormy16
 	set debug-flags "-gdwarf-2"
diff -urN gdb-orig/gdb/testsuite/gdb.asm/spu.inc gdb-head/gdb/testsuite/gdb.asm/spu.inc
--- gdb-orig/gdb/testsuite/gdb.asm/spu.inc	1970-01-01 01:00:00.000000000 +0100
+++ gdb-head/gdb/testsuite/gdb.asm/spu.inc	2006-11-22 15:34:19.430148776 +0100
@@ -0,0 +1,42 @@
+	comment "subroutine prologue"
+	.macro gdbasm_enter
+	stqd    $lr, 16($sp)
+	stqd    $sp, -32($sp)
+	ai      $sp, $sp, -32
+	.endm
+
+	comment "subroutine epilogue"
+	.macro gdbasm_leave
+	ai	$sp, $sp, 32
+	lqd     $lr, 16($sp)
+	bi	$lr	
+	.endm
+
+	.macro gdbasm_call subr
+	brsl	$lr, \subr
+	.endm
+
+	.macro gdbasm_several_nops
+	nop
+	nop
+	nop
+	nop
+	.endm
+
+	comment "exit (0)"
+	.macro gdbasm_exit0
+	stop	0x2000
+	stop 
+	stop 
+	stop 
+	.endm
+
+	comment "startup"
+	.macro gdbasm_startup
+	il	$0, 0
+	ila	$sp, 16368
+	stqd	$0, 0($sp)
+	stqd	$sp, -32($sp)
+	ai	$sp, $sp, -32
+	stqd	$0, 16($sp)
+	.endm
diff -urN gdb-orig/gdb/testsuite/gdb.base/attach.exp gdb-head/gdb/testsuite/gdb.base/attach.exp
--- gdb-orig/gdb/testsuite/gdb.base/attach.exp	2006-11-22 15:37:06.950107064 +0100
+++ gdb-head/gdb/testsuite/gdb.base/attach.exp	2006-11-22 15:34:19.436147864 +0100
@@ -32,6 +32,11 @@
     return 0
 }
 
+# On SPU, this test currently fails because "sleep" is not supported.
+if { [istarget "spu*-*-*"] } {
+	return 0
+}
+
 # are we on a target board
 if [is_remote target] then {
     return 0
diff -urN gdb-orig/gdb/testsuite/gdb.base/term.exp gdb-head/gdb/testsuite/gdb.base/term.exp
--- gdb-orig/gdb/testsuite/gdb.base/term.exp	2006-11-22 15:37:06.955106304 +0100
+++ gdb-head/gdb/testsuite/gdb.base/term.exp	2006-11-22 15:34:19.481141024 +0100
@@ -29,6 +29,11 @@
     continue
 }
 
+if [target_info exists noargs] then {
+    verbose "Skipping term.exp because of noargs."
+    return
+}
+
 gdb_start
 
 #
diff -urN gdb-orig/gdb/testsuite/gdb.cp/bs15503.exp gdb-head/gdb/testsuite/gdb.cp/bs15503.exp
--- gdb-orig/gdb/testsuite/gdb.cp/bs15503.exp	2006-11-22 15:37:06.959105696 +0100
+++ gdb-head/gdb/testsuite/gdb.cp/bs15503.exp	2006-11-22 15:34:19.487140112 +0100
@@ -24,6 +24,11 @@
 
 if { [skip_cplus_tests] } { continue }
 
+# On SPU this test fails because the executable exceeds local storage size.
+if { [istarget "spu*-*-*"] } {
+        return 0
+}
+
 set testfile "bs15503"
 set srcfile ${testfile}.cc
 set binfile ${objdir}/${subdir}/${testfile}
diff -urN gdb-orig/gdb/testsuite/gdb.cp/exception.exp gdb-head/gdb/testsuite/gdb.cp/exception.exp
--- gdb-orig/gdb/testsuite/gdb.cp/exception.exp	2006-11-22 15:37:06.964104936 +0100
+++ gdb-head/gdb/testsuite/gdb.cp/exception.exp	2006-11-22 15:34:19.492139352 +0100
@@ -44,6 +44,11 @@
 
 if { [skip_cplus_tests] } { continue }
 
+# On SPU this test fails because the executable exceeds local storage size.
+if { [istarget "spu*-*-*"] } {
+        return 0
+}
+
 set testfile "exception"
 set srcfile ${testfile}.cc
 set binfile ${objdir}/${subdir}/${testfile}
diff -urN gdb-orig/gdb/testsuite/gdb.cp/userdef.exp gdb-head/gdb/testsuite/gdb.cp/userdef.exp
--- gdb-orig/gdb/testsuite/gdb.cp/userdef.exp	2006-11-22 15:37:06.968104328 +0100
+++ gdb-head/gdb/testsuite/gdb.cp/userdef.exp	2006-11-22 15:34:19.497138592 +0100
@@ -27,6 +27,11 @@
 
 if { [skip_cplus_tests] } { continue }
 
+# On SPU this test fails because the executable exceeds local storage size.
+if { [istarget "spu*-*-*"] } {
+        return 0
+}
+
 set testfile "userdef"
 set srcfile ${testfile}.cc
 set binfile ${objdir}/${subdir}/${testfile}
diff -urN gdb-orig/gdb/testsuite/gdb.gdb/complaints.exp gdb-head/gdb/testsuite/gdb.gdb/complaints.exp
--- gdb-orig/gdb/testsuite/gdb.gdb/complaints.exp	2006-11-22 15:37:06.974103416 +0100
+++ gdb-head/gdb/testsuite/gdb.gdb/complaints.exp	2006-11-22 15:32:30.763163912 +0100
@@ -27,7 +27,7 @@
 set bug_id 0
 
 # are we on a target board
-if [is_remote target] {
+if ![isnative] {
     return
 }
 
diff -urN gdb-orig/gdb/testsuite/gdb.gdb/observer.exp gdb-head/gdb/testsuite/gdb.gdb/observer.exp
--- gdb-orig/gdb/testsuite/gdb.gdb/observer.exp	2006-11-22 15:37:06.978102808 +0100
+++ gdb-head/gdb/testsuite/gdb.gdb/observer.exp	2006-11-22 15:32:18.063096640 +0100
@@ -25,7 +25,7 @@
 set bug_id 0
 
 # are we on a target board
-if [is_remote target] {
+if ![isnative] {
     return
 }
 
diff -urN gdb-orig/gdb/testsuite/gdb.gdb/selftest.exp gdb-head/gdb/testsuite/gdb.gdb/selftest.exp
--- gdb-orig/gdb/testsuite/gdb.gdb/selftest.exp	2006-11-22 15:37:06.984101896 +0100
+++ gdb-head/gdb/testsuite/gdb.gdb/selftest.exp	2006-11-22 15:31:52.112181304 +0100
@@ -25,7 +25,7 @@
 set bug_id 0
 
 # are we on a target board
-if [is_remote target] {
+if ![isnative] {
     return
 }
 
diff -urN gdb-orig/gdb/testsuite/gdb.gdb/xfullpath.exp gdb-head/gdb/testsuite/gdb.gdb/xfullpath.exp
--- gdb-orig/gdb/testsuite/gdb.gdb/xfullpath.exp	2006-11-22 15:37:06.988101288 +0100
+++ gdb-head/gdb/testsuite/gdb.gdb/xfullpath.exp	2006-11-22 15:32:43.753184648 +0100
@@ -26,7 +26,7 @@
 set bug_id 0
 
 # are we on a target board
-if [is_remote target] {
+if ![isnative] {
     return
 }
 


-- 
  Dr. Ulrich Weigand
  GNU Toolchain for Linux on System z and Cell BE
  Ulrich.Weigand@de.ibm.com


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