-# Copyright (C) 2008 Free Software Foundation, Inc.
+# Copyright (C) 2008-2013 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
# Test handling of threads across an execl.
+if { [is_remote target] } then {
+ continue
+}
# Original image, loads a thread library.
-set testfile "execl"
-set srcfile ${testfile}.c
-set binfile ${objdir}/${subdir}/${testfile}
+standard_testfile
if {[gdb_compile_pthreads "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } {
return -1
# New image, that does not load a thread library.
set testfile1 "execl1"
set srcfile1 ${testfile1}.c
-set binfile1 ${objdir}/${subdir}/${testfile1}
+set binfile1 [standard_output_file ${testfile1}]
if {[gdb_compile "${srcdir}/${subdir}/${srcfile1}" "${binfile1}" executable {debug}] != "" } {
return -1
}
-gdb_exit
-gdb_start
-gdb_reinitialize_dir $srcdir/$subdir
-gdb_load ${binfile}
+clean_restart ${binfile}
runto_main
gdb_test "continue" ".*breakpoint here.*" "continue to exec"
-gdb_test "info threads" ".*3 Thread.*2 Thread.*1 Thread.*" "info threads before exec"
+gdb_test "info threads" ".*3 *Thread.*2 *Thread.*1 *Thread.*" "info threads before exec"
# When continuing from this point we'll hit the breakpoint in main()
# again, this time in the exec'd process.
set test "info threads after exec"
gdb_test_multiple "info threads" "$test" {
- -re "2 Thread .*$gdb_prompt $" {
+ -re "2 *Thread .*$gdb_prompt $" {
# Old threads left behind.
fail "$test"
}
- -re "4 Thread .*$gdb_prompt $" {
+ -re "4 *Thread .*$gdb_prompt $" {
# New threads registered.
fail "$test"
}
}
}
-gdb_test "continue" ".*Program exited normally\\." \
- "continue to end"
+gdb_continue_to_end