This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[commit] Don't use sys_errlist in gdbserver
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: gdb-patches at sources dot redhat dot com
- Date: Sun, 29 Jun 2003 00:04:25 -0400
- Subject: [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);