[PATCH 7/57][Arm][GAS] Add support for MVE instructions: vstr/vldr
[binutils-gdb.git] / gdb / testsuite / gdb.base / sigall.exp
blob0539c87f705d6cea4d2a8902b7c4b43783f77fd5
1 # Copyright 1995-2019 Free Software Foundation, Inc.
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.
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.
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/>.
16 if [target_info exists gdb,nosignals] {
17 verbose "Skipping sigall.exp because of nosignals."
18 continue
21 standard_testfile
23 if {[prepare_for_testing "failed to prepare" $testfile $srcfile debug]} {
24 return -1
27 proc test_one_sig {nextsig} {
28 global sig_supported
29 global gdb_prompt
30 global thissig
32 set this_sig_supported $sig_supported
33 gdb_test "handle SIG$thissig stop print" \
34 "SIG$thissig\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes.*"
35 gdb_test "b handle_$thissig" "Breakpoint \[0-9\]+ .*"
36 gdb_test "b gen_$nextsig" "Breakpoint \[0-9\]+ .*"
38 set need_another_continue 1
39 set missed_handler 0
40 if $this_sig_supported then {
41 set esig $thissig
43 if { $thissig == "IO" } {
44 setup_xfail "i*86-pc-linuxoldld-gnu" "i*86-pc-linuxaout-gnu"
46 # On Linux SPARC64 systems SIGLOST==SIGPWR and gdb identifies
47 # the raised signal as PWR.
48 if { $thissig == "LOST" && [ istarget "sparc64-*-linux*" ] } then {
49 set esig "PWR"
52 gdb_test "continue" \
53 "Continuing.*Program received signal SIG$esig.*" \
54 "get signal $esig"
57 if $need_another_continue then {
58 if { $thissig == "URG" } {
59 setup_xfail "i*86-pc-linuxoldld-gnu" "i*86-pc-linuxaout-gnu"
61 # Either Lynx or GDB screws up on SIGPRIO
62 if { $thissig == "PRIO" } {
63 setup_xfail "*-*-*lynx*"
65 gdb_test_multiple "continue" "send signal $thissig" {
66 -re "Breakpoint.*handle_$thissig.*$gdb_prompt $" {
67 pass "send signal $thissig"
69 -re "Breakpoint.*gen_$nextsig.*kill.*$gdb_prompt $" {
70 fail "missed breakpoint at handle_$thissig"
71 set missed_handler 1
76 if { $missed_handler == "0" } then {
77 gdb_test_multiple "signal 0" "advance to $nextsig" {
78 -re "Breakpoint.*gen_$nextsig.*\r\n\[0-9\]+\[ \t\]+kill \\(.*\r\n$gdb_prompt $" {
79 pass "advance to $nextsig"
80 set sig_supported 1
82 -re "Breakpoint.*gen_$nextsig.*\r\n\[0-9\]+\[ \t\]+handle_.*\r\n$gdb_prompt $" {
83 pass "advance to $nextsig"
84 set sig_supported 0
88 set thissig $nextsig
91 # The list of signals that the program generates, in the order they
92 # are generated.
93 set signals {
94 ABRT
95 HUP
96 QUIT
97 ILL
98 EMT
99 FPE
101 SEGV
103 PIPE
104 ALRM
106 TSTP
107 CONT
108 CHLD
109 TTIN
110 TTOU
112 XCPU
113 XFSZ
114 VTALRM
115 PROF
116 WINCH
117 LOST
118 USR1
119 USR2
121 POLL
122 WIND
123 PHONE
124 WAITING
126 DANGER
127 GRANT
128 RETRACT
130 SOUND
132 PRIO
164 TERM
167 # Make the first signal SIGABRT because it is always supported.
168 set sig_supported 1
169 set thissig "ABRT"
171 runto gen_ABRT
173 foreach sig [lrange $signals 1 end] {
174 test_one_sig $sig
177 # The last signal (SIGTERM) gets handled slightly differently because
178 # we are not setting up for another test.
179 gdb_test "handle SIGTERM stop print" \
180 "SIGTERM\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes.*"
181 gdb_test "b handle_TERM" "Breakpoint \[0-9\]+ .*"
182 gdb_test "continue" \
183 "Continuing.*Program received signal SIGTERM.*" \
184 "get signal TERM"
185 gdb_test "continue" "Breakpoint.*handle_TERM.*" "send signal TERM"
186 gdb_continue_to_end "continue to sigall exit"
188 return 0