Remove now obsolete signame.c and signame.h; functionality is handled by
authorFred Fish <fnf@specifix.com>
Wed, 22 Apr 1992 16:46:47 +0000 (16:46 +0000)
committerFred Fish <fnf@specifix.com>
Wed, 22 Apr 1992 16:46:47 +0000 (16:46 +0000)
libiberty/strsignal.c.  Widespread changes to use libiberty/strerror.c
functions for errno manipulations and libiberty/strsignal.c for signo
(signals) manipulations.

16 files changed:
gdb/ChangeLog
gdb/Makefile.in
gdb/convex-tdep.c
gdb/convex-xdep.c
gdb/core.c
gdb/depend
gdb/i960-tdep.c
gdb/mach386-xdep.c
gdb/procfs.c
gdb/stuff.c
gdb/sun386-xdep.c
gdb/umax-xdep.c
gdb/utils.c
gdb/valprint.c
gdb/xm-apollo68v.h
gdb/xm-ultra3.h

index 9a00f6584bedfd84868228056d2fbd86ce73ef96..a920f52771c394ea69eb4c7df8870a4c51559918 100644 (file)
@@ -1,3 +1,67 @@
+Wed Apr 22 09:42:15 1992  Fred Fish  (fnf@cygnus.com)
+
+       * signame.c, signame.h:  Remove, replaced by strsignal.c in
+       libiberty.
+       * i960-tdep.c, infrun.c, mach386-xdep.c, procfs.c, sparc-tdep.c,
+       sun386-xdep.c:  Remove include of signame.h     
+       * Makefile.in (SFILES_MAINDIR):  Remove signame.c
+       * Makefile.in (HFILES):  Remove signame.h
+       * Makefile.in (OBS):  Remove signame.o
+       * defs.h (safe_strerror, safe_strsignal, strerrno, strsigno,
+       errno_max, signo_max, strtoerrno, strtosigno, strsignal,
+       psignal, perror):  Add prototypes.
+       * defs.h, xm-apollo68v.h, xm-ultra3.h (SYS_SIGLIST_MISSING):
+       Remove define.
+       * depend:  Manually remove signame.[cho] references.
+       * convex-tdep.c (subsig_name):  Replace use of sys_siglist with
+       strsignal.
+       * convex-xdep.c (core_file_command):  Replace use of sys_siglist
+       with safe_strsignal.
+       * core.c (core_open):  Replace use of sys_siglist with
+       safe_strsignal.
+       * core.c (memory_error):  Replace use of sys_errlist with
+       safe_strerror.
+       * i960-tdep.c (print_fault):  Replace use of sys_siglist with
+       safe_strsignal.
+       * infcmd.c (program_info):  Replace use of sys_siglist with
+       safe_strsignal.
+       * infrun.c (signal_stop, signal_print, signal_program):
+       Allocate dynamically based on dynamic determination of number
+       of signals to support.
+       * infrun.c (child_create_inferior):  Replace use of sys_errlist
+       with safe_strerror.
+       * infrun.c (wait_for_inferior):  Replace use of sys_siglist with
+       safe_strsignal.
+       * infrun.c (sig_print_info):  Replace use of sig_abbrev with
+       strsigno and sys_siglist with safe_strsignal.
+       * infrun.c (handle_command):  Call signo_max to find number of
+       signals.  Replace sig_number with strtosigno and sig_abbrev with
+       strsigno.
+       * infrun.c (signals_info):  Replace sig_number with strtosigno. 
+       * infrun.c (_initialize_infrun):  Call signo_max to find number of
+       signals.  Dynamically allocate signal_{stop,print,program}.
+       * procfs.c (errno_table):  Remove, now in libiberty/strerror.c.
+       * procfs.c (errnoname):  Add function and prototype.
+       * procfs.c (info_proc_siginfo):  Call errnoname, replace use
+       of sys_siglist with safe_strsignal.
+       * procfs.c (info_proc_stop, info_proc_signals):  Replace use of
+       sys_siglist with safe_strsignal.
+       * procfs.c (info_proc_stop):  Call errnoname.
+       * procfs.c (signalname):  Replace sig_abbrev with strsigno.
+       * stuff.c (main, get_offset):  Replace use of sys_errlist with
+       strerror.
+       * sun386-xdep.c (core_file_command):  Replace use of sys_siglist
+       with safe_strsignal.
+       * umax-xdep.c (core_file_command):  Replace use of sys_siglist
+       with safe_strsignal.
+       * utils.c (safe_strerror, safe_strsignal):  Add functions that
+       call strerror and strsignal respectively, and deal with NULL
+       returns.
+       * utils.c (perror_with_name, print_sys_errmsg):  Replace use of
+       sys_errlist with safe_strerror.
+       * valprint.c (val_print):  Replace use of sys_errlist with
+       safe_strerror.
+
 Tue Apr 21 12:00:47 1992  K. Richard Pixley  (rich@cygnus.com)
 
        * Makefile.in: rework CFLAGS so that they can be set from the
index 7b4a2d6880e861429761611815cbbac35f7f60f2..dfbeaa0ebf31ddef684cf3c67905ae2e1852de0f 100644 (file)
@@ -184,7 +184,7 @@ SFILES_MAINDIR = \
         main.c printcmd.c gdbtypes.c \
         remote.c source.c stack.c symmisc.c symtab.c symfile.c \
         utils.c valarith.c valops.c valprint.c values.c c-exp.y m2-exp.y \
-        signame.c cplus-dem.c mem-break.c target.c inftarg.c \
+        cplus-dem.c mem-break.c target.c inftarg.c \
         dbxread.c coffread.c elfread.c dwarfread.c xcoffread.c \
         ieee-float.c language.c parse.c buildsym.c objfiles.c \
         minsyms.c mipsread.c
