1# Copyright 2010-2019 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# Tests of agent expression handling. 17 18# The tests that use the maintenance command do not need tracepoint 19# support on the target, but they do want a live program. 20 21load_lib "trace-support.exp" 22 23 24gdb_exit 25gdb_start 26standard_testfile actions.c 27 28if ![gdb_trace_common_supports_arch] { 29 unsupported "no trace-common.h support for arch" 30 return -1 31} 32 33if { [gdb_compile "$srcdir/$subdir/$srcfile" $binfile \ 34 executable {debug nowarnings}] != "" } { 35 untested "failed to compile" 36 return -1 37} 38 39gdb_load $binfile 40runto_main 41gdb_reinitialize_dir $srcdir/$subdir 42 43gdb_test "maint agent 12" ".*const8 12.*pop.*end.*" "maint agent 12" 44 45gdb_test "maint agent gdb_char_test" "" "maint agent gdb_char_test" 46 47gdb_test "maint agent gdb_arr_test\[12\]" "" "maint agent gdb_arr_test\[12\]" 48 49gdb_test "maint agent gdb_arr_test\[gdb_short_test\]" "" "maint agent gdb_arr_test\[gdb_short_test\]" 50 51gdb_test "maint agent gdb_struct1_test" "" "maint agent gdb_struct1_test" 52 53gdb_test "maint agent gdb_struct1_test.s" "" "maint agent gdb_struct1_test.s" 54 55gdb_test "maint agent gdb_struct1_test.arr\[gdb_struct1_test.c\]" "" "maint agent gdb_struct1_test.arr\[gdb_struct1_test.c\]" 56 57gdb_test "maint agent gdb_structp_test" "" "maint agent gdb_structp_test" 58 59gdb_test "maint agent gdb_structp_test->l" "" "maint agent gdb_structp_test->l" 60 61gdb_test "maint agent gdb_structp_test->bfield" "" "maint agent gdb_structp_test->bfield" 62 63gdb_test "maint agent gdb_long_test + gdb_short_test" "" "maint agent gdb_long_test + gdb_short_test" 64 65gdb_test "maint agent gdb_long_test - gdb_short_test" "" "maint agent gdb_long_test - gdb_short_test" 66 67gdb_test "maint agent gdb_long_test * gdb_short_test" "" "maint agent gdb_long_test * gdb_short_test" 68 69gdb_test "maint agent gdb_long_test / gdb_short_test" "" "maint agent gdb_long_test / gdb_short_test" 70 71gdb_test "maint agent gdb_structp_test + 1" "" "maint agent gdb_structp_test + 1" 72 73gdb_test "maint agent gdb_long_test == gdb_short_test" "" "maint agent gdb_long_test == gdb_short_test" 74 75gdb_test "maint agent gdb_long_test != gdb_short_test" "" "maint agent gdb_long_test != gdb_short_test" 76 77gdb_test "maint agent gdb_long_test < gdb_short_test" "" "maint agent gdb_long_test < gdb_short_test" 78 79gdb_test "maint agent gdb_long_test <= gdb_short_test" "" "maint agent gdb_long_test <= gdb_short_test" 80 81gdb_test "maint agent gdb_long_test > gdb_short_test" "" "maint agent gdb_long_test > gdb_short_test" 82 83gdb_test "maint agent gdb_long_test >= gdb_short_test" "" "maint agent gdb_long_test >= gdb_short_test" 84 85gdb_test "maint agent &gdb_long_test == &gdb_short_test" "" "maint agent &gdb_long_test == &gdb_short_test" 86 87gdb_test "maint agent &gdb_long_test < &gdb_short_test" "" "maint agent &gdb_long_test < &gdb_short_test" 88 89gdb_test "maint agent (unsigned char)1L" ".*ext 8.*" "maint agent (unsigned char)1L" 90 91# Now test eval version of agent expressions. 92 93gdb_test "maint agent-eval 12" ".*const8 12.*end.*" "maint agent-eval 12" 94 95gdb_test "maint agent-eval gdb_char_test" "" "maint agent-eval gdb_char_test" 96 97gdb_test "maint agent-eval gdb_arr_test\[12\]" "" "maint agent-eval gdb_arr_test\[12\]" 98 99gdb_test "maint agent-eval gdb_arr_test\[gdb_short_test\]" "" "maint agent-eval gdb_arr_test\[gdb_short_test\]" 100 101gdb_test "maint agent-eval gdb_struct1_test" "" "maint agent-eval gdb_struct1_test" 102 103gdb_test "maint agent-eval gdb_struct1_test.s" "" "maint agent-eval gdb_struct1_test.s" 104 105gdb_test "maint agent-eval gdb_struct1_test.arr\[gdb_struct1_test.c\]" "" "maint agent-eval gdb_struct1_test.arr\[gdb_struct1_test.c\]" 106 107gdb_test "maint agent-eval gdb_structp_test" "" "maint agent-eval gdb_structp_test" 108 109gdb_test "maint agent-eval gdb_structp_test->l" "" "maint agent-eval gdb_structp_test->l" 110 111gdb_test "maint agent-eval gdb_structp_test->bfield" "" "maint agent-eval gdb_structp_test->bfield" 112 113gdb_test "maint agent-eval gdb_long_test + gdb_short_test" "" "maint agent-eval gdb_long_test + gdb_short_test" 114 115gdb_test "maint agent-eval gdb_long_test - gdb_short_test" "" "maint agent-eval gdb_long_test - gdb_short_test" 116 117gdb_test "maint agent-eval gdb_long_test * gdb_short_test" "" "maint agent-eval gdb_long_test * gdb_short_test" 118 119gdb_test "maint agent-eval gdb_long_test / gdb_short_test" "" "maint agent-eval gdb_long_test / gdb_short_test" 120 121gdb_test "maint agent-eval gdb_structp_test + 1" "" "maint agent-eval gdb_structp_test + 1" 122 123gdb_test "maint agent-eval gdb_long_test == gdb_short_test" "" "maint agent-eval gdb_long_test == gdb_short_test" 124 125gdb_test "maint agent-eval gdb_long_test != gdb_short_test" "" "maint agent-eval gdb_long_test != gdb_short_test" 126 127gdb_test "maint agent-eval gdb_long_test < gdb_short_test" "" "maint agent-eval gdb_long_test < gdb_short_test" 128 129gdb_test "maint agent-eval gdb_long_test <= gdb_short_test" "" "maint agent-eval gdb_long_test <= gdb_short_test" 130 131gdb_test "maint agent-eval gdb_long_test > gdb_short_test" "" "maint agent-eval gdb_long_test > gdb_short_test" 132 133gdb_test "maint agent-eval gdb_long_test >= gdb_short_test" "" "maint agent-eval gdb_long_test >= gdb_short_test" 134 135gdb_test "maint agent-eval &gdb_long_test == &gdb_short_test" ".*equal.*end.*" "maint agent-eval &gdb_long_test == &gdb_short_test" 136 137gdb_test "maint agent-eval &gdb_long_test < &gdb_short_test" "" "maint agent-eval &gdb_long_test < &gdb_short_test" 138 139