diff options
author | Fred Fish <fnf@specifix.com> | 1995-07-07 04:11:42 +0000 |
---|---|---|
committer | Fred Fish <fnf@specifix.com> | 1995-07-07 04:11:42 +0000 |
commit | 3ba76bd8409e228200ec55d1590ffdf22447b825 (patch) | |
tree | 9fa075c6ea60e91c419b0a22b5b87539faa24a49 | |
parent | a35809e30d1d31df0c217a074873336754f1d331 (diff) | |
download | gdb-3ba76bd8409e228200ec55d1590ffdf22447b825.zip gdb-3ba76bd8409e228200ec55d1590ffdf22447b825.tar.gz gdb-3ba76bd8409e228200ec55d1590ffdf22447b825.tar.bz2 |
* configure.in (signaldirs): Define and add to configdirs for all
targets except some specific ones that are known to not support signals.
Also clean up formatting.
* gdb.base/Makefile.in (EXECUTABLES): Remove sigall and signals.
(signals, sigall): Remove rules to build.
* gdb.base/{sigall.c, sigall.exp, signals.c, signals.exp}:
Moved to new gdb.signals directory.
* gdb.signals: New test directory.
* gdb.signals/{Makefile.in, configure.in, sigall.c, sigall.exp,
signals.c signals.exp}: New or moved files.
-rw-r--r-- | gdb/testsuite/configure.in | 58 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/sigall.c | 1375 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/sigall.exp | 170 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/signals.exp | 317 |
4 files changed, 34 insertions, 1886 deletions
diff --git a/gdb/testsuite/configure.in b/gdb/testsuite/configure.in index 1a10cd4..8414e2b 100644 --- a/gdb/testsuite/configure.in +++ b/gdb/testsuite/configure.in @@ -14,51 +14,61 @@ configdirs="gdb.base gdb.c++ gdb.chill gdb.disasm" # debugging format. stabsdirs="gdb.stabs" +# Directories to use for a configuration which supports signals. +# This usually excludes cross targets. +signaldirs="gdb.signals" + # per-host: # per-target: - # everything defaults to unix for a target +# everything defaults to unix for a target target_abbrev=unix target_makefile_frag=config/mt-unix - # this section is for all targets +# this section is for all targets case "${target}" in i[345]86-*-aout) target_makefile_frag=config/mt-i386-aout ;; - *-*-lynx) target_makefile_frag=config/mt-lynx ;; - *-*-netware) target_makefile_frag=config/mt-netware ;; - *-*-vxworks*) target_makefile_frag=config/mt-vxworks ;; - m68k-*-*) target_makefile_frag=config/mt-m68k ;; - i960-*-nindy) target_makefile_frag=config/mt-i960-nindy ;; - a29k-*-udi) target_makefile_frag=config/mt-a29k-udi ;; - sparclite-*-*) target_makefile_frag=config/mt-slite ;; - sparc-*-aout) target_makefile_frag=config/mt-sparc-aout ;; - mips-*-ecoff) target_makefile_frag=config/mt-mips-ecoff ;; + *-*-lynx) target_makefile_frag=config/mt-lynx ;; + *-*-netware) target_makefile_frag=config/mt-netware ;; + *-*-vxworks*) target_makefile_frag=config/mt-vxworks ;; + m68k-*-*) target_makefile_frag=config/mt-m68k ;; + i960-*-nindy) target_makefile_frag=config/mt-i960-nindy ;; + a29k-*-udi) target_makefile_frag=config/mt-a29k-udi ;; + sparclite-*-*) target_makefile_frag=config/mt-slite ;; + sparc-*-aout) target_makefile_frag=config/mt-sparc-aout ;; + mips-*-ecoff) target_makefile_frag=config/mt-mips-ecoff ;; esac +# add stabs tests for appropriate targets case "${target}" in + rs6000-*-aix*) configdirs="${configdirs} ${stabsdirs}" ;; + *-*-bsd*) configdirs="${configdirs} ${stabsdirs}" ;; + *-*-go32*) configdirs="${configdirs} ${stabsdirs}" ;; + *-*-linux*) configdirs="${configdirs} ${stabsdirs}" ;; + *-*-lynxos*) configdirs="${configdirs} ${stabsdirs}" ;; + *-sun-*) configdirs="${configdirs} ${stabsdirs}" ;; + hppa*-*-*) configdirs="${configdirs} ${stabsdirs}" ;; -rs6000-*-aix*) configdirs="${configdirs} ${stabsdirs}" ;; -*-*-bsd*) configdirs="${configdirs} ${stabsdirs}" ;; -*-*-go32*) configdirs="${configdirs} ${stabsdirs}" ;; -*-*-linux*) configdirs="${configdirs} ${stabsdirs}" ;; -*-*-lynxos*) configdirs="${configdirs} ${stabsdirs}" ;; -*-sun-*) configdirs="${configdirs} ${stabsdirs}" ;; -hppa*-*-*) configdirs="${configdirs} ${stabsdirs}" ;; + *) if [ x${with_stabs} = xyes ]; then + configdirs="${configdirs} ${stabsdirs}" + fi + ;; +esac -*) if [ x${with_stabs} = xyes ]; then - configdirs="${configdirs} ${stabsdirs}" - fi - ;; +# add signal tests for appropriate targets +case "${target}" in + sh*-hms) ;; + *) configdirs="${configdirs} ${signaldirs}" ;; esac - # link in the lib directory if needed +# link in the lib directory if needed #if [ ! -d lib ] ; then # files="lib" # links="lib" #fi - # make list of files and links based on tool name +# make list of files and links based on tool name tool_list="${tool_list} gdb" #for i in ${tool_list}; #do diff --git a/gdb/testsuite/gdb.base/sigall.c b/gdb/testsuite/gdb.base/sigall.c deleted file mode 100644 index c23d7fe..0000000 --- a/gdb/testsuite/gdb.base/sigall.c +++ /dev/null @@ -1,1375 +0,0 @@ -#include <signal.h> - -/* Signal handlers, we set breakpoints in them to make sure that the - signals really get delivered. */ - -void -handle_ABRT (sig) - int sig; -{ -} - -void -handle_HUP (sig) - int sig; -{ -} - -void -handle_QUIT (sig) - int sig; -{ -} - -void -handle_ILL (sig) - int sig; -{ -} - -void -handle_EMT (sig) - int sig; -{ -} - -void -handle_FPE (sig) - int sig; -{ -} - -void -handle_BUS (sig) - int sig; -{ -} - -void -handle_SEGV (sig) - int sig; -{ -} - -void -handle_SYS (sig) - int sig; -{ -} - -void -handle_PIPE (sig) - int sig; -{ -} - -void -handle_ALRM (sig) - int sig; -{ -} - -void -handle_URG (sig) - int sig; -{ -} - -void -handle_TSTP (sig) - int sig; -{ -} - -void -handle_CONT (sig) - int sig; -{ -} - -void -handle_CHLD (sig) - int sig; -{ -} - -void -handle_TTIN (sig) - int sig; -{ -} - -void -handle_TTOU (sig) - int sig; -{ -} - -void -handle_IO (sig) - int sig; -{ -} - -void -handle_XCPU (sig) - int sig; -{ -} - -void -handle_XFSZ (sig) - int sig; -{ -} - -void -handle_VTALRM (sig) - int sig; -{ -} - -void -handle_PROF (sig) - int sig; -{ -} - -void -handle_WINCH (sig) - int sig; -{ -} - -void -handle_LOST (sig) - int sig; -{ -} - -void -handle_USR1 (sig) - int sig; -{ -} - -void -handle_USR2 (sig) - int sig; -{ -} - -void -handle_PWR (sig) - int sig; -{ -} - -void -handle_POLL (sig) - int sig; -{ -} - -void -handle_WIND (sig) - int sig; -{ -} - -void -handle_PHONE (sig) - int sig; -{ -} - -void -handle_WAITING (sig) - int sig; -{ -} - -void -handle_LWP (sig) - int sig; -{ -} - -void -handle_DANGER (sig) - int sig; -{ -} - -void -handle_GRANT (sig) - int sig; -{ -} - -void -handle_RETRACT (sig) - int sig; -{ -} - -void -handle_MSG (sig) - int sig; -{ -} - -void -handle_SOUND (sig) - int sig; -{ -} - -void -handle_SAK (sig) - int sig; -{ -} - -void -handle_PRIO (sig) - int sig; -{ -} - -void -handle_33 (sig) - int sig; -{ -} - -void -handle_34 (sig) - int sig; -{ -} - -void -handle_35 (sig) - int sig; -{ -} - -void -handle_36 (sig) - int sig; -{ -} - -void -handle_37 (sig) - int sig; -{ -} - -void -handle_38 (sig) - int sig; -{ -} - -void -handle_39 (sig) - int sig; -{ -} - -void -handle_40 (sig) - int sig; -{ -} - -void -handle_41 (sig) - int sig; -{ -} - -void -handle_42 (sig) - int sig; -{ -} - -void -handle_43 (sig) - int sig; -{ -} - -void -handle_44 (sig) - int sig; -{ -} - -void -handle_45 (sig) - int sig; -{ -} - -void -handle_46 (sig) - int sig; -{ -} - -void -handle_47 (sig) - int sig; -{ -} - -void -handle_48 (sig) - int sig; -{ -} - -void -handle_49 (sig) - int sig; -{ -} - -void -handle_50 (sig) - int sig; -{ -} - -void -handle_51 (sig) - int sig; -{ -} - -void -handle_52 (sig) - int sig; -{ -} - -void -handle_53 (sig) - int sig; -{ -} - -void -handle_54 (sig) - int sig; -{ -} - -void -handle_55 (sig) - int sig; -{ -} - -void -handle_56 (sig) - int sig; -{ -} - -void -handle_57 (sig) - int sig; -{ -} - -void -handle_58 (sig) - int sig; -{ -} - -void -handle_59 (sig) - int sig; -{ -} - -void -handle_60 (sig) - int sig; -{ -} - -void -handle_61 (sig) - int sig; -{ -} - -void -handle_62 (sig) - int sig; -{ -} - -void -handle_63 (sig) - int sig; -{ -} - -void -handle_TERM (sig) - int sig; -{ -} - -/* Functions to send signals. These also serve as markers. */ -int -gen_ABRT () -{ - kill (getpid (), SIGABRT); -} - -int -gen_HUP () -{ -#ifdef SIGHUP - kill (getpid (), SIGHUP); -#else - handle_HUP (); -#endif -} - -int -gen_QUIT () -{ -#ifdef SIGQUIT - kill (getpid (), SIGQUIT); -#else - handle_QUIT (); -#endif -} - -int -gen_ILL () -{ -#ifdef SIGILL - kill (getpid (), SIGILL); -#else - handle_ILL (); -#endif -} - -int -gen_EMT () -{ -#ifdef SIGEMT - kill (getpid (), SIGEMT); -#else - handle_EMT (); -#endif -} - -int x; - -int -gen_FPE () -{ - /* The intent behind generating SIGFPE this way is to check the mapping - from the CPU exception itself to the signals. It would be nice to - do the same for SIGBUS, SIGSEGV, etc., but I suspect that even this - test might turn out to be insufficiently portable. */ - -#if 0 - /* Loses on the PA because after the signal handler executes we try to - re-execute the failing instruction again. Perhaps we could siglongjmp - out of the signal handler? */ - /* The expect script looks for the word "kill"; don't delete it. */ - return 5 / x; /* and we both started jumping up and down yelling kill */ -#else - kill (getpid (), SIGFPE); -#endif -} - -int -gen_BUS () -{ -#ifdef SIGBUS - kill (getpid (), SIGBUS); -#else - handle_BUS (); -#endif -} - -int -gen_SEGV () -{ -#ifdef SIGSEGV - kill (getpid (), SIGSEGV); -#else - handle_SEGV (); -#endif -} - -int -gen_SYS () -{ -#ifdef SIGSYS - kill (getpid (), SIGSYS); -#else - handle_SYS (); -#endif -} - -int -gen_PIPE () -{ -#ifdef SIGPIPE - kill (getpid (), SIGPIPE); -#else - handle_PIPE (); -#endif -} - -int -gen_ALRM () -{ -#ifdef SIGALRM - kill (getpid (), SIGALRM); -#else - handle_ALRM (); -#endif -} - -int -gen_URG () -{ -#ifdef SIGURG - kill (getpid (), SIGURG); -#else - handle_URG (); -#endif -} - -int -gen_TSTP () -{ -#ifdef SIGTSTP - kill (getpid (), SIGTSTP); -#else - handle_TSTP (); -#endif -} - -int -gen_CONT () -{ -#ifdef SIGCONT - kill (getpid (), SIGCONT); -#else - handle_CONT (); -#endif -} - -int -gen_CHLD () -{ -#ifdef SIGCHLD - kill (getpid (), SIGCHLD); -#else - handle_CHLD (); -#endif -} - -int -gen_TTIN () -{ -#ifdef SIGTTIN - kill (getpid (), SIGTTIN); -#else - handle_TTIN (); -#endif -} - -int -gen_TTOU () -{ -#ifdef SIGTTOU - kill (getpid (), SIGTTOU); -#else - handle_TTOU (); -#endif -} - -int -gen_IO () -{ -#ifdef SIGIO - kill (getpid (), SIGIO); -#else - handle_IO (); -#endif -} - -int -gen_XCPU () -{ -#ifdef SIGXCPU - kill (getpid (), SIGXCPU); -#else - handle_XCPU (); -#endif -} - -int -gen_XFSZ () -{ -#ifdef SIGXFSZ - kill (getpid (), SIGXFSZ); -#else - handle_XFSZ (); -#endif -} - -int -gen_VTALRM () -{ -#ifdef SIGVTALRM - kill (getpid (), SIGVTALRM); -#else - handle_VTALRM (); -#endif -} - -int -gen_PROF () -{ -#ifdef SIGPROF - kill (getpid (), SIGPROF); -#else - handle_PROF (); -#endif -} - -int -gen_WINCH () -{ -#ifdef SIGWINCH - kill (getpid (), SIGWINCH); -#else - handle_WINCH (); -#endif -} - -int -gen_LOST () -{ -#ifdef SIGLOST - kill (getpid (), SIGLOST); -#else - handle_LOST (); -#endif -} - -int -gen_USR1 () -{ -#ifdef SIGUSR1 - kill (getpid (), SIGUSR1); -#else - handle_USR1 (); -#endif -} - -int -gen_USR2 () -{ -#ifdef SIGUSR2 - kill (getpid (), SIGUSR2); -#else - handle_USR2 (); -#endif -} - -int -gen_PWR () -{ -#ifdef SIGPWR - kill (getpid (), SIGPWR); -#else - handle_PWR (); -#endif -} - -int -gen_POLL () -{ -#ifdef SIGPOLL - kill (getpid (), SIGPOLL); -#else - handle_POLL (); -#endif -} - -int -gen_WIND () -{ -#ifdef SIGWIND - kill (getpid (), SIGWIND); -#else - handle_WIND (); -#endif -} - -int -gen_PHONE () -{ -#ifdef SIGPHONE - kill (getpid (), SIGPHONE); -#else - handle_PHONE (); -#endif -} - -int -gen_WAITING () -{ -#ifdef SIGWAITING - kill (getpid (), SIGWAITING); -#else - handle_WAITING (); -#endif -} - -int -gen_LWP () -{ -#ifdef SIGLWP - kill (getpid (), SIGLWP); -#else - handle_LWP (); -#endif -} - -int -gen_DANGER () -{ -#ifdef SIGDANGER - kill (getpid (), SIGDANGER); -#else - handle_DANGER (); -#endif -} - -int -gen_GRANT () -{ -#ifdef SIGGRANT - kill (getpid (), SIGGRANT); -#else - handle_GRANT (); -#endif -} - -int -gen_RETRACT () -{ -#ifdef SIGRETRACT - kill (getpid (), SIGRETRACT); -#else - handle_RETRACT (); -#endif -} - -int -gen_MSG () -{ -#ifdef SIGMSG - kill (getpid (), SIGMSG); -#else - handle_MSG (); -#endif -} - -int -gen_SOUND () -{ -#ifdef SIGSOUND - kill (getpid (), SIGSOUND); -#else - handle_SOUND (); -#endif -} - -int -gen_SAK () -{ -#ifdef SIGSAK - kill (getpid (), SIGSAK); -#else - handle_SAK (); -#endif -} - -int -gen_PRIO () -{ -#ifdef SIGPRIO - kill (getpid (), SIGPRIO); -#else - handle_PRIO (); -#endif -} - -int -gen_33 () -{ -#ifdef SIG33 - kill (getpid (), 33); -#else - handle_33 (); -#endif -} - -int -gen_34 () -{ -#ifdef SIG34 - kill (getpid (), 34); -#else - handle_34 (); -#endif -} - -int -gen_35 () -{ -#ifdef SIG35 - kill (getpid (), 35); -#else - handle_35 (); -#endif -} - -int -gen_36 () -{ -#ifdef SIG36 - kill (getpid (), 36); -#else - handle_36 (); -#endif -} - -int -gen_37 () -{ -#ifdef SIG37 - kill (getpid (), 37); -#else - handle_37 (); -#endif -} - -int -gen_38 () -{ -#ifdef SIG38 - kill (getpid (), 38); -#else - handle_38 (); -#endif -} - -int -gen_39 () -{ -#ifdef SIG39 - kill (getpid (), 39); -#else - handle_39 (); -#endif -} - -int -gen_40 () -{ -#ifdef SIG40 - kill (getpid (), 40); -#else - handle_40 (); -#endif -} - -int -gen_41 () -{ -#ifdef SIG41 - kill (getpid (), 41); -#else - handle_41 (); -#endif -} - -int -gen_42 () -{ -#ifdef SIG42 - kill (getpid (), 42); -#else - handle_42 (); -#endif -} - -int -gen_43 () -{ -#ifdef SIG43 - kill (getpid (), 43); -#else - handle_43 (); -#endif -} - -int -gen_44 () -{ -#ifdef SIG44 - kill (getpid (), 44); -#else - handle_44 (); -#endif -} - -int -gen_45 () -{ -#ifdef SIG45 - kill (getpid (), 45); -#else - handle_45 (); -#endif -} - -int -gen_46 () -{ -#ifdef SIG46 - kill (getpid (), 46); -#else - handle_46 (); -#endif -} - -int -gen_47 () -{ -#ifdef SIG47 - kill (getpid (), 47); -#else - handle_47 (); -#endif -} - -int -gen_48 () -{ -#ifdef SIG48 - kill (getpid (), 48); -#else - handle_48 (); -#endif -} - -int -gen_49 () -{ -#ifdef SIG49 - kill (getpid (), 49); -#else - handle_49 (); -#endif -} - -int -gen_50 () -{ -#ifdef SIG50 - kill (getpid (), 50); -#else - handle_50 (); -#endif -} - -int -gen_51 () -{ -#ifdef SIG51 - kill (getpid (), 51); -#else - handle_51 (); -#endif -} - -int -gen_52 () -{ -#ifdef SIG52 - kill (getpid (), 52); -#else - handle_52 (); -#endif -} - -int -gen_53 () -{ -#ifdef SIG53 - kill (getpid (), 53); -#else - handle_53 (); -#endif -} - -int -gen_54 () -{ -#ifdef SIG54 - kill (getpid (), 54); -#else - handle_54 (); -#endif -} - -int -gen_55 () -{ -#ifdef SIG55 - kill (getpid (), 55); -#else - handle_55 (); -#endif -} - -int -gen_56 () -{ -#ifdef SIG56 - kill (getpid (), 56); -#else - handle_56 (); -#endif -} - -int -gen_57 () -{ -#ifdef SIG57 - kill (getpid (), 57); -#else - handle_57 (); -#endif -} - -int -gen_58 () -{ -#ifdef SIG58 - kill (getpid (), 58); -#else - handle_58 (); -#endif -} - -int -gen_59 () -{ -#ifdef SIG59 - kill (getpid (), 59); -#else - handle_59 (); -#endif -} - -int -gen_60 () -{ -#ifdef SIG60 - kill (getpid (), 60); -#else - handle_60 (); -#endif -} - -int -gen_61 () -{ -#ifdef SIG61 - kill (getpid (), 61); -#else - handle_61 (); -#endif -} - -int -gen_62 () -{ -#ifdef SIG62 - kill (getpid (), 62); -#else - handle_62 (); -#endif -} - -int -gen_63 () -{ -#ifdef SIG63 - kill (getpid (), 63); -#else - handle_63 (); -#endif -} - -int -gen_TERM () -{ - kill (getpid (), SIGTERM); -} - -int -main () -{ - signal (SIGABRT, handle_ABRT); -#ifdef SIGHUP - signal (SIGHUP, handle_HUP); -#endif -#ifdef SIGQUIT - signal (SIGQUIT, handle_QUIT); -#endif -#ifdef SIGILL - signal (SIGILL, handle_ILL); -#endif -#ifdef SIGEMT - signal (SIGEMT, handle_EMT); -#endif -#ifdef SIGFPE - signal (SIGFPE, handle_FPE); -#endif -#ifdef SIGBUS - signal (SIGBUS, handle_BUS); -#endif -#ifdef SIGSEGV - signal (SIGSEGV, handle_SEGV); -#endif -#ifdef SIGSYS - signal (SIGSYS, handle_SYS); -#endif -#ifdef SIGPIPE - signal (SIGPIPE, handle_PIPE); -#endif -#ifdef SIGALRM - signal (SIGALRM, handle_ALRM); -#endif -#ifdef SIGURG - signal (SIGURG, handle_URG); -#endif -#ifdef SIGTSTP - signal (SIGTSTP, handle_TSTP); -#endif -#ifdef SIGCONT - signal (SIGCONT, handle_CONT); -#endif -#ifdef SIGCHLD - signal (SIGCHLD, handle_CHLD); -#endif -#ifdef SIGTTIN - signal (SIGTTIN, handle_TTIN); -#endif -#ifdef SIGTTOU - signal (SIGTTOU, handle_TTOU); -#endif -#ifdef SIGIO - signal (SIGIO, handle_IO); -#endif -#ifdef SIGXCPU - signal (SIGXCPU, handle_XCPU); -#endif -#ifdef SIGXFSZ - signal (SIGXFSZ, handle_XFSZ); -#endif -#ifdef SIGVTALRM - signal (SIGVTALRM, handle_VTALRM); -#endif -#ifdef SIGPROF - signal (SIGPROF, handle_PROF); -#endif -#ifdef SIGWINCH - signal (SIGWINCH, handle_WINCH); -#endif -#ifdef SIGLOST - signal (SIGLOST, handle_LOST); -#endif -#ifdef SIGUSR1 - signal (SIGUSR1, handle_USR1); -#endif -#ifdef SIGUSR2 - signal (SIGUSR2, handle_USR2); -#endif -#ifdef SIGPWR - signal (SIGPWR, handle_PWR); -#endif -#ifdef SIGPOLL - signal (SIGPOLL, handle_POLL); -#endif -#ifdef SIGWIND - signal (SIGWIND, handle_WIND); -#endif -#ifdef SIGPHONE - signal (SIGPHONE, handle_PHONE); -#endif -#ifdef SIGWAITING - signal (SIGWAITING, handle_WAITING); -#endif -#ifdef SIGLWP - signal (SIGLWP, handle_LWP); -#endif -#ifdef SIGDANGER - signal (SIGDANGER, handle_DANGER); -#endif -#ifdef SIGGRANT - signal (SIGGRANT, handle_GRANT); -#endif -#ifdef SIGRETRACT - signal (SIGRETRACT, handle_RETRACT); -#endif -#ifdef SIGMSG - signal (SIGMSG, handle_MSG); -#endif -#ifdef SIGSOUND - signal (SIGSOUND, handle_SOUND); -#endif -#ifdef SIGSAK - signal (SIGSAK, handle_SAK); -#endif -#ifdef SIGPRIO - signal (SIGPRIO, handle_PRIO); -#endif -#ifdef __Lynx__ - /* Lynx doesn't seem to have anything in signal.h for this. */ - signal (33, handle_33); - signal (34, handle_34); - signal (35, handle_35); - signal (36, handle_36); - signal (37, handle_37); - signal (38, handle_38); - signal (39, handle_39); - signal (40, handle_40); - signal (41, handle_41); - signal (42, handle_42); - signal (43, handle_43); - signal (44, handle_44); - signal (45, handle_45); - signal (46, handle_46); - signal (47, handle_47); - signal (48, handle_48); - signal (49, handle_49); - signal (50, handle_50); - signal (51, handle_51); - signal (52, handle_52); - signal (53, handle_53); - signal (54, handle_54); - signal (55, handle_55); - signal (56, handle_56); - signal (57, handle_57); - signal (58, handle_58); - signal (59, handle_59); - signal (60, handle_60); - signal (61, handle_61); - signal (62, handle_62); - signal (63, handle_63); -#endif /* lynx */ - signal (SIGTERM, handle_TERM); - - x = 0; - - gen_ABRT (); - gen_HUP (); - gen_QUIT (); - gen_ILL (); - gen_EMT (); - gen_FPE (); - gen_BUS (); - gen_SEGV (); - gen_SYS (); - gen_PIPE (); - gen_ALRM (); - gen_URG (); - gen_TSTP (); - gen_CONT (); - gen_CHLD (); - gen_TTIN (); - gen_TTOU (); - gen_IO (); - gen_XCPU (); - gen_XFSZ (); - gen_VTALRM (); - gen_PROF (); - gen_WINCH (); - gen_LOST (); - gen_USR1 (); - gen_USR2 (); - gen_PWR (); - gen_POLL (); - gen_WIND (); - gen_PHONE (); - gen_WAITING (); - gen_LWP (); - gen_DANGER (); - gen_GRANT (); - gen_RETRACT (); - gen_MSG (); - gen_SOUND (); - gen_SAK (); - gen_PRIO (); - gen_33 (); - gen_34 (); - gen_35 (); - gen_36 (); - gen_37 (); - gen_38 (); - gen_39 (); - gen_40 (); - gen_41 (); - gen_42 (); - gen_43 (); - gen_44 (); - gen_45 (); - gen_46 (); - gen_47 (); - gen_48 (); - gen_49 (); - gen_50 (); - gen_51 (); - gen_52 (); - gen_53 (); - gen_54 (); - gen_55 (); - gen_56 (); - gen_57 (); - gen_58 (); - gen_59 (); - gen_60 (); - gen_61 (); - gen_62 (); - gen_63 (); - gen_TERM (); - - return 0; -} diff --git a/gdb/testsuite/gdb.base/sigall.exp b/gdb/testsuite/gdb.base/sigall.exp deleted file mode 100644 index b3f6504..0000000 --- a/gdb/testsuite/gdb.base/sigall.exp +++ /dev/null @@ -1,170 +0,0 @@ -# Copyright (C) 1995 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 2 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, write to the Free Software -# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ - -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -gdb_reinitialize_dir $srcdir/$subdir -set binfile $objdir/$subdir/sigall - -if ![file exists $binfile] then { - perror "$binfile does not exist." - return 0 -} - -# Make the first signal SIGABRT because it is always supported. -set sig_supported 1 -set thissig "ABRT" - -proc test_one_sig {nextsig} { - global sig_supported - global prompt - global thissig - - set this_sig_supported $sig_supported - gdb_test "handle SIG$thissig stop print" \ - "SIG$thissig\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes" - gdb_test "b handle_$thissig" "Breakpoint \[0-9\]" - gdb_test "b gen_$nextsig" "Breakpoint \[0-9\]" - - set need_another_continue 1 - if $this_sig_supported then { - send "continue\n" - expect { - -re "Continuing.*Program received signal SIG$thissig.*$prompt $" { - pass "get signal $thissig" - } - -re ".*$prompt $" { - fail "get signal $thissig" - set need_another_continue 0 - } - default { - fail "get signal $thissig (eof or timeout)" - } - } - } - - if $need_another_continue then { - gdb_test "continue" \ - "Breakpoint.*handle_$thissig" "send signal $thissig" - } - - send "signal 0\n" - expect { - -re "Breakpoint.*gen_$nextsig.*kill.*$prompt $" { - pass "advance to $nextsig" - set sig_supported 1 - } - -re "Breakpoint.*gen_$nextsig.*handle.*$prompt $" { - pass "advance to $nextsig" - set sig_supported 0 - } - -re ".*$prompt $" { fail "advance to $nextsig" } - default { fail "advance to $nextsig (eof or timeout)" } - } - set thissig $nextsig -} - -gdb_load $binfile - -runto gen_ABRT -test_one_sig HUP -test_one_sig QUIT -test_one_sig ILL -test_one_sig EMT -test_one_sig FPE -test_one_sig BUS -test_one_sig SEGV -test_one_sig SYS -test_one_sig PIPE -test_one_sig ALRM -test_one_sig URG -test_one_sig TSTP -test_one_sig CONT -test_one_sig CHLD -test_one_sig TTIN -test_one_sig TTOU -test_one_sig IO -test_one_sig XCPU -test_one_sig XFSZ -test_one_sig VTALRM -test_one_sig PROF -test_one_sig WINCH -test_one_sig LOST -test_one_sig USR1 -test_one_sig USR2 -test_one_sig PWR -test_one_sig POLL -test_one_sig WIND -test_one_sig PHONE -test_one_sig WAITING -test_one_sig LWP -test_one_sig DANGER -test_one_sig GRANT -test_one_sig RETRACT -test_one_sig MSG -test_one_sig SOUND -test_one_sig SAK -test_one_sig PRIO -test_one_sig 33 -test_one_sig 34 -test_one_sig 35 -test_one_sig 36 -test_one_sig 37 -test_one_sig 38 -test_one_sig 39 -test_one_sig 40 -test_one_sig 41 -test_one_sig 42 -test_one_sig 43 -test_one_sig 44 -test_one_sig 45 -test_one_sig 46 -test_one_sig 47 -test_one_sig 48 -test_one_sig 49 -test_one_sig 50 -test_one_sig 51 -test_one_sig 52 -test_one_sig 53 -test_one_sig 54 -test_one_sig 55 -test_one_sig 56 -test_one_sig 57 -test_one_sig 58 -test_one_sig 59 -test_one_sig 60 -test_one_sig 61 -test_one_sig 62 -test_one_sig 63 -test_one_sig TERM - -# The last signal (SIGTERM) gets handled slightly differently because -# we are not setting up for another test. -gdb_test "handle SIGTERM stop print" \ - "SIGTERM\[ \t\]*Yes\[ \t\]*Yes\[ \t\]*Yes" -gdb_test "b handle_TERM" "Breakpoint \[0-9\]" -gdb_test "continue" \ - "Continuing.*Program received signal SIGTERM" \ - "get signal TERM" -gdb_test "continue" "Breakpoint.*handle_TERM" "send signal TERM" -gdb_test "continue" "Program exited normally" "continue to sigall exit" - -return 0 diff --git a/gdb/testsuite/gdb.base/signals.exp b/gdb/testsuite/gdb.base/signals.exp deleted file mode 100644 index 857702c..0000000 --- a/gdb/testsuite/gdb.base/signals.exp +++ /dev/null @@ -1,317 +0,0 @@ -if $tracelevel then { - strace $tracelevel -} - -set prms_id 0 -set bug_id 0 - -set binfile $objdir/$subdir/signals - -if ![file exists $binfile] then { - perror "$binfile does not exist." - return 0 -} - -proc signal_tests_1 {} { - global prompt - if [runto_main] then { - gdb_test "next" "signal \\(SIGUSR1.*" \ - "next over signal (SIGALRM, handler)" - gdb_test "next" "alarm \\(.*" \ - "next over signal (SIGUSR1, handler)" - gdb_test "next" "\\+\\+count; /\\* first \\*/" \ - "next over alarm (1)" - # An alarm has been signaled, give the signal time to get delivered. - exec sleep 2 - - # i386 BSD currently fails the next test with a SIGTRAP. - setup_xfail "i*86-*-bsd*" - # But Dynix has a DECR_PC_AFTER_BREAK of zero, so the failure - # is shadowed by hitting the through_sigtramp_breakpoint. - clear_xfail "i*86-sequent-bsd*" - # Univel SVR4 i386 continues instead of stepping. - setup_xfail "i*86-univel-sysv4*" - send "next\n" - expect { - -re "alarm .*$prompt $" { pass "next to 2nd alarm (1)" } - -re "Program received signal SIGTRAP.*first.*$prompt $" { - - # This can happen on machines that have a trace flag - # in their PS register. - # The trace flag in the PS register will be set due to - # the `next' command. - # Before calling the signal handler, the PS register - # is pushed along with the context on the user stack. - # When the signal handler has finished, it reenters the - # the kernel via a sigreturn syscall, which restores the - # PS register along with the context. - # If the kernel erroneously does not clear the trace flag - # in the pushed context, gdb will receive a SIGTRAP from - # the set trace flag in the restored context after the - # signal handler has finished. - - # I do not yet understand why the SIGTRAP does not occur - # after stepping the instruction at the restored PC on - # i386 BSDI 1.0 systems. - - # Note that the vax under Ultrix also exhibits - # this behaviour (it is uncovered by the `continue from - # a break in a signal handler' test below). - # With this test the failure is shadowed by hitting the - # through_sigtramp_breakpoint upon return from the signal - # handler. - - fail "next to 2nd alarm (1) (probably kernel bug)" - gdb_test "next" "alarm.*" "next to 2nd alarm (1)" - } - -re "Program exited with code.*$prompt $" { - - # This is apparently a bug in the UnixWare kernel (but - # has not been investigated beyond the - # resume/target_wait level, and has not been reported - # to Univel). If it steps when a signal is pending, - # it does a continue instead. I don't know whether - # there is a workaround. - - # Perhaps this problem exists on other SVR4 systems; - # but (a) we have no reason to think so, and (b) if we - # put a wrong xfail here, we never get an XPASS to let - # us know that it was incorrect (and then if such a - # configuration regresses we have no way of knowing). - # Solaris is not a relevant data point either way - # because it lacks single stepping. - - fail "'next' behaved as 'continue'" - return 0 - } - -re ".*$prompt $" { fail "next to 2nd alarm (1)" } - timeout { fail "next to 2nd alarm (1); (timeout)" } - eof { fail "next to 2nd alarm (1); (eof)" } - } - - gdb_test "break handler" "Breakpoint \[0-9\]+ .*" - gdb_test "next" "\\+\\+count; /\\* second \\*/" \ - "next to 2nd ++count in signals_tests_1" - # An alarm has been signaled, give the signal time to get delivered. - exec sleep 2 - - set bash_bug 0 - send "next\n" - expect { - -re "Breakpoint.*handler.*$prompt $" { - pass "next to handler in signals_tests_1" - } - -re "Program received signal SIGEMT.*$prompt $" { - # Bash versions before 1.13.5 cause this behaviour - # by blocking SIGTRAP. - fail "next to handler in signals_tests_1 (known problem with bash versions before 1.13.5)" - set bash_bug 1 - gdb_test "signal 0" "Breakpoint.*handler.*" - } - -re ".*$prompt $" { fail "next to handler in signals_tests_1" } - timeout { fail "next to handler in signals_tests_1 (timeout)" } - eof { fail "next to handler in signals_tests_1 (eof)" } - } - - # This doesn't test that main is frame #2, just that main is frame - # #2, #3, or higher. At some point this should be fixed (but - # it quite possibly would introduce new FAILs on some systems). - gdb_test "backtrace" "#0.*handler.*#1.*#2.*main.*" \ - "backtrace in signals_tests_1" - - gdb_test "break func1" "Breakpoint \[0-9\]+ .*" - gdb_test "break func2" "Breakpoint \[0-9\]+ .*" - - # Vax Ultrix and i386 BSD currently fail the next test with - # a SIGTRAP, but with different symptoms. - setup_xfail "vax-*-ultrix*" - setup_xfail "i*86-*-bsd*" - send "continue\n" - expect { - -re "Breakpoint.*func1.*$prompt $" { pass "continue to func1" } - -re "Program received signal SIGTRAP.*second.*$prompt $" { - - # See explanation for `next to 2nd alarm (1)' fail above. - # We did step into the signal handler, hit a breakpoint - # in the handler and continued from the breakpoint. - # The set trace flag in the restored context is causing - # the SIGTRAP, without stepping an instruction. - - fail "continue to func1 (probably kernel bug)" - gdb_test "continue" "Breakpoint.*func1.*" \ - "extra continue to func1" - } - -re "Program received signal SIGTRAP.*func1 ..;.*$prompt $" { - - # On the vax under Ultrix the set trace flag in the restored - # context is causing the SIGTRAP, but after stepping one - # instruction, as expected. - - fail "continue to func1 (probably kernel bug)" - gdb_test "continue" "Breakpoint.*func1.*" \ - "extra continue to func1" - } - -re ".*$prompt $" { fail "continue to func1" } - default { fail "continue to func1" } - } - - setup_xfail "*-*-irix*" - send "signal SIGUSR1\n" - expect { - -re "Breakpoint.*handler.*$prompt $" { pass "signal SIGUSR1" } - -re "Program received signal SIGUSR1.*$prompt $" { - # This is what irix4 and irix5 do. - # It would appear to be a kernel bug. - fail "signal SIGUSR1" - gdb_test "continue" "Breakpoint.*handler.*" "pass it SIGUSR1" - } - -re ".*$prompt $" { fail "signal SIGUSR1" } - default { fail "signal SIGUSR1" } - } - - # Will tend to wrongly require an extra continue. - - # The problem here is that the breakpoint at func1 will be - # inserted, and when the system finishes with the signal - # handler it will try to execute there. For GDB to try to - # remember that it was going to step over a breakpoint when a - # signal happened, distinguish this case from the case where - # func1 is called from the signal handler, etc., seems - # exceedingly difficult. So don't expect this to get fixed - # anytime soon. - - setup_xfail "*-*-*" - send "continue\n" - expect { - -re "Breakpoint.*func2.*$prompt $" { pass "continue to func2" } - -re "Breakpoint.*func1.*$prompt $" { - fail "continue to func2" - gdb_test "continue" "Breakpoint.*func2.*" \ - "extra continue to func2" - } - -re ".*$prompt $" { fail "continue to func2" } - default { fail "continue to func2" } - } - - exec sleep 2 - - # GDB yanks out the breakpoints to step over the breakpoint it - # stopped at, which means the breakpoint at handler is yanked. - # But if NO_SINGLE_STEP, we won't get another chance to reinsert - # them (at least not with procfs, where we tell the kernel not - # to tell gdb about `pass' signals). So the fix would appear to - # be to just yank that one breakpoint when we step over it. - - setup_xfail "sparc-*-*" - setup_xfail "rs6000-*-*" - - # A faulty bash will not step the inferior into sigtramp on sun3. - if {$bash_bug} then { - setup_xfail "m68*-*-sunos4*" - } - - gdb_test "continue" "Breakpoint.*handler.*" "continue to handler" - - # If the NO_SINGLE_STEP failure happened, we have already exited. - # If we succeeded a continue will return from the handler to func2. - # GDB now has `forgotten' that it intended to step over the - # breakpoint at func2 and will stop at func2. - setup_xfail "*-*-*" - # The sun3 with a faulty bash will also be `forgetful' but it - # already got the spurious stop at func2 and this continue will work. - if {$bash_bug} then { - clear_xfail "m68*-*-sunos4*" - } - gdb_test "continue" "Program exited with code 010\\." \ - "continue to exit in signals_tests_1 " - } -} - -# On a few losing systems, ptrace (PT_CONTINUE) or ptrace (PT_STEP) -# causes pending signals to be cleared, which causes these tests to -# get nowhere fast. This is totally losing behavior (perhaps there -# are cases in which is it useful but the user needs more control, -# which they mostly have in GDB), but some people apparently think it -# is a feature. It is documented in the ptrace manpage on Motorola -# Delta Series sysV68 R3V7.1 and on HPUX 9.0. Even the non-HPUX PA -# OSes (BSD and OSF/1) seem to have figured they had to copy this -# braindamage. - -if {[ istarget "m68*-motorola-*" ] || [ istarget "hppa*-*-bsd*" ] || - [ istarget "*-*-hpux*" ] || [ istarget "hppa*-*-osf*" ]} then { - setup_xfail "*-*-*" - fail "ptrace loses on signals on this target" - return 0 -} - -gdb_exit -gdb_start - -# This will need to be updated as the exact list of signals changes, -# but I want to test that TARGET_SIGNAL_0, TARGET_SIGNAL_DEFAULT, and -# TARGET_SIGNAL_UNKNOWN are skipped. -gdb_test "handle all print" "Signal Stop Print Pass to program Description\r\nSIGHUP Yes Yes Yes Hangup.*SIG63 Yes Yes Yes Real-time event 63" - -gdb_exit -gdb_start -gdb_reinitialize_dir $srcdir/$subdir -gdb_load $binfile -signal_tests_1 - -# Force a resync, so we're looking at the right prompt. On SCO we -# were getting out of sync (I don't understand why). -send "p 1+1\n" -expect { - -re "= 2.*$prompt $" {} - -re ".*$prompt $" { perror "sync trouble in signals.exp" } - default { perror "sync trouble in signals.exp" } -} - -if [runto_main] then { - gdb_test "break handler if 0" "Breakpoint \[0-9\]+ .*" - gdb_test "set \$handler_breakpoint_number = \$bpnum" "" - - # Get to the point where a signal is waiting to be delivered - gdb_test "next" "signal \\(SIGUSR1.*" "next to signal in signals.exp" - gdb_test "next" "alarm \\(.*" "next to alarm #1 in signals.exp" - gdb_test "next" "\\+\\+count; /\\* first \\*/" \ - "next to ++count #1 in signals.exp" - # Give the signal time to get delivered - exec sleep 2 - - # Now call a function. When GDB tries to run the stack dummy, - # it will hit the breakpoint at handler. Provided it doesn't - # lose its cool, this is not a problem, it just has to note - # that the breakpoint condition is false and keep going. - - gdb_test "p func1 ()" "^p func1 \\(\\)\r\n.\[0-9\]* = void" \ - "p func1 () #1 in signals.exp" - - # Make sure the count got incremented. - - # Haven't investigated this xfail - setup_xfail "rs6000-*-*" - gdb_test "p count" "= 2" "p count #1 in signals.exp" - if [istarget "rs6000-*-*"] { return 0 } - - gdb_test "condition \$handler_breakpoint_number" "now unconditional\\." - gdb_test "next" "alarm \\(.*" "next to alarm #2 in signals.exp" - gdb_test "next" "\\+\\+count; /\\* second \\*/" \ - "next to ++count #2 in signals.exp" - exec sleep 2 - - # This time we stop when GDB tries to run the stack dummy. - # So it is OK that we do not print the return value from the function. - gdb_test "p func1 ()" \ -"Breakpoint \[0-9\]*, handler.* -The program being debugged stopped while in a function called from GDB.*" \ - "p func1 () #2 in signals.exp" - # But we should be able to backtrace... - gdb_test "bt" "#0.*handler.*#1.*#2.*main.*" "bt in signals.exp" - # ...and continue... - gdb_test "continue" "Continuing\\." "continue in signals.exp" - # ...and then count should have been incremented - gdb_test "p count" "= 5" "p count #2 in signals.exp" -} - -return 0 |