@@ -232,7 +232,7 @@ SFILES_KGDB  = $(SFILES) stuff.c kdb-start.c
 HFILES=        breakpoint.h buildsym.h call-cmds.h command.h defs.h environ.h \
        expression.h frame.h gdbcmd.h gdbcore.h gdbtypes.h \
        ieee-float.h inferior.h minimon.h objfiles.h partial-stab.h \
-       signals.h signame.h symfile.h symtab.h solib.h xcoffsolib.h \
+       signals.h symfile.h symtab.h solib.h xcoffsolib.h \
        target.h terminal.h tm-68k.h tm-i960.h tm-sunos.h tm-sysv4.h \
        xm-m68k.h xm-sysv4.h language.h parser-defs.h value.h xm-vax.h
 
@@ -270,7 +270,7 @@ OBS = main.o blockframe.o breakpoint.o findvar.o stack.o source.o \
     values.o eval.o valops.o valarith.o valprint.o printcmd.o \
     symtab.o symfile.o symmisc.o infcmd.o infrun.o remote.o \
     command.o utils.o expprint.o environ.o version.o gdbtypes.o \
-    copying.o $(DEPFILES) signame.o cplus-dem.o mem-break.o target.o \
+    copying.o $(DEPFILES) cplus-dem.o mem-break.o target.o \
     inftarg.o ieee-float.o putenv.o parse.o language.o $(YYOBJ) \
     buildsym.o objfiles.o minsyms.o \
     dbxread.o coffread.o elfread.o dwarfread.o xcoffread.o mipsread.o
@@ -539,7 +539,7 @@ make-proto-gdb-1: ${TARFILES} ${TARDIRS} gdb.info
        chmod og=u `find . -print`
 
 clean:
-       rm -f *.o ${ADD_FILES}
+       rm -f *.o ${ADD_FILES} *~
        rm -f init.c version.c
        rm -f gdb core gdb.tar gdb.tar.Z make.log
        rm -f gdb[0-9]
index 774bbcb604aecbb57eece9011f715d3a08382315..ac213aef7ddf2c68e4868ecf47cebba006d87447 100644 (file)
@@ -664,8 +664,10 @@ subsig_name (signo, subcode)
     {0, 0, 0, 0, subsig4, subsig5, 0, 0, subsig8, 0, subsig10, subsig11, 0};
 
   int i;
-  char *p = signo < NSIG ? sys_siglist[signo] : "unknown";
+  char *p;
 
+  if ((p = strsignal (signo)) == NULL)
+    p = "unknown";
   if (signo >= (sizeof subsig_list / sizeof *subsig_list)
       || !subsig_list[signo])
     return p;
index c078d9e298f0e6e3fc573552a0f12eeda5c7aac1..6bd57ab80791a904cf4791df68312a636405fcca 100644 (file)
@@ -212,7 +212,6 @@ static void psw_info ();
 static sig_noop ();
 static ptr_cmp ();
 
-extern char *sys_siglist[];
 \f
 /* Execute ptrace.  Convex V7 replaced ptrace with pattach.
    Allow ptrace (0) as a no-op.  */
@@ -950,9 +949,7 @@ core_file_command (filename, from_tty)
 
          printf_filtered ("thread %d received signal %d, %s\n",
                           n, thread_signal[n],
-                          thread_signal[n] < NSIG
-                          ? sys_siglist[thread_signal[n]]
-                          : "(undocumented)");
+                          safe_strsignal (thread_signal[n]));
        }
 
       /* Select an interesting thread -- also-rans died with SIGKILL,
index 6adf246f56d5ace11c2d528d954cdca2d099c253..4ae49331a1bd53c4a0312f0134ed314e5db7cd92 100644 (file)
@@ -49,10 +49,6 @@ get_core_registers PARAMS ((int));
 static void
 core_files_info PARAMS ((struct target_ops *));
 
-extern int sys_nerr;
-extern char *sys_errlist[];
-extern char *sys_siglist[];
-
 extern char registers[];
 
 /* Hook for `exec_file_command' command to call.  */
@@ -176,7 +172,7 @@ core_open (filename, from_tty)
   siggy = bfd_core_file_failing_signal (core_bfd);
   if (siggy > 0)
     printf ("Program terminated with signal %d, %s.\n", siggy,
-           siggy < NSIG ? sys_siglist[siggy] : "(undocumented)");
+           safe_strsignal (siggy));
 
   if (ontop) {
     /* Fetch all registers from core file */
@@ -312,12 +308,8 @@ memory_error (status, memaddr)
     }
   else
     {
-      if (status >= sys_nerr || status < 0)
-       error ("Error accessing memory address %s: unknown error (%d).",
-              local_hex_string(memaddr), status);
-      else
-       error ("Error accessing memory address %s: %s.",
-              local_hex_string(memaddr), sys_errlist[status]);
+      error ("Error accessing memory address %s: %s.",
+            local_hex_string (memaddr), safe_strerror (status));
     }
 }
 
index 1d5d9a751dc9a42f24ad30b7e474691e238ab4f4..2eb15b5d207a794314626c263e86dbeeba58282d 100755 (executable)
@@ -98,7 +98,7 @@ i387-tdep.o : i387-tdep.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.sta
 i960-pinsn.o : i960-pinsn.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status frame.h \
   inferior.h symtab.h ${srcdir}/../include/obstack.h breakpoint.h value.h gdbtypes.h expression.h 
 i960-tdep.o : i960-tdep.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status symtab.h \
-  ${srcdir}/../include/obstack.h value.h gdbtypes.h expression.h frame.h signame.h ieee-float.h 
+  ${srcdir}/../include/obstack.h value.h gdbtypes.h expression.h frame.h ieee-float.h 
 ieee-float.o : ieee-float.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status ieee-float.h 
 infcmd.o : infcmd.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status symtab.h ${srcdir}/../include/obstack.h \
   gdbtypes.h frame.h inferior.h breakpoint.h value.h expression.h environ.h gdbcmd.h \
