# 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 . if {[skip_shlib_tests]} { untested jit-simple.exp return -1 } if {[get_compiler_info not-used]} { 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