1# Copyright 2012-2013 Free Software Foundation, Inc. 2 3# This program is free software; you can redistribute it and/or modify 4# it under the terms of the GNU General Public License as published by 5# the Free Software Foundation; either version 3 of the License, or 6# (at your option) any later version. 7# 8# This program is distributed in the hope that it will be useful, 9# but WITHOUT ANY WARRANTY; without even the implied warranty of 10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11# GNU General Public License for more details. 12# 13# You should have received a copy of the GNU General Public License 14# along with this program. If not, see <http://www.gnu.org/licenses/>. 15 16if {[skip_shlib_tests]} { 17 untested jit-simple.exp 18 return -1 19} 20 21if {[get_compiler_info]} { 22 warning "Could not get compiler info" 23 untested jit-simple.exp 24 return 1 25} 26 27# 28# test running programs 29# 30 31set testfile jit-simple 32set srcfile ${testfile}.c 33set binfile ${objdir}/${subdir}/${testfile} 34if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}] != "" } { 35 untested jit-simple.exp 36 return -1 37} 38 39# A helper for jit_test_reread that invokes gdb_run_cmd. 40proc jit_run {msg} { 41 global decimal gdb_prompt 42 43 gdb_run_cmd 44 gdb_expect { 45 -re "Inferior .* exited.*$gdb_prompt $" { 46 pass $msg 47 } 48 -re ".*$gdb_prompt $" { 49 fail $msg 50 } 51 } 52} 53 54# Test re-running an inferior with a JIT descriptor, where the JIT 55# descriptor changes address between runs. 56# http://sourceware.org/bugzilla/show_bug.cgi?id=13431 57proc jit_test_reread {} { 58 global testfile binfile subdir srcfile srcdir 59 60 clean_restart $testfile 61 62 # jit_run "initial run" 63 runto_main 64 65 gdb_test "print &__jit_debug_descriptor" "= .*" "blah 1" 66 67 gdb_rename_execfile $binfile ${binfile}x 68 69 if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug additional_flags=-DSPACER}] != "" } { 70 fail "recompile $srcfile" 71 } else { 72 pass "recompile $srcfile" 73 74 # jit_run "second run" 75 76 runto_main 77 gdb_test "print &__jit_debug_descriptor" "= .*" "blah 1" 78 } 79} 80 81jit_test_reread 82