@@ -111,7 +111,7 @@ infptrace.o : infptrace.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.sta
   target.h ${srcdir}/../include/bfd.h gdbcore.h 
 infrun.o : infrun.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status symtab.h ${srcdir}/../include/obstack.h \
   frame.h inferior.h breakpoint.h value.h gdbtypes.h expression.h ${srcdir}/../include/wait.h \
-  gdbcore.h ${srcdir}/../include/bfd.h signame.h command.h terminal.h target.h 
+  gdbcore.h ${srcdir}/../include/bfd.h command.h terminal.h target.h 
 inftarg.o : inftarg.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status frame.h inferior.h \
   symtab.h ${srcdir}/../include/obstack.h breakpoint.h value.h gdbtypes.h expression.h \
   target.h ${srcdir}/../include/bfd.h ${srcdir}/../include/wait.h gdbcore.h ieee-float.h 
@@ -135,7 +135,7 @@ m88k-xdep.o : m88k-xdep.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.sta
   gdbcore.h ${srcdir}/../include/bfd.h /usr/include/setjmp.h 
 mach386-xdep.o : mach386-xdep.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status frame.h \
   inferior.h symtab.h ${srcdir}/../include/obstack.h breakpoint.h value.h gdbtypes.h expression.h \
-  signame.h gdbcore.h ${srcdir}/../include/bfd.h 
+  gdbcore.h ${srcdir}/../include/bfd.h 
 main.o : main.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status gdbcmd.h command.h \
   call-cmds.h symtab.h ${srcdir}/../include/obstack.h inferior.h breakpoint.h frame.h \
   value.h gdbtypes.h expression.h signals.h target.h ${srcdir}/../include/bfd.h language.h \
@@ -213,7 +213,6 @@ rs6000-tdep.o : rs6000-tdep.c defs.h ${srcdir}/../include/ansidecl.h xm.h config
 rs6000-xdep.o : rs6000-xdep.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status frame.h \
   inferior.h symtab.h ${srcdir}/../include/obstack.h breakpoint.h value.h gdbtypes.h expression.h \
   target.h ${srcdir}/../include/bfd.h 
-signame.o : signame.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status signame.h 
 solib.o : solib.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status symtab.h ${srcdir}/../include/obstack.h \
   ${srcdir}/../include/bfd.h symfile.h objfiles.h gdbcore.h command.h target.h frame.h \
   regex.h inferior.h breakpoint.h value.h gdbtypes.h expression.h 
@@ -225,7 +224,7 @@ sparc-pinsn.o : sparc-pinsn.c defs.h ${srcdir}/../include/ansidecl.h xm.h config
   /usr/include/string.h target.h 
 sparc-tdep.o : sparc-tdep.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm.h config.status frame.h \
   inferior.h symtab.h ${srcdir}/../include/obstack.h breakpoint.h value.h gdbtypes.h expression.h \
-  signame.h target.h ${srcdir}/../include/bfd.h ieee-float.h gdbcore.h 
+  target.h ${srcdir}/../include/bfd.h ieee-float.h gdbcore.h 
 sparc-xdep.o : sparc-xdep.c defs.h ${srcdir}/../include/ansidecl.h xm.h config.status tm-sparc.h inferior.h \
   symtab.h ${srcdir}/../include/obstack.h breakpoint.h frame.h value.h gdbtypes.h expression.h \
   target.h ${srcdir}/../include/bfd.h gdbcore.h 
index 35c145d819c000bdc25d4b513852f8df81664557..eab040ad5c9ad07864e039cc0f5e122800c731d6 100644 (file)
@@ -27,7 +27,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "symtab.h"
 #include "value.h"
 #include "frame.h"
-#include "signame.h"
 #include "ieee-float.h"
 
 /* Structure of i960 extended floating point format.  */
