# Test `info auxv' and related functionality.
-# Copyright 1992,1993,1994,1995,1996,1997,1998,1999,2000,2004
-# Free Software Foundation, Inc.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
+# 2004, 2007, 2008, 2009, 2010 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,
# 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.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This file is based on corefile.exp which was written by Fred
# Fish. (fnf@cygnus.com)
+if { ! [istarget "*-*-linux*"] && ! [istarget "*-*-solaris*"] } {
+ verbose "Skipping auxv.exp because of lack of support."
+ return
+}
+
if $tracelevel then {
strace $tracelevel
}
-set prms_id 0
-set bug_id 0
set testfile "auxv"
set srcfile ${testfile}.c
# Make it the working directory for gdb and its child.
set coredir "${objdir}/${subdir}/coredir.[getpid]"
file mkdir $coredir
-set core_works [isnative]
+set core_works [expr [isnative] && ! [is_remote target]]
# Run GDB on the test program up to where it will dump core.
gdb_start
gdb_reinitialize_dir $srcdir/$subdir
gdb_load ${binfile}
-gdb_test "set print sevenbit-strings" "" \
- "set print sevenbit-strings; ${testfile}"
-gdb_test "set width 0" "" \
- "set width 0; ${testfile}"
+gdb_test_no_output "set print sevenbit-strings"
+gdb_test_no_output "set width 0"
if {$core_works} {
if {[gdb_test "cd $coredir" ".*Working directory .*" \
set auxv_lines {}
set bad -1
+ # Former trailing `\[\r\n\]+' may eat just \r leaving \n in the buffer
+ # corrupting the next matches.
if {[gdb_test_multiple "info auxv" $test {
- -re "info auxv\[\r\n\]+" {
+ -re "info auxv\r\n" {
exp_continue
}
-ex "The program has no auxiliary information now" {
set bad 1
exp_continue
}
- -re "^\[0-9\]+\[ \t\]+(AT_\[^ \t\]+)\[^\r\n\]+\[\r\n\]+" {
+ -re "^\[0-9\]+\[ \t\]+(AT_\[^ \t\]+)\[^\r\n\]+\r\n" {
lappend auxv_lines $expect_out(0,string)
exp_continue
}
- -re "^\[0-9\]+\[ \t\]+\\?\\?\\?\[^\r\n\]+\[\r\n\]+" {
+ -re "^\[0-9\]+\[ \t\]+\\?\\?\\?\[^\r\n\]+\r\n" {
warning "Unrecognized tag value: $expect_out(0,string)"
set bad 1
lappend auxv_lines $expect_out(0,string)
exp_continue
}
- -re ".*$gdb_prompt $" {
+ -re "$gdb_prompt $" {
incr bad
}
- -re "^\[^\r\n\]+\[\r\n\]+" {
+ -re "^\[^\r\n\]+\r\n" {
if {!$bad} {
warning "Unrecognized output: $expect_out(0,string)"
set bad 1
-re "Can't create a corefile\[\r\n\]+$gdb_prompt $" {
unsupported "gcore"
}
+ -re "Undefined command: .*\[\r\n\]+$gdb_prompt $" {
+ unsupported "gcore"
+ }
}
# Let the program continue and die.