summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Snyder <msnyder@specifix.com>2002-03-19 03:51:06 +0000
committerMichael Snyder <msnyder@specifix.com>2002-03-19 03:51:06 +0000
commit7cd78c53b92bf04c9618963038d0379964048915 (patch)
tree32d4b4c81ad29a4b60e18007bb4f14d1aee598e7
parent031715a66c3193677734972494efd5d3e34ce5e2 (diff)
downloadgdb-7cd78c53b92bf04c9618963038d0379964048915.tar.gz
2002-03-14 Michael Snyder <msnyder@redhat.com>
* symfile.c (syms_from_objfile): Return immediately if no syms. (symbol_file_add): Return immediately if no syms. (find_sym_fns): Return immediately if no syms.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/symfile.c11
2 files changed, 17 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 0db58f33866..da160458504 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -114,6 +114,12 @@
* MAINTAINERS: Add myself to write-after-approval.
+2002-03-14 Michael Snyder <msnyder@redhat.com>
+
+ * symfile.c (syms_from_objfile): Return immediately if no syms.
+ (symbol_file_add): Return immediately if no syms.
+ (find_sym_fns): Return immediately if no syms.
+
2002-03-13 Michal Ludvig <mludvig@suse.cz>
* gdbserver/remote-util.c (remote_open): Print remote-side's
diff --git a/gdb/symfile.c b/gdb/symfile.c
index 568b821abfc..985d80bec17 100644
--- a/gdb/symfile.c
+++ b/gdb/symfile.c
@@ -577,6 +577,9 @@ syms_from_objfile (struct objfile *objfile, struct section_addr_info *addrs,
init_entry_point_info (objfile);
find_sym_fns (objfile);
+ if (objfile->sf == NULL)
+ return; /* No symbols. */
+
/* Make sure that partially constructed symbol tables will be cleaned up
if an error occurs during symbol reading. */
old_chain = make_cleanup_free_objfile (objfile);
@@ -858,6 +861,9 @@ symbol_file_add (char *name, int from_tty, struct section_addr_info *addrs,
syms_from_objfile (objfile, addrs, mainline, from_tty);
}
+ if (objfile->sf == NULL)
+ return objfile; /* No symbols. */
+
/* We now have at least a partial symbol table. Check to see if the
user requested that all symbols be read on initial access via either
the gdb startup command line or on a per symbol file basis. Expand
@@ -1134,6 +1140,11 @@ find_sym_fns (struct objfile *objfile)
enum bfd_flavour our_flavour = bfd_get_flavour (objfile->obfd);
char *our_target = bfd_get_target (objfile->obfd);
+ if (our_flavour == bfd_target_srec_flavour
+ || our_flavour == bfd_target_ihex_flavour
+ || our_flavour == bfd_target_tekhex_flavour)
+ return; /* No symbols. */
+
/* Special kludge for apollo. See dstread.c. */
if (STREQN (our_target, "apollo", 6))
our_flavour = (enum bfd_flavour) -2;