This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH] Solaris: Fix function prototype breakage in /proc services
- From: "Maciej W. Rozycki" <macro at codesourcery dot com>
- To: <gdb-patches at sourceware dot org>
- Cc: Tom Tromey <tromey at redhat dot com>
- Date: Fri, 27 Apr 2012 16:31:53 +0100
- Subject: [PATCH] Solaris: Fix function prototype breakage in /proc services
Hello,
This change fixes a lot of:
error: no previous prototype for 'foo'
messages when building native for the sparc-solaris2.8 host/target. I
went through all messages and decided from the context, on a case-by-case
basis, whether the function in question should be made static or have a
prototype added. Please let me know if I misdecided anywhere.
This enables the configuration to build and work successfully. OK to
apply?
2012-04-26 Maciej W. Rozycki <macro@codesourcery.com>
gdb/
* proc-utils.h (proc_prettyprint_signalset): New prototype.
(proc_prettyprint_signal): Likewise.
(proc_prettyprint_faultset): Likewise.
(proc_prettyprint_fault): Likewise.
(proc_prettyprint_actionset): Likewise.
(proc_prettyprint_flags): Move to new proc-flags.c section.
(proc_prettyfprint_flags): New prototype.
* procfs.c (proc_nsysarg, proc_sysargs): Add prototypes.
(proc_syscall, proc_cursig): Likewise.
(proc_set_kill_on_last_close): Likewise.
(proc_unset_kill_on_last_close): Likewise.
(proc_set_watchpoint): Make static.
(proc_delete_dead_threads): Likewise.
(procfs_set_watchpoint): Likewise.
(_initialize_procfs): Add prototype.
* proc-events.c: Include proc-utils.h.
(init_syscall_table): Make static.
* proc-api.c (_initialize_proc_api): Add prototype.
* proc-flags.c: Include proc-utils.h.
Maciej
gdb-proc-fix.diff
Index: gdb-fsf-trunk-quilt/gdb/procfs.c
===================================================================
--- gdb-fsf-trunk-quilt.orig/gdb/procfs.c 2012-04-27 03:51:29.000000000 +0100
+++ gdb-fsf-trunk-quilt/gdb/procfs.c 2012-04-27 04:21:14.775549454 +0100
@@ -1023,8 +1023,14 @@ int proc_get_status (procinfo * pi);
long proc_flags (procinfo * pi);
int proc_why (procinfo * pi);
int proc_what (procinfo * pi);
+int proc_nsysarg (procinfo * pi);
+long *proc_sysargs (procinfo * pi);
+int proc_syscall (procinfo * pi);
+long proc_cursig (struct procinfo * pi);
int proc_set_run_on_last_close (procinfo * pi);
int proc_unset_run_on_last_close (procinfo * pi);
+int proc_set_kill_on_last_close (procinfo * pi);
+int proc_unset_kill_on_last_close (procinfo * pi);
int proc_set_inherit_on_fork (procinfo * pi);
int proc_unset_inherit_on_fork (procinfo * pi);
int proc_set_async (procinfo * pi);
@@ -2673,7 +2679,7 @@ procfs_address_to_host_pointer (CORE_ADD
}
#endif
-int
+static int
proc_set_watchpoint (procinfo *pi, CORE_ADDR addr, int len, int wflags)
{
#if !defined (PCWATCH) && !defined (PIOCSWATCH)
@@ -2943,7 +2949,7 @@ proc_get_current_thread (procinfo *pi)
unfortunately requires a different method on every OS. Returns
non-zero for success, zero for failure. */
-int
+static int
proc_delete_dead_threads (procinfo *parent, procinfo *thread, void *ignore)
{
if (thread && parent) /* sanity */
@@ -5019,7 +5025,7 @@ procfs_pid_to_str (struct target_ops *op
/* Insert a watchpoint. */
-int
+static int
procfs_set_watchpoint (ptid_t ptid, CORE_ADDR addr, int len, int rwflag,
int after)
{
@@ -5573,6 +5579,9 @@ proc_untrace_sysexit_cmd (char *args, in
}
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern void _initialize_procfs (void);
+
void
_initialize_procfs (void)
{
Index: gdb-fsf-trunk-quilt/gdb/proc-events.c
===================================================================
--- gdb-fsf-trunk-quilt.orig/gdb/proc-events.c 2012-02-24 15:23:42.000000000 +0000
+++ gdb-fsf-trunk-quilt/gdb/proc-events.c 2012-04-27 04:05:39.945578891 +0100
@@ -45,6 +45,8 @@
#include <sys/fault.h>
#endif
+#include "proc-utils.h"
+
/* Much of the information used in the /proc interface, particularly
for printing status information, is kept as tables of structures of
the following form. These tables can be used to map numeric values
@@ -105,7 +107,7 @@ struct trans
#define MAX_SYSCALLS 262 /* Pretty arbitrary. */
static char *syscall_table[MAX_SYSCALLS];
-void
+static void
init_syscall_table (void)
{
#ifdef SYS_BSD_getime
Index: gdb-fsf-trunk-quilt/gdb/proc-api.c
===================================================================
--- gdb-fsf-trunk-quilt.orig/gdb/proc-api.c 2012-02-24 15:23:42.000000000 +0000
+++ gdb-fsf-trunk-quilt/gdb/proc-api.c 2012-04-27 04:22:16.025610845 +0100
@@ -775,6 +775,9 @@ proc_prettyfprint_status (long flags, in
}
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern void _initialize_proc_api (void);
+
void
_initialize_proc_api (void)
{
Index: gdb-fsf-trunk-quilt/gdb/proc-flags.c
===================================================================
--- gdb-fsf-trunk-quilt.orig/gdb/proc-flags.c 2012-02-24 15:23:42.000000000 +0000
+++ gdb-fsf-trunk-quilt/gdb/proc-flags.c 2012-04-27 04:40:50.745434047 +0100
@@ -35,6 +35,8 @@
#include <sys/types.h>
#include <sys/procfs.h>
+#include "proc-utils.h"
+
/* Much of the information used in the /proc interface, particularly for
printing status information, is kept as tables of structures of the
following form. These tables can be used to map numeric values to
Index: gdb-fsf-trunk-quilt/gdb/proc-utils.h
===================================================================
--- gdb-fsf-trunk-quilt.orig/gdb/proc-utils.h 2012-02-24 15:23:42.000000000 +0000
+++ gdb-fsf-trunk-quilt/gdb/proc-utils.h 2012-04-27 04:42:41.355608340 +0100
@@ -29,7 +29,16 @@ extern void proc_prettyprint_syscalls (s
extern void proc_prettyprint_syscall (int num, int verbose);
-extern void proc_prettyprint_flags (unsigned long flags, int verbose);
+extern void proc_prettyprint_signalset (sigset_t *sigset, int verbose);
+
+extern void proc_prettyprint_signal (int signo, int verbose);
+
+extern void proc_prettyprint_faultset (fltset_t *fltset, int verbose);
+
+extern void proc_prettyprint_fault (int faultno, int verbose);
+
+extern void proc_prettyprint_actionset (struct sigaction *actions,
+ int verbose);
extern void proc_prettyfprint_signalset (FILE *file, sigset_t *sigset,
int verbose);
@@ -55,6 +64,18 @@ extern void proc_prettyfprint_syscalls (
extern void proc_prettyfprint_status (long, int, int, int);
+/* From proc-flags.c */
+
+/*
+ * Pretty-print the prstatus flags.
+ */
+
+extern void proc_prettyprint_flags (unsigned long flags, int verbose);
+
+extern void proc_prettyfprint_flags (FILE *file, unsigned long flags,
+ int verbose);
+
+
/* From proc-api.c */
/*