# Copyright 2017-2019 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 . # This file is part of the gdb testsuite. # Basic tests of examining/assigning ADI version tags, and reporting # precise mismatch. if ![istarget "sparc64*-*-linux*"] then { verbose "Skipping sparc64 ADI test." return 0 } standard_testfile if { [prepare_for_testing "failed to prepare" $testfile $srcfile \ [list debug libs=-ladi]] } { return -1 } if ![runto_main] then { untested "could not run to main" return -1 } gdb_test "break [gdb_get_line_number "line breakpoint here"]" \ "Breakpoint .* at .*${srcfile}.*" \ "set line breakpoint in main" gdb_continue_to_breakpoint "continue to line breakpoint in main" ########################################## set newadi "7" gdb_test "adi x shmaddr" "${hex}00:\t0" "examine ADI" gdb_test_no_output "adi a/100 shmaddr=${newadi}" "assign ADI" gdb_test "adi x/100 shmaddr" "${hex}00:\t${newadi} ${newadi}" \ "examine new ADI" gdb_test_no_output "adi a/100 shmaddr=0x0" "reset ADI" gdb_test "continue" \ [multi_line "Program received signal SIGSEGV, Segmentation fault.*" \ "ADI precise mismatch while accessing address $hex.*" ] \ "continue to sigsegv"