@@ -619,8 +618,7 @@ print_fault( siggnal )
 
        if (siggnal < NSIG) {
              printf ("\nProgram received signal %d, %s\n",
-                     siggnal,
-                     sys_siglist[siggnal]);
+                     siggnal, safe_strsignal (siggnal));
        } else {
                /* The various target_wait()s bias the 80960 "signal number"
                   by adding NSIG to it, so it won't get confused with any
index b12cf5a44f6ebc6b2c206aa715f27a4222873be2..10777857c6ccf1726889b68d2a0b28b3cbb1b286 100644 (file)
@@ -20,7 +20,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "defs.h"
 #include "frame.h"
 #include "inferior.h"
-#include "signame.h"
 #include "gdbcore.h"
 
 #if defined (GDB_TARGET_IS_MACH386)
index a53a451e75feab9d002bca6328432816a6a13af6..6da85a7aa191b70e6c07bb171aea083da8a52cbc 100644 (file)
@@ -43,7 +43,6 @@ regardless of whether or not the actual target has floating point hardware.
 
 #include "inferior.h"
 #include "target.h"
-#include "signame.h"
 
 #define MAX_SYSCALLS   256     /* Maximum number of syscalls for table */
 
@@ -338,380 +337,6 @@ static struct sigcode {
   0, 0, NULL, NULL
 };
 
-/* Translation table for errno values.  See intro(2) in most UNIX systems
-   Programmers Reference Manuals.
-
-   Note that some systems provide a function (strerror) that returns the
-   error message string, or a global variable that is the base address of the
-   array of character pointers.  Perhaps we should try to make use of these
-   provided strings if they are present, but at least this is more portable.
-   (FIXME?) */
-
-static struct trans errno_table[] =
-{
-#if defined (EPERM)
-  EPERM, "EPERM", "Not super-user",
-#endif
-#if defined (ENOENT)
-  ENOENT, "ENOENT", "No such file or directory",
-#endif
-#if defined (ESRCH)
-  ESRCH, "ESRCH", "No such process",
-#endif
-#if defined (EINTR)
-  EINTR, "EINTR", "Interrupted system call",
-#endif
-#if defined (EIO)
-  EIO, "EIO", "I/O error",
-#endif
-#if defined (ENXIO)
-  ENXIO, "ENXIO", "No such device or address",
-#endif
-#if defined (E2BIG)
-  E2BIG, "E2BIG", "Arg list too long",
-#endif
-#if defined (ENOEXEC)
-  ENOEXEC, "ENOEXEC", "Exec format error",
-#endif
-#if defined (EBADF)
-  EBADF, "EBADF", "Bad file number",
-#endif
-#if defined (ECHILD)
-  ECHILD, "ECHILD", "No child process",
-#endif
-#if defined (EAGAIN)
-  EAGAIN, "EAGAIN", "No more processes",
-#endif
-#if defined (ENOMEM)
-  ENOMEM, "ENOMEM", "Not enough space",
-#endif
-#if defined (EACCES)
-  EACCES, "EACCES", "Permission denied",
-#endif
-#if defined (EFAULT)
-  EFAULT, "EFAULT", "Bad address",
-#endif
-#if defined (ENOTBLK)
-  ENOTBLK, "ENOTBLK", "Block device required",
-#endif
-#if defined (EBUSY)
-  EBUSY, "EBUSY", "Device busy",
-#endif
-#if defined (EEXIST)
-  EEXIST, "EEXIST", "File exists",
-#endif
-#if defined (EXDEV)
-  EXDEV, "EXDEV", "Cross-device link",
-#endif
-#if defined (ENODEV)
-  ENODEV, "ENODEV", "No such device",
-#endif
-#if defined (ENOTDIR)
-  ENOTDIR, "ENOTDIR", "Not a directory",
-#endif
-#if defined (EISDIR)
-  EISDIR, "EISDIR", "Is a directory",
-#endif
-#if defined (EINVAL)
-  EINVAL, "EINVAL", "Invalid argument",
-#endif
-#if defined (ENFILE)
-  ENFILE, "ENFILE", "File table overflow",
-#endif
-#if defined (EMFILE)
-  EMFILE, "EMFILE", "Too many open files",
-#endif
-#if defined (ENOTTY)
-  ENOTTY, "ENOTTY", "Not a typewriter",
-#endif
-#if defined (ETXTBSY)
-  ETXTBSY, "ETXTBSY", "Text file busy",
-#endif
-#if defined (EFBIG)
-  EFBIG, "EFBIG", "File too large",
-#endif
-#if defined (ENOSPC)
-  ENOSPC, "ENOSPC", "No space left on device",
-#endif
-#if defined (ESPIPE)
-  ESPIPE, "ESPIPE", "Illegal seek",
-#endif
-#if defined (EROFS)
-  EROFS, "EROFS", "Read only file system",
-#endif
-#if defined (EMLINK)
-  EMLINK, "EMLINK", "Too many links",
-#endif
-#if defined (EPIPE)
-  EPIPE, "EPIPE", "Broken pipe",
-#endif
-#if defined (EDOM)
-  EDOM, "EDOM", "Math argument out of domain of func",
-#endif
-#if defined (ERANGE)
-  ERANGE, "ERANGE", "Math result not representable",
-#endif
-#if defined (ENOMSG)
-  ENOMSG, "ENOMSG", "No message of desired type",
-#endif
-#if defined (EIDRM)
-  EIDRM, "EIDRM", "Identifier removed",
-#endif
-#if defined (ECHRNG)
-  ECHRNG, "ECHRNG", "Channel number out of range",
-#endif
-#if defined (EL2NSYNC)
-  EL2NSYNC, "EL2NSYNC", "Level 2 not synchronized",
-#endif
-#if defined (EL3HLT)
-  EL3HLT, "EL3HLT", "Level 3 halted",
-#endif
-#if defined (EL3RST)
-  EL3RST, "EL3RST", "Level 3 reset",
-#endif
-#if defined (ELNRNG)
-  ELNRNG, "ELNRNG", "Link number out of range",
-#endif
-#if defined (EUNATCH)
-  EUNATCH, "EUNATCH", "Protocol driver not attached",
-#endif
-#if defined (ENOCSI)
-  ENOCSI, "ENOCSI", "No CSI structure available",
-#endif
-#if defined (EL2HLT)
-  EL2HLT, "EL2HLT", "Level 2 halted",
-#endif
-#if defined (EDEADLK)
-  EDEADLK, "EDEADLK", "Deadlock condition",
-#endif
-#if defined (ENOLCK)
-  ENOLCK, "ENOLCK", "No record locks available",
-#endif
-#if defined (EBADE)
-  EBADE, "EBADE", "Invalid exchange",
-#endif
-#if defined (EBADR)
-  EBADR, "EBADR", "Invalid request descriptor",
-#endif
-#if defined (EXFULL)
-  EXFULL, "EXFULL", "Exchange full",
-#endif
-#if defined (ENOANO)
-  ENOANO, "ENOANO", "No anode",
-#endif
-#if defined (EBADRQC)
-  EBADRQC, "EBADRQC", "Invalid request code",
-#endif
-#if defined (EBADSLT)
-  EBADSLT, "EBADSLT", "Invalid slot",
-#endif
-#if defined (EDEADLOCK)
-  EDEADLOCK, "EDEADLOCK", "File locking deadlock error",
-#endif
-#if defined (EBFONT)
-  EBFONT, "EBFONT", "Bad font file fmt",
-#endif
-#if defined (ENOSTR)
-  ENOSTR, "ENOSTR", "Device not a stream",
-#endif
-#if defined (ENODATA)
-  ENODATA, "ENODATA", "No data available",
-#endif
-#if defined (ETIME)
-  ETIME, "ETIME", "Timer expired",
-#endif
-#if defined (ENOSR)
-  ENOSR, "ENOSR", "Out of streams resources",
-#endif
-#if defined (ENONET)
-  ENONET, "ENONET", "Machine is not on the network",
-#endif
-#if defined (ENOPKG)
-  ENOPKG, "ENOPKG", "Package not installed",
-#endif
-#if defined (EREMOTE)
-  EREMOTE, "EREMOTE", "Object is remote",
-#endif
-#if defined (ENOLINK)
-  ENOLINK, "ENOLINK", "Link has been severed",
-#endif
-#if defined (EADV)
-  EADV, "EADV", "Advertise error",
-#endif
-#if defined (ESRMNT)
-  ESRMNT, "ESRMNT", "Srmount error",
-#endif
-#if defined (ECOMM)
-  ECOMM, "ECOMM", "Communication error on send",
-#endif
-#if defined (EPROTO)
-  EPROTO, "EPROTO", "Protocol error",
-#endif
-#if defined (EMULTIHOP)
-  EMULTIHOP, "EMULTIHOP", "Multihop attempted",
-#endif
-#if defined (EDOTDOT)
-  EDOTDOT, "EDOTDOT", "RFS specific error",
-#endif
-#if defined (EBADMSG)
-  EBADMSG, "EBADMSG", "Not a data message",
-#endif
-#if defined (ENAMETOOLONG)
-  ENAMETOOLONG, "ENAMETOOLONG", "File name too long",
-#endif
-#if defined (EOVERFLOW)
-  EOVERFLOW, "EOVERFLOW", "Value too large for defined data type",
-#endif
-#if defined (ENOTUNIQ)
-  ENOTUNIQ, "ENOTUNIQ", "Name not unique on network",
-#endif
-#if defined (EBADFD)
-  EBADFD, "EBADFD", "File descriptor in bad state",
-#endif
-#if defined (EREMCHG)
-  EREMCHG, "EREMCHG", "Remote address changed",
-#endif
-#if defined (ELIBACC)
-  ELIBACC, "ELIBACC", "Cannot access a needed shared library",
-#endif
-#if defined (ELIBBAD)
-  ELIBBAD, "ELIBBAD", "Accessing a corrupted shared library",
-#endif
-#if defined (ELIBSCN)
-  ELIBSCN, "ELIBSCN", ".lib section in a.out corrupted",
-#endif
-#if defined (ELIBMAX)
-  ELIBMAX, "ELIBMAX", "Attempting to link in too many shared libraries",
-#endif
-#if defined (ELIBEXEC)
-  ELIBEXEC, "ELIBEXEC", "Cannot exec a shared library directly",
-#endif
-#if defined (EILSEQ)
-  EILSEQ, "EILSEQ", "Illegal byte sequence",
-#endif
-#if defined (ENOSYS)
-  ENOSYS, "ENOSYS", "Operation not applicable",
-#endif
-#if defined (ELOOP)
-  ELOOP, "ELOOP", "Too many symbolic links encountered",
-#endif
-#if defined (ERESTART)
-  ERESTART, "ERESTART", "Interrupted system call should be restarted",
-#endif
-#if defined (ESTRPIPE)
-  ESTRPIPE, "ESTRPIPE", "Streams pipe error",
-#endif
-#if defined (ENOTEMPTY)
-  ENOTEMPTY, "ENOTEMPTY", "Directory not empty",
-#endif
-#if defined (EUSERS)
-  EUSERS, "EUSERS", "Too many users",
-#endif
-#if defined (ENOTSOCK)
-  ENOTSOCK, "ENOTSOCK", "Socket operation on non-socket",
-#endif
-#if defined (EDESTADDRREQ)
-  EDESTADDRREQ, "EDESTADDRREQ", "Destination address required",
-#endif
-#if defined (EMSGSIZE)
-  EMSGSIZE, "EMSGSIZE", "Message too long",
-#endif
-#if defined (EPROTOTYPE)
-  EPROTOTYPE, "EPROTOTYPE", "Protocol wrong type for socket",
-#endif
-#if defined (ENOPROTOOPT)
-  ENOPROTOOPT, "ENOPROTOOPT", "Protocol not available",
-#endif
-#if defined (EPROTONOSUPPORT)
-  EPROTONOSUPPORT, "EPROTONOSUPPORT", "Protocol not supported",
-#endif
-#if defined (ESOCKTNOSUPPORT)
-  ESOCKTNOSUPPORT, "ESOCKTNOSUPPORT", "Socket type not supported",
-#endif
-#if defined (EOPNOTSUPP)
-  EOPNOTSUPP, "EOPNOTSUPP", "Operation not supported on transport endpoint ",
-#endif
-#if defined (EPFNOSUPPORT)
-  EPFNOSUPPORT, "EPFNOSUPPORT", "Protocol family not supported",
-#endif
-#if defined (EAFNOSUPPORT)
-  EAFNOSUPPORT, "EAFNOSUPPORT", "Address family not supported by protocol",
-#endif
-#if defined (EADDRINUSE)
-  EADDRINUSE, "EADDRINUSE", "Address already in use",
-#endif
-#if defined (EADDRNOTAVAIL)
-  EADDRNOTAVAIL, "EADDRNOTAVAIL","Cannot assign requested address",
-#endif
-#if defined (ENETDOWN)
-  ENETDOWN, "ENETDOWN", "Network is down",
-#endif
-#if defined (ENETUNREACH)
-  ENETUNREACH, "ENETUNREACH", "Network is unreachable",
-#endif
-#if defined (ENETRESET)
-  ENETRESET, "ENETRESET", "Network dropped connection because of reset",
-#endif
-#if defined (ECONNABORTED)
-  ECONNABORTED, "ECONNABORTED", "Software caused connection abort",
-#endif
-#if defined (ECONNRESET)
-  ECONNRESET, "ECONNRESET", "Connection reset by peer",
-#endif
-#if defined (ENOBUFS)
-  ENOBUFS, "ENOBUFS", "No buffer space available",
-#endif
-#if defined (EISCONN)
-  EISCONN, "EISCONN", "Transport endpoint is already connected",
-#endif
-#if defined (ENOTCONN)
-  ENOTCONN, "ENOTCONN", "Transport endpoint is not connected",
-#endif
-#if defined (ESHUTDOWN)
-  ESHUTDOWN, "ESHUTDOWN", "Cannot send after transport endpoint shutdown",
-#endif
-#if defined (ETOOMANYREFS)
-  ETOOMANYREFS, "ETOOMANYREFS", "Too many references: cannot splice",
-#endif
-#if defined (ETIMEDOUT)
-  ETIMEDOUT, "ETIMEDOUT", "Connection timed out",
-#endif
-#if defined (ECONNREFUSED)
-  ECONNREFUSED, "ECONNREFUSED", "Connection refused",
-#endif
-#if defined (EHOSTDOWN)
-  EHOSTDOWN, "EHOSTDOWN", "Host is down",
-#endif
-#if defined (EHOSTUNREACH)
-  EHOSTUNREACH, "EHOSTUNREACH", "No route to host",
-#endif
-#if defined (EWOULDBLOCK)
-  EWOULDBLOCK, "EWOULDBLOCK", "Operation already in progress",
-#endif
-#if defined (EINPROGRESS)
-  EINPROGRESS, "EINPROGRESS", "Operation now in progress",
-#endif
-#if defined (ESTALE)
-  ESTALE, "ESTALE", "Stale NFS file handle",
-#endif
-#if defined (EUCLEAN)
-  EUCLEAN, "EUCLEAN", "Structure needs cleaning",
-#endif
-#if defined (ENOTNAM)
-  ENOTNAM, "ENOTNAM", "Not a XENIX named type file",
-#endif
-#if defined (ENAVAIL)
-  ENAVAIL, "ENAVAIL", "No XENIX semaphores available",
-#endif
-#if defined (EISNAM)
-  EISNAM, "EISNAM", "Is a named type file",
-#endif
-#if defined (EREMOTEIO)
-  EREMOTEIO, "EREMOTEIO", "Remote I/O error",
-#endif
- 0, NULL, NULL
-};
-
 static char *syscall_table[MAX_SYSCALLS];
 
 /* Prototypes for local functions */
@@ -728,6 +353,9 @@ syscallname PARAMS ((int));
 static char *
 signalname PARAMS ((int));
 
+static char *
+errnoname PARAMS ((int));
+
 static int
 proc_address_to_fd PARAMS ((CORE_ADDR, int));
 
@@ -2742,7 +2370,7 @@ info_proc_stop (pip, summary)
            else
              {
                printf_filtered ("\t%-16s %s.\n", signalname (what),
-                                sys_siglist[what]);
+                                safe_strsignal (what));
              }
            break;
          case PR_SYSENTRY:
