aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.arch
diff options
context:
space:
mode:
authorRandolph Chung <tausq@debian.org>2005-12-09 10:57:40 +0000
committerRandolph Chung <tausq@debian.org>2005-12-09 10:57:40 +0000
commit8117349cb4a05da46c397fde809fb9d14c8e028d (patch)
treefc78538a742f24ee58ab9c8266838b3c51d97fbc /gdb/testsuite/gdb.arch
parent8f07f25a063fcf0d117e798ef88131c91823dbe1 (diff)
downloadgdb-8117349cb4a05da46c397fde809fb9d14c8e028d.zip
gdb-8117349cb4a05da46c397fde809fb9d14c8e028d.tar.gz
gdb-8117349cb4a05da46c397fde809fb9d14c8e028d.tar.bz2
2005-12-09 Randolph Chung <tausq@debian.org>
* gdb.arch/pa-nullify.exp: Handle hppa64-*-* targets. (get_addr_of_sym): Remove duplicate print. (gen_core): xfail hppa*-*-hpux*, update expected output. * gdb.arch/pa-nullify.s: Reformat to also work on HPUX. * gdb.arch/pa64-nullify.s: New file.
Diffstat (limited to 'gdb/testsuite/gdb.arch')
-rw-r--r--gdb/testsuite/gdb.arch/pa-nullify.exp26
-rw-r--r--gdb/testsuite/gdb.arch/pa-nullify.s9
-rw-r--r--gdb/testsuite/gdb.arch/pa64-nullify.s70
3 files changed, 93 insertions, 12 deletions
diff --git a/gdb/testsuite/gdb.arch/pa-nullify.exp b/gdb/testsuite/gdb.arch/pa-nullify.exp
index 4cf5c72..fcc7f82 100644
--- a/gdb/testsuite/gdb.arch/pa-nullify.exp
+++ b/gdb/testsuite/gdb.arch/pa-nullify.exp
@@ -25,12 +25,19 @@ set bug_id 0
# Test handling of nullified instructions for the pa target.
-if ![istarget "hppa*-*-*"] then {
- verbose "Skipping hppa nullification tests."
- return
+switch -glob -- [istarget] {
+ "hppa-*-*" {
+ set testfile "pa-nullify"
+ }
+ "hppa64-*-*" {
+ set testfile "pa64-nullify"
+ }
+ "*" {
+ verbose "Skipping hppa nullification tests."
+ return
+ }
}
-set testfile "pa-nullify"
set srcfile ${testfile}.s
set binfile ${objdir}/${subdir}/${testfile}
set gcorefile ${objdir}/${subdir}/${testfile}.gcore
@@ -78,7 +85,6 @@ proc get_addr_of_sym { sym } {
global hex
set test "get address of $sym"
- send_gdb "print $sym\n"
gdb_test_multiple "print $sym" $test {
-re ".*($hex) <$sym>.*$gdb_prompt $" {
set addr $expect_out(1,string)
@@ -93,7 +99,7 @@ if { ! [ runto_main ] } then { gdb_suppress_tests; }
set foo [get_addr_of_sym "foo"]
set bar [get_addr_of_sym "bar"]
-set foo_last [expr $bar - 4]
+set foo_last "(bar - 4)"
gdb_breakpoint "*$foo_last"
@@ -112,13 +118,19 @@ proc gen_core { test } {
set gcore_works 0
set escapedfilename [string_to_regexp $gcorefile]
+ # gcore is not yet implemented for HPUX
+ setup_xfail hppa*-*-hpux*
+
gdb_test_multiple "gcore $gcorefile" "$test: gcore" {
-re "Saved corefile ${escapedfilename}\[\r\n\]+$gdb_prompt $" {
pass "$test: gcore"
set gcore_works 1
}
+ -re "Undefined command.*$gdb_prompt $" {
+ fail "$test: gcore (undefined command)"
+ }
-re "Can't create a corefile\[\r\n\]+$gdb_prompt $" {
- fail "$test: gcore"
+ fail "$test: gcore (can't create corefile)"
}
}
diff --git a/gdb/testsuite/gdb.arch/pa-nullify.s b/gdb/testsuite/gdb.arch/pa-nullify.s
index 90269b4..8b756bd 100644
--- a/gdb/testsuite/gdb.arch/pa-nullify.s
+++ b/gdb/testsuite/gdb.arch/pa-nullify.s
@@ -1,7 +1,6 @@
- .LEVEL 1.1
.text
- .align 4
-.globl foo
+ .align 8
+ .globl foo
.type foo, @function
foo:
.PROC
@@ -19,7 +18,7 @@ foo:
.EXIT
.PROCEND
-.globl bar
+ .globl bar
.type bar, @function
bar:
.PROC
@@ -34,7 +33,7 @@ bar:
.EXIT
.PROCEND
-.globl main
+ .globl main
.type main, @function
main:
.PROC
diff --git a/gdb/testsuite/gdb.arch/pa64-nullify.s b/gdb/testsuite/gdb.arch/pa64-nullify.s
new file mode 100644
index 0000000..f297699
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/pa64-nullify.s
@@ -0,0 +1,70 @@
+ .LEVEL 2.0w
+ .text
+ .align 8
+ .globl foo
+ .type foo, @function
+foo:
+ .PROC
+ .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
+ .ENTRY
+ copy %r3,%r1
+ copy %r30,%r3
+ std,ma %r1,64(%r30)
+ std %r3,-8(%r30)
+ ldo -64(%r29),%r28
+ stw %r26,0(%r28)
+ ldw 0(%r28),%r28
+ extrd,s %r28,63,32,%r28
+ ldo 64(%r3),%r30
+ ldd,mb -64(%r30),%r3
+ nop
+ bve,n (%r2)
+ .EXIT
+ .PROCEND
+
+ .align 8
+ .globl bar
+ .type bar, @function
+bar:
+ .PROC
+ .CALLINFO FRAME=64,NO_CALLS,SAVE_SP,ENTRY_GR=3
+ .ENTRY
+ copy %r3,%r1
+ copy %r30,%r3
+ std,ma %r1,64(%r30)
+ std %r3,-8(%r30)
+ ldo 64(%r3),%r30
+ ldd,mb -64(%r30),%r3
+ bve,n (%r2)
+ .EXIT
+ .PROCEND
+
+ .align 8
+ .globl main
+ .type main, @function
+main:
+ .PROC
+ .CALLINFO FRAME=128,CALLS,SAVE_RP,SAVE_SP,ENTRY_GR=4
+ .ENTRY
+ std %r2,-16(%r30)
+ copy %r3,%r1
+ copy %r30,%r3
+ std,ma %r1,128(%r30)
+ std %r3,-8(%r30)
+ std %r4,8(%r3)
+ ldo -64(%r29),%r28
+ stw %r26,0(%r28)
+ std %r25,8(%r28)
+ ldw 0(%r28),%r26
+ ldo -48(%r30),%r29
+ copy %r27,%r4
+ b,l foo,%r2
+ nop
+ copy %r4,%r27
+ ldd -16(%r3),%r2
+ ldd 8(%r3),%r4
+ ldo 64(%r3),%r30
+ ldd,mb -64(%r30),%r3
+ bve,n (%r2)
+ .EXIT
+ .PROCEND