From 66682aaa7e223852aa6c0b0209e56a45cd7e97d8 Mon Sep 17 00:00:00 2001 From: tausq Date: Fri, 9 Dec 2005 10:57:40 +0000 Subject: [PATCH] 2005-12-09 Randolph Chung * 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. --- gdb/testsuite/ChangeLog | 8 ++++ gdb/testsuite/gdb.arch/pa-nullify.exp | 26 +++++++++---- gdb/testsuite/gdb.arch/pa-nullify.s | 9 ++--- gdb/testsuite/gdb.arch/pa64-nullify.s | 70 +++++++++++++++++++++++++++++++++++ 4 files changed, 101 insertions(+), 12 deletions(-) create mode 100644 gdb/testsuite/gdb.arch/pa64-nullify.s diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 77bb882b5f..76217de3f5 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,13 @@ 2005-12-09 Randolph Chung + * 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. + +2005-12-09 Randolph Chung + * gdb.base/dump.exp: Mark hppa64-*-* as 64-bit target. 2005-12-07 Christophe Lyon diff --git a/gdb/testsuite/gdb.arch/pa-nullify.exp b/gdb/testsuite/gdb.arch/pa-nullify.exp index 4cf5c72587..fcc7f82bde 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 90269b4d7b..8b756bd983 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 0000000000..f297699ed7 --- /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 -- 2.11.0