@@ -2803,8 +2431,7 @@ info_proc_siginfo (pip, summary)
          printf_filtered ("%s ", signalname (sip -> si_signo));
          if (sip -> si_errno > 0)
            {
-             printf_filtered ("%s ", lookupname (errno_table,
-                                                 sip -> si_errno, "errno"));
+             printf_filtered ("%s ", errnoname (sip -> si_errno));
            }
          if (sip -> si_code <= 0)
            {
@@ -2837,13 +2464,12 @@ info_proc_siginfo (pip, summary)
        {
          printf_filtered ("\n\n");
          printf_filtered ("\t%-16s %s.\n", signalname (sip -> si_signo),
-                          sys_siglist[sip -> si_signo]);
+                          safe_strsignal (sip -> si_signo));
          if (sip -> si_errno > 0)
            {
              printf_filtered ("\t%-16s %s.\n",
-                              lookupname (errno_table,
-                                          sip -> si_errno, "errno"),
-                              lookupdesc (errno_table, sip -> si_errno));
+                              errnoname (sip -> si_errno),
+                              safe_strerror (sip -> si_errno));
            }
          if (sip -> si_code <= 0)
            {
@@ -2954,17 +2580,36 @@ static char *
 signalname (signo)
      int signo;
 {
-  char *abbrev;
+  char *name;
+  static char locbuf[32];
+
+  name = strsigno (signo);
+  if (name == NULL)
+    {
+      sprintf (locbuf, "Signal %d", signo);
+    }
+  else
+    {
+      sprintf (locbuf, "%s (%d)", name, signo);
+    }
+  return (locbuf);
+}
+
+static char *
+errnoname (errnum)
+     int errnum;
+{
+  char *name;
   static char locbuf[32];
 
-  abbrev = sig_abbrev (signo);
-  if (abbrev == NULL)
+  name = strerrno (errnum);
+  if (name == NULL)
     {
-      sprintf (locbuf, "signal %d", signo);
+      sprintf (locbuf, "Errno %d", errnum);
     }
   else
     {
-      sprintf (locbuf, "SIG%s (%d)", abbrev, signo);
+      sprintf (locbuf, "%s (%d)", name, errnum);
     }
   return (locbuf);
 }
@@ -3000,7 +2645,7 @@ info_proc_signals (pip, summary)
          printf_filtered ("%-8s ",
                           prismember (&pip -> prstatus.pr_sigpend, signo)
                           ? "yes" : "no");
-         printf_filtered (" %s\n", sys_siglist[signo]);
+         printf_filtered (" %s\n", safe_strsignal (signo));
        }
       printf_filtered ("\n");
     }
