1 /* This testcase is part of GDB, the GNU debugger.
3 Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
22 #define signal(a,b) /* Signals not supported on this target - make them go away */
25 /* Signal handlers, we set breakpoints in them to make sure that the
26 signals really get delivered. */
104 handle_TTIN (int sig
)
109 handle_TTOU (int sig
)
119 handle_XCPU (int sig
)
124 handle_XFSZ (int sig
)
129 handle_VTALRM (int sig
)
134 handle_PROF (int sig
)
139 handle_WINCH (int sig
)
144 handle_LOST (int sig
)
149 handle_USR1 (int sig
)
154 handle_USR2 (int sig
)
164 handle_POLL (int sig
)
169 handle_WIND (int sig
)
174 handle_PHONE (int sig
)
179 handle_WAITING (int sig
)
189 handle_DANGER (int sig
)
194 handle_GRANT (int sig
)
199 handle_RETRACT (int sig
)
209 handle_SOUND (int sig
)
219 handle_PRIO (int sig
)
379 handle_TERM (int sig
)
383 /* Functions to send signals. These also serve as markers. */
387 kill (getpid (), SIGABRT
);
395 kill (getpid (), SIGHUP
);
406 kill (getpid (), SIGQUIT
);
417 kill (getpid (), SIGILL
);
428 kill (getpid (), SIGEMT
);
440 /* The intent behind generating SIGFPE this way is to check the mapping
441 from the CPU exception itself to the signals. It would be nice to
442 do the same for SIGBUS, SIGSEGV, etc., but I suspect that even this
443 test might turn out to be insufficiently portable. */
446 /* Loses on the PA because after the signal handler executes we try to
447 re-execute the failing instruction again. Perhaps we could siglongjmp
448 out of the signal handler? */
449 /* The expect script looks for the word "kill"; don't delete it. */
450 return 5 / x
; /* and we both started jumping up and down yelling kill */
452 kill (getpid (), SIGFPE
);
461 kill (getpid (), SIGBUS
);
472 kill (getpid (), SIGSEGV
);
483 kill (getpid (), SIGSYS
);
494 kill (getpid (), SIGPIPE
);
505 kill (getpid (), SIGALRM
);
516 kill (getpid (), SIGURG
);
527 kill (getpid (), SIGTSTP
);
538 kill (getpid (), SIGCONT
);
549 kill (getpid (), SIGCHLD
);
560 kill (getpid (), SIGTTIN
);
571 kill (getpid (), SIGTTOU
);
582 kill (getpid (), SIGIO
);
593 kill (getpid (), SIGXCPU
);
604 kill (getpid (), SIGXFSZ
);
615 kill (getpid (), SIGVTALRM
);
626 kill (getpid (), SIGPROF
);
637 kill (getpid (), SIGWINCH
);
647 #if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
648 kill (getpid (), SIGLOST
);
659 kill (getpid (), SIGUSR1
);
670 kill (getpid (), SIGUSR2
);
681 kill (getpid (), SIGPWR
);
691 #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
692 kill (getpid (), SIGPOLL
);
703 kill (getpid (), SIGWIND
);
714 kill (getpid (), SIGPHONE
);
725 kill (getpid (), SIGWAITING
);
736 kill (getpid (), SIGLWP
);
747 kill (getpid (), SIGDANGER
);
758 kill (getpid (), SIGGRANT
);
769 kill (getpid (), SIGRETRACT
);
780 kill (getpid (), SIGMSG
);
791 kill (getpid (), SIGSOUND
);
802 kill (getpid (), SIGSAK
);
813 kill (getpid (), SIGPRIO
);
824 kill (getpid (), 33);
835 kill (getpid (), 34);
846 kill (getpid (), 35);
857 kill (getpid (), 36);
868 kill (getpid (), 37);
879 kill (getpid (), 38);
890 kill (getpid (), 39);
901 kill (getpid (), 40);
912 kill (getpid (), 41);
923 kill (getpid (), 42);
934 kill (getpid (), 43);
945 kill (getpid (), 44);
956 kill (getpid (), 45);
967 kill (getpid (), 46);
978 kill (getpid (), 47);
989 kill (getpid (), 48);
1000 kill (getpid (), 49);
1011 kill (getpid (), 50);
1022 kill (getpid (), 51);
1033 kill (getpid (), 52);
1044 kill (getpid (), 53);
1055 kill (getpid (), 54);
1066 kill (getpid (), 55);
1077 kill (getpid (), 56);
1088 kill (getpid (), 57);
1099 kill (getpid (), 58);
1110 kill (getpid (), 59);
1121 kill (getpid (), 60);
1132 kill (getpid (), 61);
1143 kill (getpid (), 62);
1154 kill (getpid (), 63);
1164 kill (getpid (), SIGTERM
);
1172 /* Ensure all the signals aren't blocked.
1173 The environment in which the testsuite is run may have blocked some
1174 for whatever reason. */
1177 sigemptyset (&newset
);
1178 sigprocmask (SIG_SETMASK
, &newset
, NULL
);
1182 signal (SIGABRT
, handle_ABRT
);
1184 signal (SIGHUP
, handle_HUP
);
1187 signal (SIGQUIT
, handle_QUIT
);
1190 signal (SIGILL
, handle_ILL
);
1193 signal (SIGEMT
, handle_EMT
);
1196 signal (SIGFPE
, handle_FPE
);
1199 signal (SIGBUS
, handle_BUS
);
1202 signal (SIGSEGV
, handle_SEGV
);
1205 signal (SIGSYS
, handle_SYS
);
1208 signal (SIGPIPE
, handle_PIPE
);
1211 signal (SIGALRM
, handle_ALRM
);
1214 signal (SIGURG
, handle_URG
);
1217 signal (SIGTSTP
, handle_TSTP
);
1220 signal (SIGCONT
, handle_CONT
);
1223 signal (SIGCHLD
, handle_CHLD
);
1226 signal (SIGTTIN
, handle_TTIN
);
1229 signal (SIGTTOU
, handle_TTOU
);
1232 signal (SIGIO
, handle_IO
);
1235 signal (SIGXCPU
, handle_XCPU
);
1238 signal (SIGXFSZ
, handle_XFSZ
);
1241 signal (SIGVTALRM
, handle_VTALRM
);
1244 signal (SIGPROF
, handle_PROF
);
1247 signal (SIGWINCH
, handle_WINCH
);
1249 #if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
1250 signal (SIGLOST
, handle_LOST
);
1253 signal (SIGUSR1
, handle_USR1
);
1256 signal (SIGUSR2
, handle_USR2
);
1259 signal (SIGPWR
, handle_PWR
);
1261 #if defined (SIGPOLL) && (!defined (SIGIO) || SIGPOLL != SIGIO)
1262 signal (SIGPOLL
, handle_POLL
);
1265 signal (SIGWIND
, handle_WIND
);
1268 signal (SIGPHONE
, handle_PHONE
);
1271 signal (SIGWAITING
, handle_WAITING
);
1274 signal (SIGLWP
, handle_LWP
);
1277 signal (SIGDANGER
, handle_DANGER
);
1280 signal (SIGGRANT
, handle_GRANT
);
1283 signal (SIGRETRACT
, handle_RETRACT
);
1286 signal (SIGMSG
, handle_MSG
);
1289 signal (SIGSOUND
, handle_SOUND
);
1292 signal (SIGSAK
, handle_SAK
);
1295 signal (SIGPRIO
, handle_PRIO
);
1298 /* Lynx doesn't seem to have anything in signal.h for this. */
1299 signal (33, handle_33
);
1300 signal (34, handle_34
);
1301 signal (35, handle_35
);
1302 signal (36, handle_36
);
1303 signal (37, handle_37
);
1304 signal (38, handle_38
);
1305 signal (39, handle_39
);
1306 signal (40, handle_40
);
1307 signal (41, handle_41
);
1308 signal (42, handle_42
);
1309 signal (43, handle_43
);
1310 signal (44, handle_44
);
1311 signal (45, handle_45
);
1312 signal (46, handle_46
);
1313 signal (47, handle_47
);
1314 signal (48, handle_48
);
1315 signal (49, handle_49
);
1316 signal (50, handle_50
);
1317 signal (51, handle_51
);
1318 signal (52, handle_52
);
1319 signal (53, handle_53
);
1320 signal (54, handle_54
);
1321 signal (55, handle_55
);
1322 signal (56, handle_56
);
1323 signal (57, handle_57
);
1324 signal (58, handle_58
);
1325 signal (59, handle_59
);
1326 signal (60, handle_60
);
1327 signal (61, handle_61
);
1328 signal (62, handle_62
);
1329 signal (63, handle_63
);
1331 signal (SIGTERM
, handle_TERM
);
1407 return 0; /* end of main */
This page took 0.062613 seconds and 5 git commands to generate.