Fix internal warning when "gdb -p xxx"

The issue that was fixed by b4ab256ded
can not be found in regression test.
Update attach.exp to test it.

https://sourceware.org/ml/gdb-patches/2014-03/msg00438.html

2014-03-21  Hui Zhu  <hui@codesourcery.com>

	* gdb.base/attach.exp (do_command_attach_tests): New.
This commit is contained in:
Hui Zhu 2014-03-21 11:11:51 +08:00
parent b4ab256ded
commit ccdd1909ad
2 changed files with 53 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2014-03-21 Hui Zhu <hui@codesourcery.com>
* gdb.base/attach.exp (do_command_attach_tests): New.
2014-03-20 Tom Tromey <tromey@redhat.com>
Pedro Alves <palves@redhat.com>

View File

@ -384,6 +384,51 @@ proc do_call_attach_tests {} {
remote_exec build "kill -9 ${testpid}"
}
proc do_command_attach_tests {} {
global gdb_prompt
global binfile
global verbose
global GDB
global INTERNAL_GDBFLAGS
global GDBFLAGS
if ![isnative] then {
unsupported "command attach test"
return 0
}
# Start the program running and then wait for a bit, to be sure
# that it can be attached to.
set testpid [eval exec $binfile &]
exec sleep 2
if { [istarget "*-*-cygwin*"] } {
# testpid is the Cygwin PID, GDB uses the Windows PID, which might be
# different due to the way fork/exec works.
set testpid [ exec ps -e | gawk "{ if (\$1 == $testpid) print \$4; }" ]
}
gdb_exit
if $verbose>1 then {
send_user "Spawning $GDB $INTERNAL_GDBFLAGS $GDBFLAGS --pid=$testpid\n"
}
eval "spawn $GDB $INTERNAL_GDBFLAGS $GDBFLAGS --pid=$testpid"
set test "starting with --pid"
expect {
-re "Reading symbols from.*$gdb_prompt $" {
pass "$test"
}
timeout {
fail "$test (timeout)"
}
}
# Get rid of the process
remote_exec build "kill -9 ${testpid}"
}
# Start with a fresh gdb
@ -404,4 +449,8 @@ gdb_start
gdb_reinitialize_dir $srcdir/$subdir
do_call_attach_tests
# Test "gdb --pid"
do_command_attach_tests
return 0