This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [RFA][5/5] New port: Cell BE SPU (testsuite tweaks)
- From: "Ulrich Weigand" <uweigand at de dot ibm dot com>
- To: drow at false dot org (Daniel Jacobowitz)
- Cc: gdb-patches at sourceware dot org
- Date: Wed, 22 Nov 2006 18:21:51 +0100 (CET)
- Subject: Re: [RFA][5/5] New port: Cell BE SPU (testsuite tweaks)
Daniel Jacobowitz wrote:
> Could you check both is_remote and isnative, please? The tests don't
> work with remote targets (because they send "run -nw" directly to GDB).
> They could be made to, but only if not noargs, and noargs is currently
> set for gdbserver so there's not much point.
OK, I see.
> Patch is OK with that change.
I've committed the following patch. Many thanks for reviewing!
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 17:20:11.012128128 +0100
@@ -27,7 +27,7 @@
set bug_id 0
# are we on a target board
-if [is_remote target] {
+if { [is_remote target] || ![isnative] } then {
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 17:20:19.306197656 +0100
@@ -25,7 +25,7 @@
set bug_id 0
# are we on a target board
-if [is_remote target] {
+if { [is_remote target] || ![isnative] } then {
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 17:12:31.700188384 +0100
@@ -25,7 +25,7 @@
set bug_id 0
# are we on a target board
-if [is_remote target] {
+if { [is_remote target] || ![isnative] } then {
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 17:20:30.442103656 +0100
@@ -26,7 +26,7 @@
set bug_id 0
# are we on a target board
-if [is_remote target] {
+if { [is_remote target] || ![isnative] } then {
return
}
--
Dr. Ulrich Weigand
GNU Toolchain for Linux on System z and Cell BE
Ulrich.Weigand@de.ibm.com