aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog3
-rw-r--r--gdb/paread.c8
2 files changed, 10 insertions, 1 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 01e10e9..42c4130 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 46a6e3d..150757e 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.