diff options
-rw-r--r-- | gdb/testsuite/ChangeLog | 7 | ||||
-rw-r--r-- | gdb/testsuite/gdb.server/server-kill.c | 10 | ||||
-rw-r--r-- | gdb/testsuite/gdb.server/server-kill.exp | 18 |
3 files changed, 33 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index 23eea6b..14e2d5c 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,5 +1,12 @@ 2014-10-11 Yao Qi <yao@codesourcery.com> + * gdb.server/server-kill.c: Include sys/types.h and unistd.h. + (main): Call getppid. + * gdb.server/server-kill.exp: Set breakpoint on line "i = 0;" + and continue to it. Read variable "server_pid". + +2014-10-11 Yao Qi <yao@codesourcery.com> + * gdb.server/server-kill.exp: Remove "delete_breakpoints". 2014-10-11 Yao Qi <yao@codesourcery.com> diff --git a/gdb/testsuite/gdb.server/server-kill.c b/gdb/testsuite/gdb.server/server-kill.c index 8a7c74e..8369024 100644 --- a/gdb/testsuite/gdb.server/server-kill.c +++ b/gdb/testsuite/gdb.server/server-kill.c @@ -15,10 +15,18 @@ You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <sys/types.h> +#include <unistd.h> + +int server_pid; + int main (void) { - int i = 0; + int i; + + server_pid = getppid (); + i = 0; return i; } diff --git a/gdb/testsuite/gdb.server/server-kill.exp b/gdb/testsuite/gdb.server/server-kill.exp index b23c2b5..83c11f2 100644 --- a/gdb/testsuite/gdb.server/server-kill.exp +++ b/gdb/testsuite/gdb.server/server-kill.exp @@ -33,7 +33,23 @@ gdb_test "disconnect" ".*" gdbserver_run "" -set server_pid [exp_pid -i [board_info target fileid]] +# Continue past server_pid assignment. +gdb_breakpoint ${srcfile}:[gdb_get_line_number "i = 0;"] +gdb_continue_to_breakpoint "after server_pid assignment" + +# Get the pid of GDBServer. +set test "p server_pid" +gdb_test_multiple $test $test { + -re " = ($decimal)\r\n$gdb_prompt $" { + set server_pid $expect_out(1,string) + pass $test + } +} + +if {$server_pid == "" } { + return -1 +} + remote_exec target "kill -9 $server_pid" # Force GDB to talk with GDBserver, so that we can get the |