From 93af329a003e753a45d48d7ce571409f6fdc7713 Mon Sep 17 00:00:00 2001 From: Jim Kingdon Date: Thu, 29 Jul 1993 19:19:30 +0000 Subject: [PATCH] * paread.c (pa_symfile_init): If error reading string table, don't use errno in cases where it hasn't been set. --- gdb/ChangeLog | 3 +++ gdb/paread.c | 8 +++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 01e10e9741..42c41306a6 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ Thu Jul 29 12:09:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + * paread.c (pa_symfile_init): If error reading string table, don't + use errno in cases where it hasn't been set. + * ser-unix.c (gdb_setpgid): Pass our pid, not 0, to setpgid. * remote-monitor.c (_initialize_monitor): Comment out use of diff --git a/gdb/paread.c b/gdb/paread.c index 46a6e3d253..150757effb 100644 --- a/gdb/paread.c +++ b/gdb/paread.c @@ -399,8 +399,14 @@ pa_symfile_init (objfile) perror_with_name (name); val = bfd_read (DBX_STRINGTAB (objfile), DBX_STRINGTAB_SIZE (objfile), 1, sym_bfd); - if (val != DBX_STRINGTAB_SIZE (objfile)) + if (val == 0) + error ("End of file reading string table"); + else if (val < 0) + /* It's possible bfd_read should be setting bfd_error, and we should be + checking that. But currently it doesn't set bfd_error. */ perror_with_name (name); + else if (val != DBX_STRINGTAB_SIZE (objfile)) + error ("Short read reading string table"); } /* PA specific parsing routine for section offsets.