index a28511d6e7e6b4e1513d4d1c9f0d5e7ad6de2ab5..c30f1dfc7a92b0033f1008ee4504f27a6e45c974 100644 (file)
@@ -26,8 +26,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include <sys/file.h>
 #include <varargs.h>
 
-extern char *sys_errlist[];
-
 main (argc, argv)
      int argc;
      char *argv[];
@@ -59,9 +57,9 @@ main (argc, argv)
 
   out_fd = open (outfile, O_WRONLY);
   if (out_fd < 0)
-    err ("Error opening %s for write: %s\n", outfile, sys_errlist[errno]);
+    err ("Error opening %s for write: %s\n", outfile, strerror (errno));
   if (lseek (out_fd, offset, 0) < 0)
-    err ("Error seeking to heap in %s: %s\n", outfile, sys_errlist[errno]);
+    err ("Error seeking to heap in %s: %s\n", outfile, strerror (errno));
 
   /* For each file listed on the command line, write it into the
    * 'heap' of the output file.  Make sure to skip the arguments
@@ -71,9 +69,10 @@ main (argc, argv)
       if (strcmp (argv[i], "-o") == 0)
        continue;
       if ((in_fd = open (argv[i], O_RDONLY)) < 0)
-       err ("Error opening %s for read: %s\n", argv[i], sys_errlist[errno]);
+       err ("Error opening %s for read: %s\n", argv[i],
+            strerror (errno));
       if (fstat (in_fd, &stat_buf) < 0)
-       err ("Error stat'ing %s: %s\n", argv[i], sys_errlist[errno]);
+       err ("Error stat'ing %s: %s\n", argv[i], strerror (errno));
       size = strlen (argv[i]);
       pad = 4 - (size & 3);
       size += pad + stat_buf.st_size + sizeof (int);
@@ -105,9 +104,9 @@ get_offset (file, sym_name)
 
   f = open (file, O_RDONLY);
   if (f < 0)
-    err ("Error opening %s: %s\n", file, sys_errlist[errno]);
+    err ("Error opening %s: %s\n", file, strerror (errno));
   if (read (f, &file_hdr, sizeof (file_hdr)) < 0)
-    err ("Error reading exec structure: %s\n", sys_errlist[errno]);
+    err ("Error reading exec structure: %s\n", strerror (errno));
   if (N_BADMAG (file_hdr))
     err ("File %s not an a.out file\n", file);
 
@@ -115,17 +114,18 @@ get_offset (file, sym_name)
   if ((symbol_table = (struct nlist *)malloc (file_hdr.a_syms)) == 0)
     err ("Couldn't allocate space for symbol table\n");
   if (lseek (f, N_SYMOFF (file_hdr), 0) == -1)
-    err ("lseek error: %s\n", sys_errlist[errno]);
+    err ("lseek error: %s\n", strerror (errno));
   if (read (f, symbol_table, file_hdr.a_syms) == -1)
-    err ("Error reading symbol table from %s: %s\n", file, sys_errlist[errno]);
+    err ("Error reading symbol table from %s: %s\n", file,
+        strerror (errno));
 
   /* read in string table */
   if (read (f, &size, 4) == -1)
