From 5e1a19265cd8c00d6746a0f0df2d38e81a4237f2 Mon Sep 17 00:00:00 2001 From: Thiago Jung Bauermann Date: Thu, 31 Jan 2008 13:41:38 +0000 Subject: [PATCH] 2008-01-30 Luis Machado * gdb.arch/powerpc-d128-regs.exp: New testcase expect file. * gdb.arch/powerpc-d128-regs.c: New testcase source file. --- gdb/testsuite/ChangeLog | 5 ++ gdb/testsuite/gdb.arch/powerpc-d128-regs.c | 25 +++++++ gdb/testsuite/gdb.arch/powerpc-d128-regs.exp | 77 ++++++++++++++++++++ 3 files changed, 107 insertions(+) create mode 100644 gdb/testsuite/gdb.arch/powerpc-d128-regs.c create mode 100644 gdb/testsuite/gdb.arch/powerpc-d128-regs.exp diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index b225f2f3b0b..43b34ae7f0a 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2008-01-30 Luis Machado + + * gdb.arch/powerpc-d128-regs.exp: New testcase expect file. + * gdb.arch/powerpc-d128-regs.c: New testcase source file. + 2008-01-30 Paul Hilfinger * gdb.ada/formatted_ref: New test program. diff --git a/gdb/testsuite/gdb.arch/powerpc-d128-regs.c b/gdb/testsuite/gdb.arch/powerpc-d128-regs.c new file mode 100644 index 00000000000..4e49ab261f6 --- /dev/null +++ b/gdb/testsuite/gdb.arch/powerpc-d128-regs.c @@ -0,0 +1,25 @@ +/* This file is part of GDB, the GNU debugger. + + Copyright 2008 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . */ + +/* Tests ppc decimal128 pseudo-registers. */ + +int main(void) +{ + _Decimal128 d128 = 1.2345678910dl; + + return 0; +} diff --git a/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp b/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp new file mode 100644 index 00000000000..ca37d8c8ae4 --- /dev/null +++ b/gdb/testsuite/gdb.arch/powerpc-d128-regs.exp @@ -0,0 +1,77 @@ +# This testcase is part of GDB, the GNU debugger. + +# Copyright 2008 +# Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +# Please email any bugs, comments, and/or additions to this file to: +# bug-gdb@gnu.org + +# Testcase for ppc decimal128 pseudo-registers. + +if $tracelevel then { + strace $tracelevel +} + +if ![istarget "powerpc64-*"] then { + verbose "Skipping powerpc Decimal128 pseudo-registers testcase." + return +} + +set testfile "powerpc-d128-regs" +set srcfile ${testfile}.c +set binfile ${objdir}/${subdir}/${testfile} + +if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {quiet debug}] != "" } { + untested powerpc-d128-regs.exp + return -1 +} + +# Start with a fresh gdb. + +gdb_exit +gdb_start +gdb_reinitialize_dir $srcdir/$subdir +gdb_load ${binfile} + +if { ![runto main] } then { + fail "run to main" + return +} + +if [gdb_test "show arch" ".*currently powerpc:common.*" "Checking for PPC arch"] { + return -1; +} + +gdb_test "next" "" + +for {set i 0} {$i < 16} {incr i 1} { +gdb_test "set \$dl$i=d128" "" "Set dl$i register" + +gdb_test "print \$dl$i" "\\\$$decimal = 1\.2345678910" "Print dl$i register as DFP" + +gdb_test "info reg dl$i" \ + "dl$i\[ \]*1\.2345678910\[\t\]*\\(raw 0x2205800000000000000000049c5de09c\\)" \ + "Print dl$i register with the info reg command" + +gdb_test "info reg f[expr 2*$i]" \ + "f[expr 2*$i]\[ \]*8\.608957309287334e\-145\[\t\]*\\(raw 0x2205800000000000\\)" \ + "Testing lower half of dl$i register" + +gdb_test "info reg f[expr 2*$i+1]" \ + "f[expr 2*$i+1]\[ \]*9\.7841140127686122e\-314\[\t\]*\\(raw 0x000000049c5de09c\\)" \ + "Testing upper half of dl$i register" + +} -- 2.30.2