+Tue Mar 16 15:18:17 1993 Jim Kingdon (kingdon@cygnus.com)
+
+ * xcoffexec.c (add_vmap): Wrap symbol read in catch_errors.
+
+ * xcoffread.c (read_symbol_lineno): Look to end of symbols for .bf,
+ not just 50 symbols.
+ (symtbl_num_syms): New variable.
+ (read_xcoff_symtab): Set it.
+ (read_symbol_nvalue): Check for bad symno.
+ (read_symbol_{lineno,nvalue}, callers): Don't pass symtable; it's
+ always symtbl.
+
Tue Mar 16 10:09:05 1993 Stu Grossman (grossman@cygnus.com)
* config/rs6000.mh: Get rid of -Dfd_set=int crock.
}
}
+/* Add symbols for an objfile. */
+static int
+objfile_symbol_add (arg)
+ char *arg;
+{
+ struct objfile *obj = (struct objfile *) arg;
+ syms_from_objfile (obj, 0, 0, 0);
+ new_symfile_objfile (obj, 0, 0);
+ return 1;
+}
+
static struct vmap *add_vmap PARAMS ((struct ld_info *));
/* Add a new vmap entry based on ldinfo() information.
vp->objfile = obj;
#ifndef SOLIB_SYMBOLS_MANUAL
- syms_from_objfile (obj, 0, 0, 0);
- new_symfile_objfile (obj, 0, 0);
- vmap_symtab (vp, 0, 0);
- vp->loaded = 1;
+ if (catch_errors (objfile_symbol_add, (char *)obj,
+ "Error while reading shared library symbols:\n"))
+ {
+ /* Note this is only done if symbol reading was successful. */
+ vmap_symtab (vp, 0, 0);
+ vp->loaded = 1;
+ }
#endif
return vp;
}