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]

[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 */
 
 /*


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