aboutsummaryrefslogtreecommitdiff
path: root/gdb/mipsread.c
diff options
context:
space:
mode:
authorJim Kingdon <jkingdon@engr.sgi.com>1993-07-09 18:40:26 +0000
committerJim Kingdon <jkingdon@engr.sgi.com>1993-07-09 18:40:26 +0000
commit28d14fd8783e109293c7000a006a8ad08f2cd736 (patch)
tree5bd7e2d042cf3ec620dadd884c4fc0a161236efd /gdb/mipsread.c
parent4d50f90ab81c6861aaafb77672573726636a9330 (diff)
downloadgdb-28d14fd8783e109293c7000a006a8ad08f2cd736.zip
gdb-28d14fd8783e109293c7000a006a8ad08f2cd736.tar.gz
gdb-28d14fd8783e109293c7000a006a8ad08f2cd736.tar.bz2
* mipsread.c (cross_ref): Set the name to unknown for "struct *" case.
Patch from ptf@delcam.co.uk (Paul Flinders).
Diffstat (limited to 'gdb/mipsread.c')
-rw-r--r--gdb/mipsread.c7
1 files changed, 7 insertions, 0 deletions
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;