aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog16
-rw-r--r--gdb/xcoffexec.c19
2 files changed, 24 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 6ee9ac3..271f95d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -5,8 +5,6 @@ Wed Nov 18 15:05:45 1992 Ian Lance Taylor (ian@cygnus.com)
Wed Nov 18 14:39:57 1992 Stu Grossman (grossman at cygnus.com)
- * infcmd.c (set_environment_command): Make set env FOO x=y work.
- Fix from maj@lucid.com.
* remote-udi.c (udi_open): Reset vars so that user can re-run
programs without leaving GDB.
* (many routines): Slightly improve error handling.
@@ -150,6 +148,12 @@ Sun Nov 15 09:22:09 1992 Fred Fish (fnf@cygnus.com)
* expprint.c (print_subexp): Add OP_BOOL case.
**** end-sanitize-chill ****
+Fri Nov 13 20:36:28 1992 John Gilmore (gnu@cygnus.com)
+
+ * infcmd.c (set_environment_command): Avoid skipping first
+ char of env value if an '=' appears in it. Bug report and fix
+ by Mark Jungerman, <maj@lucid.com>.
+
Fri Nov 13 20:24:10 1992 Stu Grossman (grossman at cygnus.com)
* infcmd.c (step_over_calls): Improve comments.
@@ -159,6 +163,14 @@ Fri Nov 13 20:24:10 1992 Stu Grossman (grossman at cygnus.com)
Also, don't return garbage when some line info exists, but there
was no good match.
+Thu Nov 5 23:04:38 1992 Rob Ryan (rr2b@andrew.cmu.edu)
+
+ * xcoffexec.c (vmap_symtab): fixed a bug where if a object has no
+ member, and the stat pointer passed to vmap_symtab was NULL, the
+ wrong vmap entries would be modified. Fixes behavior where
+ attempting to load symbols for a module with no member would mess
+ up already read in symbols.
+
Wed Nov 11 17:09:17 1992 Stu Grossman (grossman at cygnus.com)
* Makefile.in: Remove dependancies for 29k-share/dfe/yank.o and
diff --git a/gdb/xcoffexec.c b/gdb/xcoffexec.c
index 6187a59..3b2c7a6 100644
--- a/gdb/xcoffexec.c
+++ b/gdb/xcoffexec.c
@@ -392,27 +392,28 @@ struct stat *vip;
} else if (vp->member[0]) {
/* no match, and member present, not this one. */
continue;
- } else {
+ } else if (vip) {
+ /* No match, and no member. need to be sure.
+ If we were given a stat structure, see if the open file
+ underlying this BFD matches. */
struct stat si;
FILE *io;
- /*
- * no match, and no member. need to be sure.
- */
io = bfd_cache_lookup(objfile->obfd);
if (!io)
fatal("cannot find BFD's iostream for sym");
- /*
- * see if we are referring to the same file
- */
+
+ /* see if we are referring to the same file */
if (fstat(fileno(io), &si) < 0)
fatal("cannot fstat BFD for sym");
- if (vip && (si.st_dev != vip->st_dev
+ if ((si.st_dev != vip->st_dev
|| si.st_ino != vip->st_ino))
continue;
+ } else {
+ continue; /* No stat struct: no way to match it */
}
-
+
if (vp->tstart != old_start) {
/* Once we find a relocation base address for one of the symtabs