1# Copyright (C) 2018-2020 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 16# Contributed by Jozef Lawrynowicz (jozef.l@mittosystems.com) 17 18# Test for PR gdb/20948 19# Verify that invoking gdb with the --write argument works as expected 20 21global GDBFLAGS 22standard_testfile 23 24if {[build_executable $testfile.exp $testfile \ 25 $srcfile [list debug nowarnings] ] == -1} { 26 untested $testfile.exp 27 return -1 28} 29 30set old_gdbflags $GDBFLAGS 31 32# Expect a failure before --write has been added to the command line 33set GDBFLAGS "$old_gdbflags $binfile" 34clean_restart 35test_print_reject "set {int}main = 0x4242" "Cannot access memory at address" 36 37# Setting memory should now work correctly after adding --write 38set GDBFLAGS "$old_gdbflags --write $binfile" 39clean_restart 40gdb_test_no_output "set {int}main = 0x4242" 41 42# Check that memory write persists after quitting GDB 43gdb_exit 44gdb_start 45gdb_test "x /xh main" "<main>:.*4242" 46 47set GDBFLAGS $old_gdbflags 48