This is the mail archive of the gdb-patches@sources.redhat.com 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]

[commit] Don't use sys_errlist in gdbserver


We already relied on strerror in order to build, and so does GDB, so let's
just assume it.  This silences some warnings at link time on GNU/Linux.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer

2003-06-28  Daniel Jacobowitz  <drow@mvista.com>

	* configure.in: Check whether we need to prototype strerror.
	* server.h: Optionally prototype strerror.
	* gdbreplay.c (perror_with_name): Use strerror.
	* linux-low.c (linux_attach_lwp): Use strerror.
	* utils.c (perror_with_name): Use strerror.
	* config.in, configure: Regenerated.

Index: configure.in
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/configure.in,v
retrieving revision 1.12
diff -u -p -r1.12 configure.in
--- configure.in	17 Mar 2003 19:39:53 -0000	1.12
+++ configure.in	29 Jun 2003 03:59:41 -0000
@@ -34,6 +34,8 @@ AC_CHECK_HEADERS(sgtty.h termio.h termio
 		 proc_service.h sys/procfs.h thread_db.h linux/elf.h dnl
 		 stdlib.h unistd.h)
 
+BFD_NEED_DECLARATION(strerror)
+
 . ${srcdir}/configure.srv
 
 if test "${srv_linux_usrregs}" = "yes"; then
Index: gdbreplay.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/gdbreplay.c,v
retrieving revision 1.7
diff -u -p -r1.7 gdbreplay.c
--- gdbreplay.c	9 Jul 2002 17:38:58 -0000	1.7
+++ gdbreplay.c	29 Jun 2003 03:59:41 -0000
@@ -54,14 +54,15 @@ static void
 perror_with_name (char *string)
 {
 #ifndef STDC_HEADERS
-  extern int sys_nerr;
-  extern char *sys_errlist[];
   extern int errno;
 #endif
   const char *err;
   char *combined;
 
-  err = (errno < sys_nerr) ? sys_errlist[errno] : "unknown error";
+  err = strerror (errno);
+  if (err == NULL)
+    err = "unknown error";
+
   combined = (char *) alloca (strlen (err) + strlen (string) + 3);
   strcpy (combined, string);
   strcat (combined, ": ");
Index: linux-low.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/linux-low.c,v
retrieving revision 1.24
diff -u -p -r1.24 linux-low.c
--- linux-low.c	17 Jun 2003 20:28:14 -0000	1.24
+++ linux-low.c	29 Jun 2003 03:59:41 -0000
@@ -175,8 +175,7 @@ linux_attach_lwp (int pid, int tid)
   if (ptrace (PTRACE_ATTACH, pid, 0, 0) != 0)
     {
       fprintf (stderr, "Cannot attach to process %d: %s (%d)\n", pid,
-	       errno < sys_nerr ? sys_errlist[errno] : "unknown error",
-	       errno);
+	       strerror (errno), errno);
       fflush (stderr);
 
       /* If we fail to attach to an LWP, just return.  */
Index: server.h
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/server.h,v
retrieving revision 1.12
diff -u -p -r1.12 server.h
--- server.h	11 Jun 2002 17:32:40 -0000	1.12
+++ server.h	29 Jun 2003 03:59:41 -0000
@@ -34,6 +34,12 @@
 #include <string.h>
 #endif
 
+#ifdef NEED_DECLARATION_STRERROR
+#ifndef strerror
+extern char *strerror (int);	/* X3.159-1989  4.11.6.2 */
+#endif
+#endif
+
 #ifndef ATTR_NORETURN
 #if defined(__GNUC__) && (__GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7))
 #define ATTR_NORETURN __attribute__ ((noreturn))
Index: utils.c
===================================================================
RCS file: /cvs/src/src/gdb/gdbserver/utils.c,v
retrieving revision 1.6
diff -u -p -r1.6 utils.c
--- utils.c	9 Apr 2002 21:11:35 -0000	1.6
+++ utils.c	29 Jun 2003 03:59:41 -0000
@@ -33,16 +33,13 @@ void
 perror_with_name (char *string)
 {
 #ifndef STDC_HEADERS
-  extern int sys_nerr;
-  extern char *sys_errlist[];
   extern int errno;
 #endif
   const char *err;
   char *combined;
 
-  if (errno < sys_nerr)
-    err = sys_errlist[errno];
-  else
+  err = strerror (errno);
+  if (err == NULL)
     err = "unknown error";
 
   combined = (char *) alloca (strlen (err) + strlen (string) + 3);


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