daily update
[external/binutils.git] / gdb / testsuite / gdb.base / sect-cmd.exp
index 27bde04..3a140b5 100644 (file)
@@ -1,18 +1,17 @@
-#   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+# Copyright 1997, 1998, 1999, 2003, 2007, 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 2 of the License, or
+# 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, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
 # Please email any bugs, comments, and/or additions to this file to:
 # bug-gdb@prep.ai.mit.edu
@@ -40,9 +39,22 @@ if ![istarget "hppa*-*-hpux*"] then {
 
 set testfile "break"
 set srcfile ${testfile}.c
+set srcfile1 ${testfile}1.c
 set binfile ${objdir}/${subdir}/${testfile}
-if  { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
-     gdb_suppress_entire_file "Testcase compile failed, so all tests in this file will automatically fail."
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}0.o" object {debug nowarnings}] != "" } {
+    untested sect-cmd.exp
+    return -1
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile1}" "${binfile}1.o" object {debug nowarnings}] != "" } {
+    untested sect-cmd.exp
+    return -1
+}
+
+if { [gdb_compile "${binfile}0.o ${binfile}1.o" "${binfile}" executable {debug nowarnings}] != "" } {
+    untested sect-cmd.exp
+    return -1
 }
 
 gdb_exit
@@ -59,10 +71,15 @@ if ![runto_main] then { fail "section command tests suppressed" }
 # not clear that there'll be a section named "$CODE$" in such
 # programs.)
 #
+
+set address1 ""
+set address2 ""
 send_gdb "info files\n"
 gdb_expect {
-  -re ".*(0x\[0-9a-fA-F\]*) - (0x\[0-9a-fA-F\]*) is .CODE..*$gdb_prompt $"\
-          {pass "info files"}
+  -re ".*(0x\[0-9a-fA-F\]*) - (0x\[0-9a-fA-F\]*) is .(CODE|text).*$gdb_prompt $"\
+          {pass "info files"
+          set address1 $expect_out(1,string)
+          set address2 $expect_out(2,string)}
   -re "$gdb_prompt $"\
           {fail "info files"}
   timeout {fail "(timeout) info files"}
@@ -71,13 +88,24 @@ gdb_expect {
 # Reset the section to that same starting address, which should be
 # harmless (i.e., we just want to exercise the section command).
 #
-send_gdb "section \$CODE\$ $expect_out(1,string)\n"
-gdb_expect {
-  -re ".*$expect_out(1,string) \- $expect_out(2,string) is .CODE..*$gdb_prompt $"\
-          {pass "set section command"}
-  -re "$gdb_prompt $"\
-          {fail "set section command"}
-  timeout {fail "(timeout) set section command"}
+if [istarget "hppa2.0w-*-*"] then {
+  send_gdb "section \.text $address1\n"
+  gdb_expect {
+    -re ".*$address1 \- $address2 is .text.*$gdb_prompt $"\
+            {pass "set section command"}
+    -re "$gdb_prompt $"\
+            {fail "set section command"}
+    timeout {fail "(timeout) set section command"}
+  }
+} else {
+  send_gdb "section \$CODE\$ $address1\n"
+  gdb_expect {
+    -re ".*$address1 \- $address2 is .CODE..*$gdb_prompt $"\
+            {pass "set section command"}
+    -re "$gdb_prompt $"\
+            {fail "set section command"}
+    timeout {fail "(timeout) set section command"}
+  }
 }
 
 # Verify that GDB responds gracefully to a non-existent section name.