From patchwork Fri Jun 6 09:27:40 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gary Benson X-Patchwork-Id: 1347 Received: (qmail 28266 invoked by alias); 6 Jun 2014 09:27:47 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 28151 invoked by uid 89); 6 Jun 2014 09:27:47 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.3 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD, SPF_HELO_PASS, SPF_PASS autolearn=ham version=3.3.2 X-HELO: mx1.redhat.com Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 06 Jun 2014 09:27:45 +0000 Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id s569Rg3j012881 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 6 Jun 2014 05:27:42 -0400 Received: from blade.nx (ovpn-116-93.ams2.redhat.com [10.36.116.93]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id s569RfHf007753; Fri, 6 Jun 2014 05:27:41 -0400 Received: by blade.nx (Postfix, from userid 1000) id 4FC472622D4; Fri, 6 Jun 2014 10:27:40 +0100 (BST) Date: Fri, 6 Jun 2014 10:27:40 +0100 From: Gary Benson To: Doug Evans Cc: "gdb-patches@sourceware.org" , Eli Zaretskii Subject: [COMMITTED PATCH] Remove conditionals for ANSI-standard signals Message-ID: <20140606092740.GD28998@blade.nx> References: <20140605145053.GA15133@blade.nx> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-IsSubscribed: yes Doug Evans wrote: > On Thu, Jun 5, 2014 at 7:50 AM, Gary Benson 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 * 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 * 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