patch to use strerror in gdbserver
Philip Blundell
pb@nexus.co.uk
Mon Apr 12 04:35:00 GMT 1999
Some of the gdbserver code has trouble on Linux with GNU libc 2.1 because it
redeclares sys_errlist in a way that conflicts with the library headers.
Since libiberty provides strerror on platforms that don't have it, we might as
well make use of it.
1999-04-11 Philip Blundell <philb@gnu.org>
* gdbserver/utils.c (perror_with_name): Use strerror rather than
sys_errlist. Include <errno.h>, don't declare errno directly.
* gdbserver/gdbreplay.c (perror_with_name): Likewise.
diff -u --recursive --new-file /home/phil/gdb/clean/gdb-4.17/gdb/gdbserver/gdbreplay.c gdb/gdbserver/gdbreplay.c
--- /home/phil/gdb/clean/gdb-4.17/gdb/gdbserver/gdbreplay.c Sun Apr 11 21:57:15 1999
+++ gdb/gdbserver/gdbreplay.c Sun Apr 11 19:16:26 1999
@@ -27,6 +27,7 @@
#include <signal.h>
#include <ctype.h>
#include <fcntl.h>
+#include <errno.h>
/* Sort of a hack... */
#define EOL (EOF - 1)
@@ -41,20 +42,15 @@
perror_with_name (string)
char *string;
{
- extern int sys_nerr;
- extern char *sys_errlist[];
- extern int errno;
- char *err;
+ char *err = strerror (errno);
char *combined;
- err = (errno < sys_nerr) ? sys_errlist[errno] : "unknown error";
combined = (char *) alloca (strlen (err) + strlen (string) + 3);
strcpy (combined, string);
strcat (combined, ": ");
strcat (combined, err);
- fprintf (stderr, "\n%s.\n", combined);
- fflush (stderr);
- exit (1);
+
+ error ("%s.", combined);
}
static void
diff -u --recursive --new-file /home/phil/gdb/clean/gdb-4.17/gdb/gdbserver/utils.c gdb/gdbserver/utils.c
--- /home/phil/gdb/clean/gdb-4.17/gdb/gdbserver/utils.c Sat Aug 9 05:49:48 1997
+++ gdb/gdbserver/utils.c Sun Apr 11 15:34:56 1999
@@ -20,6 +20,7 @@
#include "server.h"
#include <stdio.h>
#include <string.h>
+#include <errno.h>
/* Generally useful subroutines used throughout the program. */
@@ -31,16 +32,8 @@
perror_with_name (string)
char *string;
{
- extern int sys_nerr;
- extern char *sys_errlist[];
- extern int errno;
- char *err;
+ char *err = strerror (errno);
char *combined;
-
- if (errno < sys_nerr)
- err = sys_errlist[errno];
- else
- err = "unknown error";
combined = (char *) alloca (strlen (err) + strlen (string) + 3);
strcpy (combined, string);
More information about the Gdb-patches
mailing list