-    err ("reading string table size: %s\n", sys_errlist[errno]);
+    err ("reading string table size: %s\n", strerror (errno));
   if ((strings = (char *)malloc (size)) == 0)
     err ("Couldn't allocate memory for string table\n");
   if (read (f, strings, size - 4) == -1)
-    err ("reading string table: %s\n", sys_errlist[errno]);
+    err ("reading string table: %s\n", strerror (errno));
 
   /* Find the core address at which the first byte of kdb text segment
      should be loaded into core when kdb is run.  */
index 15f9d99d5c5e361373392890bfb1500abc664b99..e24111400ec5708e61db96c0770693710ccd2418 100644 (file)
@@ -24,7 +24,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #include "defs.h"
 #include "frame.h"
 #include "inferior.h"
-#include "signame.h"
 #include "gdbcore.h"
 
 #include <sys/param.h>
@@ -186,10 +185,7 @@ core_file_command (filename, from_tty)
        printf ("Core file is from \"%s\".\n", corestr.c_cmdname);
        if (corestr.c_signo > 0)
          printf ("Program terminated with signal %d, %s.\n",
-                       corestr.c_signo,
-                       corestr.c_signo < NSIG
-                       ? sys_siglist[corestr.c_signo]
-                       : "(undocumented)");
+                 corestr.c_signo, safe_strsignal (corestr.c_signo));
       }
       if (filename[0] == '/')
        corefile = savestring (filename, strlen (filename));
index ce74023880791db7f9f9fa12771bb076dc5bcde8..31abfff1b422482aeeccd1d536e7d8eaf238d2db 100644 (file)
@@ -94,10 +94,7 @@ core_file_command (filename, from_tty)
        printf ("Core file is from \"%s\".\n", u.pt_comm);
        if (u.pt_signal > 0)
          printf ("Program terminated with signal %d, %s.\n",
-                       u.pt_signal,
-                       u.pt_signal < NSIG
-                       ? sys_siglist[u.pt_signal]
-                       : "(undocumented)");
+                 u.pt_signal, safe_strsignal (u.pt_signal));
 
        /* Read the register values out of the core file and store
           them where `read_register' will find them.  */
index e4e7bedab9a1280209b161b00f15528d60799530..554cb6a1e03ea6d93fabaa6f85301538f7ef5c07 100644 (file)
@@ -309,6 +309,45 @@ fatal_dump_core (va_alist)
   exit (1);
 }
 
+/* The strerror() function can return NULL for errno values that are
+   out of range.  Provide a "safe" version that always returns a
+   printable string. */
+
+char *
+safe_strerror (errnum)
+     int errnum;
+{
+  char *msg;
+  static char buf[32];
+
+  if ((msg = strerror (errnum)) == NULL)
+    {
+      sprintf (buf, "(undocumented errno %d)", errnum);
+      msg = buf;
+    }
+  return (msg);
+}
+
+/* The strsignal() function can return NULL for signal values that are
+   out of range.  Provide a "safe" version that always returns a
+   printable string. */
+
+char *
+safe_strsignal (signo)
+     int signo;
+{
+  char *msg;
+  static char buf[32];
+
+  if ((msg = strsignal (signo)) == NULL)
+    {
+      sprintf (buf, "(undocumented signal %d)", signo);
+      msg = buf;
+    }
+  return (msg);
+}
+
+
 /* Print the system error message for errno, and also mention STRING
    as the file name for which the error was encountered.
    Then return to command level.  */
