This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[COMMITTED PATCH] Remove conditionals for ANSI-standard signals


Doug Evans wrote:
> On Thu, Jun 5, 2014 at 7:50 AM, Gary Benson <gbenson@redhat.com> wrote:
> > This patch removes all preprocessor conditionals for ANSI-standard
> > signals (SIGINT, SIGILL, SIGABRT, SIGFPE, SIGSEGV and SIGTERM)
> > which are guaranteed to always be defined.
> 
> Ok, with one request.
> 
> IWBN to have one more patch after this one, as its preferable to
> move code around as a separate patch.
> I can't see any sorting order to the places that have all the
> #ifdefs (common/signals.c in particular), and I wonder if it would
> be useful to put the non-#ifdef'd signals first with a comment
> explaining why they don't have #ifdefs.
> One could also sort them alphabetically of course too, of course,
> within each group (non-#ifdef, #ifdef), but I don't have a strong
> opinion on that.

I've committed the patch inlined below.  I'll work on a second patch
and post it for review.

Thanks,
Gary

--
gdb/
2014-06-06  Gary Benson  <gbenson@redhat.com>

	* common/signals.c: Remove preprocessor conditionals for
	always-defined signals SIGINT, SIGILL, SIGABRT, SIGFPE,
	SIGSEGV and SIGTERM.
	* proc-events.c: Likewise.

gdb/testsuite/
2014-06-06  Gary Benson  <gbenson@redhat.com>

	* gdb.base/call-signals.c: Remove preprocessor conditionals
	for always-defined signals SIGINT, SIGILL, SIGABRT, SIGFPE,
	SIGSEGV and SIGTERM.
	* gdb.base/sigall.c: Likewise.
	* gdb.base/unwindonsignal.c: Likewise.
	* gdb.reverse/sigall-reverse.c: Likewise.

diff --git a/gdb/common/signals.c b/gdb/common/signals.c
index 5e81356..ea0c19a 100644
--- a/gdb/common/signals.c
+++ b/gdb/common/signals.c
@@ -131,34 +131,26 @@ gdb_signal_from_host (int hostsig)
   if (hostsig == SIGHUP)
     return GDB_SIGNAL_HUP;
 #endif
-#if defined (SIGINT)
   if (hostsig == SIGINT)
     return GDB_SIGNAL_INT;
-#endif
 #if defined (SIGQUIT)
   if (hostsig == SIGQUIT)
     return GDB_SIGNAL_QUIT;
 #endif
-#if defined (SIGILL)
   if (hostsig == SIGILL)
     return GDB_SIGNAL_ILL;
-#endif
 #if defined (SIGTRAP)
   if (hostsig == SIGTRAP)
     return GDB_SIGNAL_TRAP;
 #endif
-#if defined (SIGABRT)
   if (hostsig == SIGABRT)
     return GDB_SIGNAL_ABRT;
-#endif
 #if defined (SIGEMT)
   if (hostsig == SIGEMT)
     return GDB_SIGNAL_EMT;
 #endif
-#if defined (SIGFPE)
   if (hostsig == SIGFPE)
     return GDB_SIGNAL_FPE;
-#endif
 #if defined (SIGKILL)
   if (hostsig == SIGKILL)
     return GDB_SIGNAL_KILL;
@@ -167,10 +159,8 @@ gdb_signal_from_host (int hostsig)
   if (hostsig == SIGBUS)
     return GDB_SIGNAL_BUS;
 #endif
-#if defined (SIGSEGV)
   if (hostsig == SIGSEGV)
     return GDB_SIGNAL_SEGV;
-#endif
 #if defined (SIGSYS)
   if (hostsig == SIGSYS)
     return GDB_SIGNAL_SYS;
@@ -183,10 +173,8 @@ gdb_signal_from_host (int hostsig)
   if (hostsig == SIGALRM)
     return GDB_SIGNAL_ALRM;
 #endif
-#if defined (SIGTERM)
   if (hostsig == SIGTERM)
     return GDB_SIGNAL_TERM;
-#endif
 #if defined (SIGUSR1)
   if (hostsig == SIGUSR1)
     return GDB_SIGNAL_USR1;
@@ -388,34 +376,26 @@ do_gdb_signal_to_host (enum gdb_signal oursig,
     case GDB_SIGNAL_HUP:
       return SIGHUP;
 #endif
-#if defined (SIGINT)
     case GDB_SIGNAL_INT:
       return SIGINT;
-#endif
 #if defined (SIGQUIT)
     case GDB_SIGNAL_QUIT:
       return SIGQUIT;
 #endif
-#if defined (SIGILL)
     case GDB_SIGNAL_ILL:
       return SIGILL;
-#endif
 #if defined (SIGTRAP)
     case GDB_SIGNAL_TRAP:
       return SIGTRAP;
 #endif
-#if defined (SIGABRT)
     case GDB_SIGNAL_ABRT:
       return SIGABRT;
-#endif
 #if defined (SIGEMT)
     case GDB_SIGNAL_EMT:
       return SIGEMT;
 #endif
-#if defined (SIGFPE)
     case GDB_SIGNAL_FPE:
       return SIGFPE;
-#endif
 #if defined (SIGKILL)
     case GDB_SIGNAL_KILL:
       return SIGKILL;
@@ -424,10 +404,8 @@ do_gdb_signal_to_host (enum gdb_signal oursig,
     case GDB_SIGNAL_BUS:
       return SIGBUS;
 #endif
-#if defined (SIGSEGV)
     case GDB_SIGNAL_SEGV:
       return SIGSEGV;
-#endif
 #if defined (SIGSYS)
     case GDB_SIGNAL_SYS:
       return SIGSYS;
@@ -440,10 +418,8 @@ do_gdb_signal_to_host (enum gdb_signal oursig,
     case GDB_SIGNAL_ALRM:
       return SIGALRM;
 #endif
-#if defined (SIGTERM)
     case GDB_SIGNAL_TERM:
       return SIGTERM;
-#endif
 #if defined (SIGUSR1)
     case GDB_SIGNAL_USR1:
       return SIGUSR1;
diff --git a/gdb/proc-events.c b/gdb/proc-events.c
index 31812a9..9bd7b31 100644
--- a/gdb/proc-events.c
+++ b/gdb/proc-events.c
@@ -1404,39 +1404,29 @@ static struct trans signal_table[] =
 #ifdef SIGHUP
   { SIGHUP, "SIGHUP", "Hangup" },
 #endif
-#ifdef SIGINT
   { SIGINT, "SIGINT", "Interrupt (rubout)" },
-#endif
 #ifdef SIGQUIT
   { SIGQUIT, "SIGQUIT", "Quit (ASCII FS)" },
 #endif
-#ifdef SIGILL
   { SIGILL, "SIGILL", "Illegal instruction" },	/* not reset when caught */
-#endif
 #ifdef SIGTRAP
   { SIGTRAP, "SIGTRAP", "Trace trap" },		/* not reset when caught */
 #endif
-#ifdef SIGABRT
   { SIGABRT, "SIGABRT", "used by abort()" },	/* replaces SIGIOT */
-#endif
 #ifdef SIGIOT
   { SIGIOT, "SIGIOT", "IOT instruction" },
 #endif
 #ifdef SIGEMT
   { SIGEMT, "SIGEMT", "EMT instruction" },
 #endif
-#ifdef SIGFPE
   { SIGFPE, "SIGFPE", "Floating point exception" },
-#endif
 #ifdef SIGKILL
   { SIGKILL, "SIGKILL", "Kill" },	/* Solaris: cannot be caught/ignored */
 #endif
 #ifdef SIGBUS
   { SIGBUS, "SIGBUS", "Bus error" },
 #endif
-#ifdef SIGSEGV
   { SIGSEGV, "SIGSEGV", "Segmentation violation" },
-#endif
 #ifdef SIGSYS
   { SIGSYS, "SIGSYS", "Bad argument to system call" },
 #endif
@@ -1446,9 +1436,7 @@ static struct trans signal_table[] =
 #ifdef SIGALRM
   { SIGALRM, "SIGALRM", "Alarm clock" },
 #endif
-#ifdef SIGTERM
   { SIGTERM, "SIGTERM", "Software termination signal from kill" },
-#endif
 #ifdef SIGUSR1
   { SIGUSR1, "SIGUSR1", "User defined signal 1" },
 #endif
diff --git a/gdb/testsuite/gdb.base/call-signals.c b/gdb/testsuite/gdb.base/call-signals.c
index 2d2bbf8..c1d473d 100644
--- a/gdb/testsuite/gdb.base/call-signals.c
+++ b/gdb/testsuite/gdb.base/call-signals.c
@@ -31,9 +31,7 @@ void
 gen_signal ()
 {
   /* According to sigall.exp, SIGABRT is always supported.  */
-#ifdef SIGABRT
   kill (getpid (), SIGABRT);
-#endif
   /* If we get here we couldn't generate a signal, tell dejagnu.  */
   printf ("no signal\n");
 }
diff --git a/gdb/testsuite/gdb.base/sigall.c b/gdb/testsuite/gdb.base/sigall.c
index 68f3ecb..7a7610e 100644
--- a/gdb/testsuite/gdb.base/sigall.c
+++ b/gdb/testsuite/gdb.base/sigall.c
@@ -819,11 +819,7 @@ return 0;
 int
 gen_ILL ()
 {
-#ifdef SIGILL
   kill (getpid (), SIGILL);
-#else
-  handle_ILL (0);
-#endif
 return 0;
 }
 
@@ -874,11 +870,7 @@ return 0;
 int
 gen_SEGV ()
 {
-#ifdef SIGSEGV
   kill (getpid (), SIGSEGV);
-#else
-  handle_SEGV (0);
-#endif
 return 0;
 }
 
@@ -1050,7 +1042,7 @@ return 0;
 int
 gen_LOST ()
 {
-#if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
+#if defined(SIGLOST) && SIGLOST != SIGABRT
   kill (getpid (), SIGLOST);
 #else
   handle_LOST (0);
@@ -1593,21 +1585,15 @@ main ()
 #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
@@ -1653,7 +1639,7 @@ main ()
 #ifdef SIGWINCH
   signal (SIGWINCH, handle_WINCH);
 #endif
-#if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
+#if defined(SIGLOST) && SIGLOST != SIGABRT
   signal (SIGLOST, handle_LOST);
 #endif
 #ifdef SIGUSR1
diff --git a/gdb/testsuite/gdb.base/unwindonsignal.c b/gdb/testsuite/gdb.base/unwindonsignal.c
index 5631e73..393a1ff 100644
--- a/gdb/testsuite/gdb.base/unwindonsignal.c
+++ b/gdb/testsuite/gdb.base/unwindonsignal.c
@@ -25,9 +25,7 @@ void
 gen_signal ()
 {
   /* According to sigall.exp, SIGABRT is always supported.  */
-#ifdef SIGABRT
   kill (getpid (), SIGABRT);
-#endif
   /* If we get here we couldn't generate a signal, tell dejagnu.  */
   printf ("no signal\n");
 }
diff --git a/gdb/testsuite/gdb.reverse/sigall-reverse.c b/gdb/testsuite/gdb.reverse/sigall-reverse.c
index ea7ae6a..6ccea42 100644
--- a/gdb/testsuite/gdb.reverse/sigall-reverse.c
+++ b/gdb/testsuite/gdb.reverse/sigall-reverse.c
@@ -410,11 +410,7 @@ return 0;
 int
 gen_ILL (void)
 {
-#ifdef SIGILL
   kill (getpid (), SIGILL);
-#else
-  handle_ILL (0);
-#endif
 return 0;
 }
 
@@ -465,11 +461,7 @@ return 0;
 int
 gen_SEGV (void)
 {
-#ifdef SIGSEGV
   kill (getpid (), SIGSEGV);
-#else
-  handle_SEGV (0);
-#endif
 return 0;
 }
 
@@ -641,7 +633,7 @@ return 0;
 int
 gen_LOST (void)
 {
-#if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
+#if defined(SIGLOST) && SIGLOST != SIGABRT
   kill (getpid (), SIGLOST);
 #else
   handle_LOST (0);
@@ -1183,21 +1175,15 @@ main ()
 #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
@@ -1243,7 +1229,7 @@ main ()
 #ifdef SIGWINCH
   signal (SIGWINCH, handle_WINCH);
 #endif
-#if defined(SIGLOST) && (!defined(SIGABRT) || SIGLOST != SIGABRT)
+#if defined(SIGLOST) && SIGLOST != SIGABRT
   signal (SIGLOST, handle_LOST);
 #endif
 #ifdef SIGUSR1


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]