Index: gdb/testsuite/gdb.base/jit-simple.exp |
diff --git a/gdb/testsuite/gdb.base/jit-simple.exp b/gdb/testsuite/gdb.base/jit-simple.exp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..95752b53db757579efe59e1c43a55d87e1c9b43c |
--- /dev/null |
+++ b/gdb/testsuite/gdb.base/jit-simple.exp |
@@ -0,0 +1,81 @@ |
+# Copyright 2012 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 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, see <http://www.gnu.org/licenses/>. |
+ |
+if {[skip_shlib_tests]} { |
+ untested jit-simple.exp |
+ return -1 |
+} |
+ |
+if {[get_compiler_info]} { |
+ warning "Could not get compiler info" |
+ untested jit-simple.exp |
+ return 1 |
+} |
+ |
+# |
+# test running programs |
+# |
+ |
+set testfile jit-simple |
+set srcfile ${testfile}.c |
+set binfile ${objdir}/${subdir}/${testfile} |
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { |
+ untested jit-simple.exp |
+ return -1 |
+} |
+ |
+# A helper for jit_test_reread that invokes gdb_run_cmd. |
+proc jit_run {msg} { |
+ global decimal gdb_prompt |
+ |
+ gdb_run_cmd |
+ gdb_expect { |
+ -re "Inferior .* exited.*$gdb_prompt $" { |
+ pass $msg |
+ } |
+ -re ".*$gdb_prompt $" { |
+ fail $msg |
+ } |
+ } |
+} |
+ |
+# Test re-running an inferior with a JIT descriptor, where the JIT |
+# descriptor changes address between runs. |
+# http://sourceware.org/bugzilla/show_bug.cgi?id=13431 |
+proc jit_test_reread {} { |
+ global testfile binfile subdir srcfile srcdir |
+ |
+ clean_restart $testfile |
+ |
+ # jit_run "initial run" |
+ runto_main |
+ |
+ gdb_test "print &__jit_debug_descriptor" "= .*" "blah 1" |
+ |
+ gdb_rename_execfile $binfile ${binfile}x |
+ |
+ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DSPACER}] != "" } { |
+ fail "recompile $srcfile" |
+ } else { |
+ pass "recompile $srcfile" |
+ |
+ # jit_run "second run" |
+ |
+ runto_main |
+ gdb_test "print &__jit_debug_descriptor" "= .*" "blah 1" |
+ } |
+} |
+ |
+jit_test_reread |