@@ -317,16 +356,10 @@ void
 perror_with_name (string)
      char *string;
 {
-  extern int sys_nerr;
-  extern char *sys_errlist[];
   char *err;
   char *combined;
 
-  if (errno < sys_nerr)
-    err = sys_errlist[errno];
-  else
-    err = "unknown error";
-
+  err = safe_strerror (errno);
   combined = (char *) alloca (strlen (err) + strlen (string) + 3);
   strcpy (combined, string);
   strcat (combined, ": ");
@@ -349,16 +382,10 @@ print_sys_errmsg (string, errcode)
      char *string;
      int errcode;
 {
-  extern int sys_nerr;
-  extern char *sys_errlist[];
   char *err;
   char *combined;
 
-  if (errcode < sys_nerr)
-    err = sys_errlist[errcode];
-  else
-    err = "unknown error";
-
+  err = safe_strerror (errcode);
   combined = (char *) alloca (strlen (err) + strlen (string) + 3);
   strcpy (combined, string);
   strcat (combined, ": ");
@@ -422,7 +449,10 @@ mrealloc (md, ptr, size)
      PTR ptr;
      long size;
 {
-  return (realloc (ptr, size));
+  if (ptr == 0)                /* Guard against old realloc's */
+    return malloc (size);
+  else
+    return realloc (ptr, size);
 }
 
 void
@@ -1325,7 +1355,7 @@ _initialize_utils ()
 
 #if defined(SIGWINCH) && defined(SIGWINCH_HANDLER)
 
-  /* If tere is a better way to determine window size, use it. */
+  /* If there is a better way to determine the window size, use it. */
   SIGWINCH_HANDLER ();
 #endif
 
index 114c06be811c7a33bed4ffb70238fda9779e7086..1675eb1155412a29336267fe59e7616709ec03e9 100644 (file)
@@ -79,9 +79,6 @@ is_vtbl_ptr_type PARAMS ((struct type *));
 static void
 print_hex_chars PARAMS ((FILE *, unsigned char *, unsigned));
 
-extern int sys_nerr;
-extern char *sys_errlist[];
-
 extern int demangle;   /* whether to print C++ syms raw or source-form */
 
 /* Maximum number of chars to print for a string pointer value
@@ -1018,12 +1015,8 @@ val_print (type, valaddr, address, stream, format, deref_ref, recurse, pretty)
                    }
                  else
                    {
-                     if (errcode >= sys_nerr || errcode < 0)
-                       error ("Error reading memory address 0x%x: unknown error (%d).",
-                              addr + i, errcode);
-                     else
-                       error ("Error reading memory address 0x%x: %s.",
-                              addr + i, sys_errlist[errcode]);
+                     error ("Error reading memory address 0x%x: %s.",
+                            addr + i, safe_strerror (errcode));
                    }
                }
 
@@ -1672,18 +1665,16 @@ type_print_base (type, stream, show, level)
   QUIT;
 
   wrap_here ("    ");
-  if (type == 0)
+  if (type == NULL)
     {
-      fprintf_filtered (stream, "<type unknown>");
+      fputs_filtered ("<type unknown>", stream);
       return;
     }
 
-  /* If the type is a fundamental type, then always print the type name
-     directly from the type.  Also print the type name directly whenever
-     SHOW drops to zero and there is a valid type name to print. */
+  /* When SHOW is zero or less, and there is a valid type name, then always
+     just print the type name directly from the type. */
 
-  if ((TYPE_FLAGS (type) & TYPE_FLAG_FUND_TYPE) ||
-      ((show <= 0) && (TYPE_NAME (type) != NULL)))
+  if ((show <= 0) && (TYPE_NAME (type) != NULL))
     {
       fputs_filtered (TYPE_NAME (type), stream);
       return;
@@ -1881,7 +1872,19 @@ type_print_base (type, stream, show, level)
       break;
 
     default:
-      error ("Invalid type code in symbol table.");
+      /* Handle types not explicitly handled by the other cases,
+        such as fundamental types.  For these, just print whatever
+        the type name is, as recorded in the type itself.  If there
+        is no type name, then complain. */
+      if (TYPE_NAME (type) != NULL)
+       {
+         fputs_filtered (TYPE_NAME (type), stream);
+       }
+      else
+       {
+         error ("Invalid type code (%d) in symbol table.", TYPE_CODE (type));
+       }
+      break;
     }
 }
 \f
index 49068e44910ba59215fb739a0815ca53e1971b3e..e510e99cea135283159fab811fd21b2cdd70b003 100644 (file)
@@ -43,6 +43,3 @@ on those where it does, it occurs quite reliably.  */
 #define HAVE_TERMIO
 
 #define        FETCH_INFERIOR_REGISTERS
-
-#define        SYS_SIGLIST_MISSING     0       /* we have it on the apollo */
-
index deafa2317148dd42e8ab4c9ef20f2da4a71625d7..48e4999a69ff51dd13a4669c14aecc570dd6701d 100644 (file)
@@ -56,9 +56,6 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.  */
    this is the right value for U_REGS_OFFSET.  */
 #define        U_REGS_OFFSET   0
 
-/* System doesn't provide a list of signal names. */
-#define        SYS_SIGLIST_MISSING 1
-
 /* System doesn't provide siginterrupt().  */
 #define        NO_SIGINTERRUPT
 
This page took 0.04332 seconds and 4 git commands to generate.