From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 6792 invoked by alias); 29 Feb 2012 16:20:44 -0000 Received: (qmail 6770 invoked by uid 22791); 29 Feb 2012 16:20:40 -0000 X-SWARE-Spam-Status: No, hits=-6.7 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 29 Feb 2012 16:20:21 +0000 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id q1TGKLGa013448 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Wed, 29 Feb 2012 11:20:21 -0500 Received: from hit-nxdomain.opendns.com (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx01.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id q1TGKJ2c017607 for ; Wed, 29 Feb 2012 11:20:20 -0500 Subject: [PATCH 10/14] -Wmissing-prototypes: common/signals.c. To: gdb-patches@sourceware.org From: Pedro Alves Date: Wed, 29 Feb 2012 16:20:00 -0000 Message-ID: <20120229162019.23918.43533.stgit@hit-nxdomain.opendns.com> In-Reply-To: <20120229161628.23918.51354.stgit@hit-nxdomain.opendns.com> References: <20120229161628.23918.51354.stgit@hit-nxdomain.opendns.com> User-Agent: StGit/0.15 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2012-02/txt/msg00711.txt.bz2 $ make WERROR_CFLAGS="-Wmissing-prototypes" signals.o 1>/dev/null ../../src/gdb/common/signals.c:664:1: warning: no previous prototype for ‘target_signal_from_command’ [-Wmissing-prototypes] ../../src/gdb/common/signals.c:682:1: warning: no previous prototype for ‘default_target_signal_to_host’ [-Wmissing-prototypes] ../../src/gdb/common/signals.c:688:1: warning: no previous prototype for ‘default_target_signal_from_host’ [-Wmissing-prototypes] The fix is to move the GDB specific bits into GDB proper, since they're really not common. I don't think the _initialize_signals check is useful anymore now that the signals are build from a single .def table/file, so I'm just removing it, thus getting rid of the whole !GDBSERVER conditional. 2012-02-29 Pedro Alves * common/signals.c (default_target_signal_to_host) (default_target_signal_from_host): Move ... * arch-utils.c: ... here. * arch-utils.h (default_target_signal_to_host) (default_target_signal_from_host): Declare. * common/signals.c (target_signal_from_command): Move ... * infrun.c: ... here. * inferior.h (target_signal_from_command): Declare. * target.h (target_signal_from_command) (default_target_signal_from_host, default_target_signal_to_host): Delete declarations. * common/signals.c (_initialize_signals): Delete. --- gdb/arch-utils.c | 12 ++++++++++++ gdb/arch-utils.h | 5 +++++ gdb/common/signals.c | 42 ------------------------------------------ gdb/inferior.h | 10 ++++++++++ gdb/infrun.c | 9 +++++++++ gdb/target.h | 10 ---------- 6 files changed, 36 insertions(+), 52 deletions(-) diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c index e683a2d..fabb515 100644 --- a/gdb/arch-utils.c +++ b/gdb/arch-utils.c @@ -793,6 +793,18 @@ default_gen_return_address (struct gdbarch *gdbarch, error (_("This architecture has no method to collect a return address.")); } +int +default_target_signal_to_host (struct gdbarch *gdbarch, enum target_signal ts) +{ + return target_signal_to_host (ts); +} + +enum target_signal +default_target_signal_from_host (struct gdbarch *gdbarch, int signo) +{ + return target_signal_from_host (signo); +} + /* */ /* -Wmissing-prototypes */ diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h index 7c398b3..c2c3398 100644 --- a/gdb/arch-utils.h +++ b/gdb/arch-utils.h @@ -172,4 +172,9 @@ extern void default_gen_return_address (struct gdbarch *gdbarch, extern const char *default_auto_charset (void); extern const char *default_auto_wide_charset (void); +extern enum target_signal default_target_signal_from_host (struct gdbarch *, + int); +extern int default_target_signal_to_host (struct gdbarch *, + enum target_signal); + #endif diff --git a/gdb/common/signals.c b/gdb/common/signals.c index 75699db..2e82e9c 100644 --- a/gdb/common/signals.c +++ b/gdb/common/signals.c @@ -649,45 +649,3 @@ target_signal_to_host (enum target_signal oursig) else return targ_signo; } - -#ifndef GDBSERVER - -/* In some circumstances we allow a command to specify a numeric - signal. The idea is to keep these circumstances limited so that - users (and scripts) develop portable habits. For comparison, - POSIX.2 `kill' requires that 1,2,3,6,9,14, and 15 work (and using a - numeric signal at all is obsolescent. We are slightly more - lenient and allow 1-15 which should match host signal numbers on - most systems. Use of symbolic signal names is strongly encouraged. */ - -enum target_signal -target_signal_from_command (int num) -{ - if (num >= 1 && num <= 15) - return (enum target_signal) num; - error (_("Only signals 1-15 are valid as numeric signals.\n\ -Use \"info signals\" for a list of symbolic signals.")); -} - -extern initialize_file_ftype _initialize_signals; /* -Wmissing-prototype */ - -void -_initialize_signals (void) -{ - if (strcmp (signals[TARGET_SIGNAL_LAST].string, "TARGET_SIGNAL_MAGIC") != 0) - internal_error (__FILE__, __LINE__, "failed internal consistency check"); -} - -int -default_target_signal_to_host (struct gdbarch *gdbarch, enum target_signal ts) -{ - return target_signal_to_host (ts); -} - -enum target_signal -default_target_signal_from_host (struct gdbarch *gdbarch, int signo) -{ - return target_signal_from_host (signo); -} - -#endif /* ! GDBSERVER */ diff --git a/gdb/inferior.h b/gdb/inferior.h index 65abf26..9b2817f 100644 --- a/gdb/inferior.h +++ b/gdb/inferior.h @@ -645,4 +645,14 @@ extern struct inferior *add_inferior_with_spaces (void); extern void update_observer_mode (void); +/* In some circumstances we allow a command to specify a numeric + signal. The idea is to keep these circumstances limited so that + users (and scripts) develop portable habits. For comparison, + POSIX.2 `kill' requires that 1,2,3,6,9,14, and 15 work (and using a + numeric signal at all is obsolescent. We are slightly more lenient + and allow 1-15 which should match host signal numbers on most + systems. Use of symbolic signal names is strongly encouraged. */ + +enum target_signal target_signal_from_command (int num); + #endif /* !defined (INFERIOR_H) */ diff --git a/gdb/infrun.c b/gdb/infrun.c index 89f9362..8ea4b9c 100644 --- a/gdb/infrun.c +++ b/gdb/infrun.c @@ -6441,6 +6441,15 @@ xdb_handle_command (char *args, int from_tty) do_cleanups (old_chain); } +enum target_signal +target_signal_from_command (int num) +{ + if (num >= 1 && num <= 15) + return (enum target_signal) num; + error (_("Only signals 1-15 are valid as numeric signals.\n\ +Use \"info signals\" for a list of symbolic signals.")); +} + /* Print current contents of the tables set by the handle command. It is possible we should just be printing signals actually used by the current target (but for things to work right when switching diff --git a/gdb/target.h b/gdb/target.h index e786817..e5679b1 100644 --- a/gdb/target.h +++ b/gdb/target.h @@ -1827,16 +1827,6 @@ extern int remote_timeout; /* This is for native targets which use a unix/POSIX-style waitstatus. */ extern void store_waitstatus (struct target_waitstatus *, int); -/* These are in common/signals.c, but they're only used by gdb. */ -extern enum target_signal default_target_signal_from_host (struct gdbarch *, - int); -extern int default_target_signal_to_host (struct gdbarch *, - enum target_signal); - -/* Convert from a number used in a GDB command to an enum target_signal. */ -extern enum target_signal target_signal_from_command (int); -/* End of files in common/signals.c. */ - /* Set the show memory breakpoints mode to show, and installs a cleanup to restore it back to the current value. */ extern struct cleanup *make_show_memory_breakpoints_cleanup (int show);