diff options
-rw-r--r-- | gdb/ChangeLog | 3 | ||||
-rw-r--r-- | gdb/mipsread.c | 7 |
2 files changed, 10 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 8b42909..1c5163d 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ Fri Jul 9 12:36:46 1993 Jim Kingdon (kingdon@lioth.cygnus.com) + * mipsread.c (cross_ref): Set the name to unknown for "struct *" case. + Patch from ptf@delcam.co.uk (Paul Flinders). + * a29k-tdep.c, findvar.c (get_saved_register): Fix byteswapping sins. Fri Jul 9 09:47:02 1993 Peter Schauer (pes@regent.e-technik.tu-muenchen.de) diff --git a/gdb/mipsread.c b/gdb/mipsread.c index 60904ec..22f093c 100644 --- a/gdb/mipsread.c +++ b/gdb/mipsread.c @@ -2753,6 +2753,13 @@ cross_ref (ax, tpp, type_code, pname, bigend) /* Careful, we might be looking at .o files */ if (sh.iss == 0) *pname = "<undefined>"; + else if (rn->rfd == 0xfff && rn->index == 0) + /* For structs, unions and enums, rn->rfd is 0xfff and the index + is a relative symbol number for the type, but an index of 0 + seems to mean that we don't know. This is said to fix a problem + with "info func opendir" on an SGI showing + "struct BSDopendir.c *BSDopendir();". */ + *pname = "<unknown>"; else *pname = ecoff_data (cur_bfd)->ss + fh->issBase + sh.iss; |